testrunner: got rid of some redundant preprocessing code / added some missing asserts (#5521)
This consolidates the stray invocations of preprocessing.
This commit is contained in:
parent
a22c181553
commit
960e8bb4ea
28
Makefile
28
Makefile
|
@ -709,7 +709,7 @@ test/testbool.o: test/testbool.cpp lib/check.h lib/checkbool.h lib/color.h lib/c
|
||||||
test/testboost.o: test/testboost.cpp lib/check.h lib/checkboost.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testboost.o: test/testboost.cpp lib/check.h lib/checkboost.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testboost.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testboost.cpp
|
||||||
|
|
||||||
test/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.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 test/helpers.h
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testbufferoverrun.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testbufferoverrun.cpp
|
||||||
|
|
||||||
test/testcharvar.o: test/testcharvar.cpp lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testcharvar.o: test/testcharvar.cpp lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
|
@ -721,7 +721,7 @@ test/testcheck.o: test/testcheck.cpp lib/check.h lib/color.h lib/config.h lib/er
|
||||||
test/testclangimport.o: test/testclangimport.cpp lib/check.h lib/clangimport.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testclangimport.o: test/testclangimport.cpp lib/check.h lib/clangimport.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testclangimport.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testclangimport.cpp
|
||||||
|
|
||||||
test/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testclass.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testclass.cpp
|
||||||
|
|
||||||
test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h cli/cppcheckexecutor.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h test/redirect.h
|
test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h cli/cppcheckexecutor.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h test/redirect.h
|
||||||
|
@ -730,7 +730,7 @@ test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmd
|
||||||
test/testcolor.o: test/testcolor.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testcolor.o: test/testcolor.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcolor.cpp
|
||||||
|
|
||||||
test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testcondition.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcondition.cpp
|
||||||
|
|
||||||
test/testconstructors.o: test/testconstructors.cpp lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testconstructors.o: test/testconstructors.cpp lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
||||||
|
@ -757,7 +757,7 @@ test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/che
|
||||||
test/testimportproject.o: test/testimportproject.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testimportproject.o: test/testimportproject.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testimportproject.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp
|
||||||
|
|
||||||
test/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testincompletestatement.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testincompletestatement.cpp
|
||||||
|
|
||||||
test/testinternal.o: test/testinternal.cpp lib/check.h lib/checkinternal.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testinternal.o: test/testinternal.cpp lib/check.h lib/checkinternal.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
|
@ -766,7 +766,7 @@ test/testinternal.o: test/testinternal.cpp lib/check.h lib/checkinternal.h lib/c
|
||||||
test/testio.o: test/testio.cpp lib/check.h lib/checkio.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testio.o: test/testio.cpp lib/check.h lib/checkio.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testio.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testio.cpp
|
||||||
|
|
||||||
test/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testleakautovar.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testleakautovar.cpp
|
||||||
|
|
||||||
test/testlibrary.o: test/testlibrary.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
test/testlibrary.o: test/testlibrary.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
|
@ -778,13 +778,13 @@ test/testmathlib.o: test/testmathlib.cpp lib/check.h lib/color.h lib/config.h li
|
||||||
test/testmemleak.o: test/testmemleak.cpp lib/check.h lib/checkmemoryleak.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testmemleak.o: test/testmemleak.cpp lib/check.h lib/checkmemoryleak.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testmemleak.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testmemleak.cpp
|
||||||
|
|
||||||
test/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checknullpointer.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checknullpointer.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testnullpointer.cpp
|
||||||
|
|
||||||
test/testoptions.o: test/testoptions.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testoptions.o: test/testoptions.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testoptions.cpp
|
||||||
|
|
||||||
test/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testother.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testother.cpp
|
||||||
|
|
||||||
test/testpath.o: test/testpath.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
|
test/testpath.o: test/testpath.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
|
||||||
|
@ -814,22 +814,22 @@ test/testsimplifytemplate.o: test/testsimplifytemplate.cpp lib/check.h lib/color
|
||||||
test/testsimplifytokens.o: test/testsimplifytokens.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsimplifytokens.o: test/testsimplifytokens.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifytokens.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifytokens.cpp
|
||||||
|
|
||||||
test/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsimplifytypedef.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifytypedef.cpp
|
||||||
|
|
||||||
test/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifyusing.cpp
|
||||||
|
|
||||||
test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h test/redirect.h
|
test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h test/redirect.h
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsingleexecutor.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsingleexecutor.cpp
|
||||||
|
|
||||||
test/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testsizeof.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsizeof.cpp
|
||||||
|
|
||||||
test/teststl.o: test/teststl.cpp lib/check.h lib/checkstl.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/teststl.o: test/teststl.cpp lib/check.h lib/checkstl.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststl.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststl.cpp
|
||||||
|
|
||||||
test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/teststring.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststring.cpp
|
||||||
|
|
||||||
test/testsummaries.o: test/testsummaries.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/summaries.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/testsummaries.o: test/testsummaries.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/summaries.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
|
||||||
|
@ -868,10 +868,10 @@ test/testuninitvar.o: test/testuninitvar.cpp lib/check.h lib/checkuninitvar.h li
|
||||||
test/testunusedfunctions.o: test/testunusedfunctions.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testunusedfunctions.o: test/testunusedfunctions.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testunusedfunctions.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedfunctions.cpp
|
||||||
|
|
||||||
test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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 test/helpers.h
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedprivfunc.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedprivfunc.cpp
|
||||||
|
|
||||||
test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testunusedvar.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedvar.cpp
|
||||||
|
|
||||||
test/testutils.o: test/testutils.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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/testutils.o: test/testutils.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.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
|
||||||
|
@ -880,7 +880,7 @@ test/testutils.o: test/testutils.cpp lib/check.h lib/color.h lib/config.h lib/er
|
||||||
test/testvaarg.o: test/testvaarg.cpp lib/check.h lib/checkvaarg.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testvaarg.o: test/testvaarg.cpp lib/check.h lib/checkvaarg.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvaarg.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvaarg.cpp
|
||||||
|
|
||||||
test/testvalueflow.o: test/testvalueflow.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testvalueflow.o: test/testvalueflow.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testvalueflow.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvalueflow.cpp
|
||||||
|
|
||||||
test/testvarid.o: test/testvarid.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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/testvarid.o: test/testvarid.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.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
|
||||||
|
|
|
@ -137,3 +137,34 @@ std::string PreprocessorHelper::getcode(Preprocessor &preprocessor, const std::s
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PreprocessorHelper::preprocess(const char code[], std::vector<std::string> &files, Tokenizer& tokenizer)
|
||||||
|
{
|
||||||
|
// Raw Tokens..
|
||||||
|
std::istringstream istr(code);
|
||||||
|
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
||||||
|
|
||||||
|
// Preprocess..
|
||||||
|
simplecpp::TokenList tokens2(files);
|
||||||
|
std::map<std::string, simplecpp::TokenList*> filedata;
|
||||||
|
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
||||||
|
|
||||||
|
// Tokenizer..
|
||||||
|
tokenizer.createTokens(std::move(tokens2));
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreprocessorHelper::preprocess(Preprocessor &preprocessor, const char code[], std::vector<std::string> &files, Tokenizer& tokenizer)
|
||||||
|
{
|
||||||
|
std::istringstream istr(code);
|
||||||
|
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
||||||
|
|
||||||
|
// Preprocess..
|
||||||
|
simplecpp::TokenList tokens2(files);
|
||||||
|
std::map<std::string, simplecpp::TokenList*> filedata;
|
||||||
|
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
||||||
|
|
||||||
|
// Tokenizer..
|
||||||
|
tokenizer.createTokens(std::move(tokens2));
|
||||||
|
|
||||||
|
preprocessor.setDirectives(tokens1);
|
||||||
|
}
|
||||||
|
|
|
@ -90,6 +90,9 @@ public:
|
||||||
* @param inlineSuppression the inline suppressions
|
* @param inlineSuppression the inline suppressions
|
||||||
*/
|
*/
|
||||||
static std::string getcode(Preprocessor &preprocessor, const std::string &filedata, const std::string &cfg, const std::string &filename, Suppressions *inlineSuppression = nullptr);
|
static std::string getcode(Preprocessor &preprocessor, const std::string &filedata, const std::string &cfg, const std::string &filename, Suppressions *inlineSuppression = nullptr);
|
||||||
|
|
||||||
|
static void preprocess(const char code[], std::vector<std::string> &files, Tokenizer& tokenizer);
|
||||||
|
static void preprocess(Preprocessor &preprocessor, const char code[], std::vector<std::string> &files, Tokenizer& tokenizer);
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace cppcheck {
|
namespace cppcheck {
|
||||||
|
|
|
@ -173,14 +173,13 @@ private:
|
||||||
ASSERT_EQUALS(true, isReturnScope("void positiveTokenOffset() { return; }", 7));
|
ASSERT_EQUALS(true, isReturnScope("void positiveTokenOffset() { return; }", 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
#define isSameExpression(code, tokStr1, tokStr2) isSameExpression_(code, tokStr1, tokStr2, __FILE__, __LINE__)
|
#define isSameExpression(...) isSameExpression_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
bool isSameExpression_(const char code[], const char tokStr1[], const char tokStr2[], const char* file, int line) {
|
bool isSameExpression_(const char* file, int line, const char code[], const char tokStr1[], const char tokStr2[]) {
|
||||||
const Settings settings;
|
const Settings settings;
|
||||||
Library library;
|
Library library;
|
||||||
Tokenizer tokenizer(&settings, this);
|
Tokenizer tokenizer(&settings, this);
|
||||||
std::istringstream istr(code);
|
std::istringstream istr(code);
|
||||||
ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line);
|
ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line);
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
const Token * const tok1 = Token::findsimplematch(tokenizer.tokens(), tokStr1, strlen(tokStr1));
|
const Token * const tok1 = Token::findsimplematch(tokenizer.tokens(), tokStr1, strlen(tokStr1));
|
||||||
const Token * const tok2 = Token::findsimplematch(tok1->next(), tokStr2, strlen(tokStr2));
|
const Token * const tok2 = Token::findsimplematch(tok1->next(), tokStr2, strlen(tokStr2));
|
||||||
return (isSameExpression)(false, false, tok1, tok2, library, false, true, nullptr);
|
return (isSameExpression)(false, false, tok1, tok2, library, false, true, nullptr);
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "checkbufferoverrun.h"
|
#include "checkbufferoverrun.h"
|
||||||
#include "ctu.h"
|
#include "ctu.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "standards.h"
|
#include "standards.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
@ -71,7 +72,8 @@ private:
|
||||||
runChecks<CheckBufferOverrun>(tokenizer, this);
|
runChecks<CheckBufferOverrun>(tokenizer, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkP(const char code[], const char* filename = "test.cpp")
|
#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkP_(const char* file, int line, const char code[], const char* filename = "test.cpp")
|
||||||
{
|
{
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
@ -79,20 +81,12 @@ private:
|
||||||
const Settings settings = settingsBuilder(settings0).severity(Severity::performance)
|
const Settings settings = settingsBuilder(settings0).severity(Severity::performance)
|
||||||
.c(Standards::CLatest).cpp(Standards::CPPLatest).certainty(Certainty::inconclusive).build();
|
.c(Standards::CLatest).cpp(Standards::CPPLatest).certainty(Certainty::inconclusive).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, filename);
|
std::vector<std::string> files(1, filename);
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for buffer overruns..
|
// Check for buffer overruns..
|
||||||
runChecks<CheckBufferOverrun>(tokenizer, this);
|
runChecks<CheckBufferOverrun>(tokenizer, this);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "check.h"
|
#include "check.h"
|
||||||
#include "checkclass.h"
|
#include "checkclass.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -8409,26 +8410,17 @@ private:
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
#define checkUselessOverride(code) checkUselessOverride_(code, __FILE__, __LINE__)
|
#define checkUselessOverride(...) checkUselessOverride_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
void checkUselessOverride_(const char code[], const char* file, int line) {
|
void checkUselessOverride_(const char* file, int line, const char code[]) {
|
||||||
// Clear the error log
|
// Clear the error log
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
const Settings settings = settingsBuilder().severity(Severity::style).build();
|
const Settings settings = settingsBuilder().severity(Severity::style).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
|
||||||
Tokenizer tokenizer(&settings, this);
|
Tokenizer tokenizer(&settings, this);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
|
|
||||||
// Check..
|
// Check..
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checkcondition.h"
|
#include "checkcondition.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
|
@ -127,35 +128,26 @@ private:
|
||||||
TEST_CASE(knownConditionIncrementLoop); // #9808
|
TEST_CASE(knownConditionIncrementLoop); // #9808
|
||||||
}
|
}
|
||||||
|
|
||||||
void check(const char code[], const Settings &settings, const char* filename = "test.cpp") {
|
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void check_(const char* file, int line, const char code[], const Settings &settings, const char* filename = "test.cpp") {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, filename);
|
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
Preprocessor preprocessor(settings);
|
Preprocessor preprocessor(settings);
|
||||||
preprocessor.setDirectives(tokens1);
|
std::vector<std::string> files(1, filename);
|
||||||
|
Tokenizer tokenizer(&settings, this, &preprocessor);
|
||||||
|
PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer);
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this, &preprocessor);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Run checks..
|
// Run checks..
|
||||||
runChecks<CheckCondition>(tokenizer, this);
|
runChecks<CheckCondition>(tokenizer, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void check(const char code[], const char* filename = "test.cpp", bool inconclusive = false) {
|
void check_(const char* file, int line, const char code[], const char* filename = "test.cpp", bool inconclusive = false) {
|
||||||
const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive, inconclusive).build();
|
const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive, inconclusive).build();
|
||||||
check(code, settings, filename);
|
check_(file, line, code, settings, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
void assignAndCompare() {
|
void assignAndCompare() {
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checkother.h"
|
#include "checkother.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
#include "tokenize.h"
|
#include "tokenize.h"
|
||||||
|
@ -37,26 +38,19 @@ public:
|
||||||
private:
|
private:
|
||||||
const Settings settings = settingsBuilder().severity(Severity::warning).build();
|
const Settings settings = settingsBuilder().severity(Severity::warning).build();
|
||||||
|
|
||||||
void check(const char code[], bool inconclusive = false) {
|
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void check_(const char* file, int line, const char code[], bool inconclusive = false) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build();
|
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings1, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&settings1, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for incomplete statements..
|
// Check for incomplete statements..
|
||||||
CheckOther checkOther(&tokenizer, &settings1, this);
|
CheckOther checkOther(&tokenizer, &settings1, this);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include "checkleakautovar.h"
|
#include "checkleakautovar.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -2837,24 +2838,17 @@ public:
|
||||||
private:
|
private:
|
||||||
const Settings settings = settingsBuilder().library("std.cfg").checkLibrary().build();
|
const Settings settings = settingsBuilder().library("std.cfg").checkLibrary().build();
|
||||||
|
|
||||||
void checkP(const char code[], bool cpp = false) {
|
#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkP_(const char* file, int line, const char code[], bool cpp = false) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, cpp?"test.cpp":"test.c");
|
std::vector<std::string> files(1, cpp?"test.cpp":"test.c");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for leaks..
|
// Check for leaks..
|
||||||
runChecks<CheckLeakAutoVar>(tokenizer, this);
|
runChecks<CheckLeakAutoVar>(tokenizer, this);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "checknullpointer.h"
|
#include "checknullpointer.h"
|
||||||
#include "ctu.h"
|
#include "ctu.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -192,26 +193,19 @@ private:
|
||||||
runChecks<CheckNullPointer>(tokenizer, this);
|
runChecks<CheckNullPointer>(tokenizer, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkP(const char code[]) {
|
#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkP_(const char* file, int line, const char code[]) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build();
|
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings1, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings1, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for null pointer dereferences..
|
// Check for null pointer dereferences..
|
||||||
runChecks<CheckNullPointer>(tokenizer, this);
|
runChecks<CheckNullPointer>(tokenizer, this);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checkother.h"
|
#include "checkother.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
|
@ -330,7 +331,8 @@ private:
|
||||||
check_(file, line, code, "test.cpp", true, true, false, s);
|
check_(file, line, code, "test.cpp", true, true, false, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkP(const char code[], const char *filename = "test.cpp") {
|
#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkP_(const char* file, int line, const char code[], const char *filename = "test.cpp") {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
|
@ -343,23 +345,13 @@ private:
|
||||||
settings->standards.cpp = Standards::CPPLatest;
|
settings->standards.cpp = Standards::CPPLatest;
|
||||||
settings->certainty.enable(Certainty::inconclusive);
|
settings->certainty.enable(Certainty::inconclusive);
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, filename);
|
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
Preprocessor preprocessor(*settings);
|
Preprocessor preprocessor(*settings);
|
||||||
preprocessor.setDirectives(tokens1);
|
std::vector<std::string> files(1, filename);
|
||||||
|
Tokenizer tokenizer(settings, this, &preprocessor);
|
||||||
|
PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer);
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(settings, this, &preprocessor);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check..
|
// Check..
|
||||||
runChecks<CheckOther>(tokenizer, this);
|
runChecks<CheckOther>(tokenizer, this);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -263,19 +264,11 @@ private:
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings0, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&settings0, this);
|
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.createLinks();
|
tokenizer.createLinks();
|
||||||
tokenizer.simplifyTypedef();
|
tokenizer.simplifyTypedef();
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -106,15 +107,8 @@ private:
|
||||||
Tokenizer tokenizer(&settings, this);
|
Tokenizer tokenizer(&settings, this);
|
||||||
|
|
||||||
if (preprocess) {
|
if (preprocess) {
|
||||||
std::vector<std::string> files{ "test.cpp" };
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::istringstream istr(code);
|
std::istringstream istr(code);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checksizeof.h"
|
#include "checksizeof.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
#include "tokenize.h"
|
#include "tokenize.h"
|
||||||
|
@ -65,24 +66,17 @@ private:
|
||||||
runChecks<CheckSizeof>(tokenizer, this);
|
runChecks<CheckSizeof>(tokenizer, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkP(const char code[]) {
|
#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkP_(const char* file, int line, const char code[]) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&settings, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check...
|
// Check...
|
||||||
runChecks<CheckSizeof>(tokenizer, this);
|
runChecks<CheckSizeof>(tokenizer, this);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include "checkstring.h"
|
#include "checkstring.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
#include "tokenize.h"
|
#include "tokenize.h"
|
||||||
|
@ -62,24 +63,17 @@ private:
|
||||||
TEST_CASE(deadStrcmp);
|
TEST_CASE(deadStrcmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void check(const char code[], const char filename[] = "test.cpp") {
|
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void check_(const char* file, int line, const char code[], const char filename[] = "test.cpp") {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, filename);
|
std::vector<std::string> files(1, filename);
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&settings, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check char variable usage..
|
// Check char variable usage..
|
||||||
runChecks<CheckString>(tokenizer, this);
|
runChecks<CheckString>(tokenizer, this);
|
||||||
|
|
|
@ -7595,29 +7595,20 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string checkHeaders(const char code[], bool checkHeadersFlag) {
|
#define checkHdrs(...) checkHdrs_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
std::string checkHdrs_(const char* file, int line, const char code[], bool checkHeadersFlag) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build();
|
const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
Preprocessor preprocessor(settings0);
|
Preprocessor preprocessor(settings0);
|
||||||
preprocessor.setDirectives(tokens1);
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
|
Tokenizer tokenizer(&settings, this);
|
||||||
|
PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer);
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
return tokenizer.tokens()->stringifyList();
|
return tokenizer.tokens()->stringifyList();
|
||||||
}
|
}
|
||||||
|
@ -7638,14 +7629,14 @@ private:
|
||||||
"4: void g<int> ( int x ) ;\n"
|
"4: void g<int> ( int x ) ;\n"
|
||||||
"5: } ;\n"
|
"5: } ;\n"
|
||||||
"4: void A :: g<int> ( int x ) { a = 2 ; }\n",
|
"4: void A :: g<int> ( int x ) { a = 2 ; }\n",
|
||||||
checkHeaders(code, true));
|
checkHdrs(code, true));
|
||||||
|
|
||||||
ASSERT_EQUALS("\n\n##file 1\n\n"
|
ASSERT_EQUALS("\n\n##file 1\n\n"
|
||||||
"1:\n"
|
"1:\n"
|
||||||
"|\n"
|
"|\n"
|
||||||
"4:\n"
|
"4:\n"
|
||||||
"5: ;\n",
|
"5: ;\n",
|
||||||
checkHeaders(code, false));
|
checkHdrs(code, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
void removeExtraTemplateKeywords() {
|
void removeExtraTemplateKeywords() {
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checkclass.h"
|
#include "checkclass.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -89,35 +90,25 @@ private:
|
||||||
TEST_CASE(maybeUnused);
|
TEST_CASE(maybeUnused);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
void check(const char code[], cppcheck::Platform::Type platform = cppcheck::Platform::Type::Native) {
|
void check_(const char* file, int line, const char code[], cppcheck::Platform::Type platform = cppcheck::Platform::Type::Native) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
const Settings settings1 = settingsBuilder(settings).platform(platform).build();
|
const Settings settings1 = settingsBuilder(settings).platform(platform).build();
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&settings1, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&settings1, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for unused private functions..
|
// Check for unused private functions..
|
||||||
CheckClass checkClass(&tokenizer, &settings1, this);
|
CheckClass checkClass(&tokenizer, &settings1, this);
|
||||||
checkClass.privateFunctions();
|
checkClass.privateFunctions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void test1() {
|
void test1() {
|
||||||
check("class Fred\n"
|
check("class Fred\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include "checkunusedvar.h"
|
#include "checkunusedvar.h"
|
||||||
#include "errortypes.h"
|
#include "errortypes.h"
|
||||||
|
#include "helpers.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
@ -277,55 +278,36 @@ private:
|
||||||
(checkUnusedVar.checkStructMemberUsage)();
|
(checkUnusedVar.checkStructMemberUsage)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkStructMemberUsageP(const char code[]) {
|
#define checkStructMemberUsageP(...) checkStructMemberUsageP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void checkStructMemberUsageP_(const char* file, int line, const char code[]) {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
Preprocessor preprocessor(settings);
|
Preprocessor preprocessor(settings);
|
||||||
preprocessor.setDirectives(tokens1);
|
Tokenizer tokenizer(&settings, this, &preprocessor);
|
||||||
|
PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer);
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this, &preprocessor);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for unused variables..
|
// Check for unused variables..
|
||||||
CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this);
|
CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this);
|
||||||
(checkUnusedVar.checkStructMemberUsage)();
|
(checkUnusedVar.checkStructMemberUsage)();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define checkFunctionVariableUsageP(...) checkFunctionVariableUsageP_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
void checkFunctionVariableUsageP(const char code[], const char* filename = "test.cpp") {
|
void checkFunctionVariableUsageP_(const char* file, int line, const char code[], const char* filename = "test.cpp") {
|
||||||
// Clear the error buffer..
|
// Clear the error buffer..
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
// Raw tokens..
|
|
||||||
std::vector<std::string> files(1, filename);
|
|
||||||
std::istringstream istr(code);
|
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
|
||||||
|
|
||||||
// Preprocess..
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
Preprocessor preprocessor(settings);
|
Preprocessor preprocessor(settings);
|
||||||
preprocessor.setDirectives(tokens1);
|
std::vector<std::string> files(1, filename);
|
||||||
|
Tokenizer tokenizer(&settings, this, &preprocessor);
|
||||||
|
PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer);
|
||||||
|
|
||||||
// Tokenizer..
|
// Tokenizer..
|
||||||
Tokenizer tokenizer(&settings, this, &preprocessor);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
|
|
||||||
// Check for unused variables..
|
// Check for unused variables..
|
||||||
CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this);
|
CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this);
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "helpers.h"
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "mathlib.h"
|
#include "mathlib.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
@ -486,22 +487,17 @@ private:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bailout(const char code[]) {
|
#define bailout(...) bailout_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
void bailout_(const char* file, int line, const char code[]) {
|
||||||
const Settings s = settingsBuilder().debugwarnings().build();
|
const Settings s = settingsBuilder().debugwarnings().build();
|
||||||
errout.str("");
|
errout.str("");
|
||||||
|
|
||||||
std::vector<std::string> files(1, "test.cpp");
|
std::vector<std::string> files(1, "test.cpp");
|
||||||
std::istringstream istr(code);
|
Tokenizer tokenizer(&s, this);
|
||||||
const simplecpp::TokenList tokens1(istr, files, files[0]);
|
PreprocessorHelper::preprocess(code, files, tokenizer);
|
||||||
|
|
||||||
simplecpp::TokenList tokens2(files);
|
|
||||||
std::map<std::string, simplecpp::TokenList*> filedata;
|
|
||||||
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
|
|
||||||
|
|
||||||
// Tokenize..
|
// Tokenize..
|
||||||
Tokenizer tokenizer(&s, this);
|
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
|
||||||
tokenizer.createTokens(std::move(tokens2));
|
|
||||||
tokenizer.simplifyTokens1("");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define tokenValues(...) tokenValues_(__FILE__, __LINE__, __VA_ARGS__)
|
#define tokenValues(...) tokenValues_(__FILE__, __LINE__, __VA_ARGS__)
|
||||||
|
|
Loading…
Reference in New Issue