2025-09-01 21:15 ftp://ftp.de.debian.org/debian/pool/main/m/mpfrc++/mpfrc++_3.7.1+ds.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-6.12.41+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: 2b51b48 (2025-09-01 15:35:55 +0200) count: 2 50 elapsed-time: 0.0 0.3 head-timing-info: old-timing-info: head results: mpfrc++-3.7.1+ds/mpreal.h:137:0: error: failed to evaluate #if condition, undefined function-like macro invocation: MPFR_VERSION_NUM( ... ) [preprocessorErrorDirective] mpfrc++-3.7.1+ds/mpreal.h:137:2: error: failed to evaluate #if condition, undefined function-like macro invocation: MPFR_VERSION_NUM( ... ) [preprocessorErrorDirective] diff: 2.18.0 mpfrc++-3.7.1+ds/example/example.cpp:89:0: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1111:47: style:inconclusive: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:223:36: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. mpfrc++-3.7.1+ds/mpreal.h:1111:47: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1118:47: style:inconclusive: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:224:36: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. mpfrc++-3.7.1+ds/mpreal.h:1118:47: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1125:47: style:inconclusive: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:225:36: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. mpfrc++-3.7.1+ds/mpreal.h:1125:47: note: Function 'operator+=' argument 1 names different: declaration 'v' definition 'u'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1244:53: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:250:42: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1244:53: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1251:48: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:251:37: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1251:48: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1263:59: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:252:48: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1263:59: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1270:54: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:253:43: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1270:54: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1277:50: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:254:39: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1277:50: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1284:45: style:inconclusive: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:255:34: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. mpfrc++-3.7.1+ds/mpreal.h:1284:45: note: Function 'operator-=' argument 1 names different: declaration 'u' definition 'v'. head mpfrc++-3.7.1+ds/mpreal.h:137:0: error: failed to evaluate #if condition, undefined function-like macro invocation: MPFR_VERSION_NUM( ... ) [preprocessorErrorDirective] head mpfrc++-3.7.1+ds/mpreal.h:137:2: error: failed to evaluate #if condition, undefined function-like macro invocation: MPFR_VERSION_NUM( ... ) [preprocessorErrorDirective] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:167:64: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mpfr_get_default_prec [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:172:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:173:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1749:31: style:inconclusive: Technically the member function 'mpfr::mpreal::mpfr_ptr' can be const. [functionConst] mpfrc++-3.7.1+ds/mpreal.h:332:19: note: Technically the member function 'mpfr::mpreal::mpfr_ptr' can be const. mpfrc++-3.7.1+ds/mpreal.h:1749:31: note: Technically the member function 'mpfr::mpreal::mpfr_ptr' can be const. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:174:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:175:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:176:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:177:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:178:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:179:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1802:12: style: The scope of the variable 'slen' can be reduced. [variableScope] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1802:18: style: The scope of the variable 'nslen' can be reduced. [variableScope] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1804:17: style: The scope of the variable 'out' can be reduced. [variableScope] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:180:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:181:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:182:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1838:23: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1849:23: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1862:23: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:186:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1885:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dec [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:188:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:189:5: style: Class 'mpreal' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1906:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable showpos [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1962:36: style:inconclusive: Function 'setSign' argument 1 names different: declaration 'Sign' definition 'sign'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:535:33: note: Function 'setSign' argument 1 names different: declaration 'Sign' definition 'sign'. mpfrc++-3.7.1+ds/mpreal.h:1962:36: note: Function 'setSign' argument 1 names different: declaration 'Sign' definition 'sign'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1981:35: style:inconclusive: Function 'setInf' argument 1 names different: declaration 'Sign' definition 'sign'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:532:33: note: Function 'setInf' argument 1 names different: declaration 'Sign' definition 'sign'. mpfrc++-3.7.1+ds/mpreal.h:1981:35: note: Function 'setInf' argument 1 names different: declaration 'Sign' definition 'sign'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:1995:36: style:inconclusive: Function 'setZero' argument 1 names different: declaration 'Sign' definition 'sign'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:534:33: note: Function 'setZero' argument 1 names different: declaration 'Sign' definition 'sign'. mpfrc++-3.7.1+ds/mpreal.h:1995:36: note: Function 'setZero' argument 1 names different: declaration 'Sign' definition 'sign'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:2000:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mpfr_get_default_rounding_mode [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:2624:37: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:2892:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:2938:21: performance:inconclusive: Technically the member function 'mpfr::mpreal::fits_in_bits' can be static (but you may consider moving to unnamed namespace). [functionStatic] mpfrc++-3.7.1+ds/mpreal.h:544:17: note: Technically the member function 'mpfr::mpreal::fits_in_bits' can be static (but you may consider moving to unnamed namespace). mpfrc++-3.7.1+ds/mpreal.h:2938:21: note: Technically the member function 'mpfr::mpreal::fits_in_bits' can be static (but you may consider moving to unnamed namespace). 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:3300:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GMP_RNDN [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:3307:71: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable min [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:3329:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable round_to_nearest [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:584:17: performance:inconclusive: Either there is a missing 'override', or the member function 'mpfr::conversion_overflow::why' can be static. [functionStatic] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:593:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __MPFR_EXP_ZERO [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:607:32: style:inconclusive: Function 'mpreal' argument 1 names different: declaration 'u' definition 'other'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:195:21: note: Function 'mpreal' argument 1 names different: declaration 'u' definition 'other'. mpfrc++-3.7.1+ds/mpreal.h:607:32: note: Function 'mpreal' argument 1 names different: declaration 'u' definition 'other'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:615:43: style:inconclusive: Function 'operator=' argument 1 names different: declaration 'v' definition 'other'. [funcArgNamesDifferent] mpfrc++-3.7.1+ds/mpreal.h:194:32: note: Function 'operator=' argument 1 names different: declaration 'v' definition 'other'. mpfrc++-3.7.1+ds/mpreal.h:615:43: note: Function 'operator=' argument 1 names different: declaration 'v' definition 'other'. 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:630:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mpfr_t [valueFlowBailoutIncompleteVar] 2.18.0 mpfrc++-3.7.1+ds/mpreal.h:754:21: performance:inconclusive: Technically the member function 'mpfr::mpreal::clear' can be static (but you may consider moving to unnamed namespace). [functionStatic] mpfrc++-3.7.1+ds/mpreal.h:577:10: note: Technically the member function 'mpfr::mpreal::clear' can be static (but you may consider moving to unnamed namespace). mpfrc++-3.7.1+ds/mpreal.h:754:21: note: Technically the member function 'mpfr::mpreal::clear' can be static (but you may consider moving to unnamed namespace). DONE