2026-05-01 12:08 ftp://ftp.de.debian.org/debian/pool/main/c/comparepdf/comparepdf_1.0.1.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=qt --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 -j1 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 63 63 elapsed-time: 0.6 0.4 head-timing-info: old-timing-info: head results: comparepdf-1.0.1/option_parser.hpp:97:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Int [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.hpp:128:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Double [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.hpp:150:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Bool [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.hpp:177:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable String [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/main.cpp:83:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.hpp:218:15: style:inconclusive: Technically the member function 'AQP::OptionParser::option' can be const. [functionConst] comparepdf-1.0.1/option_parser.hpp:77:10: warning: The class 'IntegerOption' defines member function with name 'hasDefaultValue' also defined in its parent class 'PrivateOption'. [duplInheritedMember] comparepdf-1.0.1/option_parser.hpp:52:10: note: Parent function 'PrivateOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:77:10: note: Derived function 'IntegerOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:115:10: warning: The class 'RealOption' defines member function with name 'hasDefaultValue' also defined in its parent class 'PrivateOption'. [duplInheritedMember] comparepdf-1.0.1/option_parser.hpp:52:10: note: Parent function 'PrivateOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:115:10: note: Derived function 'RealOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:145:10: warning: The class 'BooleanOption' defines member function with name 'hasDefaultValue' also defined in its parent class 'PrivateOption'. [duplInheritedMember] comparepdf-1.0.1/option_parser.hpp:52:10: note: Parent function 'PrivateOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:145:10: note: Derived function 'BooleanOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:165:10: warning: The class 'StringOption' defines member function with name 'hasDefaultValue' also defined in its parent class 'PrivateOption'. [duplInheritedMember] comparepdf-1.0.1/option_parser.hpp:52:10: note: Parent function 'PrivateOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:165:10: note: Derived function 'StringOption::hasDefaultValue' comparepdf-1.0.1/option_parser.hpp:97:20: style: The function 'type' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] comparepdf-1.0.1/option_parser.hpp:54:28: note: Virtual function in base class comparepdf-1.0.1/option_parser.hpp:97:20: note: Function in derived class comparepdf-1.0.1/option_parser.hpp:128:20: style: The function 'type' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] comparepdf-1.0.1/option_parser.hpp:54:28: note: Virtual function in base class comparepdf-1.0.1/option_parser.hpp:128:20: note: Function in derived class comparepdf-1.0.1/option_parser.hpp:150:20: style: The function 'type' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] comparepdf-1.0.1/option_parser.hpp:54:28: note: Virtual function in base class comparepdf-1.0.1/option_parser.hpp:150:20: note: Function in derived class comparepdf-1.0.1/option_parser.hpp:152:10: style: The function 'setRequired' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] comparepdf-1.0.1/option_parser.hpp:43:18: note: Virtual function in base class comparepdf-1.0.1/option_parser.hpp:152:10: note: Function in derived class comparepdf-1.0.1/option_parser.hpp:177:20: style: The function 'type' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] comparepdf-1.0.1/option_parser.hpp:54:28: note: Virtual function in base class comparepdf-1.0.1/option_parser.hpp:177:20: note: Function in derived class comparepdf-1.0.1/option_parser.hpp:44:13: performance: Function 'help()' should return member 'm_help' by const reference. [returnByReference] comparepdf-1.0.1/option_parser.hpp:48:13: performance: Function 'shortName()' should return member 'm_shortName' by const reference. [returnByReference] comparepdf-1.0.1/option_parser.hpp:49:13: performance: Function 'longName()' should return member 'm_longName' by const reference. [returnByReference] comparepdf-1.0.1/option_parser.hpp:86:15: performance: Function 'acceptableValues()' should return member 'm_acceptableValues' by const reference. [returnByReference] comparepdf-1.0.1/option_parser.hpp:166:19: performance: Function 'acceptableValues()' should return member 'm_acceptableValues' by const reference. [returnByReference] comparepdf-1.0.1/option_parser.hpp:217:17: performance: Function 'remainder()' should return member 'm_remainder' by const reference. [returnByReference] comparepdf-1.0.1/main.cpp:100:9: style: Condition '!error.isEmpty()' is always false [knownConditionTrueFalse] comparepdf-1.0.1/main.cpp:130:9: style: Condition '!error->isEmpty()' is always false [knownConditionTrueFalse] comparepdf-1.0.1/main.cpp:127:24: note: Assuming that condition 'error->isEmpty()' is not redundant comparepdf-1.0.1/main.cpp:130:9: note: Condition '!error->isEmpty()' is always false comparepdf-1.0.1/main.cpp:123:40: style:inconclusive: Function 'compareFiles' argument 1 names different: declaration 'file1' definition 'filename1'. [funcArgNamesDifferent] comparepdf-1.0.1/main.cpp:43:40: note: Function 'compareFiles' argument 1 names different: declaration 'file1' definition 'filename1'. comparepdf-1.0.1/main.cpp:123:40: note: Function 'compareFiles' argument 1 names different: declaration 'file1' definition 'filename1'. comparepdf-1.0.1/main.cpp:123:66: style:inconclusive: Function 'compareFiles' argument 2 names different: declaration 'file2' definition 'filename2'. [funcArgNamesDifferent] comparepdf-1.0.1/main.cpp:43:62: note: Function 'compareFiles' argument 2 names different: declaration 'file2' definition 'filename2'. comparepdf-1.0.1/main.cpp:123:66: note: Function 'compareFiles' argument 2 names different: declaration 'file2' definition 'filename2'. comparepdf-1.0.1/option_parser.cpp:112:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:347:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Bool [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:493:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Int [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:509:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Double [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:525:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Bool [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:541:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable String [valueFlowBailoutIncompleteVar] comparepdf-1.0.1/option_parser.cpp:200:17: style: Obsolete function 'qSort' called. It is recommended to use 'std::sort' instead. [prohibitedqSortCalled] comparepdf-1.0.1/option_parser.cpp:274:17: style: Obsolete function 'qSort' called. It is recommended to use 'std::sort' instead. [prohibitedqSortCalled] comparepdf-1.0.1/option_parser.cpp:405:32: style: The if condition is the same as the previous if condition [duplicateCondition] comparepdf-1.0.1/option_parser.cpp:400:32: note: First condition comparepdf-1.0.1/option_parser.cpp:405:32: note: Second condition comparepdf-1.0.1/option_parser.cpp:342:20: style: Return value '!usage()' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:342:26: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:342:20: note: Return value '!usage()' is always false comparepdf-1.0.1/option_parser.cpp:344:20: style: Return value '!usage(tr("unrecognized option %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:344:26: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:344:20: note: Return value '!usage(tr("unrecognized option %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:356:24: style: Return value '!usage(tr("unwanted value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:356:30: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:356:24: note: Return value '!usage(tr("unwanted value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:362:24: style: Return value '!usage(tr("missing value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:362:30: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:362:24: note: Return value '!usage(tr("missing value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:376:24: style: Return value '!usage(tr("invalid value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:376:30: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:376:24: note: Return value '!usage(tr("invalid value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:379:28: style: Return value '!usage(tr("too small a value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:379:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:379:28: note: Return value '!usage(tr("too small a value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:384:28: style: Return value '!usage(tr("too big a value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:384:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:384:28: note: Return value '!usage(tr("too big a value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:399:24: style: Return value '!usage(tr("invalid value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:399:30: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:399:24: note: Return value '!usage(tr("invalid value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:402:28: style: Return value '!usage(tr("too small a value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:402:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:402:28: note: Return value '!usage(tr("too small a value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:407:28: style: Return value '!usage(tr("too big a value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:407:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:407:28: note: Return value '!usage(tr("too big a value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:411:28: style: Return value '!usage(tr("invalid value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:411:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:411:28: note: Return value '!usage(tr("invalid value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:424:28: style: Return value '!usage(tr("invalid value for %1").arg(name))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:424:34: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:424:28: note: Return value '!usage(tr("invalid value for %1").arg(name))' is always false comparepdf-1.0.1/option_parser.cpp:435:24: style: Return value '!usage(tr("missing mandatory option %1").arg(option->longName().isEmpty()?QString("-%1").arg(option->shortName()):QString("--%1").arg(option->longName())))' is always false [knownConditionTrueFalse] comparepdf-1.0.1/option_parser.cpp:435:30: note: Calling function 'usage' returns 2 comparepdf-1.0.1/option_parser.cpp:435:24: note: Return value '!usage(tr("missing mandatory option %1").arg(option->longName().isEmpty()?QString("-%1").arg(option->shortName()):QString("--%1").arg(option->longName())))' is always false comparepdf-1.0.1/option_parser.cpp:45:22: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:45:22: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:58:19: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:58:19: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:71:22: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:71:22: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:84:21: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:84:21: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:103:22: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:103:22: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:132:19: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:132:19: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:152:19: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:152:19: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:201:21: style: Local variable 'i' shadows outer variable [shadowVariable] comparepdf-1.0.1/option_parser.cpp:128:38: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:201:21: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:275:21: style: Local variable 'i' shadows outer variable [shadowVariable] comparepdf-1.0.1/option_parser.cpp:128:38: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:275:21: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:346:19: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:346:19: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:432:19: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:432:19: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:492:15: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:492:15: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:508:15: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:508:15: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:524:15: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:524:15: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:540:15: style: Local variable 'option' shadows outer function [shadowFunction] comparepdf-1.0.1/option_parser.hpp:218:15: note: Shadowed declaration comparepdf-1.0.1/option_parser.cpp:540:15: note: Shadow variable comparepdf-1.0.1/option_parser.cpp:114:13: style: Unused variable: message [unusedVariable] diff: DONE