2026-05-01 14:40 ftp://ftp.de.debian.org/debian/pool/main/d/dawg/dawg_1.2.orig.tar.gz 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 -j6 platform: Linux-7.0.3+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.4.0 compiler: g++ (Debian 15.2.0-17) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a734 (2026-05-01 11:10:43 +0200) count: 92 80 elapsed-time: 0.6 0.5 head-timing-info: old-timing-info: head results: dawg-1.2/src/eigen.cpp:28:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FLT_EPSILON [valueFlowBailoutIncompleteVar] dawg-1.2/src/eigen.cpp:30:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_EPSILON [valueFlowBailoutIncompleteVar] dawg-1.2/src/compat/getopt/getopt.c:124:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] dawg-1.2/src/compat/getopt/getopt.c:413:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] dawg-1.2/src/indel.h:75:14: style:inconclusive: Either there is a missing 'override', or the member function 'LinearFunc::operator()' can be const. [functionConst] dawg-1.2/src/indel.h:32:2: style: Class 'NegBnModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/indel.h:47:2: style: Class 'UserModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/indel.h:61:2: style: Class 'PowerModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/indel.h:34:17: style: The function 'MeanSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] dawg-1.2/src/indel.h:23:17: note: Virtual function in base class dawg-1.2/src/indel.h:34:17: note: Function in derived class dawg-1.2/src/indel.h:49:17: style: The function 'MeanSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] dawg-1.2/src/indel.h:23:17: note: Virtual function in base class dawg-1.2/src/indel.h:49:17: note: Function in derived class dawg-1.2/src/indel.h:63:17: style: The function 'MeanSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] dawg-1.2/src/indel.h:23:17: note: Virtual function in base class dawg-1.2/src/indel.h:63:17: note: Function in derived class dawg-1.2/src/matrix.cpp:23:16: style:inconclusive: Technically the member function 'Vector4::Zero' can be const. [functionConst] dawg-1.2/src/matrix.h:58:7: note: Technically the member function 'Vector4::Zero' can be const. dawg-1.2/src/matrix.cpp:23:16: note: Technically the member function 'Vector4::Zero' can be const. dawg-1.2/src/matrix.cpp:24:16: style:inconclusive: Technically the member function 'Vector4::One' can be const. [functionConst] dawg-1.2/src/matrix.h:60:7: note: Technically the member function 'Vector4::One' can be const. dawg-1.2/src/matrix.cpp:24:16: note: Technically the member function 'Vector4::One' can be const. dawg-1.2/src/matrix.cpp:67:17: style:inconclusive: Technically the member function 'Matrix44::Zero' can be const. [functionConst] dawg-1.2/src/matrix.h:98:7: note: Technically the member function 'Matrix44::Zero' can be const. dawg-1.2/src/matrix.cpp:67:17: note: Technically the member function 'Matrix44::Zero' can be const. dawg-1.2/src/matrix.cpp:68:17: style:inconclusive: Technically the member function 'Matrix44::One' can be const. [functionConst] dawg-1.2/src/matrix.h:100:7: note: Technically the member function 'Matrix44::One' can be const. dawg-1.2/src/matrix.cpp:68:17: note: Technically the member function 'Matrix44::One' can be const. dawg-1.2/src/matrix.h:46:2: style: Class 'Vector4' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/matrix.h:87:2: style: Class 'Matrix44' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/matrix.h:89:2: style: Class 'Matrix44' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] dawg-1.2/src/rand.h:85:9: style: The scope of the variable 'p' can be reduced. [variableScope] dawg-1.2/src/rand.h:111:12: style: The scope of the variable 'u2' can be reduced. [variableScope] dawg-1.2/src/rand.h:111:15: style: The scope of the variable 'v' can be reduced. [variableScope] dawg-1.2/src/indel.cpp:89:21: style: The scope of the variable 'd' can be reduced. [variableScope] dawg-1.2/src/matrix.h:109:46: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] dawg-1.2/src/matrix.h:110:59: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] dawg-1.2/src/output.cpp:86:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:100:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:109:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:144:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:166:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:189:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] dawg-1.2/src/output.cpp:209:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable left [valueFlowBailoutIncompleteVar] dawg-1.2/src/eigen.cpp:92:9: style: The scope of the variable 'sm' can be reduced. [variableScope] dawg-1.2/src/eigen.cpp:92:13: style: The scope of the variable 'tresh' can be reduced. [variableScope] dawg-1.2/src/eigen.cpp:92:20: style: The scope of the variable 'd' can be reduced. [variableScope] dawg-1.2/src/dawg.cpp:99:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] dawg-1.2/src/dawg.cpp:455:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] dawg-1.2/src/dawg.cpp:553:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] dawg-1.2/src/dawg.cpp:572:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] dawg-1.2/src/rand.cpp:76:24: style: Parameter 'uKeys' can be declared as const array [constParameter] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dTreeScale' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dOldTime' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dFreqs' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dNucCumFreqs' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dLambdaIns' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_dLambdaDel' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::m_uKeepFlank' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:146:2: warning: Member variable 'Tree::branchColor' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/var.h:19:2: warning: Member variable 'DawgVar::m_dData' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/var.h:19:2: warning: Member variable 'DawgVar::m_bData' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/var.h:19:2: warning: Member variable 'DawgVar::m_pvData' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/var.h:19:2: warning: Member variable 'DawgVar::m_pssData' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/var.h:19:2: warning: Member variable 'DawgVar::m_ptrData' is not initialized in the constructor. [uninitMemberVar] dawg-1.2/src/tree.h:75:3: performance: Variable 'm_uLength' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] dawg-1.2/src/tree.h:149:22: style:inconclusive: Technically the member function 'Tree::BlockTrim' can be const. [functionConst] dawg-1.2/src/output.cpp:10:82: style:inconclusive: Function 'PrintSequencesFasta' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] dawg-1.2/src/output.cpp:12:82: style:inconclusive: Function 'PrintSequencesPhylip' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] dawg-1.2/src/output.cpp:13:82: style:inconclusive: Function 'PrintSequencesClustal' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] dawg-1.2/src/var.cpp:156:30: style:inconclusive: Function 'Set' argument 1 names different: declaration 'rVec' definition 'pVec'. [funcArgNamesDifferent] dawg-1.2/src/var.h:69:23: note: Function 'Set' argument 1 names different: declaration 'rVec' definition 'pVec'. dawg-1.2/src/var.cpp:156:30: note: Function 'Set' argument 1 names different: declaration 'rVec' definition 'pVec'. dawg-1.2/src/tree.cpp:297:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_vSections [valueFlowBailoutIncompleteVar] dawg-1.2/src/tree.cpp:305:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_EPSILON [valueFlowBailoutIncompleteVar] dawg-1.2/src/tree.cpp:560:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_EPSILON [valueFlowBailoutIncompleteVar] dawg-1.2/src/tree.cpp:676:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_EPSILON [valueFlowBailoutIncompleteVar] dawg-1.2/src/compat/getopt/getopt.c:143:9: style:inconclusive: Function 'gcd' argument 1 names different: declaration '' definition 'a'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:143:16: style:inconclusive: Function 'gcd' argument 2 names different: declaration '' definition 'b'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:163:18: style:inconclusive: Function 'permute_args' argument 1 names different: declaration '' definition 'panonopt_start'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:163:38: style:inconclusive: Function 'permute_args' argument 2 names different: declaration '' definition 'panonopt_end'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:163:56: style:inconclusive: Function 'permute_args' argument 3 names different: declaration '' definition 'opt_end'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:163:79: style:inconclusive: Function 'permute_args' argument 4 names different: declaration '' definition 'nargv'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:201:21: style:inconclusive: Function 'getopt_internal' argument 1 names different: declaration '' definition 'nargc'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:201:42: style:inconclusive: Function 'getopt_internal' argument 2 names different: declaration '' definition 'nargv'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:201:61: style:inconclusive: Function 'getopt_internal' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] dawg-1.2/src/compat/getopt/getopt.c:203:8: style: Variable 'oli' can be declared as pointer to const [constVariablePointer] dawg-1.2/src/tree.cpp:561:21: warning: Return value of function m_pInsertionModel.release() is not used. [ignoredReturnValue] dawg-1.2/src/tree.cpp:584:20: warning: Return value of function m_pDeletionModel.release() is not used. [ignoredReturnValue] dawg-1.2/src/tree.cpp:759:39: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] dawg-1.2/src/tree.cpp:607:75: warning: Possible null pointer dereference: m_pDeletionModel [nullPointer] dawg-1.2/src/tree.cpp:724:15: style: The scope of the variable 'uColor' can be reduced. [variableScope] dawg-1.2/src/tree.cpp:214:63: style:inconclusive: Function 'ProcessNewickNode' argument 2 names different: declaration 'hAnc' definition 'ssAnc'. [funcArgNamesDifferent] dawg-1.2/src/tree.h:172:63: note: Function 'ProcessNewickNode' argument 2 names different: declaration 'hAnc' definition 'ssAnc'. dawg-1.2/src/tree.cpp:214:63: note: Function 'ProcessNewickNode' argument 2 names different: declaration 'hAnc' definition 'ssAnc'. dawg-1.2/src/tree.cpp:612:94: style:inconclusive: Function 'SetupRoot' argument 2 names different: declaration 'vData' definition 'vLens'. [funcArgNamesDifferent] dawg-1.2/src/tree.h:135:89: note: Function 'SetupRoot' argument 2 names different: declaration 'vData' definition 'vLens'. dawg-1.2/src/tree.cpp:612:94: note: Function 'SetupRoot' argument 2 names different: declaration 'vData' definition 'vLens'. dawg-1.2/src/tree.cpp:434:51: style: Parameter 'pSubs' can be declared as const array [constParameter] dawg-1.2/src/tree.cpp:153:8: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/tree.cpp:468:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/tree.cpp:473:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/tree.cpp:478:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/tree.cpp:724:22: style: Variable 'uColor' is assigned a value that is never used. [unreadVariable] dawg-1.2/src/dawg.cpp:163:21: style: Assigned value 'DawgError("Execution of \"%s\" failed.",argv[i])' is always false [knownConditionTrueFalse] dawg-1.2/src/dawg.cpp:163:21: note: Calling function 'DawgError' returns 0 dawg-1.2/src/dawg.cpp:163:21: note: Assigned value 'DawgError("Execution of \"%s\" failed.",argv[i])' is always false dawg-1.2/src/dawg.cpp:167:20: style: Assigned value 'DawgError("Parsing of \"%s\" failed.",argv[i])' is always false [knownConditionTrueFalse] dawg-1.2/src/dawg.cpp:167:20: note: Calling function 'DawgError' returns 0 dawg-1.2/src/dawg.cpp:167:20: note: Assigned value 'DawgError("Parsing of \"%s\" failed.",argv[i])' is always false dawg-1.2/src/dawg.cpp:176:20: style: Assigned value 'DawgError("Parsing of \"%s\" failed.",argv[i])' is always false [knownConditionTrueFalse] dawg-1.2/src/dawg.cpp:176:20: note: Calling function 'DawgError' returns 0 dawg-1.2/src/dawg.cpp:176:20: note: Assigned value 'DawgError("Parsing of \"%s\" failed.",argv[i])' is always false dawg-1.2/src/dawg.cpp:179:19: style: Assigned value 'DawgError("Execution failed.")' is always false [knownConditionTrueFalse] dawg-1.2/src/dawg.cpp:179:19: note: Calling function 'DawgError' returns 0 dawg-1.2/src/dawg.cpp:179:19: note: Assigned value 'DawgError("Execution failed.")' is always false dawg-1.2/src/dawg.cpp:248:17: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/dawg.cpp:255:17: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] dawg-1.2/src/dawg.cpp:271:18: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] diff: head dawg-1.2/src/compat/getopt/getopt.c:143:16: style:inconclusive: Function 'gcd' argument 2 names different: declaration '' definition 'b'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:143:9: style:inconclusive: Function 'gcd' argument 1 names different: declaration '' definition 'a'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:163:18: style:inconclusive: Function 'permute_args' argument 1 names different: declaration '' definition 'panonopt_start'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:163:38: style:inconclusive: Function 'permute_args' argument 2 names different: declaration '' definition 'panonopt_end'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:163:56: style:inconclusive: Function 'permute_args' argument 3 names different: declaration '' definition 'opt_end'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:163:79: style:inconclusive: Function 'permute_args' argument 4 names different: declaration '' definition 'nargv'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:201:21: style:inconclusive: Function 'getopt_internal' argument 1 names different: declaration '' definition 'nargc'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:201:42: style:inconclusive: Function 'getopt_internal' argument 2 names different: declaration '' definition 'nargv'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/compat/getopt/getopt.c:201:61: style:inconclusive: Function 'getopt_internal' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/output.cpp:10:82: style:inconclusive: Function 'PrintSequencesFasta' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/output.cpp:12:82: style:inconclusive: Function 'PrintSequencesPhylip' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] head dawg-1.2/src/output.cpp:13:82: style:inconclusive: Function 'PrintSequencesClustal' argument 3 names different: declaration 'uFlags' definition ''. [funcArgNamesDifferentUnnamed] DONE