2026-05-01 20:39 ftp://ftp.de.debian.org/debian/pool/main/f/findent/findent_4.3.6.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: 232 234 elapsed-time: 0.9 0.8 head-timing-info: old-timing-info: head results: findent-4.3.6/src/debug.h:100:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] ../src/parser.y:197:57: error: There is an unknown macro here somewhere. Configuration is required. If D is a macro then please configure it. [unknownMacro] findent-4.3.6/src/simpleostream.h:52:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.h:49:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.h:60:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.h:69:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/docs.cpp:80:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/docs.cpp:104:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/docs.cpp:501:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/docs.cpp:526:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findent_types.h:54:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.h:196:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNKNOWN [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.h:293:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SCANFIXPRE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.h:324:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FINDENTFIX [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.h:369:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CPP [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.h:404:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.h:60:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNKNOWN [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:96:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FREE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:117:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COCO [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:136:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNSURE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:146:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:295:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentrun.cpp:48:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] findent-4.3.6/src/findentclass.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/findent.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/docs.h:35:1: style: The class 'Docs' does not declare a constructor although it has private member variables which likely require initialization. [noConstructor] findent-4.3.6/src/line_prep.h:66:7: warning:inconclusive: Member variable 'Line_prep::place_holder' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/line_prep.h:66:7: warning:inconclusive: Member variable 'Line_prep::contains_hollerith' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::firstchar_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::firstchar_cached' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::ltrim_cached' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::omp_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::omp_cached' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::scanfixpre_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::scanfixpre_cached' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::trim_cached' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::is_clean' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::gl' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::local_format' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:110:4: warning: Member variable 'Fortranline::local_gnu_format' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:116:4: warning: Member variable 'Fortranline::firstchar_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:116:4: warning: Member variable 'Fortranline::omp_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:116:4: warning: Member variable 'Fortranline::scanfixpre_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:123:4: warning: Member variable 'Fortranline::firstchar_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:123:4: warning: Member variable 'Fortranline::omp_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortranline.h:123:4: warning: Member variable 'Fortranline::scanfixpre_cache' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::gl' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::input_format' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::output_format' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::input' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::all_indent' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::cur_rprop' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::endline_set' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::reading_from_tty' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:48:7: warning:inconclusive: Member variable 'Findent::pregentype' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:50:7: warning: Member variable 'Findent::input' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:50:7: warning: Member variable 'Findent::pregentype' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::pregion' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::input' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::out' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::p_more' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::pregentype' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fortran.h:45:7: warning: Member variable 'Fortran::pushback' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/fixed.h:38:7: warning: Member variable 'Fixed::is_omp' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/free.h:39:7: warning: Member variable 'Free::is_omp' is not initialized in the constructor. [uninitMemberVar] findent-4.3.6/src/findentclass.h:56:3: performance: Variable 'cur_rprop' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] findent-4.3.6/src/findentclass.h:57:3: performance: Variable 'endline' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] findent-4.3.6/src/findentclass.h:58:3: performance: Variable 'flags' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] findent-4.3.6/src/simpleostream.h:60:12: style:inconclusive: Technically the member function 'Simpleostream::getoutput' can be const. [functionConst] findent-4.3.6/src/simpleostream.h:68:19: style:inconclusive: Technically the member function 'Simpleostream::get' can be const. [functionConst] findent-4.3.6/src/fortran.h:49:3: performance: Variable 'cur_rprop' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] findent-4.3.6/src/line_prep.h:72:12: style:inconclusive: Technically the member function 'Line_prep::get_place_holder' can be const. [functionConst] findent-4.3.6/src/line_prep.h:76:19: style:inconclusive: Technically the member function 'Line_prep::get_line_spaces_removed' can be const. [functionConst] findent-4.3.6/src/line_prep.h:78:19: style:inconclusive: Technically the member function 'Line_prep::get_line_compressed' can be const. [functionConst] findent-4.3.6/src/line_prep.h:80:19: style:inconclusive: Technically the member function 'Line_prep::get_line_encoded' can be const. [functionConst] findent-4.3.6/src/line_prep.h:82:19: style:inconclusive: Technically the member function 'Line_prep::get_line_rest' can be const. [functionConst] findent-4.3.6/src/line_prep.h:84:19: style:inconclusive: Technically the member function 'Line_prep::get_pos_compressed' can be const. [functionConst] findent-4.3.6/src/line_prep.h:86:19: style:inconclusive: Technically the member function 'Line_prep::get_pos_encoded' can be const. [functionConst] findent-4.3.6/src/line_prep.h:88:19: style:inconclusive: Technically the member function 'Line_prep::get_pos_rest' can be const. [functionConst] findent-4.3.6/src/line_prep.h:90:11: style:inconclusive: Technically the member function 'Line_prep::get_type' can be const. [functionConst] findent-4.3.6/src/line_prep.h:126:19: style:inconclusive: Technically the member function 'Line_prep::get_value' can be const. [functionConst] findent-4.3.6/src/line_prep.h:139:12: style:inconclusive: Technically the member function 'Line_prep::get_stringtype' can be const. [functionConst] findent-4.3.6/src/fortranline.h:136:9: style:inconclusive: Technically the member function 'Fortranline::written' can be const. [functionConst] findent-4.3.6/src/fortranline.h:146:8: style:inconclusive: Technically the member function 'Fortranline::preregion' can be const. [functionConst] findent-4.3.6/src/fortranline.h:168:8: style:inconclusive: Technically the member function 'Fortranline::g_format' can be const. [functionConst] findent-4.3.6/src/fortranline.h:172:8: style:inconclusive: Technically the member function 'Fortranline::line_length' can be const. [functionConst] findent-4.3.6/src/fortranline.h:176:9: style:inconclusive: Technically the member function 'Fortranline::gnu_format' can be const. [functionConst] findent-4.3.6/src/fortranline.h:178:16: style:inconclusive: Technically the member function 'Fortranline::str' can be const. [functionConst] findent-4.3.6/src/fortranline.h:304:16: style:inconclusive: Technically the member function 'Fortranline::getinclude' can be const. [functionConst] findent-4.3.6/src/fortranline.h:407:16: style:inconclusive: Technically the member function 'Fortranline::remove_trailing_comment' can be const. [functionConst] findent-4.3.6/src/findentclass.cpp:124:14: style: The member function 'Findent::guess_fixedfree' can be static. [functionStatic] findent-4.3.6/src/findentclass.h:99:20: note: The member function 'Findent::guess_fixedfree' can be static. findent-4.3.6/src/findentclass.cpp:124:14: note: The member function 'Findent::guess_fixedfree' can be static. findent-4.3.6/src/findentclass.cpp:273:22: style: The member function 'Findent::type2str' can be static. [functionStatic] findent-4.3.6/src/findentclass.h:103:20: note: The member function 'Findent::type2str' can be static. findent-4.3.6/src/findentclass.cpp:273:22: note: The member function 'Findent::type2str' can be static. findent-4.3.6/src/findentclass.cpp:162:14: style:inconclusive: Technically the member function 'Findent::what_to_return' can be const. [functionConst] findent-4.3.6/src/findentclass.h:104:20: note: Technically the member function 'Findent::what_to_return' can be const. findent-4.3.6/src/findentclass.cpp:162:14: note: Technically the member function 'Findent::what_to_return' can be const. findent-4.3.6/src/findentclass.h:55:3: warning: Class 'Findent' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] findent-4.3.6/src/findentclass.h:55:3: warning: Class 'Findent' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] findent-4.3.6/src/fortran.h:84:20: style:inconclusive: Technically the member function 'Fortran::get_num' can be const. [functionConst] findent-4.3.6/src/fortran.h:130:11: style:inconclusive: Technically the member function 'Fortran::M' can be const. [functionConst] findent-4.3.6/src/free.h:50:19: style:inconclusive: Technically the member function 'Free::insert_omp' can be const. [functionConst] findent-4.3.6/src/line_prep.h:64:7: style: Class 'Line_prep' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] findent-4.3.6/src/fortranline.h:116:4: style: Class 'Fortranline' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] findent-4.3.6/src/findentclass.h:50:7: style: Class 'Findent' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] findent-4.3.6/src/fortran.h:50:3: warning: Class 'Fortran' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] findent-4.3.6/src/fortran.h:50:3: warning: Class 'Fortran' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] findent-4.3.6/src/line_prep.h:74:19: performance: Function 'get_line()' should return member 'line' by const reference. [returnByReference] findent-4.3.6/src/line_prep.h:76:19: performance: Function 'get_line_spaces_removed()' should return member 'sl' by const reference. [returnByReference] findent-4.3.6/src/line_prep.h:78:19: performance: Function 'get_line_compressed()' should return member 'sv' by const reference. [returnByReference] findent-4.3.6/src/line_prep.h:80:19: performance: Function 'get_line_encoded()' should return member 'sc' by const reference. [returnByReference] findent-4.3.6/src/line_prep.h:82:19: performance: Function 'get_line_rest()' should return member 'rest' by const reference. [returnByReference] findent-4.3.6/src/fixed.h:38:7: style: Class 'Fixed' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] findent-4.3.6/src/line_prep.h:84:19: performance: Function 'get_pos_compressed()' should return member 'pv' by const reference. [returnByReference] findent-4.3.6/src/free.h:39:7: style: Class 'Free' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] findent-4.3.6/src/line_prep.h:86:19: performance: Function 'get_pos_encoded()' should return member 'pc' by const reference. [returnByReference] findent-4.3.6/src/line_prep.h:88:19: performance: Function 'get_pos_rest()' should return member 'prest' by const reference. [returnByReference] findent-4.3.6/src/fixed.h:39:12: style: The function 'build_statement' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:74:20: note: Virtual function in base class findent-4.3.6/src/fixed.h:39:12: note: Function in derived class findent-4.3.6/src/fortranline.h:178:16: performance: Function 'str()' should return member 'orig_line' by const reference. [returnByReference] findent-4.3.6/src/fixed.h:40:12: style: The function 'output' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:76:20: note: Virtual function in base class findent-4.3.6/src/fixed.h:40:12: note: Function in derived class findent-4.3.6/src/fixed.h:41:12: style: The function 'output_converted' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:78:20: note: Virtual function in base class findent-4.3.6/src/fixed.h:41:12: note: Function in derived class findent-4.3.6/src/free.h:41:12: style: The function 'build_statement' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:74:20: note: Virtual function in base class findent-4.3.6/src/free.h:41:12: note: Function in derived class findent-4.3.6/src/free.h:43:12: style: The function 'output' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:76:20: note: Virtual function in base class findent-4.3.6/src/free.h:43:12: note: Function in derived class findent-4.3.6/src/free.h:45:12: style: The function 'output_converted' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] findent-4.3.6/src/fortran.h:78:20: note: Virtual function in base class findent-4.3.6/src/free.h:45:12: note: Function in derived class findent-4.3.6/src/functions.h:113:33: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] findent-4.3.6/src/functions.h:112:15: note: 'result' is assigned value '0' here. findent-4.3.6/src/functions.h:113:33: note: Same expression in both branches of ternary operator. findent-4.3.6/src/functions.h:113:24: style: Clarify calculation precedence for '>>' and '?'. [clarifyCalculation] findent-4.3.6/src/findentclass.h:50:22: style: Parameter 'f' can be declared as reference to const [constParameterReference] findent-4.3.6/src/fortran.h:182:42: performance: Function parameter 'p' should be passed by const reference. [passedByValue] findent-4.3.6/src/findentclass.cpp:61:3: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/findentrun.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/docs.cpp:603:12: style: The member function 'Docs::changelog' can be static. [functionStatic] findent-4.3.6/src/docs.h:41:9: note: The member function 'Docs::changelog' can be static. findent-4.3.6/src/docs.cpp:603:12: note: The member function 'Docs::changelog' can be static. findent-4.3.6/src/docs.cpp:588:12: style: The member function 'Docs::emacs_findent' can be static. [functionStatic] findent-4.3.6/src/docs.h:42:9: note: The member function 'Docs::emacs_findent' can be static. findent-4.3.6/src/docs.cpp:588:12: note: The member function 'Docs::emacs_findent' can be static. findent-4.3.6/src/docs.cpp:583:12: style: The member function 'Docs::emacs_help' can be static. [functionStatic] findent-4.3.6/src/docs.h:43:9: note: The member function 'Docs::emacs_help' can be static. findent-4.3.6/src/docs.cpp:583:12: note: The member function 'Docs::emacs_help' can be static. findent-4.3.6/src/docs.cpp:568:12: style: The member function 'Docs::gedit_external' can be static. [functionStatic] findent-4.3.6/src/docs.h:44:9: note: The member function 'Docs::gedit_external' can be static. findent-4.3.6/src/docs.cpp:568:12: note: The member function 'Docs::gedit_external' can be static. findent-4.3.6/src/docs.cpp:563:12: style: The member function 'Docs::gedit_help' can be static. [functionStatic] findent-4.3.6/src/docs.h:45:9: note: The member function 'Docs::gedit_help' can be static. findent-4.3.6/src/docs.cpp:563:12: note: The member function 'Docs::gedit_help' can be static. findent-4.3.6/src/docs.cpp:573:12: style: The member function 'Docs::gedit_plugin' can be static. [functionStatic] findent-4.3.6/src/docs.h:46:9: note: The member function 'Docs::gedit_plugin' can be static. findent-4.3.6/src/docs.cpp:573:12: note: The member function 'Docs::gedit_plugin' can be static. findent-4.3.6/src/docs.cpp:578:12: style: The member function 'Docs::gedit_plugin_py' can be static. [functionStatic] findent-4.3.6/src/docs.h:47:9: note: The member function 'Docs::gedit_plugin_py' can be static. findent-4.3.6/src/docs.cpp:578:12: note: The member function 'Docs::gedit_plugin_py' can be static. findent-4.3.6/src/docs.cpp:598:12: style: The member function 'Docs::makefdeps' can be static. [functionStatic] findent-4.3.6/src/docs.h:48:9: note: The member function 'Docs::makefdeps' can be static. findent-4.3.6/src/docs.cpp:598:12: note: The member function 'Docs::makefdeps' can be static. findent-4.3.6/src/docs.cpp:593:12: style: The member function 'Docs::readme' can be static. [functionStatic] findent-4.3.6/src/docs.h:49:9: note: The member function 'Docs::readme' can be static. findent-4.3.6/src/docs.cpp:593:12: note: The member function 'Docs::readme' can be static. findent-4.3.6/src/docs.cpp:553:12: style: The member function 'Docs::vim_findent' can be static. [functionStatic] findent-4.3.6/src/docs.h:52:9: note: The member function 'Docs::vim_findent' can be static. findent-4.3.6/src/docs.cpp:553:12: note: The member function 'Docs::vim_findent' can be static. findent-4.3.6/src/docs.cpp:558:12: style: The member function 'Docs::vim_fortran' can be static. [functionStatic] findent-4.3.6/src/docs.h:53:9: note: The member function 'Docs::vim_fortran' can be static. findent-4.3.6/src/docs.cpp:558:12: note: The member function 'Docs::vim_fortran' can be static. findent-4.3.6/src/docs.cpp:548:12: style: The member function 'Docs::vim_help' can be static. [functionStatic] findent-4.3.6/src/docs.h:54:9: note: The member function 'Docs::vim_help' can be static. findent-4.3.6/src/docs.cpp:548:12: note: The member function 'Docs::vim_help' can be static. findent-4.3.6/src/docs.cpp:491:12: style: The member function 'Docs::replaceAll' can be static. [functionStatic] findent-4.3.6/src/docs.h:60:9: note: The member function 'Docs::replaceAll' can be static. findent-4.3.6/src/docs.cpp:491:12: note: The member function 'Docs::replaceAll' can be static. findent-4.3.6/src/docs.cpp:516:37: performance: Function parameter 'flag' should be passed by const reference. [passedByValue] findent-4.3.6/src/docs.cpp:516:61: performance: Function parameter 'txt' should be passed by const reference. [passedByValue] findent-4.3.6/src/docs.cpp:541:60: performance: Ineffective call of function 'substr' because it returns a copy of the object. Use operator= instead. [uselessCallsSubstr] findent-4.3.6/src/docs.cpp:543:46: performance: Ineffective call of function 'substr' because it returns a copy of the object. Use operator= instead. [uselessCallsSubstr] findent-4.3.6/src/fixed.cpp:489:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FREE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fixed.cpp:518:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FREE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/flags.cpp:61:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNKNOWN [valueFlowBailoutIncompleteVar] findent-4.3.6/src/flags.cpp:158:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable required_argument [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.cpp:36:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortranline.cpp:135:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FIXED [valueFlowBailoutIncompleteVar] ../src/lexer.l:72:4: error: There is an unknown macro here somewhere. Configuration is required. If D is a macro then please configure it. [unknownMacro] findent-4.3.6/src/fortranline.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/fortran.cpp:164:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FIXED [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortran.cpp:299:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortran.cpp:391:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CPP [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortran.cpp:538:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CPP [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fortran.cpp:708:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PROCEDURE [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.cpp:125:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.cpp:189:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/functions.cpp:238:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] findent-4.3.6/src/free.cpp:505:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FIXED [valueFlowBailoutIncompleteVar] findent-4.3.6/src/line_prep.cpp:238:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] findent-4.3.6/src/mylexer.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/myparser.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/fortran.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/fortran.cpp:1063:22: style: The member function 'Fortran::remred' can be static. [functionStatic] findent-4.3.6/src/fortran.h:128:19: note: The member function 'Fortran::remred' can be static. findent-4.3.6/src/fortran.cpp:1063:22: note: The member function 'Fortran::remred' can be static. findent-4.3.6/src/fortran.cpp:516:15: style: The member function 'Fortran::is_findentfix' can be static. [functionStatic] findent-4.3.6/src/fortran.h:238:13: note: The member function 'Fortran::is_findentfix' can be static. findent-4.3.6/src/fortran.cpp:516:15: note: The member function 'Fortran::is_findentfix' can be static. findent-4.3.6/src/fortran.cpp:155:14: style: The member function 'Fortran::guess_indent' can be static. [functionStatic] findent-4.3.6/src/fortran.h:263:20: note: The member function 'Fortran::guess_indent' can be static. findent-4.3.6/src/fortran.cpp:155:14: note: The member function 'Fortran::guess_indent' can be static. findent-4.3.6/src/fortran.cpp:52:8: style: The scope of the variable 'l' can be reduced. [variableScope] findent-4.3.6/src/fortran.cpp:536:8: style: The scope of the variable 'ifelse' can be reduced. [variableScope] findent-4.3.6/src/fortran.cpp:236:12: style: Local variable 'p_more' shadows outer variable [shadowVariable] findent-4.3.6/src/fortran.h:252:12: note: Shadowed declaration findent-4.3.6/src/fortran.cpp:236:12: note: Shadow variable findent-4.3.6/src/fortran.cpp:1020:6: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] findent-4.3.6/src/fortran.cpp:1014:19: warning: Either the condition 'it!=c_lines.rend()' is redundant or there is possible dereference of an invalid iterator: it. [derefInvalidIteratorRedundantCheck] findent-4.3.6/src/fortran.cpp:1001:13: note: Assuming that condition 'it!=c_lines.rend()' is not redundant findent-4.3.6/src/fortran.cpp:1014:19: note: Dereference of an invalid iterator findent-4.3.6/src/fortran.cpp:52:9: style: Variable 'l' is assigned a value that is never used. [unreadVariable] findent-4.3.6/src/prop.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/fortran.cpp:1004:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/prop.cpp:33:42: style: Parameter 'p' can be declared as reference to const [constParameterReference] findent-4.3.6/src/fixed.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/fixed.cpp:565:13: style: The member function 'Fixed::wizard' can be static. [functionStatic] findent-4.3.6/src/fixed.h:45:12: note: The member function 'Fixed::wizard' can be static. findent-4.3.6/src/fixed.cpp:565:13: note: The member function 'Fixed::wizard' can be static. findent-4.3.6/src/fixed.cpp:586:20: style: The member function 'Fixed::add_amp' can be static. [functionStatic] findent-4.3.6/src/fixed.h:46:19: note: The member function 'Fixed::add_amp' can be static. findent-4.3.6/src/fixed.cpp:586:20: note: The member function 'Fixed::add_amp' can be static. findent-4.3.6/src/fixed.cpp:431:11: style: The scope of the variable 'c' can be reduced. [variableScope] findent-4.3.6/src/fixed.cpp:586:60: style:inconclusive: Function 'add_amp' argument 2 names different: declaration 'prevquote' definition 'p'. [funcArgNamesDifferent] findent-4.3.6/src/fixed.h:46:59: note: Function 'add_amp' argument 2 names different: declaration 'prevquote' definition 'p'. findent-4.3.6/src/fixed.cpp:586:60: note: Function 'add_amp' argument 2 names different: declaration 'prevquote' definition 'p'. findent-4.3.6/src/fixed.cpp:117:14: style: Local variable 'i' shadows outer variable [shadowVariable] findent-4.3.6/src/fixed.cpp:109:10: note: Shadowed declaration findent-4.3.6/src/fixed.cpp:117:14: note: Shadow variable findent-4.3.6/src/fixed.cpp:91:7: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] findent-4.3.6/src/token2name.cpp:9:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable firsttoken [valueFlowBailoutIncompleteVar] findent-4.3.6/src/fixed.cpp:501:7: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/fixed.cpp:573:4: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/fixed.cpp:581:7: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/relabel.cpp:427:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable first [valueFlowBailoutIncompleteVar] findent-4.3.6/src/relabel.cpp:669:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/relabel.cpp:676:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] findent-4.3.6/src/relabel.cpp:750:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable first [valueFlowBailoutIncompleteVar] findent-4.3.6/src/relabel.cpp:911:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable first [valueFlowBailoutIncompleteVar] findent-4.3.6/src/free.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/free.cpp:526:19: style: The member function 'Free::rm_last_amp' can be static. [functionStatic] findent-4.3.6/src/free.h:48:19: note: The member function 'Free::rm_last_amp' can be static. findent-4.3.6/src/free.cpp:526:19: note: The member function 'Free::rm_last_amp' can be static. findent-4.3.6/src/free.cpp:279:15: style: The scope of the variable 'lineout' can be reduced. [variableScope] findent-4.3.6/src/free.cpp:404:7: style: The scope of the variable 'l' can be reduced. [variableScope] findent-4.3.6/src/free.cpp:145:69: style:inconclusive: Function 'output' argument 3 names different: declaration 'freelines' definition 'fixedlines'. [funcArgNamesDifferent] findent-4.3.6/src/free.h:43:69: note: Function 'output' argument 3 names different: declaration 'freelines' definition 'fixedlines'. findent-4.3.6/src/free.cpp:145:69: note: Function 'output' argument 3 names different: declaration 'freelines' definition 'fixedlines'. findent-4.3.6/src/free.cpp:355:18: style: Local variable 'lineout' shadows outer variable [shadowVariable] findent-4.3.6/src/free.cpp:279:15: note: Shadowed declaration findent-4.3.6/src/free.cpp:355:18: note: Shadow variable findent-4.3.6/src/free.cpp:354:16: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] findent-4.3.6/src/free.cpp:610:3: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] findent-4.3.6/src/free.cpp:517:7: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] findent-4.3.6/src/line_prep.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/line_prep.cpp:272:19: style: Condition 'sl.size()==0' is always false [knownConditionTrueFalse] findent-4.3.6/src/line_prep.cpp:127:9: style: The scope of the variable 'c' can be reduced. [variableScope] findent-4.3.6/src/line_prep.cpp:193:5: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] findent-4.3.6/src/relabel.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] findent-4.3.6/src/relabel.cpp:143:15: style:inconclusive: Technically the member function 'Fortran::init_relabel' can be const. [functionConst] findent-4.3.6/src/fortran.h:83:20: note: Technically the member function 'Fortran::init_relabel' can be const. findent-4.3.6/src/relabel.cpp:143:15: note: Technically the member function 'Fortran::init_relabel' can be const. findent-4.3.6/src/relabel.cpp:701:15: style: The member function 'Fortran::rel_apply' can be static. [functionStatic] findent-4.3.6/src/fortran.h:267:20: note: The member function 'Fortran::rel_apply' can be static. findent-4.3.6/src/relabel.cpp:701:15: note: The member function 'Fortran::rel_apply' can be static. findent-4.3.6/src/relabel.cpp:674:15: style: The member function 'Fortran::rel_report' can be static. [functionStatic] findent-4.3.6/src/fortran.h:268:20: note: The member function 'Fortran::rel_report' can be static. findent-4.3.6/src/relabel.cpp:674:15: note: The member function 'Fortran::rel_report' can be static. findent-4.3.6/src/relabel.cpp:666:15: style: The member function 'Fortran::rel_summary' can be static. [functionStatic] findent-4.3.6/src/fortran.h:269:20: note: The member function 'Fortran::rel_summary' can be static. findent-4.3.6/src/relabel.cpp:666:15: note: The member function 'Fortran::rel_summary' can be static. findent-4.3.6/src/relabel.cpp:589:15: style:inconclusive: Technically the member function 'Fortran::rel_collect' can be const. [functionConst] findent-4.3.6/src/fortran.h:270:20: note: Technically the member function 'Fortran::rel_collect' can be const. findent-4.3.6/src/relabel.cpp:589:15: note: Technically the member function 'Fortran::rel_collect' can be const. findent-4.3.6/src/relabel.cpp:105:8: style: The scope of the variable 'x' can be reduced. [variableScope] findent-4.3.6/src/relabel.cpp:205:8: style: Local variable 'state' shadows outer variable [shadowVariable] findent-4.3.6/src/fortran.h:255:12: note: Shadowed declaration findent-4.3.6/src/relabel.cpp:205:8: note: Shadow variable findent-4.3.6/src/relabel.cpp:256:7: style: Local variable 'pregion' shadows outer variable [shadowVariable] findent-4.3.6/src/fortran.h:93:20: note: Shadowed declaration findent-4.3.6/src/relabel.cpp:256:7: note: Shadow variable findent-4.3.6/src/relabel.cpp:835:9: style: Local variable 'k' shadows outer variable [shadowVariable] findent-4.3.6/src/relabel.cpp:748:7: note: Shadowed declaration findent-4.3.6/src/relabel.cpp:835:9: note: Shadow variable findent-4.3.6/src/relabel.cpp:1002:10: style: Local variable 'n' shadows outer variable [shadowVariable] findent-4.3.6/src/relabel.cpp:910:17: note: Shadowed declaration findent-4.3.6/src/relabel.cpp:1002:10: note: Shadow variable findent-4.3.6/src/relabel.cpp:413:24: performance: Searching before insertion is not necessary. Instead of 'labels[lclean]=""' consider using 'labels.try_emplace(lclean, "");'. [stlFindInsert] findent-4.3.6/src/flags.cpp:131:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] findent-4.3.6/src/flags.cpp:135:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] findent-4.3.6/src/flags.cpp:125:7: error: Memory leak: envflags [memleak] findent-4.3.6/src/flags.cpp:129:59: warning: If memory allocation fails, then there is a possible null pointer dereference: envflags [nullPointerOutOfMemory] findent-4.3.6/src/flags.cpp:125:24: note: Assuming allocation function fails findent-4.3.6/src/flags.cpp:125:24: note: Assignment 'envflags=strdup(envopts)', assigned value is 0 findent-4.3.6/src/flags.cpp:129:59: note: Null pointer dereference findent-4.3.6/src/flags.cpp:130:7: warning: If memory allocation fails, then there is a possible null pointer dereference: allflags [nullPointerOutOfMemory] findent-4.3.6/src/flags.cpp:129:36: note: Assuming allocation function fails findent-4.3.6/src/flags.cpp:129:21: note: Assignment 'allflags=(char**)malloc(sizeof(char*)*(strlen(envflags)+argc+1))', assigned value is 0 findent-4.3.6/src/flags.cpp:130:7: note: Null pointer dereference findent-4.3.6/src/flags.cpp:134:3: warning: If memory allocation fails, then there is a possible null pointer dereference: allflags [nullPointerOutOfMemory] findent-4.3.6/src/flags.cpp:129:36: note: Assuming allocation function fails findent-4.3.6/src/flags.cpp:129:21: note: Assignment 'allflags=(char**)malloc(sizeof(char*)*(strlen(envflags)+argc+1))', assigned value is 0 findent-4.3.6/src/flags.cpp:134:3: note: Null pointer dereference findent-4.3.6/src/flags.cpp:141:7: warning: If memory allocation fails, then there is a possible null pointer dereference: allflags [nullPointerOutOfMemory] findent-4.3.6/src/flags.cpp:140:36: note: Assuming allocation function fails findent-4.3.6/src/flags.cpp:140:21: note: Assignment 'allflags=(char**)malloc(sizeof(char*)*(argc+1))', assigned value is 0 findent-4.3.6/src/flags.cpp:141:7: note: Null pointer dereference findent-4.3.6/src/flags.cpp:146:4: warning: If memory allocation fails, then there is a possible null pointer dereference: allflags [nullPointerOutOfMemory] findent-4.3.6/src/flags.cpp:129:36: note: Assuming allocation function fails findent-4.3.6/src/flags.cpp:129:21: note: Assignment 'allflags=(char**)malloc(sizeof(char*)*(strlen(envflags)+argc+1))', assigned value is 0 findent-4.3.6/src/flags.cpp:146:4: note: Null pointer dereference findent-4.3.6/src/flags.cpp:129:21: style: C-style pointer casting [cstyleCast] findent-4.3.6/src/flags.cpp:140:21: style: C-style pointer casting [cstyleCast] findent-4.3.6/src/flags.cpp:146:25: style: C-style pointer casting [cstyleCast] findent-4.3.6/src/flags.cpp:116:10: style: Variable 'envopts' can be declared as pointer to const [constVariablePointer] findent-4.3.6/src/flags.cpp:156:18: style: Variable 'longopts' can be declared as const array [constVariable] findent-4.3.6/src/flags.cpp:635:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] findent-4.3.6/src/flags.cpp:325:16: style: Unused variable: option_name [unusedVariable] diff: 2.20.0 findent-4.3.6/src/docs.h:59:34: performance: Function parameter 'flag' should be passed by const reference. [passedByValue] 2.20.0 findent-4.3.6/src/docs.h:59:58: performance: Function parameter 'txt' should be passed by const reference. [passedByValue] DONE