diff --git a/.clang-tidy b/.clang-tidy
index ea453a81ee9..c554570ef5a 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -48,7 +48,6 @@ Checks: >
-modernize-replace-auto-ptr,
-modernize-return-braced-init-list,
-modernize-type-traits,
- -modernize-use-auto,
-modernize-use-designated-initializers,
-modernize-use-nodiscard,
-modernize-use-trailing-return-type,
diff --git a/Makefile b/Makefile
index fc2c7974770..7b018b2d679 100644
--- a/Makefile
+++ b/Makefile
@@ -509,7 +509,7 @@ $(libcppdir)/checkers.o: lib/checkers.cpp lib/checkers.h lib/config.h
$(libcppdir)/checkersidmapping.o: lib/checkersidmapping.cpp lib/checkers.h lib/config.h
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/checkersidmapping.cpp
-$(libcppdir)/checkersreport.o: lib/checkersreport.cpp lib/addoninfo.h lib/checkers.h lib/checkersreport.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h
+$(libcppdir)/checkersreport.o: lib/checkersreport.cpp lib/addoninfo.h lib/checkers.h lib/checkersreport.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/checkersreport.cpp
$(libcppdir)/checkexceptionsafety.o: lib/checkexceptionsafety.cpp lib/addoninfo.h lib/astutils.h lib/check.h lib/checkexceptionsafety.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h
@@ -623,7 +623,7 @@ $(libcppdir)/programmemory.o: lib/programmemory.cpp lib/addoninfo.h lib/astutils
$(libcppdir)/reverseanalyzer.o: lib/reverseanalyzer.cpp lib/addoninfo.h lib/analyzer.h lib/astutils.h lib/config.h lib/errortypes.h lib/forwardanalyzer.h lib/library.h lib/mathlib.h lib/platform.h lib/reverseanalyzer.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/utils.h lib/valueptr.h lib/vfvalue.h
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/reverseanalyzer.cpp
-$(libcppdir)/settings.o: lib/settings.cpp externals/picojson/picojson.h lib/addoninfo.h lib/config.h lib/errortypes.h lib/json.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/summaries.h lib/suppressions.h lib/vfvalue.h
+$(libcppdir)/settings.o: lib/settings.cpp externals/picojson/picojson.h lib/addoninfo.h lib/config.h lib/errortypes.h lib/json.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/summaries.h lib/suppressions.h lib/utils.h lib/vfvalue.h
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/settings.cpp
$(libcppdir)/standards.o: lib/standards.cpp externals/simplecpp/simplecpp.h lib/config.h lib/standards.h lib/utils.h
@@ -671,7 +671,7 @@ cli/cppcheckexecutor.o: cli/cppcheckexecutor.cpp cli/cmdlinelogger.h cli/cmdline
cli/cppcheckexecutorseh.o: cli/cppcheckexecutorseh.cpp cli/cppcheckexecutor.h cli/cppcheckexecutorseh.h lib/config.h lib/filesettings.h lib/path.h lib/platform.h lib/standards.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/cppcheckexecutorseh.cpp
-cli/executor.o: cli/executor.cpp cli/executor.h lib/addoninfo.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h
+cli/executor.o: cli/executor.cpp cli/executor.h lib/addoninfo.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/executor.cpp
cli/filelister.o: cli/filelister.cpp cli/filelister.h lib/config.h lib/filesettings.h lib/path.h lib/pathmatch.h lib/platform.h lib/standards.h lib/utils.h
@@ -680,61 +680,61 @@ cli/filelister.o: cli/filelister.cpp cli/filelister.h lib/config.h lib/filesetti
cli/main.o: cli/main.cpp cli/cppcheckexecutor.h lib/config.h lib/errortypes.h lib/filesettings.h lib/path.h lib/platform.h lib/standards.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/main.cpp
-cli/processexecutor.o: cli/processexecutor.cpp cli/executor.h cli/processexecutor.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h
+cli/processexecutor.o: cli/processexecutor.cpp cli/executor.h cli/processexecutor.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/processexecutor.cpp
-cli/signalhandler.o: cli/signalhandler.cpp cli/signalhandler.h cli/stacktrace.h lib/config.h
+cli/signalhandler.o: cli/signalhandler.cpp cli/signalhandler.h cli/stacktrace.h lib/config.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/signalhandler.cpp
-cli/singleexecutor.o: cli/singleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/addoninfo.h lib/check.h lib/config.h lib/cppcheck.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h
+cli/singleexecutor.o: cli/singleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/addoninfo.h lib/check.h lib/config.h lib/cppcheck.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/singleexecutor.cpp
cli/stacktrace.o: cli/stacktrace.cpp cli/stacktrace.h lib/config.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/stacktrace.cpp
-cli/threadexecutor.o: cli/threadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h
+cli/threadexecutor.o: cli/threadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/threadexecutor.cpp
-test/fixture.o: test/fixture.cpp externals/simplecpp/simplecpp.h externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/xml.h test/fixture.h test/helpers.h test/options.h test/redirect.h
+test/fixture.o: test/fixture.cpp externals/simplecpp/simplecpp.h externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/xml.h test/fixture.h test/helpers.h test/options.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/fixture.cpp
-test/helpers.o: test/helpers.cpp cli/filelister.h externals/simplecpp/simplecpp.h externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/config.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/xml.h test/helpers.h
+test/helpers.o: test/helpers.cpp cli/filelister.h externals/simplecpp/simplecpp.h externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/config.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/xml.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/helpers.cpp
-test/main.o: test/main.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h test/options.h
+test/main.o: test/main.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h test/options.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/main.cpp
test/options.o: test/options.cpp test/options.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/options.cpp
-test/test64bit.o: test/test64bit.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/check64bit.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/test64bit.o: test/test64bit.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/check64bit.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/test64bit.cpp
-test/testanalyzerinformation.o: test/testanalyzerinformation.cpp lib/addoninfo.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testanalyzerinformation.o: test/testanalyzerinformation.cpp lib/addoninfo.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testanalyzerinformation.cpp
-test/testassert.o: test/testassert.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkassert.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testassert.o: test/testassert.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkassert.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testassert.cpp
test/testastutils.o: test/testastutils.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/astutils.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testastutils.cpp
-test/testautovariables.o: test/testautovariables.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkautovariables.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testautovariables.o: test/testautovariables.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkautovariables.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testautovariables.cpp
-test/testbool.o: test/testbool.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkbool.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testbool.o: test/testbool.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkbool.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testbool.cpp
-test/testboost.o: test/testboost.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkboost.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testboost.o: test/testboost.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkboost.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testboost.cpp
test/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testbufferoverrun.cpp
-test/testcharvar.o: test/testcharvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testcharvar.o: test/testcharvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcharvar.cpp
-test/testcheck.o: test/testcheck.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testcheck.o: test/testcheck.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcheck.cpp
test/testclangimport.o: test/testclangimport.cpp lib/addoninfo.h lib/check.h lib/clangimport.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h
@@ -746,31 +746,31 @@ test/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/addonin
test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcmdlineparser.cpp
-test/testcolor.o: test/testcolor.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testcolor.o: test/testcolor.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcolor.cpp
-test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcondition.cpp
test/testconstructors.o: test/testconstructors.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testconstructors.cpp
-test/testcppcheck.o: test/testcppcheck.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testcppcheck.o: test/testcppcheck.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcppcheck.cpp
-test/testerrorlogger.o: test/testerrorlogger.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/xml.h test/fixture.h
+test/testerrorlogger.o: test/testerrorlogger.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h lib/xml.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testerrorlogger.cpp
-test/testexceptionsafety.o: test/testexceptionsafety.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkexceptionsafety.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testexceptionsafety.o: test/testexceptionsafety.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkexceptionsafety.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testexceptionsafety.cpp
-test/testfilelister.o: test/testfilelister.cpp cli/filelister.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testfilelister.o: test/testfilelister.cpp cli/filelister.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testfilelister.cpp
-test/testfilesettings.o: test/testfilesettings.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testfilesettings.o: test/testfilesettings.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testfilesettings.cpp
-test/testfunctions.o: test/testfunctions.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testfunctions.o: test/testfunctions.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testfunctions.cpp
test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
@@ -779,22 +779,22 @@ test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/add
test/testimportproject.o: test/testimportproject.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp
-test/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testincompletestatement.cpp
-test/testinternal.o: test/testinternal.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkinternal.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testinternal.o: test/testinternal.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkinternal.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testinternal.cpp
-test/testio.o: test/testio.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkio.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testio.o: test/testio.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkio.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testio.cpp
-test/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testleakautovar.cpp
test/testlibrary.o: test/testlibrary.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testlibrary.cpp
-test/testmathlib.o: test/testmathlib.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testmathlib.o: test/testmathlib.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testmathlib.cpp
test/testmemleak.o: test/testmemleak.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkmemoryleak.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
@@ -803,34 +803,34 @@ test/testmemleak.o: test/testmemleak.cpp externals/simplecpp/simplecpp.h lib/add
test/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checknullpointer.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testnullpointer.cpp
-test/testoptions.o: test/testoptions.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h test/options.h
+test/testoptions.o: test/testoptions.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h test/options.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testoptions.cpp
-test/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testother.cpp
-test/testpath.o: test/testpath.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testpath.o: test/testpath.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testpath.cpp
-test/testpathmatch.o: test/testpathmatch.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/pathmatch.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/testpathmatch.o: test/testpathmatch.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/pathmatch.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testpathmatch.cpp
-test/testplatform.o: test/testplatform.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/xml.h test/fixture.h
+test/testplatform.o: test/testplatform.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h lib/xml.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testplatform.cpp
-test/testpostfixoperator.o: test/testpostfixoperator.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkpostfixoperator.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testpostfixoperator.o: test/testpostfixoperator.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkpostfixoperator.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testpostfixoperator.cpp
-test/testpreprocessor.o: test/testpreprocessor.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testpreprocessor.o: test/testpreprocessor.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testpreprocessor.cpp
-test/testprocessexecutor.o: test/testprocessexecutor.cpp cli/executor.h cli/processexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h test/redirect.h
+test/testprocessexecutor.o: test/testprocessexecutor.cpp cli/executor.h cli/processexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testprocessexecutor.cpp
test/testprogrammemory.o: test/testprogrammemory.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/programmemory.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testprogrammemory.cpp
-test/testsettings.o: test/testsettings.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testsettings.o: test/testsettings.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsettings.cpp
test/testsimplifytemplate.o: test/testsimplifytemplate.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
@@ -845,34 +845,34 @@ test/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/sim
test/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifyusing.cpp
-test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h test/redirect.h
+test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsingleexecutor.cpp
-test/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsizeof.cpp
-test/teststandards.o: test/teststandards.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h test/fixture.h
+test/teststandards.o: test/teststandards.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststandards.cpp
test/teststl.o: test/teststl.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkstl.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststl.cpp
-test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststring.cpp
-test/testsummaries.o: test/testsummaries.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/summaries.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testsummaries.o: test/testsummaries.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/summaries.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsummaries.cpp
-test/testsuppressions.o: test/testsuppressions.cpp cli/cppcheckexecutor.h cli/executor.h cli/processexecutor.h cli/singleexecutor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testsuppressions.o: test/testsuppressions.cpp cli/cppcheckexecutor.h cli/executor.h cli/processexecutor.h cli/singleexecutor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsuppressions.cpp
test/testsymboldatabase.o: test/testsymboldatabase.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsymboldatabase.cpp
-test/testthreadexecutor.o: test/testthreadexecutor.cpp cli/executor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h test/redirect.h
+test/testthreadexecutor.o: test/testthreadexecutor.cpp cli/executor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h test/redirect.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testthreadexecutor.cpp
-test/testtimer.o: test/testtimer.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h test/fixture.h
+test/testtimer.o: test/testtimer.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testtimer.cpp
test/testtoken.o: test/testtoken.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
@@ -887,25 +887,25 @@ test/testtokenlist.o: test/testtokenlist.cpp externals/simplecpp/simplecpp.h lib
test/testtokenrange.o: test/testtokenrange.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/tokenrange.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testtokenrange.cpp
-test/testtype.o: test/testtype.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checktype.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/vfvalue.h test/fixture.h test/helpers.h
+test/testtype.o: test/testtype.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checktype.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testtype.cpp
-test/testuninitvar.o: test/testuninitvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkuninitvar.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/vfvalue.h test/fixture.h test/helpers.h
+test/testuninitvar.o: test/testuninitvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkuninitvar.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testuninitvar.cpp
-test/testunusedfunctions.o: test/testunusedfunctions.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testunusedfunctions.o: test/testunusedfunctions.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedfunctions.cpp
test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedprivfunc.cpp
-test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedvar.cpp
test/testutils.o: test/testutils.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testutils.cpp
-test/testvaarg.o: test/testvaarg.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkvaarg.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h test/fixture.h test/helpers.h
+test/testvaarg.o: test/testvaarg.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkvaarg.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvaarg.cpp
test/testvalueflow.o: test/testvalueflow.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
diff --git a/clang-tidy.md b/clang-tidy.md
index 05b4225fc43..59d28dbaa3d 100644
--- a/clang-tidy.md
+++ b/clang-tidy.md
@@ -147,10 +147,6 @@ To be evaluated (need to enable explicitly).
These apply to codebases which use later standards then C++11 (C++17 is used when building with Qt6) so we cannot simply apply them.
-`modernize-use-auto`
-
-This cannot be enabled as it might lead to changes in the constness of iterators - see https://github.com/llvm/llvm-project/issues/84324.
-
### Disabled for performance reasons
`portability-std-allocator-const`
diff --git a/cli/cmdlineparser.cpp b/cli/cmdlineparser.cpp
index 748031e443e..8964cfcd1a6 100644
--- a/cli/cmdlineparser.cpp
+++ b/cli/cmdlineparser.cpp
@@ -162,7 +162,7 @@ bool CmdLineParser::fillSettingsFromArgs(int argc, const char* const argv[])
// Check that all include paths exist
{
- for (std::list::const_iterator iter = mSettings.includePaths.cbegin();
+ for (auto iter = mSettings.includePaths.cbegin();
iter != mSettings.includePaths.cend();
) {
const std::string path(Path::toNativeSeparators(*iter));
diff --git a/cli/cppcheckexecutor.cpp b/cli/cppcheckexecutor.cpp
index d70a1145f31..99c21dcdb4c 100644
--- a/cli/cppcheckexecutor.cpp
+++ b/cli/cppcheckexecutor.cpp
@@ -389,12 +389,12 @@ bool CppCheckExecutor::reportSuppressions(const Settings &settings, const Suppre
// the two inputs may only be used exclusively
assert(!(!files.empty() && !fileSettings.empty()));
- for (std::list::const_iterator i = files.cbegin(); i != files.cend(); ++i) {
+ for (auto i = files.cbegin(); i != files.cend(); ++i) {
err |= SuppressionList::reportUnmatchedSuppressions(
suppressions.getUnmatchedLocalSuppressions(*i, unusedFunctionCheckEnabled), errorLogger);
}
- for (std::list::const_iterator i = fileSettings.cbegin(); i != fileSettings.cend(); ++i) {
+ for (auto i = fileSettings.cbegin(); i != fileSettings.cend(); ++i) {
err |= SuppressionList::reportUnmatchedSuppressions(
suppressions.getUnmatchedLocalSuppressions(i->file, unusedFunctionCheckEnabled), errorLogger);
}
@@ -419,7 +419,7 @@ int CppCheckExecutor::check_internal(const Settings& settings) const
if (!settings.buildDir.empty()) {
std::list fileNames;
- for (std::list::const_iterator i = mFiles.cbegin(); i != mFiles.cend(); ++i)
+ for (auto i = mFiles.cbegin(); i != mFiles.cend(); ++i)
fileNames.emplace_back(i->path());
AnalyzerInformation::writeFilesTxt(settings.buildDir, fileNames, settings.userDefines, mFileSettings);
}
diff --git a/cli/processexecutor.cpp b/cli/processexecutor.cpp
index c242eb426f8..b9cf174687b 100644
--- a/cli/processexecutor.cpp
+++ b/cli/processexecutor.cpp
@@ -28,6 +28,7 @@
#include "settings.h"
#include "suppressions.h"
#include "timer.h"
+#include "utils.h"
#include
#include
@@ -242,8 +243,8 @@ unsigned int ProcessExecutor::check()
std::map childFile;
std::map pipeFile;
std::size_t processedsize = 0;
- std::list::const_iterator iFile = mFiles.cbegin();
- std::list::const_iterator iFileSettings = mFileSettings.cbegin();
+ auto iFile = mFiles.cbegin();
+ auto iFileSettings = mFileSettings.cbegin();
for (;;) {
// Start a new child
const size_t nchildren = childFile.size();
@@ -310,7 +311,7 @@ unsigned int ProcessExecutor::check()
if (!rpipes.empty()) {
fd_set rfds;
FD_ZERO(&rfds);
- for (std::list::const_iterator rp = rpipes.cbegin(); rp != rpipes.cend(); ++rp)
+ for (auto rp = rpipes.cbegin(); rp != rpipes.cend(); ++rp)
FD_SET(*rp, &rfds);
timeval tv; // for every second polling of load average condition
tv.tv_sec = 1;
@@ -318,11 +319,11 @@ unsigned int ProcessExecutor::check()
const int r = select(*std::max_element(rpipes.cbegin(), rpipes.cend()) + 1, &rfds, nullptr, nullptr, &tv);
if (r > 0) {
- std::list::const_iterator rp = rpipes.cbegin();
+ auto rp = rpipes.cbegin();
while (rp != rpipes.cend()) {
if (FD_ISSET(*rp, &rfds)) {
std::string name;
- const std::map::const_iterator p = pipeFile.find(*rp);
+ const auto p = utils::as_const(pipeFile).find(*rp);
if (p != pipeFile.cend()) {
name = p->second;
}
@@ -358,7 +359,7 @@ unsigned int ProcessExecutor::check()
const pid_t child = waitpid(0, &stat, WNOHANG);
if (child > 0) {
std::string childname;
- const std::map::const_iterator c = childFile.find(child);
+ const auto c = utils::as_const(childFile).find(child);
if (c != childFile.cend()) {
childname = c->second;
childFile.erase(c);
diff --git a/cli/signalhandler.cpp b/cli/signalhandler.cpp
index faf324f52d4..0f52a8fa78a 100644
--- a/cli/signalhandler.cpp
+++ b/cli/signalhandler.cpp
@@ -20,6 +20,8 @@
#if defined(USE_UNIX_SIGNAL_HANDLING)
+#include "utils.h"
+
#ifdef USE_UNIX_BACKTRACE_SUPPORT
#include "stacktrace.h"
#endif
@@ -119,7 +121,7 @@ static void CppcheckSignalHandler(int signo, siginfo_t * info, void * context)
killid = getpid();
#endif
- const Signalmap_t::const_iterator it=listofsignals.find(signo);
+ const auto it = utils::as_const(listofsignals).find(signo);
const char * const signame = (it==listofsignals.end()) ? "unknown" : it->second.c_str();
bool unexpectedSignal=true; // unexpected indicates program failure
bool terminate=true; // exit process/thread
@@ -320,7 +322,7 @@ void register_signal_handler(FILE * const output)
memset(&act, 0, sizeof(act));
act.sa_flags=SA_SIGINFO|SA_ONSTACK;
act.sa_sigaction=CppcheckSignalHandler;
- for (std::map::const_iterator sig=listofsignals.cbegin(); sig!=listofsignals.cend(); ++sig) {
+ for (auto sig=listofsignals.cbegin(); sig!=listofsignals.cend(); ++sig) {
sigaction(sig->first, &act, nullptr);
}
}
diff --git a/cli/singleexecutor.cpp b/cli/singleexecutor.cpp
index 1c24b968b73..216fe1fec48 100644
--- a/cli/singleexecutor.cpp
+++ b/cli/singleexecutor.cpp
@@ -49,7 +49,7 @@ unsigned int SingleExecutor::check()
std::size_t processedsize = 0;
unsigned int c = 0;
- for (std::list::const_iterator i = mFiles.cbegin(); i != mFiles.cend(); ++i) {
+ for (auto i = mFiles.cbegin(); i != mFiles.cend(); ++i) {
result += mCppcheck.check(*i);
processedsize += i->size();
++c;
diff --git a/gui/checkthread.cpp b/gui/checkthread.cpp
index cc93b5c81c3..09161fbe752 100644
--- a/gui/checkthread.cpp
+++ b/gui/checkthread.cpp
@@ -190,9 +190,9 @@ void CheckThread::runAddonsAndTools(const Settings& settings, const FileSettings
continue;
QStringList args;
- for (std::list::const_iterator incIt = fileSettings->includePaths.cbegin(); incIt != fileSettings->includePaths.cend(); ++incIt)
+ for (auto incIt = fileSettings->includePaths.cbegin(); incIt != fileSettings->includePaths.cend(); ++incIt)
args << ("-I" + QString::fromStdString(*incIt));
- for (std::list::const_iterator i = fileSettings->systemIncludePaths.cbegin(); i != fileSettings->systemIncludePaths.cend(); ++i)
+ for (auto i = fileSettings->systemIncludePaths.cbegin(); i != fileSettings->systemIncludePaths.cend(); ++i)
args << "-isystem" << QString::fromStdString(*i);
for (const QString& def : QString::fromStdString(fileSettings->defines).split(";")) {
args << ("-D" + def);
diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp
index 12137dd169d..d146551aac1 100644
--- a/gui/mainwindow.cpp
+++ b/gui/mainwindow.cpp
@@ -780,7 +780,7 @@ void MainWindow::analyzeFiles()
if (file0.endsWith(".sln")) {
QStringList configs;
- for (std::list::const_iterator it = p.fileSettings.cbegin(); it != p.fileSettings.cend(); ++it) {
+ for (auto it = p.fileSettings.cbegin(); it != p.fileSettings.cend(); ++it) {
const QString cfg(QString::fromStdString(it->cfg));
if (!configs.contains(cfg))
configs.push_back(cfg);
diff --git a/gui/platforms.cpp b/gui/platforms.cpp
index ed7ad88023c..9c0c3cbe8f2 100644
--- a/gui/platforms.cpp
+++ b/gui/platforms.cpp
@@ -50,7 +50,7 @@ int Platforms::getCount() const
PlatformData& Platforms::get(Platform::Type platform)
{
- QList::iterator iter = mPlatforms.begin();
+ auto iter = mPlatforms.begin();
while (iter != mPlatforms.end()) {
if (iter->mType == platform) {
return *iter;
diff --git a/lib/checkautovariables.cpp b/lib/checkautovariables.cpp
index 4c4b9e69135..7366cd1bd5a 100644
--- a/lib/checkautovariables.cpp
+++ b/lib/checkautovariables.cpp
@@ -133,7 +133,7 @@ static bool isAutoVarArray(const Token *tok)
// ValueFlow
if (var->isPointer() && !var->isArgument()) {
- for (std::list::const_iterator it = tok->values().cbegin(); it != tok->values().cend(); ++it) {
+ for (auto it = tok->values().cbegin(); it != tok->values().cend(); ++it) {
const ValueFlow::Value &val = *it;
if (val.isTokValue() && isAutoVarArray(val.tokvalue))
return true;
diff --git a/lib/checkclass.cpp b/lib/checkclass.cpp
index fa4583440c0..12488f02f41 100644
--- a/lib/checkclass.cpp
+++ b/lib/checkclass.cpp
@@ -457,7 +457,7 @@ void CheckClass::copyconstructors()
}
if (!funcDestructor || funcDestructor->isDefault()) {
const Token * mustDealloc = nullptr;
- for (std::map::const_iterator it = allocatedVars.cbegin(); it != allocatedVars.cend(); ++it) {
+ for (auto it = allocatedVars.cbegin(); it != allocatedVars.cend(); ++it) {
if (!Token::Match(it->second, "%var% [(=] new %type%")) {
mustDealloc = it->second;
break;
@@ -515,7 +515,7 @@ void CheckClass::copyconstructors()
copyConstructorShallowCopyError(cv, cv->str());
// throw error if count mismatch
/* FIXME: This doesn't work. See #4154
- for (std::map::const_iterator i = allocatedVars.begin(); i != allocatedVars.end(); ++i) {
+ for (auto i = allocatedVars.cbegin(); i != allocatedVars.end(); ++i) {
copyConstructorMallocError(copyCtor, i->second, i->second->str());
}
*/
@@ -1232,7 +1232,7 @@ static bool checkFunctionUsage(const Function *privfunc, const Scope* scope)
if (!scope)
return true; // Assume it is used, if scope is not seen
- for (std::list::const_iterator func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
+ for (auto func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
if (func->functionScope) {
if (Token::Match(func->tokenDef, "%name% (")) {
for (const Token *ftok = func->tokenDef->tokAt(2); ftok && ftok->str() != ")"; ftok = ftok->next()) {
@@ -1254,8 +1254,7 @@ static bool checkFunctionUsage(const Function *privfunc, const Scope* scope)
return true;
}
- const std::map::const_iterator end = scope->definedTypesMap.cend();
- for (std::map::const_iterator iter = scope->definedTypesMap.cbegin(); iter != end; ++iter) {
+ for (auto iter = scope->definedTypesMap.cbegin(); iter != scope->definedTypesMap.cend(); ++iter) {
const Type *type = iter->second;
if (type->enclosingScope == scope && checkFunctionUsage(privfunc, type->classScope))
return true;
@@ -1300,7 +1299,7 @@ void CheckClass::privateFunctions()
// Bailout for overridden virtual functions of base classes
if (!scope->definedType->derivedFrom.empty()) {
// Check virtual functions
- for (std::list::const_iterator it = privateFuncs.cbegin(); it != privateFuncs.cend();) {
+ for (auto it = privateFuncs.cbegin(); it != privateFuncs.cend();) {
if ((*it)->isImplicitlyVirtual(true)) // Give true as default value to be returned if we don't see all base classes
it = privateFuncs.erase(it);
else
@@ -1578,7 +1577,7 @@ void CheckClass::operatorEqRetRefThis()
logChecker("CheckClass::operatorEqRetRefThis"); // style
for (const Scope * scope : mSymbolDatabase->classAndStructScopes) {
- for (std::list::const_iterator func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
+ for (auto func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
if (func->type == Function::eOperatorEqual && func->hasBody()) {
// make sure return signature is correct
if (func->retType == func->nestedIn->definedType && func->tokenDef->strAt(-1) == "&") {
@@ -1626,7 +1625,7 @@ void CheckClass::checkReturnPtrThis(const Scope *scope, const Function *func, co
if (tok->strAt(2) == "(" &&
tok->linkAt(2)->strAt(1) == ";") {
// check if it is a member function
- for (std::list::const_iterator it = scope->functionList.cbegin(); it != scope->functionList.cend(); ++it) {
+ for (auto it = scope->functionList.cbegin(); it != scope->functionList.cend(); ++it) {
// check for a regular function with the same name and a body
if (it->type == Function::eFunction && it->hasBody() &&
it->token->str() == tok->strAt(1)) {
@@ -2028,7 +2027,7 @@ void CheckClass::virtualDestructor()
if (baseDestructor->access == AccessControl::Public) {
virtualDestructorError(baseDestructor->token, derivedFrom->name(), derivedClass->str(), false);
// check for duplicate error and remove it if found
- const std::list::const_iterator found = std::find(inconclusiveErrors.cbegin(), inconclusiveErrors.cend(), baseDestructor);
+ const auto found = std::find(inconclusiveErrors.cbegin(), inconclusiveErrors.cend(), baseDestructor);
if (found != inconclusiveErrors.cend())
inconclusiveErrors.erase(found);
}
@@ -2701,7 +2700,7 @@ void CheckClass::initializerListOrder()
for (const Scope * scope : mSymbolDatabase->classAndStructScopes) {
// iterate through all member functions looking for constructors
- for (std::list::const_iterator func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
+ for (auto func = scope->functionList.cbegin(); func != scope->functionList.cend(); ++func) {
if (func->isConstructor() && func->hasBody()) {
// check for initializer list
const Token *tok = func->arg->link()->next();
@@ -2854,7 +2853,7 @@ void CheckClass::checkVirtualFunctionCallInConstructor()
const std::list & CheckClass::getVirtualFunctionCalls(const Function & function,
std::map> & virtualFunctionCallsMap)
{
- const std::map>::const_iterator found = virtualFunctionCallsMap.find(&function);
+ const auto found = utils::as_const(virtualFunctionCallsMap).find(&function);
if (found != virtualFunctionCallsMap.end())
return found->second;
@@ -2919,7 +2918,7 @@ void CheckClass::getFirstVirtualFunctionCallStack(
pureFuncStack.push_back(callFunction->tokenDef);
return;
}
- std::map>::const_iterator found = virtualFunctionCallsMap.find(callFunction);
+ auto found = utils::as_const(virtualFunctionCallsMap).find(callFunction);
if (found == virtualFunctionCallsMap.cend() || found->second.empty()) {
pureFuncStack.clear();
return;
diff --git a/lib/checkfunctions.h b/lib/checkfunctions.h
index c42b2a8ac83..e1e96f53fa4 100644
--- a/lib/checkfunctions.h
+++ b/lib/checkfunctions.h
@@ -129,7 +129,7 @@ class CPPCHECKLIB CheckFunctions : public Check {
void getErrorMessages(ErrorLogger *errorLogger, const Settings *settings) const override {
CheckFunctions c(nullptr, settings, errorLogger);
- for (std::map::const_iterator i = settings->library.functionwarn().cbegin(); i != settings->library.functionwarn().cend(); ++i) {
+ for (auto i = settings->library.functionwarn().cbegin(); i != settings->library.functionwarn().cend(); ++i) {
c.reportError(nullptr, Severity::style, i->first+"Called", i->second.message);
}
diff --git a/lib/checkinternal.cpp b/lib/checkinternal.cpp
index d38a591199e..7983126f538 100644
--- a/lib/checkinternal.cpp
+++ b/lib/checkinternal.cpp
@@ -228,8 +228,7 @@ void CheckInternal::checkMissingPercentCharacter()
const std::string pattern = patternTok->strValue();
- std::set::const_iterator knownPattern, knownPatternsEnd = knownPatterns.cend();
- for (knownPattern = knownPatterns.cbegin(); knownPattern != knownPatternsEnd; ++knownPattern) {
+ for (auto knownPattern = knownPatterns.cbegin(); knownPattern != knownPatterns.cend(); ++knownPattern) {
const std::string brokenPattern = knownPattern->substr(0, knownPattern->size() - 1);
std::string::size_type pos = 0;
diff --git a/lib/checkio.cpp b/lib/checkio.cpp
index 6e2267ef934..7808f2ddf4b 100644
--- a/lib/checkio.cpp
+++ b/lib/checkio.cpp
@@ -181,7 +181,7 @@ void CheckIO::checkFileUsage()
} else if (Token::Match(tok, "%var% =") &&
(tok->strAt(2) != "fopen" && tok->strAt(2) != "freopen" && tok->strAt(2) != "tmpfile" &&
(windows ? (tok->str() != "_wfopen" && tok->str() != "_wfreopen") : true))) {
- const std::map::iterator i = filepointers.find(tok->varId());
+ const auto i = filepointers.find(tok->varId());
if (i != filepointers.end()) {
i->second.mode = OpenMode::UNKNOWN_OM;
i->second.lastOperation = Filepointer::Operation::UNKNOWN_OP;
@@ -289,7 +289,7 @@ void CheckIO::checkFileUsage()
switch (operation) {
case Filepointer::Operation::OPEN:
if (fileNameTok) {
- for (std::map::const_iterator it = filepointers.cbegin(); it != filepointers.cend(); ++it) {
+ for (auto it = filepointers.cbegin(); it != filepointers.cend(); ++it) {
const Filepointer &fptr = it->second;
if (fptr.filename == fileNameTok->str() && (fptr.mode == OpenMode::RW_MODE || fptr.mode == OpenMode::WRITE_MODE))
incompatibleFileOpenError(tok, fileNameTok->str());
@@ -509,7 +509,7 @@ static bool findFormat(nonneg int arg, const Token *firstArg,
argTok->variable()->dimension(0) != 0))) {
formatArgTok = argTok->nextArgument();
if (!argTok->values().empty()) {
- const std::list::const_iterator value = std::find_if(
+ const auto value = std::find_if(
argTok->values().cbegin(), argTok->values().cend(), std::mem_fn(&ValueFlow::Value::isTokValue));
if (value != argTok->values().cend() && value->isTokValue() && value->tokvalue &&
value->tokvalue->tokType() == Token::eString) {
@@ -615,7 +615,7 @@ void CheckIO::checkFormatString(const Token * const tok,
bool percent = false;
const Token* argListTok2 = argListTok;
std::set parameterPositionsUsed;
- for (std::string::const_iterator i = formatString.cbegin(); i != formatString.cend(); ++i) {
+ for (auto i = formatString.cbegin(); i != formatString.cend(); ++i) {
if (*i == '%') {
percent = !percent;
} else if (percent && *i == '[') {
diff --git a/lib/checkleakautovar.cpp b/lib/checkleakautovar.cpp
index 1bdeb6af431..ad91eb3e383 100644
--- a/lib/checkleakautovar.cpp
+++ b/lib/checkleakautovar.cpp
@@ -106,7 +106,7 @@ static bool isVarTokComparison(const Token * tok, const Token ** vartok,
void VarInfo::possibleUsageAll(const std::pair& functionUsage)
{
possibleUsage.clear();
- for (std::map::const_iterator it = alloctype.cbegin(); it != alloctype.cend(); ++it)
+ for (auto it = alloctype.cbegin(); it != alloctype.cend(); ++it)
possibleUsage[it->first] = functionUsage;
}
@@ -627,9 +627,7 @@ bool CheckLeakAutoVar::checkScope(const Token * const startToken,
VarInfo old;
old.swap(varInfo);
- std::map::const_iterator it;
-
- for (it = old.alloctype.cbegin(); it != old.alloctype.cend(); ++it) {
+ for (auto it = old.alloctype.cbegin(); it != old.alloctype.cend(); ++it) {
const int varId = it->first;
if (old.conditionalAlloc.find(varId) == old.conditionalAlloc.end())
continue;
@@ -641,7 +639,7 @@ bool CheckLeakAutoVar::checkScope(const Token * const startToken,
}
// Conditional allocation in varInfo1
- for (it = varInfo1.alloctype.cbegin(); it != varInfo1.alloctype.cend(); ++it) {
+ for (auto it = varInfo1.alloctype.cbegin(); it != varInfo1.alloctype.cend(); ++it) {
if (varInfo2.alloctype.find(it->first) == varInfo2.alloctype.end() &&
old.alloctype.find(it->first) == old.alloctype.end()) {
varInfo.conditionalAlloc.insert(it->first);
@@ -649,7 +647,7 @@ bool CheckLeakAutoVar::checkScope(const Token * const startToken,
}
// Conditional allocation in varInfo2
- for (it = varInfo2.alloctype.cbegin(); it != varInfo2.alloctype.cend(); ++it) {
+ for (auto it = varInfo2.alloctype.cbegin(); it != varInfo2.alloctype.cend(); ++it) {
if (varInfo1.alloctype.find(it->first) == varInfo1.alloctype.end() &&
old.alloctype.find(it->first) == old.alloctype.end()) {
varInfo.conditionalAlloc.insert(it->first);
@@ -657,13 +655,13 @@ bool CheckLeakAutoVar::checkScope(const Token * const startToken,
}
// Conditional allocation/deallocation
- for (it = varInfo1.alloctype.cbegin(); it != varInfo1.alloctype.cend(); ++it) {
+ for (auto it = varInfo1.alloctype.cbegin(); it != varInfo1.alloctype.cend(); ++it) {
if (it->second.managed() && conditionalAlloc.find(it->first) != conditionalAlloc.end()) {
varInfo.conditionalAlloc.erase(it->first);
varInfo2.erase(it->first);
}
}
- for (it = varInfo2.alloctype.cbegin(); it != varInfo2.alloctype.cend(); ++it) {
+ for (auto it = varInfo2.alloctype.cbegin(); it != varInfo2.alloctype.cend(); ++it) {
if (it->second.managed() && conditionalAlloc.find(it->first) != conditionalAlloc.end()) {
varInfo.conditionalAlloc.erase(it->first);
varInfo1.erase(it->first);
@@ -867,7 +865,7 @@ const Token * CheckLeakAutoVar::checkTokenInsideExpression(const Token * const t
// Deallocation and then dereferencing pointer..
if (tok->varId() > 0) {
// TODO : Write a separate checker for this that uses valueFlowForward.
- const std::map::const_iterator var = varInfo.alloctype.find(tok->varId());
+ const auto var = utils::as_const(varInfo.alloctype).find(tok->varId());
if (var != varInfo.alloctype.end()) {
bool unknown = false;
if (var->second.status == VarInfo::DEALLOC && tok->valueType() && tok->valueType()->pointer &&
@@ -955,7 +953,7 @@ void CheckLeakAutoVar::changeAllocStatusIfRealloc(std::map &alloctype = varInfo.alloctype;
- const std::map::iterator var = alloctype.find(arg->varId());
+ const auto var = alloctype.find(arg->varId());
if (var != alloctype.end()) {
// bailout if function is also allocating, since the argument might be moved
// to the return value, such as in fdopen
@@ -1131,7 +1129,7 @@ void CheckLeakAutoVar::leakIfAllocated(const Token *vartok,
const std::map &alloctype = varInfo.alloctype;
const auto& possibleUsage = varInfo.possibleUsage;
- const std::map::const_iterator var = alloctype.find(vartok->varId());
+ const auto var = utils::as_const(alloctype).find(vartok->varId());
if (var != alloctype.cend() && var->second.status == VarInfo::ALLOC) {
const auto use = possibleUsage.find(vartok->varId());
if (use == possibleUsage.end()) {
@@ -1149,7 +1147,7 @@ void CheckLeakAutoVar::ret(const Token *tok, VarInfo &varInfo, const bool isEndO
std::vector toRemove;
const SymbolDatabase *symbolDatabase = mTokenizer->getSymbolDatabase();
- for (std::map::const_iterator it = alloctype.cbegin(); it != alloctype.cend(); ++it) {
+ for (auto it = alloctype.cbegin(); it != alloctype.cend(); ++it) {
// don't warn if variable is conditionally allocated, unless it leaves the scope
if (!isEndOfScope && !it->second.managed() && varInfo.conditionalAlloc.find(it->first) != varInfo.conditionalAlloc.end())
continue;
diff --git a/lib/checkleakautovar.h b/lib/checkleakautovar.h
index ab22aae93bc..c5060065ed9 100644
--- a/lib/checkleakautovar.h
+++ b/lib/checkleakautovar.h
@@ -86,7 +86,7 @@ class CPPCHECKLIB VarInfo {
void reallocToAlloc(nonneg int varid) {
const AllocInfo& alloc = alloctype[varid];
if (alloc.reallocedFromType >= 0) {
- const std::map::iterator it = alloctype.find(alloc.reallocedFromType);
+ const auto it = alloctype.find(alloc.reallocedFromType);
if (it != alloctype.end() && it->second.status == REALLOC) {
it->second.status = ALLOC;
}
diff --git a/lib/checknullpointer.cpp b/lib/checknullpointer.cpp
index 331133d43bf..d6f5a3ea9a7 100644
--- a/lib/checknullpointer.cpp
+++ b/lib/checknullpointer.cpp
@@ -98,7 +98,7 @@ void CheckNullPointer::parseFunctionCall(const Token &tok, std::liststrAt(1) == "|=" || tok2->strAt(1) == "&=") &&
Token::Match(tok2->next()->astOperand2(), "%num%")) {
const std::string bitOp = tok2->strAt(1)[0] + tok2->strAt(2);
- const std::map::const_iterator i2 = varsWithBitsSet.find(tok2->varId());
+ const auto i2 = utils::as_const(varsWithBitsSet).find(tok2->varId());
// This variable has not had a bit operation performed on it yet, so just make a note of it
if (i2 == varsWithBitsSet.end()) {
@@ -761,7 +761,7 @@ void CheckOther::redundantBitwiseOperationInSwitchError()
else if (Token::Match(tok2->previous(), ";|{|}|: %var% = %name% %or%|& %num% ;") &&
tok2->varId() == tok2->tokAt(2)->varId()) {
const std::string bitOp = tok2->strAt(3) + tok2->strAt(4);
- const std::map::const_iterator i2 = varsWithBitsSet.find(tok2->varId());
+ const auto i2 = utils::as_const(varsWithBitsSet).find(tok2->varId());
// This variable has not had a bit operation performed on it yet, so just make a note of it
if (i2 == varsWithBitsSet.end()) {
@@ -2507,8 +2507,8 @@ void CheckOther::checkInvalidFree()
tok->strAt(3) == "(" ? 4 : 1;
const int var1 = tok->tokAt(varIndex)->varId();
const int var2 = tok->tokAt(varIndex + 2)->varId();
- const std::map::const_iterator alloc1 = inconclusive.find(var1);
- const std::map::const_iterator alloc2 = inconclusive.find(var2);
+ const auto alloc1 = utils::as_const(inconclusive).find(var1);
+ const auto alloc2 = utils::as_const(inconclusive).find(var2);
if (alloc1 != inconclusive.end()) {
invalidFreeError(tok, allocation[var1], alloc1->second);
} else if (alloc2 != inconclusive.end()) {
@@ -2564,7 +2564,7 @@ namespace {
functionsByName[func.tokenDef->str()].push_back(&func);
}
for (std::pair>& it : functionsByName) {
- const std::list::const_iterator nc = std::find_if(it.second.cbegin(), it.second.cend(), notconst);
+ const auto nc = std::find_if(it.second.cbegin(), it.second.cend(), notconst);
if (nc == it.second.cend()) {
// ok to add all of them
constFunctions.splice(constFunctions.end(), it.second);
diff --git a/lib/checkuninitvar.cpp b/lib/checkuninitvar.cpp
index 07f2f64611e..72a34bfc896 100644
--- a/lib/checkuninitvar.cpp
+++ b/lib/checkuninitvar.cpp
@@ -300,7 +300,7 @@ static void conditionAlwaysTrueOrFalse(const Token *tok, const std::mapisName() || tok->str() == ".") {
while (tok && tok->str() == ".")
tok = tok->astOperand2();
- const std::map::const_iterator it = variableValue.find(tok ? tok->varId() : ~0U);
+ const auto it = utils::as_const(variableValue).find(tok ? tok->varId() : ~0U);
if (it != variableValue.end()) {
*alwaysTrue = (it->second != 0LL);
*alwaysFalse = (it->second == 0LL);
@@ -326,7 +326,7 @@ static void conditionAlwaysTrueOrFalse(const Token *tok, const std::mapstr() == ".")
vartok = vartok->astOperand2();
- const std::map::const_iterator it = variableValue.find(vartok ? vartok->varId() : ~0U);
+ const auto it = utils::as_const(variableValue).find(vartok ? vartok->varId() : ~0U);
if (it == variableValue.end())
return;
@@ -472,7 +472,7 @@ bool CheckUninitVar::checkScopeForVariable(const Token *tok, const Variable& var
if (alwaysFalse)
;
else if (astIsVariableComparison(tok->next()->astOperand2(), "!=", "0", &condVarTok)) {
- const std::map::const_iterator it = variableValue.find(condVarTok->varId());
+ const auto it = utils::as_const(variableValue).find(condVarTok->varId());
if (it != variableValue.cend() && it->second != 0)
return true; // this scope is not fully analysed => return true
@@ -487,7 +487,7 @@ bool CheckUninitVar::checkScopeForVariable(const Token *tok, const Variable& var
while (Token::simpleMatch(vartok, "."))
vartok = vartok->astOperand2();
if (vartok && vartok->varId() && numtok && numtok->hasKnownIntValue()) {
- const std::map::const_iterator it = variableValue.find(vartok->varId());
+ const auto it = utils::as_const(variableValue).find(vartok->varId());
if (it != variableValue.cend() && it->second != numtok->getKnownIntValue())
return true; // this scope is not fully analysed => return true
condVarId = vartok->varId();
diff --git a/lib/checkunusedfunctions.cpp b/lib/checkunusedfunctions.cpp
index a582503c2b3..593299dc129 100644
--- a/lib/checkunusedfunctions.cpp
+++ b/lib/checkunusedfunctions.cpp
@@ -347,7 +347,7 @@ bool CheckUnusedFunctions::check(const Settings& settings, ErrorLogger& errorLog
using ErrorParams = std::tuple;
std::vector errors; // ensure well-defined order
- for (std::unordered_map::const_iterator it = mFunctions.cbegin(); it != mFunctions.cend(); ++it) {
+ for (auto it = mFunctions.cbegin(); it != mFunctions.cend(); ++it) {
const FunctionUsage &func = it->second;
if (func.usedOtherFile || func.filename.empty())
continue;
@@ -472,7 +472,7 @@ void CheckUnusedFunctions::analyseWholeProgram(const Settings &settings, ErrorLo
}
}
- for (std::map::const_iterator decl = decls.cbegin(); decl != decls.cend(); ++decl) {
+ for (auto decl = decls.cbegin(); decl != decls.cend(); ++decl) {
const std::string &functionName = stripTemplateParameters(decl->first);
if (settings.library.isentrypoint(functionName))
diff --git a/lib/checkunusedvar.cpp b/lib/checkunusedvar.cpp
index c52017a0951..194356652e1 100644
--- a/lib/checkunusedvar.cpp
+++ b/lib/checkunusedvar.cpp
@@ -387,7 +387,7 @@ void Variables::modified(nonneg int varid, const Token* tok)
Variables::VariableUsage *Variables::find(nonneg int varid)
{
if (varid) {
- const std::map::iterator i = mVarUsage.find(varid);
+ const auto i = mVarUsage.find(varid);
if (i != mVarUsage.end())
return &i->second;
}
diff --git a/lib/clangimport.cpp b/lib/clangimport.cpp
index 09e2b99e402..16563dc8929 100644
--- a/lib/clangimport.cpp
+++ b/lib/clangimport.cpp
@@ -722,7 +722,7 @@ Scope *clangimport::AstNode::createScope(TokenList &tokenList, Scope::ScopeType
const_cast(vartok)->variable(replaceVar[vartok->variable()]);
}
std::list &varlist = const_cast(def->scope())->varlist;
- for (std::list::const_iterator var = varlist.cbegin(); var != varlist.cend();) {
+ for (auto var = varlist.cbegin(); var != varlist.cend();) {
if (replaceVar.find(&(*var)) != replaceVar.end())
var = varlist.erase(var);
else
diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp
index d84f526c9ea..8ab61ca74d0 100644
--- a/lib/cppcheck.cpp
+++ b/lib/cppcheck.cpp
@@ -1876,7 +1876,7 @@ void CppCheck::getErrorMessages(ErrorLogger &errorlogger)
// TODO: add functions to get remaining error messages
// call all "getErrorMessages" in all registered Check classes
- for (std::list::const_iterator it = Check::instances().cbegin(); it != Check::instances().cend(); ++it)
+ for (auto it = Check::instances().cbegin(); it != Check::instances().cend(); ++it)
(*it)->getErrorMessages(&errorlogger, &s);
CheckUnusedFunctions::getErrorMessages(errorlogger);
diff --git a/lib/ctu.cpp b/lib/ctu.cpp
index d2387f4045e..949980cc6e4 100644
--- a/lib/ctu.cpp
+++ b/lib/ctu.cpp
@@ -506,7 +506,7 @@ static bool findPath(const std::string &callId,
if (index >= maxCtuDepth)
return false; // TODO: add bailout message?
- const std::map>::const_iterator it = callsMap.find(callId);
+ const auto it = utils::as_const(callsMap).find(callId);
if (it == callsMap.end())
return false;
diff --git a/lib/errorlogger.cpp b/lib/errorlogger.cpp
index 11616b362fd..fd65bb71ed8 100644
--- a/lib/errorlogger.cpp
+++ b/lib/errorlogger.cpp
@@ -92,7 +92,7 @@ ErrorMessage::ErrorMessage(const std::list& callstack, const Token
: id(std::move(id)), severity(severity), cwe(0U), certainty(certainty), hash(0)
{
// Format callstack
- for (std::list::const_iterator it = callstack.cbegin(); it != callstack.cend(); ++it) {
+ for (auto it = callstack.cbegin(); it != callstack.cend(); ++it) {
// --errorlist can provide null values here
if (!(*it))
continue;
@@ -287,7 +287,7 @@ std::string ErrorMessage::serialize() const
oss += std::to_string(callStack.size());
oss += " ";
- for (std::list::const_iterator loc = callStack.cbegin(); loc != callStack.cend(); ++loc) {
+ for (auto loc = callStack.cbegin(); loc != callStack.cend(); ++loc) {
std::string frame;
frame += std::to_string(loc->line);
frame += '\t';
@@ -459,7 +459,7 @@ std::string ErrorMessage::fixInvalidChars(const std::string& raw)
{
std::string result;
result.reserve(raw.length());
- std::string::const_iterator from=raw.cbegin();
+ auto from=raw.cbegin();
while (from!=raw.cend()) {
if (std::isprint(static_cast(*from))) {
result.push_back(*from);
@@ -496,7 +496,7 @@ std::string ErrorMessage::toXML() const
if (!remark.empty())
printer.PushAttribute("remark", fixInvalidChars(remark).c_str());
- for (std::list::const_reverse_iterator it = callStack.crbegin(); it != callStack.crend(); ++it) {
+ for (auto it = callStack.crbegin(); it != callStack.crend(); ++it) {
printer.OpenElement("location", false);
printer.PushAttribute("file", it->getfile().c_str());
printer.PushAttribute("line", std::max(it->line,0));
@@ -700,7 +700,7 @@ std::string ErrorMessage::toString(bool verbose, const std::string &templateForm
std::string ErrorLogger::callStackToString(const std::list &callStack)
{
std::string str;
- for (std::list::const_iterator tok = callStack.cbegin(); tok != callStack.cend(); ++tok) {
+ for (auto tok = callStack.cbegin(); tok != callStack.cend(); ++tok) {
str += (tok == callStack.cbegin() ? "" : " -> ");
str += tok->stringify();
}
@@ -819,9 +819,9 @@ std::string ErrorLogger::plistData(const ErrorMessage &msg)
<< " path\r\n"
<< " \r\n";
- std::list::const_iterator prev = msg.callStack.cbegin();
+ auto prev = msg.callStack.cbegin();
- for (std::list::const_iterator it = msg.callStack.cbegin(); it != msg.callStack.cend(); ++it) {
+ for (auto it = msg.callStack.cbegin(); it != msg.callStack.cend(); ++it) {
if (prev != it) {
plist << " \r\n"
<< " kindcontrol\r\n"
@@ -844,7 +844,7 @@ std::string ErrorLogger::plistData(const ErrorMessage &msg)
prev = it;
}
- std::list::const_iterator next = it;
+ auto next = it;
++next;
const std::string message = (it->getinfo().empty() && next == msg.callStack.cend() ? msg.shortMessage() : it->getinfo());
diff --git a/lib/importproject.cpp b/lib/importproject.cpp
index 0a38c938f31..1802fbfa82a 100644
--- a/lib/importproject.cpp
+++ b/lib/importproject.cpp
@@ -44,7 +44,7 @@
// TODO: align the exclusion logic with PathMatch
void ImportProject::ignorePaths(const std::vector &ipaths)
{
- for (std::list::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
+ for (auto it = fileSettings.cbegin(); it != fileSettings.cend();) {
bool ignore = false;
for (std::string i : ipaths) {
if (it->filename().size() > i.size() && it->filename().compare(0,i.size(),i)==0) {
@@ -72,7 +72,7 @@ void ImportProject::ignorePaths(const std::vector &ipaths)
void ImportProject::ignoreOtherConfigs(const std::string &cfg)
{
- for (std::list::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
+ for (auto it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg != cfg)
it = fileSettings.erase(it);
else
@@ -123,7 +123,7 @@ static bool simplifyPathWithVariables(std::string &s, std::map::const_iterator it1 = variables.find(var);
+ auto it1 = utils::as_const(variables).find(var);
// variable was not found within defined variables
if (it1 == variables.end()) {
const char *envValue = std::getenv(var.c_str());
@@ -1033,7 +1033,7 @@ bool ImportProject::importBcb6Prj(const std::string &projectFilename)
{ "-tWV","-WV" }
};
- for (std::map::const_iterator i = synonyms.cbegin(); i != synonyms.cend(); ++i) {
+ for (auto i = synonyms.cbegin(); i != synonyms.cend(); ++i) {
if (cflags.erase(i->first) > 0) {
cflags.insert(i->second);
}
@@ -1419,7 +1419,7 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings *setti
void ImportProject::selectOneVsConfig(Platform::Type platform)
{
std::set filenames;
- for (std::list::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
+ for (auto it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg.empty()) {
++it;
continue;
@@ -1446,7 +1446,7 @@ void ImportProject::selectOneVsConfig(Platform::Type platform)
// cppcheck-suppress unusedFunction - used by GUI only
void ImportProject::selectVsConfigurations(Platform::Type platform, const std::vector &configurations)
{
- for (std::list::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
+ for (auto it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg.empty()) {
++it;
continue;
diff --git a/lib/library.cpp b/lib/library.cpp
index 3b242417a22..c26ea1e22b9 100644
--- a/lib/library.cpp
+++ b/lib/library.cpp
@@ -46,7 +46,7 @@ struct Library::LibraryData
{
struct Platform {
const PlatformType *platform_type(const std::string &name) const {
- const std::map::const_iterator it = mPlatformTypes.find(name);
+ const auto it = utils::as_const(mPlatformTypes).find(name);
return (it != mPlatformTypes.end()) ? &(it->second) : nullptr;
}
std::map mPlatformTypes;
@@ -336,7 +336,7 @@ Library::Error Library::load(const tinyxml2::XMLDocument &doc)
if (strcmp(memorynode->Name(),"dealloc")==0) {
const auto names = getnames(memorynode->GetText());
for (const auto& n : names) {
- const std::map::const_iterator it = mData->mDealloc.find(n);
+ const auto it = utils::as_const(mData->mDealloc).find(n);
if (it != mData->mDealloc.end()) {
allocationId = it->second.groupId;
break;
@@ -544,7 +544,7 @@ Library::Error Library::load(const tinyxml2::XMLDocument &doc)
const char* const inherits = node->Attribute("inherits");
if (inherits) {
- const std::unordered_map::const_iterator i = mData->mContainers.find(inherits);
+ const auto i = utils::as_const(mData->mContainers).find(inherits);
if (i != mData->mContainers.end())
container = i->second; // Take values from parent and overwrite them if necessary
else
@@ -783,7 +783,7 @@ Library::Error Library::load(const tinyxml2::XMLDocument &doc)
}
if (!unknown_elements.empty()) {
std::string str;
- for (std::set::const_iterator i = unknown_elements.cbegin(); i != unknown_elements.cend();) {
+ for (auto i = unknown_elements.cbegin(); i != unknown_elements.cend();) {
str += *i;
if (++i != unknown_elements.end())
str += ", ";
@@ -1177,7 +1177,7 @@ bool Library::isnullargbad(const Token *ftok, int argnr) const
if (!arg) {
// scan format string argument should not be null
const std::string funcname = getFunctionName(ftok);
- const std::unordered_map::const_iterator it = mData->mFunctions.find(funcname);
+ const auto it = utils::as_const(mData->mFunctions).find(funcname);
if (it != mData->mFunctions.cend() && it->second.formatstr && it->second.formatstr_scan)
return true;
}
@@ -1190,7 +1190,7 @@ bool Library::isuninitargbad(const Token *ftok, int argnr, int indirect, bool *h
if (!arg) {
// non-scan format string argument should not be uninitialized
const std::string funcname = getFunctionName(ftok);
- const std::unordered_map::const_iterator it = mData->mFunctions.find(funcname);
+ const auto it = utils::as_const(mData->mFunctions).find(funcname);
if (it != mData->mFunctions.cend() && it->second.formatstr && !it->second.formatstr_scan)
return true;
}
@@ -1260,10 +1260,10 @@ const Library::ArgumentChecks * Library::getarg(const Token *ftok, int argnr) co
const Function* func = nullptr;
if (isNotLibraryFunction(ftok, &func))
return nullptr;
- const std::map::const_iterator it2 = func->argumentChecks.find(argnr);
+ const auto it2 = utils::as_const(func->argumentChecks).find(argnr);
if (it2 != func->argumentChecks.cend())
return &it2->second;
- const std::map::const_iterator it3 = func->argumentChecks.find(-1);
+ const auto it3 = utils::as_const(func->argumentChecks).find(-1);
if (it3 != func->argumentChecks.cend())
return &it3->second;
return nullptr;
@@ -1443,7 +1443,7 @@ bool Library::matchArguments(const Token *ftok, const std::string &functionName,
{
if (functionName.empty())
return false;
- const std::unordered_map::const_iterator it = mData->mFunctions.find(functionName);
+ const auto it = utils::as_const(mData->mFunctions).find(functionName);
if (it == mData->mFunctions.cend())
return false;
const int callargs = numberOfArgumentsWithoutAst(ftok);
@@ -1476,7 +1476,7 @@ const Library::WarnInfo* Library::getWarnInfo(const Token* ftok) const
{
if (isNotLibraryFunction(ftok))
return nullptr;
- const std::map::const_iterator i = mData->mFunctionwarn.find(getFunctionName(ftok));
+ const auto i = utils::as_const(mData->mFunctionwarn).find(getFunctionName(ftok));
if (i == mData->mFunctionwarn.cend())
return nullptr;
return &i->second;
@@ -1532,7 +1532,7 @@ bool Library::formatstr_function(const Token* ftok) const
if (isNotLibraryFunction(ftok))
return false;
- const std::unordered_map::const_iterator it = mData->mFunctions.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mFunctions).find(getFunctionName(ftok));
if (it != mData->mFunctions.cend())
return it->second.formatstr;
return false;
@@ -1561,7 +1561,7 @@ const Library::NonOverlappingData* Library::getNonOverlappingData(const Token *f
{
if (isNotLibraryFunction(ftok))
return nullptr;
- const std::unordered_map::const_iterator it = mData->mNonOverlappingData.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mNonOverlappingData).find(getFunctionName(ftok));
return (it != mData->mNonOverlappingData.cend()) ? &it->second : nullptr;
}
@@ -1579,7 +1579,7 @@ Library::UseRetValType Library::getUseRetValType(const Token *ftok) const
}
return Library::UseRetValType::NONE;
}
- const std::unordered_map::const_iterator it = mData->mFunctions.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mFunctions).find(getFunctionName(ftok));
if (it != mData->mFunctions.cend())
return it->second.useretval;
return Library::UseRetValType::NONE;
@@ -1589,7 +1589,7 @@ const std::string& Library::returnValue(const Token *ftok) const
{
if (isNotLibraryFunction(ftok))
return emptyString;
- const std::map::const_iterator it = mData->mReturnValue.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mReturnValue).find(getFunctionName(ftok));
return it != mData->mReturnValue.cend() ? it->second : emptyString;
}
@@ -1603,7 +1603,7 @@ const std::string& Library::returnValueType(const Token *ftok) const
}
return emptyString;
}
- const std::map::const_iterator it = mData->mReturnValueType.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mReturnValueType).find(getFunctionName(ftok));
return it != mData->mReturnValueType.cend() ? it->second : emptyString;
}
@@ -1611,7 +1611,7 @@ int Library::returnValueContainer(const Token *ftok) const
{
if (isNotLibraryFunction(ftok))
return -1;
- const std::map::const_iterator it = mData->mReturnValueContainer.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mReturnValueContainer).find(getFunctionName(ftok));
return it != mData->mReturnValueContainer.cend() ? it->second : -1;
}
@@ -1619,7 +1619,7 @@ std::vector Library::unknownReturnValues(const Token *ftok) con
{
if (isNotLibraryFunction(ftok))
return std::vector();
- const std::map>::const_iterator it = mData->mUnknownReturnValues.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mUnknownReturnValues).find(getFunctionName(ftok));
return (it == mData->mUnknownReturnValues.cend()) ? std::vector() : it->second;
}
@@ -1627,7 +1627,7 @@ const Library::Function *Library::getFunction(const Token *ftok) const
{
if (isNotLibraryFunction(ftok))
return nullptr;
- const std::unordered_map::const_iterator it1 = mData->mFunctions.find(getFunctionName(ftok));
+ const auto it1 = utils::as_const(mData->mFunctions).find(getFunctionName(ftok));
if (it1 == mData->mFunctions.cend())
return nullptr;
return &it1->second;
@@ -1638,7 +1638,7 @@ bool Library::hasminsize(const Token *ftok) const
{
if (isNotLibraryFunction(ftok))
return false;
- const std::unordered_map::const_iterator it = mData->mFunctions.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mFunctions).find(getFunctionName(ftok));
if (it == mData->mFunctions.cend())
return false;
return std::any_of(it->second.argumentChecks.cbegin(), it->second.argumentChecks.cend(), [](const std::pair& a) {
@@ -1667,7 +1667,7 @@ Library::ArgumentChecks::Direction Library::getArgDirection(const Token* ftok, i
bool Library::ignorefunction(const std::string& functionName) const
{
- const std::unordered_map::const_iterator it = mData->mFunctions.find(functionName);
+ const auto it = utils::as_const(mData->mFunctions).find(functionName);
if (it != mData->mFunctions.cend())
return it->second.ignore;
return false;
@@ -1678,21 +1678,21 @@ const std::unordered_map& Library::functions() c
}
bool Library::isUse(const std::string& functionName) const
{
- const std::unordered_map::const_iterator it = mData->mFunctions.find(functionName);
+ const auto it = utils::as_const(mData->mFunctions).find(functionName);
if (it != mData->mFunctions.cend())
return it->second.use;
return false;
}
bool Library::isLeakIgnore(const std::string& functionName) const
{
- const std::unordered_map::const_iterator it = mData->mFunctions.find(functionName);
+ const auto it = utils::as_const(mData->mFunctions).find(functionName);
if (it != mData->mFunctions.cend())
return it->second.leakignore;
return false;
}
bool Library::isFunctionConst(const std::string& functionName, bool pure) const
{
- const std::unordered_map::const_iterator it = mData->mFunctions.find(functionName);
+ const auto it = utils::as_const(mData->mFunctions).find(functionName);
if (it != mData->mFunctions.cend())
return pure ? it->second.ispure : it->second.isconst;
return false;
@@ -1710,7 +1710,7 @@ bool Library::isFunctionConst(const Token *ftok) const
}
return false;
}
- const std::unordered_map::const_iterator it = mData->mFunctions.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mFunctions).find(getFunctionName(ftok));
return (it != mData->mFunctions.cend() && it->second.isconst);
}
@@ -1729,7 +1729,7 @@ bool Library::isnoreturn(const Token *ftok) const
}
return false;
}
- const std::unordered_map::const_iterator it = mData->mNoReturn.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mNoReturn).find(getFunctionName(ftok));
if (it == mData->mNoReturn.end())
return false;
if (it->second == LibraryData::FalseTrueMaybe::Maybe)
@@ -1743,7 +1743,7 @@ bool Library::isnotnoreturn(const Token *ftok) const
return false;
if (isNotLibraryFunction(ftok))
return hasAnyTypeCheck(getFunctionName(ftok));
- const std::unordered_map::const_iterator it = mData->mNoReturn.find(getFunctionName(ftok));
+ const auto it = utils::as_const(mData->mNoReturn).find(getFunctionName(ftok));
if (it == mData->mNoReturn.end())
return false;
if (it->second == LibraryData::FalseTrueMaybe::Maybe)
@@ -1758,27 +1758,27 @@ bool Library::markupFile(const std::string &path) const
bool Library::processMarkupAfterCode(const std::string &path) const
{
- const std::map::const_iterator it = mData->mProcessAfterCode.find(Path::getFilenameExtensionInLowerCase(path));
+ const auto it = utils::as_const(mData->mProcessAfterCode).find(Path::getFilenameExtensionInLowerCase(path));
return (it == mData->mProcessAfterCode.cend() || it->second);
}
bool Library::reportErrors(const std::string &path) const
{
- const std::map::const_iterator it = mData->mReportErrors.find(Path::getFilenameExtensionInLowerCase(path));
+ const auto it = utils::as_const(mData->mReportErrors).find(Path::getFilenameExtensionInLowerCase(path));
return (it == mData->mReportErrors.cend() || it->second);
}
bool Library::isexecutableblock(const std::string &file, const std::string &token) const
{
- const std::unordered_map::const_iterator it = mData->mExecutableBlocks.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto it = utils::as_const(mData->mExecutableBlocks).find(Path::getFilenameExtensionInLowerCase(file));
return (it != mData->mExecutableBlocks.cend() && it->second.isBlock(token));
}
int Library::blockstartoffset(const std::string &file) const
{
int offset = -1;
- const std::unordered_map::const_iterator map_it
- = mData->mExecutableBlocks.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto map_it
+ = utils::as_const(mData->mExecutableBlocks).find(Path::getFilenameExtensionInLowerCase(file));
if (map_it != mData->mExecutableBlocks.end()) {
offset = map_it->second.offset();
@@ -1788,8 +1788,8 @@ int Library::blockstartoffset(const std::string &file) const
const std::string& Library::blockstart(const std::string &file) const
{
- const std::unordered_map::const_iterator map_it
- = mData->mExecutableBlocks.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto map_it
+ = utils::as_const(mData->mExecutableBlocks).find(Path::getFilenameExtensionInLowerCase(file));
if (map_it != mData->mExecutableBlocks.end()) {
return map_it->second.start();
@@ -1799,8 +1799,8 @@ const std::string& Library::blockstart(const std::string &file) const
const std::string& Library::blockend(const std::string &file) const
{
- const std::unordered_map::const_iterator map_it
- = mData->mExecutableBlocks.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto map_it
+ = utils::as_const(mData->mExecutableBlocks).find(Path::getFilenameExtensionInLowerCase(file));
if (map_it != mData->mExecutableBlocks.end()) {
return map_it->second.end();
@@ -1810,15 +1810,15 @@ const std::string& Library::blockend(const std::string &file) const
bool Library::iskeyword(const std::string &file, const std::string &keyword) const
{
- const std::map>::const_iterator it =
- mData->mKeywords.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto it =
+ utils::as_const(mData->mKeywords).find(Path::getFilenameExtensionInLowerCase(file));
return (it != mData->mKeywords.end() && it->second.count(keyword));
}
bool Library::isimporter(const std::string& file, const std::string &importer) const
{
- const std::map>::const_iterator it =
- mData->mImporters.find(Path::getFilenameExtensionInLowerCase(file));
+ const auto it =
+ utils::as_const(mData->mImporters).find(Path::getFilenameExtensionInLowerCase(file));
return (it != mData->mImporters.end() && it->second.count(importer) > 0);
}
@@ -1962,13 +1962,13 @@ bool Library::isexporter(const std::string &prefix) const
bool Library::isexportedprefix(const std::string &prefix, const std::string &token) const
{
- const std::map::const_iterator it = mData->mExporters.find(prefix);
+ const auto it = utils::as_const(mData->mExporters).find(prefix);
return (it != mData->mExporters.end() && it->second.isPrefix(token));
}
bool Library::isexportedsuffix(const std::string &prefix, const std::string &token) const
{
- const std::map::const_iterator it = mData->mExporters.find(prefix);
+ const auto it = utils::as_const(mData->mExporters).find(prefix);
return (it != mData->mExporters.end() && it->second.isSuffix(token));
}
@@ -1979,7 +1979,7 @@ bool Library::isreflection(const std::string &token) const
int Library::reflectionArgument(const std::string &token) const
{
- const std::map::const_iterator it = mData->mReflection.find(token);
+ const auto it = utils::as_const(mData->mReflection).find(token);
if (it != mData->mReflection.end())
return it->second;
return -1;
@@ -1997,19 +1997,19 @@ const std::set& Library::defines() const
const Library::PodType *Library::podtype(const std::string &name) const
{
- const std::unordered_map::const_iterator it = mData->mPodTypes.find(name);
+ const auto it = utils::as_const(mData->mPodTypes).find(name);
return (it != mData->mPodTypes.end()) ? &(it->second) : nullptr;
}
const Library::PlatformType *Library::platform_type(const std::string &name, const std::string & platform) const
{
- const std::map::const_iterator it = mData->mPlatforms.find(platform);
+ const auto it = utils::as_const(mData->mPlatforms).find(platform);
if (it != mData->mPlatforms.end()) {
const PlatformType * const type = it->second.platform_type(name);
if (type)
return type;
}
- const std::map::const_iterator it2 = mData->mPlatformTypes.find(name);
+ const auto it2 = utils::as_const(mData->mPlatformTypes).find(name);
return (it2 != mData->mPlatformTypes.end()) ? &(it2->second) : nullptr;
}
diff --git a/lib/library.h b/lib/library.h
index f1fe368d85f..6f51e684252 100644
--- a/lib/library.h
+++ b/lib/library.h
@@ -24,6 +24,7 @@
#include "config.h"
#include "mathlib.h"
#include "standards.h"
+#include "utils.h"
#include
#include
@@ -236,21 +237,21 @@ class CPPCHECKLIB Library {
bool view{};
Action getAction(const std::string& function) const {
- const std::map::const_iterator i = functions.find(function);
+ const auto i = utils::as_const(functions).find(function);
if (i != functions.end())
return i->second.action;
return Action::NO_ACTION;
}
Yield getYield(const std::string& function) const {
- const std::map::const_iterator i = functions.find(function);
+ const auto i = utils::as_const(functions).find(function);
if (i != functions.end())
return i->second.yield;
return Yield::NO_YIELD;
}
const std::string& getReturnType(const std::string& function) const {
- auto i = functions.find(function);
+ const auto i = utils::as_const(functions).find(function);
return (i != functions.end()) ? i->second.returnType : emptyString;
}
@@ -474,7 +475,7 @@ class CPPCHECKLIB Library {
std::string getFunctionName(const Token *ftok, bool &error) const;
static const AllocFunc* getAllocDealloc(const std::map &data, const std::string &name) {
- const std::map::const_iterator it = data.find(name);
+ const auto it = utils::as_const(data).find(name);
return (it == data.end()) ? nullptr : &it->second;
}
diff --git a/lib/mathlib.cpp b/lib/mathlib.cpp
index a878d303857..601463cab9c 100644
--- a/lib/mathlib.cpp
+++ b/lib/mathlib.cpp
@@ -544,7 +544,7 @@ bool MathLib::isDecimalFloat(const std::string &str)
enum class State : std::uint8_t {
START, BASE_DIGITS1, LEADING_DECIMAL, TRAILING_DECIMAL, BASE_DIGITS2, E, MANTISSA_PLUSMINUS, MANTISSA_DIGITS, SUFFIX_F, SUFFIX_L, SUFFIX_LITERAL_LEADER, SUFFIX_LITERAL
} state = State::START;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
@@ -775,7 +775,7 @@ bool MathLib::isOct(const std::string& str)
} state = Status::START;
if (str.empty())
return false;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
@@ -810,7 +810,7 @@ bool MathLib::isIntHex(const std::string& str)
} state = Status::START;
if (str.empty())
return false;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
@@ -851,7 +851,7 @@ bool MathLib::isFloatHex(const std::string& str)
} state = Status::START;
if (str.empty())
return false;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
@@ -941,7 +941,7 @@ bool MathLib::isBin(const std::string& str)
} state = Status::START;
if (str.empty())
return false;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
@@ -982,7 +982,7 @@ bool MathLib::isDec(const std::string & str)
} state = Status::START;
if (str.empty())
return false;
- std::string::const_iterator it = str.cbegin();
+ auto it = str.cbegin();
if ('+' == *it || '-' == *it)
++it;
for (; it != str.cend(); ++it) {
diff --git a/lib/pathmatch.cpp b/lib/pathmatch.cpp
index 6e7d3866db9..caf121608ed 100644
--- a/lib/pathmatch.cpp
+++ b/lib/pathmatch.cpp
@@ -49,7 +49,7 @@ bool PathMatch::match(const std::string &path) const
const bool is_absolute = Path::isAbsolute(path);
// TODO: align the match logic with ImportProject::ignorePaths()
- for (std::vector::const_iterator i = mPaths.cbegin(); i != mPaths.cend(); ++i) {
+ for (auto i = mPaths.cbegin(); i != mPaths.cend(); ++i) {
const std::string pathToMatch((!is_absolute && Path::isAbsolute(*i)) ? Path::getRelativePath(*i, mWorkingDirectory) : *i);
// Filtering directory name
diff --git a/lib/preprocessor.cpp b/lib/preprocessor.cpp
index 4088a1d30db..cb98d33f7bb 100644
--- a/lib/preprocessor.cpp
+++ b/lib/preprocessor.cpp
@@ -302,7 +302,7 @@ void Preprocessor::inlineSuppressions(const simplecpp::TokenList &tokens, Suppre
return;
std::list err;
::addInlineSuppressions(tokens, mSettings, suppressions, err);
- for (std::map::const_iterator it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
+ for (auto it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
if (it->second)
::addInlineSuppressions(*it->second, mSettings, suppressions, err);
}
@@ -315,7 +315,7 @@ std::vector Preprocessor::getRemarkComments(const simplecpp::Toke
{
std::vector ret;
addRemarkComments(tokens, ret);
- for (std::map::const_iterator it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
+ for (auto it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
if (it->second)
addRemarkComments(*it->second, ret);
}
@@ -330,7 +330,7 @@ std::list Preprocessor::createDirectives(const simplecpp::TokenList &
std::vector list;
list.reserve(1U + mTokenLists.size());
list.push_back(&tokens);
- for (std::map::const_iterator it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
+ for (auto it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
list.push_back(it->second);
}
@@ -662,7 +662,7 @@ std::set Preprocessor::getConfigs(const simplecpp::TokenList &token
::getConfigs(tokens, defined, mSettings.userDefines, mSettings.userUndefs, ret);
- for (std::map::const_iterator it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
+ for (auto it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
if (!mSettings.configurationExcluded(it->first))
::getConfigs(*(it->second), defined, mSettings.userDefines, mSettings.userUndefs, ret);
}
@@ -975,7 +975,7 @@ std::size_t Preprocessor::calculateHash(const simplecpp::TokenList &tokens1, con
hashData += static_cast(tok->location.col);
}
}
- for (std::map::const_iterator it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
+ for (auto it = mTokenLists.cbegin(); it != mTokenLists.cend(); ++it) {
for (const simplecpp::Token *tok = it->second->cfront(); tok; tok = tok->next) {
if (!tok->comment) {
hashData += tok->str();
diff --git a/lib/programmemory.cpp b/lib/programmemory.cpp
index 20e212b8409..26c3c1f0671 100644
--- a/lib/programmemory.cpp
+++ b/lib/programmemory.cpp
@@ -77,7 +77,7 @@ void ProgramMemory::setValue(const Token* expr, const ValueFlow::Value& value) {
}
const ValueFlow::Value* ProgramMemory::getValue(nonneg int exprid, bool impossible) const
{
- const ProgramMemory::Map::const_iterator it = mValues->find(exprid);
+ const auto it = utils::as_const(*mValues).find(exprid);
const bool found = it != mValues->cend() && (impossible || !it->second.isImpossible());
if (found)
return &it->second;
diff --git a/lib/settings.cpp b/lib/settings.cpp
index 9d71b472805..cb828598ff4 100644
--- a/lib/settings.cpp
+++ b/lib/settings.cpp
@@ -103,7 +103,7 @@ std::string Settings::loadCppcheckCfg(Settings& settings, Suppressions& suppress
}
const picojson::object& obj = json.get();
{
- const picojson::object::const_iterator it = obj.find("productName");
+ const auto it = utils::as_const(obj).find("productName");
if (it != obj.cend()) {
const auto& v = it->second;
if (!v.is())
@@ -112,7 +112,7 @@ std::string Settings::loadCppcheckCfg(Settings& settings, Suppressions& suppress
}
}
{
- const picojson::object::const_iterator it = obj.find("about");
+ const auto it = utils::as_const(obj).find("about");
if (it != obj.cend()) {
const auto& v = it->second;
if (!v.is())
@@ -121,7 +121,7 @@ std::string Settings::loadCppcheckCfg(Settings& settings, Suppressions& suppress
}
}
{
- const picojson::object::const_iterator it = obj.find("addons");
+ const auto it = utils::as_const(obj).find("addons");
if (it != obj.cend()) {
const auto& entry = it->second;
if (!entry.is())
@@ -139,7 +139,7 @@ std::string Settings::loadCppcheckCfg(Settings& settings, Suppressions& suppress
}
}
{
- const picojson::object::const_iterator it = obj.find("suppressions");
+ const auto it = utils::as_const(obj).find("suppressions");
if (it != obj.cend()) {
const auto& entry = it->second;
if (!entry.is())
@@ -156,7 +156,7 @@ std::string Settings::loadCppcheckCfg(Settings& settings, Suppressions& suppress
}
}
{
- const picojson::object::const_iterator it = obj.find("safety");
+ const auto it = utils::as_const(obj).find("safety");
if (it != obj.cend()) {
const auto& v = it->second;
if (!v.is())
diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp
index 291b2a8ed0e..5bd2226475c 100644
--- a/lib/symboldatabase.cpp
+++ b/lib/symboldatabase.cpp
@@ -850,9 +850,7 @@ void SymbolDatabase::createSymbolDatabaseVariableInfo()
// fill in function arguments
for (Scope& scope : scopeList) {
- std::list::iterator func;
-
- for (func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
+ for (auto func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
// add arguments
func->addArguments(this, &scope);
}
@@ -866,8 +864,7 @@ void SymbolDatabase::createSymbolDatabaseCopyAndMoveConstructors()
if (!scope.isClassOrStruct())
continue;
- std::list::iterator func;
- for (func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
+ for (auto func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
if (!func->isConstructor() || func->minArgCount() != 1)
continue;
@@ -908,9 +905,7 @@ void SymbolDatabase::createSymbolDatabaseFunctionReturnTypes()
{
// fill in function return types
for (Scope& scope : scopeList) {
- std::list::iterator func;
-
- for (func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
+ for (auto func = scope.functionList.begin(); func != scope.functionList.end(); ++func) {
// add return types
if (func->retDef) {
const Token *type = func->retDef;
@@ -1242,7 +1237,7 @@ void SymbolDatabase::createSymbolDatabaseSetSmartPointerType()
void SymbolDatabase::fixVarId(VarIdMap & varIds, const Token * vartok, Token * membertok, const Variable * membervar)
{
- VarIdMap::iterator varId = varIds.find(vartok->varId());
+ auto varId = varIds.find(vartok->varId());
if (varId == varIds.end()) {
MemberIdMap memberId;
if (membertok->varId() == 0) {
@@ -1253,7 +1248,7 @@ void SymbolDatabase::fixVarId(VarIdMap & varIds, const Token * vartok, Token * m
varIds.emplace(vartok->varId(), memberId);
varId = varIds.find(vartok->varId());
}
- MemberIdMap::const_iterator memberId = varId->second.find(membervar->nameToken()->varId());
+ auto memberId = utils::as_const(varId->second).find(membervar->nameToken()->varId());
if (memberId == varId->second.cend()) {
if (membertok->varId() == 0) {
varId->second.emplace(membervar->nameToken()->varId(), mTokenizer.newVarId());
@@ -3308,15 +3303,14 @@ void SymbolDatabase::addClassFunction(Scope *&scope, const Token *&tok, const To
}
// search for match
- for (std::list::iterator it1 = scopeList.begin(); it1 != scopeList.end(); ++it1) {
+ for (auto it1 = scopeList.begin(); it1 != scopeList.end(); ++it1) {
Scope *scope1 = &(*it1);
bool match = false;
// check in namespace if using found
if (scope == scope1 && !scope1->usingList.empty()) {
- std::vector::const_iterator it2;
- for (it2 = scope1->usingList.cbegin(); it2 != scope1->usingList.cend(); ++it2) {
+ for (auto it2 = scope1->usingList.cbegin(); it2 != scope1->usingList.cend(); ++it2) {
if (it2->scope) {
Function * func = findFunctionInScope(tok1, it2->scope, path, path_length);
if (func) {
@@ -3632,8 +3626,7 @@ void SymbolDatabase::returnImplicitIntError(const Token *tok) const
const Function* Type::getFunction(const std::string& funcName) const
{
if (classScope) {
- const std::multimap::const_iterator it = classScope->functionMap.find(funcName);
-
+ const auto it = utils::as_const(classScope->functionMap).find(funcName);
if (it != classScope->functionMap.end())
return it->second;
}
@@ -3678,7 +3671,7 @@ bool Type::findDependency(const Type* ancestor) const
bool Type::isDerivedFrom(const std::string & ancestor) const
{
- for (std::vector::const_iterator parent=derivedFrom.cbegin(); parent!=derivedFrom.cend(); ++parent) {
+ for (auto parent=derivedFrom.cbegin(); parent!=derivedFrom.cend(); ++parent) {
if (parent->name == ancestor)
return true;
if (parent->type && parent->type->isDerivedFrom(ancestor))
@@ -3958,7 +3951,7 @@ void SymbolDatabase::printOut(const char *title) const
if (title)
std::cout << "\n### " << title << " ###\n";
- for (std::list::const_iterator scope = scopeList.cbegin(); scope != scopeList.cend(); ++scope) {
+ for (auto scope = scopeList.cbegin(); scope != scopeList.cend(); ++scope) {
std::cout << "Scope: " << &*scope << " " << scope->type << std::endl;
std::cout << " className: " << scope->className << std::endl;
std::cout << " classDef: " << tokenToString(scope->classDef, mTokenizer) << std::endl;
@@ -4087,7 +4080,7 @@ void SymbolDatabase::printOut(const char *title) const
std::cout << " nestedList[" << scope->nestedList.size() << "] = (";
std::size_t count = scope->nestedList.size();
- for (std::vector::const_iterator nsi = scope->nestedList.cbegin(); nsi != scope->nestedList.cend(); ++nsi) {
+ for (auto nsi = scope->nestedList.cbegin(); nsi != scope->nestedList.cend(); ++nsi) {
std::cout << " " << (*nsi) << " " << (*nsi)->type << " " << (*nsi)->className;
if (count-- > 1)
std::cout << ",";
@@ -4113,7 +4106,7 @@ void SymbolDatabase::printOut(const char *title) const
std::cout << std::endl;
}
- for (std::list::const_iterator type = typeList.cbegin(); type != typeList.cend(); ++type) {
+ for (auto type = typeList.cbegin(); type != typeList.cend(); ++type) {
std::cout << "Type: " << &(*type) << std::endl;
std::cout << " name: " << type->name() << std::endl;
std::cout << " classDef: " << tokenToString(type->classDef, mTokenizer) << std::endl;
@@ -4188,7 +4181,7 @@ void SymbolDatabase::printXml(std::ostream &out) const
// Scopes..
outs += " \n";
- for (std::list::const_iterator scope = scopeList.cbegin(); scope != scopeList.cend(); ++scope) {
+ for (auto scope = scopeList.cbegin(); scope != scopeList.cend(); ++scope) {
outs += " \n";
if (!scope->functionList.empty()) {
outs += " \n";
- for (std::list::const_iterator function = scope->functionList.cbegin(); function != scope->functionList.cend(); ++function) {
+ for (auto function = scope->functionList.cbegin(); function != scope->functionList.cend(); ++function) {
outs += " varlist.empty()) {
outs += " \n";
- for (std::list::const_iterator var = scope->varlist.cbegin(); var != scope->varlist.cend(); ++var) {
+ for (auto var = scope->varlist.cbegin(); var != scope->varlist.cend(); ++var) {
outs += " \n";
@@ -4597,7 +4590,7 @@ std::vector Function::getOverloadedFunctions() const
while (scope) {
const bool isMemberFunction = scope->isClassOrStruct() && !isStatic();
- for (std::multimap::const_iterator it = scope->functionMap.find(tokenDef->str());
+ for (auto it = utils::as_const(scope->functionMap).find(tokenDef->str());
it != scope->functionMap.end() && it->first == tokenDef->str();
++it) {
const Function* func = it->second;
@@ -4648,8 +4641,8 @@ const Function * Function::getOverriddenFunctionRecursive(const ::Type* baseType
const Scope *parent = derivedFromType->classScope;
// check if function defined in base class
- auto range = parent->functionMap.equal_range(tokenDef->str());
- for (std::multimap::const_iterator it = range.first; it != range.second; ++it) {
+ auto range = utils::as_const(parent->functionMap).equal_range(tokenDef->str());
+ for (auto it = range.first; it != range.second; ++it) {
const Function * func = it->second;
if (func->isImplicitlyVirtual()) { // Base is virtual and of same name
const Token *temp1 = func->tokenDef->previous();
@@ -5279,7 +5272,7 @@ const Enumerator * SymbolDatabase::findEnumerator(const Token * tok, std::set::const_iterator it = scope->nestedList.cbegin(), end = scope->nestedList.cend(); it != end; ++it) {
+ for (auto it = scope->nestedList.cbegin(), end = scope->nestedList.cend(); it != end; ++it) {
enumerator = (*it)->findEnumerator(tokStr);
if (enumerator && !(enumerator->scope && enumerator->scope->enumClass))
@@ -5318,7 +5311,7 @@ const Enumerator * SymbolDatabase::findEnumerator(const Token * tok, std::setvariable()->scope();
}
- for (std::vector::const_iterator s = scope->nestedList.cbegin(); s != scope->nestedList.cend(); ++s) {
+ for (auto s = scope->nestedList.cbegin(); s != scope->nestedList.cend(); ++s) {
enumerator = (*s)->findEnumerator(tokStr);
if (enumerator && !(enumerator->scope && enumerator->scope->enumClass))
@@ -5351,7 +5344,7 @@ const Enumerator * SymbolDatabase::findEnumerator(const Token * tok, std::setscope && enumerator->scope->enumClass))
return enumerator;
- for (std::vector::const_iterator s = scope->nestedList.cbegin(); s != scope->nestedList.cend(); ++s) {
+ for (auto s = scope->nestedList.cbegin(); s != scope->nestedList.cend(); ++s) {
enumerator = (*s)->findEnumerator(tokStr);
if (enumerator && !(enumerator->scope && enumerator->scope->enumClass))
@@ -5556,8 +5549,8 @@ void Scope::findFunctionInBase(const std::string & name, nonneg int args, std::v
if (base->classScope == this) // Ticket #5120, #5125: Recursive class; tok should have been found already
continue;
- auto range = base->classScope->functionMap.equal_range(name);
- for (std::multimap::const_iterator it = range.first; it != range.second; ++it) {
+ auto range = utils::as_const(base->classScope->functionMap).equal_range(name);
+ for (auto it = range.first; it != range.second; ++it) {
const Function *func = it->second;
if ((func->isVariadic() && args >= (func->argCount() - 1)) ||
(args == func->argCount() || (args < func->argCount() && args >= func->minArgCount()))) {
@@ -5716,8 +5709,8 @@ const Function* Scope::findFunction(const Token *tok, bool requireConst, Referen
const std::size_t args = arguments.size();
auto addMatchingFunctions = [&](const Scope *scope) {
- auto range = scope->functionMap.equal_range(tok->str());
- for (std::multimap::const_iterator it = range.first; it != range.second; ++it) {
+ auto range = utils::as_const(scope->functionMap).equal_range(tok->str());
+ for (auto it = range.first; it != range.second; ++it) {
const Function *func = it->second;
if (ref == Reference::LValue && func->hasRvalRefQualifier())
continue;
@@ -6369,7 +6362,7 @@ const Type* SymbolDatabase::findType(const Token *startTok, const Scope *startSc
// check using namespaces
while (startScope) {
- for (std::vector::const_iterator it = startScope->usingList.cbegin();
+ for (auto it = startScope->usingList.cbegin();
it != startScope->usingList.cend(); ++it) {
tok = startTok;
scope = it->scope;
@@ -6486,8 +6479,8 @@ Function * SymbolDatabase::findFunctionInScope(const Token *func, const Scope *n
const Function * function = nullptr;
const bool destructor = func->strAt(-1) == "~";
- auto range = ns->functionMap.equal_range(func->str());
- for (std::multimap::const_iterator it = range.first; it != range.second; ++it) {
+ auto range = utils::as_const(ns->functionMap).equal_range(func->str());
+ for (auto it = range.first; it != range.second; ++it) {
if (it->second->argsMatch(ns, it->second->argDef, func->next(), path, path_length) &&
it->second->isDestructor() == destructor) {
function = it->second;
@@ -7388,18 +7381,17 @@ static const Scope *getClassScope(const Token *tok)
static const Function *getOperatorFunction(const Token * const tok)
{
const std::string functionName("operator" + tok->str());
- std::multimap::const_iterator it;
const Scope *classScope = getClassScope(tok->astOperand1());
if (classScope) {
- it = classScope->functionMap.find(functionName);
+ auto it = utils::as_const(classScope->functionMap).find(functionName);
if (it != classScope->functionMap.end())
return it->second;
}
classScope = getClassScope(tok->astOperand2());
if (classScope) {
- it = classScope->functionMap.find(functionName);
+ auto it = utils::as_const(classScope->functionMap).find(functionName);
if (it != classScope->functionMap.end())
return it->second;
}
diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp
index f3bdb05cc14..a3db163aa9e 100644
--- a/lib/templatesimplifier.cpp
+++ b/lib/templatesimplifier.cpp
@@ -716,9 +716,9 @@ void TemplateSimplifier::addInstantiation(Token *token, const std::string &scope
TokenAndName instantiation(token, scope);
// check if instantiation already exists before adding it
- const std::list::const_iterator it = std::find(mTemplateInstantiations.cbegin(),
- mTemplateInstantiations.cend(),
- instantiation);
+ const auto it = std::find(mTemplateInstantiations.cbegin(),
+ mTemplateInstantiations.cend(),
+ instantiation);
if (it == mTemplateInstantiations.cend())
mTemplateInstantiations.emplace_back(std::move(instantiation));
@@ -984,7 +984,7 @@ void TemplateSimplifier::getTemplateInstantiations()
while (true) {
const std::string fullName = scopeName + (scopeName.empty()?"":" :: ") +
qualification + (qualification.empty()?"":" :: ") + tok->str();
- const std::list::const_iterator it = std::find_if(mTemplateDeclarations.cbegin(), mTemplateDeclarations.cend(), FindFullName(fullName));
+ const auto it = std::find_if(mTemplateDeclarations.cbegin(), mTemplateDeclarations.cend(), FindFullName(fullName));
if (it != mTemplateDeclarations.end()) {
// full name matches
addInstantiation(tok, it->scope());
@@ -996,7 +996,7 @@ void TemplateSimplifier::getTemplateInstantiations()
std::string fullNameSpace = scopeName + (scopeName.empty()?"":" :: ") +
nameSpace + (qualification.empty()?"":" :: ") + qualification;
std::string newFullName = fullNameSpace + " :: " + tok->str();
- const std::list::const_iterator it1 = std::find_if(mTemplateDeclarations.cbegin(), mTemplateDeclarations.cend(), FindFullName(std::move(newFullName)));
+ const auto it1 = std::find_if(mTemplateDeclarations.cbegin(), mTemplateDeclarations.cend(), FindFullName(std::move(newFullName)));
if (it1 != mTemplateDeclarations.end()) {
// insert using namespace into token stream
std::string::size_type offset = 0;
@@ -1165,7 +1165,7 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
if (tok && tok->str() == ">") {
tok = tok->previous();
- std::list::const_iterator it = eq.cbegin();
+ auto it = eq.cbegin();
for (std::size_t i = (templatepar - eq.size()); it != eq.cend() && i < usedpar; ++i)
++it;
int count = 0;
@@ -1236,9 +1236,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
if (Token::Match(tok2, "(|{|["))
tok2 = tok2->link();
else if (Token::Match(tok2, "%type% <") && (tok2->strAt(2) == ">" || templateParameters(tok2->next()))) {
- const std::list::const_iterator ti = std::find_if(mTemplateInstantiations.cbegin(),
- mTemplateInstantiations.cend(),
- FindToken(tok2));
+ const auto ti = std::find_if(mTemplateInstantiations.cbegin(),
+ mTemplateInstantiations.cend(),
+ FindToken(tok2));
if (ti != mTemplateInstantiations.end())
mTemplateInstantiations.erase(ti);
++indentlevel;
@@ -1255,9 +1255,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
continue;
// don't strip args from uninstantiated templates
- const std::list::const_iterator ti2 = std::find_if(mTemplateInstantiations.cbegin(),
- mTemplateInstantiations.cend(),
- FindName(declaration.name()));
+ const auto ti2 = std::find_if(mTemplateInstantiations.cbegin(),
+ mTemplateInstantiations.cend(),
+ FindName(declaration.name()));
if (ti2 == mTemplateInstantiations.end())
continue;
@@ -1272,7 +1272,7 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
void TemplateSimplifier::simplifyTemplateAliases()
{
- for (std::list::const_iterator it1 = mTemplateDeclarations.cbegin(); it1 != mTemplateDeclarations.cend();) {
+ for (auto it1 = mTemplateDeclarations.cbegin(); it1 != mTemplateDeclarations.cend();) {
const TokenAndName &aliasDeclaration = *it1;
if (!aliasDeclaration.isAlias()) {
@@ -1289,7 +1289,7 @@ void TemplateSimplifier::simplifyTemplateAliases()
// Look for alias usages..
bool found = false;
- for (std::list::const_iterator it2 = mTemplateInstantiations.cbegin(); it2 != mTemplateInstantiations.cend();) {
+ for (auto it2 = mTemplateInstantiations.cbegin(); it2 != mTemplateInstantiations.cend();) {
const TokenAndName &aliasUsage = *it2;
if (!aliasUsage.token() || aliasUsage.fullName() != aliasDeclaration.fullName()) {
++it2;
@@ -1361,9 +1361,9 @@ void TemplateSimplifier::simplifyTemplateAliases()
if (aliasParameterNames.find(tok2->str()) == aliasParameterNames.end()) {
// Create template instance..
if (Token::Match(tok1, "%name% <")) {
- const std::list::const_iterator it = std::find_if(mTemplateInstantiations.cbegin(),
- mTemplateInstantiations.cend(),
- FindToken(tok1));
+ const auto it = std::find_if(mTemplateInstantiations.cbegin(),
+ mTemplateInstantiations.cend(),
+ FindToken(tok1));
if (it != mTemplateInstantiations.cend())
addInstantiation(tok2, it->scope());
}
@@ -1660,9 +1660,9 @@ void TemplateSimplifier::expandTemplate(
end = temp2->linkAt(1)->next();
} else {
if (it != mTemplateForwardDeclarationsMap.end()) {
- const std::list::const_iterator it1 = std::find_if(mTemplateForwardDeclarations.cbegin(),
- mTemplateForwardDeclarations.cend(),
- FindToken(it->second));
+ const auto it1 = std::find_if(mTemplateForwardDeclarations.cbegin(),
+ mTemplateForwardDeclarations.cend(),
+ FindToken(it->second));
if (it1 != mTemplateForwardDeclarations.cend())
mMemberFunctionsToDelete.push_back(*it1);
}
@@ -1849,7 +1849,7 @@ void TemplateSimplifier::expandTemplate(
if (Token::Match(start, "[|{|(")) {
links[start->link()] = dst->previous();
} else if (Token::Match(start, "]|}|)")) {
- std::map::const_iterator link = links.find(start);
+ const auto link = utils::as_const(links).find(start);
// make sure link is valid
if (link != links.cend()) {
Token::createMutualLinks(link->second, dst->previous());
@@ -2044,9 +2044,9 @@ void TemplateSimplifier::expandTemplate(
while (tok3 && tok3->str() != "::")
tok3 = tok3->next();
- const std::list::const_iterator it = std::find_if(mTemplateDeclarations.cbegin(),
- mTemplateDeclarations.cend(),
- FindToken(startOfTemplateDeclaration));
+ const auto it = std::find_if(mTemplateDeclarations.cbegin(),
+ mTemplateDeclarations.cend(),
+ FindToken(startOfTemplateDeclaration));
if (it != mTemplateDeclarations.cend())
mMemberFunctionsToDelete.push_back(*it);
}
@@ -2948,7 +2948,7 @@ bool TemplateSimplifier::matchSpecialization(
const std::list & specializations)
{
// Is there a matching specialization?
- for (std::list::const_iterator it = specializations.cbegin(); it != specializations.cend(); ++it) {
+ for (auto it = specializations.cbegin(); it != specializations.cend(); ++it) {
if (!Token::Match(*it, "%name% <"))
continue;
const Token *startToken = (*it);
@@ -3308,11 +3308,11 @@ bool TemplateSimplifier::simplifyTemplateInstantiations(
static bool matchTemplateParameters(const Token *nameTok, const std::list &strings)
{
- std::list::const_iterator it = strings.cbegin();
const Token *tok = nameTok->tokAt(2);
const Token *end = nameTok->next()->findClosingBracket();
if (!end)
return false;
+ auto it = strings.cbegin();
while (tok && tok != end && it != strings.cend()) {
if (tok->isUnsigned()) {
if (*it != "unsigned")
@@ -3389,10 +3389,9 @@ void TemplateSimplifier::replaceTemplateUsage(
// Foo < int > => Foo
for (const Token *tok = nameTok1->next(); tok != tok2; tok = tok->next()) {
if (tok->isName() && tok->templateSimplifierPointers() && !tok->templateSimplifierPointers()->empty()) {
- std::list::const_iterator ti;
- for (ti = mTemplateInstantiations.cbegin(); ti != mTemplateInstantiations.cend();) {
+ for (auto ti = mTemplateInstantiations.cbegin(); ti != mTemplateInstantiations.cend();) {
if (ti->token() == tok) {
- ti = mTemplateInstantiations.erase(ti);
+ mTemplateInstantiations.erase(ti);
break;
}
++ti;
@@ -3889,13 +3888,13 @@ void TemplateSimplifier::simplifyTemplates(const std::time_t maxtime)
std::set expandedtemplates;
- for (std::list::const_reverse_iterator iter1 = mTemplateDeclarations.crbegin(); iter1 != mTemplateDeclarations.crend(); ++iter1) {
+ for (auto iter1 = mTemplateDeclarations.crbegin(); iter1 != mTemplateDeclarations.crend(); ++iter1) {
if (iter1->isAlias() || iter1->isFriend())
continue;
// get specializations..
std::list specializations;
- for (std::list::const_iterator iter2 = mTemplateDeclarations.cbegin(); iter2 != mTemplateDeclarations.cend(); ++iter2) {
+ for (auto iter2 = mTemplateDeclarations.cbegin(); iter2 != mTemplateDeclarations.cend(); ++iter2) {
if (iter2->isAlias() || iter2->isFriend())
continue;
@@ -3914,7 +3913,7 @@ void TemplateSimplifier::simplifyTemplates(const std::time_t maxtime)
}
}
- for (std::list::const_iterator it = mInstantiatedTemplates.cbegin(); it != mInstantiatedTemplates.cend(); ++it) {
+ for (auto it = mInstantiatedTemplates.cbegin(); it != mInstantiatedTemplates.cend(); ++it) {
auto decl = std::find_if(mTemplateDeclarations.begin(), mTemplateDeclarations.end(), [&it](const TokenAndName& decl) {
return decl.token() == it->token();
});
@@ -3937,17 +3936,17 @@ void TemplateSimplifier::simplifyTemplates(const std::time_t maxtime)
// remove out of line member functions
while (!mMemberFunctionsToDelete.empty()) {
- const std::list::iterator it = std::find_if(mTemplateDeclarations.begin(),
- mTemplateDeclarations.end(),
- FindToken(mMemberFunctionsToDelete.cbegin()->token()));
+ const auto it = std::find_if(mTemplateDeclarations.begin(),
+ mTemplateDeclarations.end(),
+ FindToken(mMemberFunctionsToDelete.cbegin()->token()));
// multiple functions can share the same declaration so make sure it hasn't already been deleted
if (it != mTemplateDeclarations.end()) {
removeTemplate(it->token());
mTemplateDeclarations.erase(it);
} else {
- const std::list::iterator it1 = std::find_if(mTemplateForwardDeclarations.begin(),
- mTemplateForwardDeclarations.end(),
- FindToken(mMemberFunctionsToDelete.cbegin()->token()));
+ const auto it1 = std::find_if(mTemplateForwardDeclarations.begin(),
+ mTemplateForwardDeclarations.end(),
+ FindToken(mMemberFunctionsToDelete.cbegin()->token()));
// multiple functions can share the same declaration so make sure it hasn't already been deleted
if (it1 != mTemplateForwardDeclarations.end()) {
removeTemplate(it1->token());
diff --git a/lib/timer.cpp b/lib/timer.cpp
index 78a176e9e5f..bd148e6403e 100644
--- a/lib/timer.cpp
+++ b/lib/timer.cpp
@@ -60,7 +60,7 @@ void TimerResults::showResults(SHOWTIME_MODES mode) const
std::cout << std::endl;
size_t ordinal = 1; // maybe it would be nice to have an ordinal in output later!
- for (std::vector::const_iterator iter=data.cbegin(); iter!=data.cend(); ++iter) {
+ for (auto iter=data.cbegin(); iter!=data.cend(); ++iter) {
const double sec = iter->second.seconds();
const double secAverage = sec / (double)(iter->second.mNumberOfResults);
bool hasParent = false;
diff --git a/lib/token.cpp b/lib/token.cpp
index fb600a8f28e..fd1d9f78ddc 100644
--- a/lib/token.cpp
+++ b/lib/token.cpp
@@ -1909,7 +1909,7 @@ const ValueFlow::Value * Token::getInvalidValue(const Token *ftok, nonneg int ar
if (!mImpl->mValues)
return nullptr;
const ValueFlow::Value *ret = nullptr;
- for (std::list::const_iterator it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
+ for (auto it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
if (it->isImpossible())
continue;
if ((it->isIntValue() && !settings.library.isIntArgValid(ftok, argnr, it->intvalue)) ||
@@ -1935,7 +1935,7 @@ const Token *Token::getValueTokenMinStrSize(const Settings &settings, MathLib::b
return nullptr;
const Token *ret = nullptr;
int minsize = INT_MAX;
- for (std::list::const_iterator it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
+ for (auto it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
if (it->isTokValue() && it->tokvalue && it->tokvalue->tokType() == Token::eString) {
const int size = getStrSize(it->tokvalue, settings);
if (!ret || size < minsize) {
@@ -1955,7 +1955,7 @@ const Token *Token::getValueTokenMaxStrLength() const
return nullptr;
const Token *ret = nullptr;
int maxlength = 0;
- for (std::list::const_iterator it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
+ for (auto it = mImpl->mValues->cbegin(); it != mImpl->mValues->end(); ++it) {
if (it->isTokValue() && it->tokvalue && it->tokvalue->tokType() == Token::eString) {
const int length = getStrLength(it->tokvalue);
if (!ret || length > maxlength) {
@@ -2198,8 +2198,8 @@ bool Token::addValue(const ValueFlow::Value &value)
return false;
// if value already exists, don't add it again
- std::list::iterator it;
- for (it = mImpl->mValues->begin(); it != mImpl->mValues->end(); ++it) {
+ auto it = mImpl->mValues->begin();
+ for (; it != mImpl->mValues->end(); ++it) {
// different types => continue
if (it->valueType != value.valueType)
continue;
diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp
index 168f049e6d7..6b5e94973e4 100644
--- a/lib/tokenize.cpp
+++ b/lib/tokenize.cpp
@@ -191,7 +191,7 @@ Tokenizer::~Tokenizer()
nonneg int Tokenizer::sizeOfType(const std::string& type) const
{
- const std::map::const_iterator it = mTypeSize.find(type);
+ const auto it = utils::as_const(mTypeSize).find(type);
if (it == mTypeSize.end()) {
const Library::PodType* podtype = mSettings.library.podtype(type);
if (!podtype)
@@ -210,7 +210,7 @@ nonneg int Tokenizer::sizeOfType(const Token *type) const
if (type->tokType() == Token::eString)
return Token::getStrLength(type) + 1U;
- const std::map::const_iterator it = mTypeSize.find(type->str());
+ const auto it = utils::as_const(mTypeSize).find(type->str());
if (it == mTypeSize.end()) {
const Library::PodType* podtype = mSettings.library.podtype(type->str());
if (!podtype)
@@ -2052,7 +2052,7 @@ void Tokenizer::simplifyTypedefCpp()
if (idx != std::string::npos)
removed1.resize(idx);
if (removed1 == classPath && !removed1.empty()) {
- for (std::vector::const_reverse_iterator it = spaceInfo.crbegin(); it != spaceInfo.crend(); ++it) {
+ for (auto it = spaceInfo.crbegin(); it != spaceInfo.crend(); ++it) {
if (it->recordTypes.find(start->str()) != it->recordTypes.end()) {
std::string::size_type spaceIdx = 0;
std::string::size_type startIdx = 0;
@@ -3382,7 +3382,7 @@ bool Tokenizer::simplifyUsing()
}
// delete all used type alias definitions
- for (std::list::reverse_iterator it = usingList.rbegin(); it != usingList.rend(); ++it) {
+ for (auto it = usingList.rbegin(); it != usingList.rend(); ++it) {
Token *usingStart = it->startTok;
Token *usingEnd = it->endTok;
if (usingStart->previous()) {
@@ -4199,7 +4199,7 @@ void VariableMap::addVariable(const std::string& varname, bool globalNamespace)
mVariableId_global[varname] = mVariableId[varname];
return;
}
- std::unordered_map::iterator it = mVariableId.find(varname);
+ const auto it = mVariableId.find(varname);
if (it == mVariableId.end()) {
mScopeInfo.top().emplace_back(varname, 0);
mVariableId[varname] = ++mVarId;
@@ -4372,7 +4372,7 @@ static void setVarIdStructMembers(Token *&tok1,
tok = tok->link();
if (Token::Match(tok->previous(), "[,{] . %name% =|{")) {
tok = tok->next();
- const std::map::const_iterator it = members.find(tok->str());
+ const auto it = utils::as_const(members).find(tok->str());
if (it == members.cend()) {
members[tok->str()] = ++varId;
tok->varId(varId);
@@ -4406,7 +4406,7 @@ static void setVarIdStructMembers(Token *&tok1,
break;
std::map& members = structMembers[struct_varid];
- const std::map::const_iterator it = members.find(tok->str());
+ const auto it = utils::as_const(members).find(tok->str());
if (it == members.cend()) {
members[tok->str()] = ++varId;
tok->varId(varId);
@@ -4462,7 +4462,7 @@ static bool setVarIdClassDeclaration(Token* const startToken,
--indentlevel;
inEnum = false;
} else if (initList && indentlevel == 0 && Token::Match(tok->previous(), "[,:] %name% [({]")) {
- const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str());
+ const auto it = variableMap.map(false).find(tok->str());
if (it != variableMap.map(false).end()) {
tok->varId(it->second);
}
@@ -4480,7 +4480,7 @@ static bool setVarIdClassDeclaration(Token* const startToken,
}
if (!inEnum) {
- const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str());
+ const auto it = variableMap.map(false).find(tok->str());
if (it != variableMap.map(false).end()) {
tok->varId(it->second);
setVarIdStructMembers(tok, structMembers, variableMap.getVarId());
@@ -4518,7 +4518,7 @@ void Tokenizer::setVarIdClassFunction(const std::string &classname,
if (Token::Match(tok2, "%name% ::"))
continue;
- const std::map::const_iterator it = varlist.find(tok2->str());
+ const auto it = utils::as_const(varlist).find(tok2->str());
if (it != varlist.end()) {
tok2->varId(it->second);
setVarIdStructMembers(tok2, structMembers, varId_);
@@ -4832,7 +4832,7 @@ void Tokenizer::setVarIdPass1()
while (tok != end) {
if (tok->isName() && !(Token::simpleMatch(tok->next(), "<") &&
Token::Match(tok->tokAt(-1), ":: %name%"))) {
- const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str());
+ const auto it = variableMap.map(false).find(tok->str());
if (it != variableMap.map(false).end())
tok->varId(it->second);
}
@@ -4900,7 +4900,7 @@ void Tokenizer::setVarIdPass1()
if (tok->varId() == 0 && (!scopeStack.top().isEnum || !(Token::Match(tok->previous(), "{|,") && Token::Match(tok->next(), ",|=|}"))) &&
!Token::simpleMatch(tok->next(), ": ;") && !(tok->tokAt(-1) && Token::Match(tok->tokAt(-2), "{|, ."))) {
- const std::unordered_map::const_iterator it = variableMap.map(globalNamespace).find(tok->str());
+ const auto it = variableMap.map(globalNamespace).find(tok->str());
if (it != variableMap.map(globalNamespace).end()) {
tok->varId(it->second);
setVarIdStructMembers(tok, structMembers, variableMap.getVarId());
@@ -4941,10 +4941,10 @@ static std::string getScopeName(const std::list &scopeInfo)
static Token * matchMemberName(const std::list &scope, const Token *nsToken, Token *memberToken, const std::list &scopeInfo)
{
- std::list::const_iterator scopeIt = scopeInfo.cbegin();
+ auto scopeIt = scopeInfo.cbegin();
// Current scope..
- for (std::list::const_iterator it = scope.cbegin(); it != scope.cend(); ++it) {
+ for (auto it = scope.cbegin(); it != scope.cend(); ++it) {
if (scopeIt == scopeInfo.cend() || scopeIt->name != *it)
return nullptr;
++scopeIt;
@@ -5068,7 +5068,7 @@ void Tokenizer::setVarIdPass2()
}
if (tok->str() == "}") {
- const std::map::const_iterator it = endOfScope.find(tok);
+ const auto it = utils::as_const(endOfScope).find(tok);
if (it != endOfScope.cend())
scope.remove(it->second);
}
@@ -5268,7 +5268,7 @@ void Tokenizer::setVarIdPass2()
break;
// set varid
- const std::map::const_iterator varpos = thisClassVars.find(tok3->str());
+ const auto varpos = utils::as_const(thisClassVars).find(tok3->str());
if (varpos != thisClassVars.end())
tok3->varId(varpos->second);
@@ -7621,7 +7621,7 @@ bool Tokenizer::simplifyCAlternativeTokens()
if (!tok->isName())
continue;
- const std::unordered_map::const_iterator cOpIt = cAlternativeTokens.find(tok->str());
+ const auto cOpIt = utils::as_const(cAlternativeTokens).find(tok->str());
if (cOpIt != cAlternativeTokens.end()) {
alt.push_back(tok);
@@ -7663,7 +7663,7 @@ bool Tokenizer::simplifyCAlternativeTokens()
return false;
for (Token *tok: alt) {
- const std::unordered_map::const_iterator cOpIt = cAlternativeTokens.find(tok->str());
+ const auto cOpIt = utils::as_const(cAlternativeTokens).find(tok->str());
if (cOpIt != cAlternativeTokens.end())
tok->str(cOpIt->second);
else if (tok->str() == "not")
@@ -10113,7 +10113,7 @@ void Tokenizer::simplifyMicrosoftStringFunctions()
if (tok->strAt(1) != "(")
continue;
- const std::map