2025-11-23 17:53 ftp://ftp.de.debian.org/debian/pool/main/r/r-bioc-fmcsr/r-bioc-fmcsr_1.48.0+dfsg.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j4 platform: Linux-5.4.0-216-generic-x86_64-with-glibc2.29 python: 3.8.10 client-version: 1.3.69 compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 cppcheck: head 2.18.0 head-info: cb76e52 (2025-11-22 14:47:37 +0100) count: 49 49 elapsed-time: 0.9 1.0 head-timing-info: old-timing-info: head results: fmcsR/src/MCS.cpp:127:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCKS_PER_SEC [valueFlowBailoutIncompleteVar] fmcsR/src/MCS.cpp:299:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCKS_PER_SEC [valueFlowBailoutIncompleteVar] fmcsR/src/MCSList.h:68:43: style:inconclusive: Function 'MCSList < unsigned long >' argument 1 names different: declaration 'l' definition 'm'. [funcArgNamesDifferent] fmcsR/src/MCSList.h:30:35: note: Function 'MCSList < unsigned long >' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/MCSList.h:68:43: note: Function 'MCSList < unsigned long >' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/MCSList.h:80:63: style:inconclusive: Function 'operator=' argument 1 names different: declaration 'l' definition 'm'. [funcArgNamesDifferent] fmcsR/src/MCSList.h:31:55: note: Function 'operator=' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/MCSList.h:80:63: note: Function 'operator=' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/MCSRingDetector.cpp:110:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable connectedEdges [valueFlowBailoutIncompleteVar] fmcsR/src/MCS.h:32:16: style:inconclusive: Technically the member function 'FMCS::MCS::getTime' can be const. [functionConst] fmcsR/src/MCSCompound.h:150:21: performance: Function 'getCompoundName()' should return member 'compoundName' by const reference. [returnByReference] fmcsR/src/MCSList.h:68:43: style:inconclusive: Function 'MCSList < Bond * >' argument 1 names different: declaration 'l' definition 'm'. [funcArgNamesDifferent] fmcsR/src/MCSList.h:30:35: note: Function 'MCSList < Bond * >' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/MCSList.h:68:43: note: Function 'MCSList < Bond * >' argument 1 names different: declaration 'l' definition 'm'. fmcsR/src/fmcs_R_wrap.cpp:19:10: style: Parameter 'atomMismatchLowerBound' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:19:39: style: Parameter 'atomMismatchUpperBound' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:20:10: style: Parameter 'bondMismatchLowerBound' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:20:39: style: Parameter 'bondMismatchUpperBound' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:21:10: style: Parameter 'matchTypeInt' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:21:29: style: Parameter 'runningModeInt' can be declared as pointer to const [constParameterPointer] fmcsR/src/fmcs_R_wrap.cpp:22:10: style: Parameter 'timeout' can be declared as pointer to const [constParameterPointer] fmcsR/src/MCSCompound.cpp:87:17: error: Using 'memcpy' on struct that contains a 'std::string'. [memsetClass] fmcsR/src/MCSCompound.cpp:123:13: error: Using 'memcpy' on struct that contains a 'std::string'. [memsetClass] fmcsR/src/MCSCompound.cpp:334:25: performance:inconclusive: Technically the member function 'FMCS::MCSCompound::deleteHydrogens' can be static (but you may consider moving to unnamed namespace). [functionStatic] fmcsR/src/MCSCompound.h:128:21: note: Technically the member function 'FMCS::MCSCompound::deleteHydrogens' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSCompound.cpp:334:25: note: Technically the member function 'FMCS::MCSCompound::deleteHydrogens' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSRingDetector.h:187:13: style:inconclusive: Technically the member function 'FMCS::MCSRingDetector::currVertexId' can be const. [functionConst] fmcsR/src/MCSRingDetector.h:188:13: style:inconclusive: Technically the member function 'FMCS::MCSRingDetector::currEdgeId' can be const. [functionConst] fmcsR/src/MCSRingDetector.h:191:9: style: Class 'MCSRingDetector' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fmcsR/src/MCSRingDetector.h:24:13: style: Struct 'Vertex' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fmcsR/src/MCSCompound.cpp:234:61: style:inconclusive: Function 'getBond' argument 1 names different: declaration 'v2' definition 'anotherAtom'. [funcArgNamesDifferent] fmcsR/src/MCSCompound.h:52:37: note: Function 'getBond' argument 1 names different: declaration 'v2' definition 'anotherAtom'. fmcsR/src/MCSCompound.cpp:234:61: note: Function 'getBond' argument 1 names different: declaration 'v2' definition 'anotherAtom'. fmcsR/src/MCSCompound.cpp:238:46: style:inconclusive: Function 'getNeighborID' argument 1 names different: declaration 'bond' definition 'e'. [funcArgNamesDifferent] fmcsR/src/MCSCompound.h:158:37: note: Function 'getNeighborID' argument 1 names different: declaration 'bond' definition 'e'. fmcsR/src/MCSCompound.cpp:238:46: note: Function 'getNeighborID' argument 1 names different: declaration 'bond' definition 'e'. fmcsR/src/MCSCompound.cpp:238:56: style:inconclusive: Function 'getNeighborID' argument 2 names different: declaration 'atom' definition 'me'. [funcArgNamesDifferent] fmcsR/src/MCSCompound.h:158:50: note: Function 'getNeighborID' argument 2 names different: declaration 'atom' definition 'me'. fmcsR/src/MCSCompound.cpp:238:56: note: Function 'getNeighborID' argument 2 names different: declaration 'atom' definition 'me'. fmcsR/src/MCSCompound.cpp:416:46: style:inconclusive: Function 'parseSDF' argument 1 names different: declaration 'sdfString' definition 'sdf'. [funcArgNamesDifferent] fmcsR/src/MCSCompound.h:102:42: note: Function 'parseSDF' argument 1 names different: declaration 'sdfString' definition 'sdf'. fmcsR/src/MCSCompound.cpp:416:46: note: Function 'parseSDF' argument 1 names different: declaration 'sdfString' definition 'sdf'. fmcsR/src/MCSRingDetector.h:24:37: performance: Function parameter 'connectedEdges' should be passed by const reference. [passedByValue] fmcsR/src/MCSRingDetector.h:31:42: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] fmcsR/src/MCSRingDetector.cpp:27:44: performance:inconclusive: Technically the member function 'FMCS::MCSRingDetector::catEdge' can be static (but you may consider moving to unnamed namespace). [functionStatic] fmcsR/src/MCSRingDetector.h:177:14: note: Technically the member function 'FMCS::MCSRingDetector::catEdge' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSRingDetector.cpp:27:44: note: Technically the member function 'FMCS::MCSRingDetector::catEdge' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSRingDetector.cpp:68:27: performance:inconclusive: Technically the member function 'FMCS::MCSRingDetector::canCat' can be static (but you may consider moving to unnamed namespace). [functionStatic] fmcsR/src/MCSRingDetector.h:178:14: note: Technically the member function 'FMCS::MCSRingDetector::canCat' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSRingDetector.cpp:68:27: note: Technically the member function 'FMCS::MCSRingDetector::canCat' can be static (but you may consider moving to unnamed namespace). fmcsR/src/MCSRingDetector.cpp:238:14: style: The scope of the variable 'dumm' can be reduced. [variableScope] fmcsR/src/MCSRingDetector.cpp:21:13: style: Local variable 'edgeId' shadows outer variable [shadowVariable] fmcsR/src/MCSRingDetector.h:166:13: note: Shadowed declaration fmcsR/src/MCSRingDetector.cpp:21:13: note: Shadow variable fmcsR/src/MCSRingDetector.cpp:126:17: style: Local variable 'edgeId' shadows outer variable [shadowVariable] fmcsR/src/MCSRingDetector.h:166:13: note: Shadowed declaration fmcsR/src/MCSRingDetector.cpp:126:17: note: Shadow variable fmcsR/src/MCSRingDetector.cpp:259:20: style: Local variable 'leftEdge' shadows outer function [shadowFunction] fmcsR/src/MCSRingDetector.h:149:17: note: Shadowed declaration fmcsR/src/MCSRingDetector.cpp:259:20: note: Shadow variable fmcsR/src/MCSRingDetector.cpp:260:20: style: Local variable 'rightEdge' shadows outer function [shadowFunction] fmcsR/src/MCSRingDetector.h:158:17: note: Shadowed declaration fmcsR/src/MCSRingDetector.cpp:260:20: note: Shadow variable fmcsR/src/MCSRingDetector.cpp:175:27: style: Variable 'aromaticCount' is assigned a value that is never used. [unreadVariable] fmcsR/src/MCSRingDetector.cpp:175:13: style: Variable 'aromaticCount' is assigned a value that is never used. [unreadVariable] fmcsR/src/MCS.cpp:41:10: warning: Member variable 'MCS::strictRingMatch' is not initialized in the constructor. [uninitMemberVar] fmcsR/src/MCS.cpp:45:24: style:inconclusive: Function 'MCS' argument 9 names different: declaration 'mtype' definition 'matchType'. [funcArgNamesDifferent] fmcsR/src/MCS.h:29:23: note: Function 'MCS' argument 9 names different: declaration 'mtype' definition 'matchType'. fmcsR/src/MCS.cpp:45:24: note: Function 'MCS' argument 9 names different: declaration 'mtype' definition 'matchType'. fmcsR/src/MCS.cpp:189:33: style:inconclusive: Function 'compatible' argument 1 names different: declaration 'v1' definition 'atomOne'. [funcArgNamesDifferent] fmcsR/src/MCS.h:184:32: note: Function 'compatible' argument 1 names different: declaration 'v1' definition 'atomOne'. fmcsR/src/MCS.cpp:189:33: note: Function 'compatible' argument 1 names different: declaration 'v1' definition 'atomOne'. fmcsR/src/MCS.cpp:189:49: style:inconclusive: Function 'compatible' argument 2 names different: declaration 'v2' definition 'atomTwo'. [funcArgNamesDifferent] fmcsR/src/MCS.h:184:43: note: Function 'compatible' argument 2 names different: declaration 'v2' definition 'atomTwo'. fmcsR/src/MCS.cpp:189:49: note: Function 'compatible' argument 2 names different: declaration 'v2' definition 'atomTwo'. fmcsR/src/MCS.cpp:190:15: style:inconclusive: Function 'compatible' argument 3 names different: declaration 'bondMis' definition 'bondMisCount'. [funcArgNamesDifferent] fmcsR/src/MCS.h:184:55: note: Function 'compatible' argument 3 names different: declaration 'bondMis' definition 'bondMisCount'. fmcsR/src/MCS.cpp:190:15: note: Function 'compatible' argument 3 names different: declaration 'bondMis' definition 'bondMisCount'. fmcsR/src/MCS.cpp:190:35: style:inconclusive: Function 'compatible' argument 4 names different: declaration 'introduceNewComponent' definition 'introducedNewComponent'. [funcArgNamesDifferent] fmcsR/src/MCS.h:185:31: note: Function 'compatible' argument 4 names different: declaration 'introduceNewComponent' definition 'introducedNewComponent'. fmcsR/src/MCS.cpp:190:35: note: Function 'compatible' argument 4 names different: declaration 'introduceNewComponent' definition 'introducedNewComponent'. fmcsR/src/MCS.cpp:261:38: style:inconclusive: Function 'top' argument 1 names different: declaration 'v1_list' definition 'atomList'. [funcArgNamesDifferent] fmcsR/src/MCS.h:187:37: note: Function 'top' argument 1 names different: declaration 'v1_list' definition 'atomList'. fmcsR/src/MCS.cpp:261:38: note: Function 'top' argument 1 names different: declaration 'v1_list' definition 'atomList'. fmcsR/src/MCS.cpp:331:37: style:inconclusive: Function 'grow' argument 1 names different: declaration 'v1_list' definition 'atomListOne'. [funcArgNamesDifferent] fmcsR/src/MCS.h:189:36: note: Function 'grow' argument 1 names different: declaration 'v1_list' definition 'atomListOne'. fmcsR/src/MCS.cpp:331:37: note: Function 'grow' argument 1 names different: declaration 'v1_list' definition 'atomListOne'. fmcsR/src/MCS.cpp:331:67: style:inconclusive: Function 'grow' argument 2 names different: declaration 'v2_list' definition 'atomListTwo'. [funcArgNamesDifferent] fmcsR/src/MCS.h:189:62: note: Function 'grow' argument 2 names different: declaration 'v2_list' definition 'atomListTwo'. fmcsR/src/MCS.cpp:331:67: note: Function 'grow' argument 2 names different: declaration 'v2_list' definition 'atomListTwo'. fmcsR/src/MCS.cpp:407:20: style: Local variable 'atomListTwoSize' shadows outer variable [shadowVariable] fmcsR/src/MCS.cpp:360:16: note: Shadowed declaration fmcsR/src/MCS.cpp:407:20: note: Shadow variable fmcsR/src/MCS.cpp:408:27: style: Local variable 'atomListTwoPtr' shadows outer variable [shadowVariable] fmcsR/src/MCS.cpp:361:23: note: Shadowed declaration fmcsR/src/MCS.cpp:408:27: note: Shadow variable fmcsR/src/MCS.cpp:331:37: style: Parameter 'atomListOne' can be declared as reference to const [constParameterReference] diff: DONE