From be3d4eb31cb72950757f9898468b227ccc4ad5ef Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 11:09:58 +0200 Subject: [PATCH 01/10] testrunner: added `SimpleTokenizer2` wrapper --- test/helpers.h | 19 ++++++++++++++++++- test/testbufferoverrun.cpp | 4 +--- test/testclass.cpp | 6 ++---- test/testcondition.cpp | 8 +++----- test/testincompletestatement.cpp | 4 +--- test/testleakautovar.cpp | 4 +--- test/testnullpointer.cpp | 4 +--- test/testother.cpp | 4 +--- test/testsimplifytypedef.cpp | 3 +-- test/testsimplifyusing.cpp | 5 ++--- test/testsizeof.cpp | 4 +--- test/teststring.cpp | 4 +--- test/testtokenize.cpp | 3 +-- test/testtype.cpp | 4 +--- test/testunusedprivfunc.cpp | 4 +--- test/testunusedvar.cpp | 7 ++----- test/testvalueflow.cpp | 4 +--- test/testvarid.cpp | 3 +-- 18 files changed, 40 insertions(+), 54 deletions(-) diff --git a/test/helpers.h b/test/helpers.h index c1cb3eb77fd..2b47bed902b 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -101,7 +101,7 @@ class SimpleTokenizer : public Tokenizer { } private: - // TODO. find a better solution + // TODO: find a better solution static const Settings s_settings; }; @@ -246,4 +246,21 @@ struct LibraryHelper static Library::Error loadxmldoc(Library &lib, const tinyxml2::XMLDocument& doc); }; +class SimpleTokenizer2 : public Tokenizer { +public: + template + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], std::vector &files) + : Tokenizer{settings, errorlogger} + { + PreprocessorHelper::preprocess(code, files, *this, errorlogger); + } + + // TODO: get rid of this + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], std::vector &files) + : Tokenizer{settings, errorlogger} + { + PreprocessorHelper::preprocess(code, files, *this, errorlogger); + } +}; + #endif // helpersH diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 9d630916ea5..5f6ce96c068 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -25,7 +25,6 @@ #include "platform.h" #include "settings.h" #include "fixture.h" -#include "tokenize.h" #include #include @@ -77,8 +76,7 @@ class TestBufferOverrun : public TestFixture { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testclass.cpp b/test/testclass.cpp index 20ee4e4d947..dc635efa290 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -8704,8 +8704,7 @@ class TestClass : public TestFixture { const Settings settings = settingsBuilder().severity(Severity::style).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -9152,8 +9151,7 @@ class TestClass : public TestFixture { const Settings settings = settingsBuilder().severity(Severity::performance).library("std.cfg").build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testcondition.cpp b/test/testcondition.cpp index f3927925329..a6bfd1e00ff 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -22,7 +22,6 @@ #include "helpers.h" #include "platform.h" #include "settings.h" -#include "tokenize.h" #include #include @@ -139,9 +138,9 @@ class TestCondition : public TestFixture { #define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings = settingsBuilder(options.s ? *options.s : settings0).certainty(Certainty::inconclusive, options.inconclusive).build(); - Tokenizer tokenizer(settings, *this); + std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -156,8 +155,7 @@ class TestCondition : public TestFixture { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index e954857425b..68670360431 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -21,7 +21,6 @@ #include "helpers.h" #include "settings.h" #include "fixture.h" -#include "tokenize.h" #include #include @@ -45,8 +44,7 @@ class TestIncompleteStatement : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, options.inconclusive).build(); std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - Tokenizer tokenizer(settings1, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings1, *this, code, files); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index 039068a2fba..fa840bce2e1 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -20,7 +20,6 @@ #include "fixture.h" #include "helpers.h" #include "settings.h" -#include "tokenize.h" #include #include @@ -3196,8 +3195,7 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) void checkP_(const char* file, int line, const char code[], bool cpp = false) { std::vector files(1, cpp?"test.cpp":"test.c"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index 31ac0abc492..f42571d219c 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -25,7 +25,6 @@ #include "library.h" #include "settings.h" #include "token.h" -#include "tokenize.h" #include #include @@ -202,8 +201,7 @@ class TestNullPointer : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings1, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings1, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testother.cpp b/test/testother.cpp index 1798322bdb2..40b0c25c4cc 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -23,7 +23,6 @@ #include "platform.h" #include "settings.h" #include "standards.h" -#include "tokenize.h" #include #include @@ -355,8 +354,7 @@ class TestOther : public TestFixture { settings->certainty.enable(Certainty::inconclusive); std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - Tokenizer tokenizer(*settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(*settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testsimplifytypedef.cpp b/test/testsimplifytypedef.cpp index 85b0f8e420e..b83f690a810 100644 --- a/test/testsimplifytypedef.cpp +++ b/test/testsimplifytypedef.cpp @@ -287,8 +287,7 @@ class TestSimplifyTypedef : public TestFixture { std::string simplifyTypedefP(const char code[]) { std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings0, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings0, *this, code, files); // Tokenize.. tokenizer.createLinks(); diff --git a/test/testsimplifyusing.cpp b/test/testsimplifyusing.cpp index 6cd4ce97fb6..ba20e495182 100644 --- a/test/testsimplifyusing.cpp +++ b/test/testsimplifyusing.cpp @@ -22,7 +22,6 @@ #include "platform.h" #include "settings.h" #include "token.h" -#include "tokenize.h" #include "tokenlist.h" #include "utils.h" @@ -114,9 +113,9 @@ class TestSimplifyUsing : public TestFixture { const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive).debugwarnings(options.debugwarnings).platform(options.type).build(); if (options.preprocess) { - Tokenizer tokenizer(settings, *this); std::vector files(1, "test.cpp"); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::istringstream istr(code); ASSERT_LOC(tokenizer.list.createTokens(istr, "test.cpp"), file, line); // TODO: this creates the tokens a second time ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index cd4ce468134..f1f772de80e 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -21,7 +21,6 @@ #include "fixture.h" #include "helpers.h" #include "settings.h" -#include "tokenize.h" #include #include @@ -63,8 +62,7 @@ class TestSizeof : public TestFixture { template void checkP_(const char* file, int line, const char (&code)[size]) { std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/teststring.cpp b/test/teststring.cpp index 9a8ec9b55ab..94da0ef4273 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -22,7 +22,6 @@ #include "helpers.h" #include "settings.h" #include "fixture.h" -#include "tokenize.h" #include #include @@ -70,8 +69,7 @@ class TestString : public TestFixture { #define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index b183cc206f2..28e5f7c8f34 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7951,8 +7951,7 @@ class TestTokenizer : public TestFixture { const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtype.cpp b/test/testtype.cpp index 2d94c4afbb3..d7976bcf2fd 100644 --- a/test/testtype.cpp +++ b/test/testtype.cpp @@ -23,7 +23,6 @@ #include "platform.h" #include "settings.h" #include "standards.h" -#include "tokenize.h" #include #include @@ -90,8 +89,7 @@ class TestType : public TestFixture { const Settings settings1 = settingsBuilder(settings).severity(Severity::warning).severity(Severity::portability).build(); std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - Tokenizer tokenizer(settings1, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings1, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index 9723312e2f5..af595bc22dd 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -22,7 +22,6 @@ #include "platform.h" #include "settings.h" #include "fixture.h" -#include "tokenize.h" #include #include @@ -97,8 +96,7 @@ class TestUnusedPrivateFunction : public TestFixture { const Settings settings1 = settingsBuilder(settings).platform(options.platform).build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings1, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings1, *this, code, files); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index 8481bdcf774..9a07ede946f 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -23,7 +23,6 @@ #include "preprocessor.h" #include "settings.h" #include "standards.h" -#include "tokenize.h" #include #include @@ -303,8 +302,7 @@ class TestUnusedVar : public TestFixture { #define checkStructMemberUsageP(...) checkStructMemberUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkStructMemberUsageP_(const char* file, int line, const char code[]) { std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -317,8 +315,7 @@ class TestUnusedVar : public TestFixture { #define checkFunctionVariableUsageP(...) checkFunctionVariableUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkFunctionVariableUsageP_(const char* file, int line, const char code[]) { std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index b29f069ed56..cf58e90bd63 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -24,7 +24,6 @@ #include "settings.h" #include "standards.h" #include "token.h" -#include "tokenize.h" #include "vfvalue.h" #include @@ -485,8 +484,7 @@ class TestValueFlow : public TestFixture { const Settings s = settingsBuilder().debugwarnings().build(); std::vector files(1, "test.cpp"); - Tokenizer tokenizer(s, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(s, *this, code, files); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvarid.cpp b/test/testvarid.cpp index a82010e74e1..c59ceb51d10 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -300,8 +300,7 @@ class TestVarID : public TestFixture { template std::string tokenizeExpr_(const char* file, int line, const char (&code)[size]) { std::vector files(1, "test.cpp"); - Tokenizer tokenizer(settings, *this); - PreprocessorHelper::preprocess(code, files, tokenizer, *this); + SimpleTokenizer2 tokenizer(settings, *this, code, files); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); From cb1a16ae91c8ddfe0ba65e8c66eaeae7e9c8b727 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 11:23:43 +0200 Subject: [PATCH 02/10] moved some code from `PreprocessorHelper` to `TestPreprocessor` --- test/helpers.cpp | 22 ---------------------- test/helpers.h | 4 ---- test/testpreprocessor.cpp | 32 +++++++++++++++++++++++++++----- 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index 1030fe5ef69..9aa8a80b942 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -180,28 +180,6 @@ void PreprocessorHelper::preprocess(const char code[], std::vector tokenizer.setDirectives(std::move(directives)); } -// TODO: get rid of this -void PreprocessorHelper::preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger, const simplecpp::DUI& dui) -{ - // TODO: make sure the given Tokenizer has not been used yet - - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - // TODO: provide and handle outputList - simplecpp::preprocess(tokens2, tokens1, files, filedata, dui); - - // Tokenizer.. - tokenizer.list.createTokens(std::move(tokens2)); - - const Preprocessor preprocessor(tokenizer.getSettings(), errorlogger); - std::list directives = preprocessor.createDirectives(tokens1); - tokenizer.setDirectives(std::move(directives)); -} - std::vector PreprocessorHelper::getRemarkComments(const char code[], ErrorLogger& errorLogger) { std::vector files{"test.cpp"}; diff --git a/test/helpers.h b/test/helpers.h index 2b47bed902b..c8b41ebff0f 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -37,9 +37,6 @@ class Token; class SuppressionList; class ErrorLogger; -namespace simplecpp { - struct DUI; -} namespace tinyxml2 { class XMLDocument; } @@ -172,7 +169,6 @@ class PreprocessorHelper static std::map getcode(const Settings& settings, ErrorLogger& errorlogger, const char code[], const std::string &filename = "file.c", SuppressionList *inlineSuppression = nullptr); static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger); - static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger, const simplecpp::DUI& dui); /** get remark comments */ static std::vector getRemarkComments(const char code[], ErrorLogger& errorLogger); diff --git a/test/testpreprocessor.cpp b/test/testpreprocessor.cpp index fe893858dba..57ed1dbb0bb 100644 --- a/test/testpreprocessor.cpp +++ b/test/testpreprocessor.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -60,6 +61,27 @@ class TestPreprocessor : public TestFixture { return tokens2.stringify(); } + static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger, const simplecpp::DUI& dui) + { + // TODO: make sure the given Tokenizer has not been used yet + + std::istringstream istr(code); + const simplecpp::TokenList tokens1(istr, files, files[0]); + + // Preprocess.. + simplecpp::TokenList tokens2(files); + std::map filedata; + // TODO: provide and handle outputList + simplecpp::preprocess(tokens2, tokens1, files, filedata, dui); + + // Tokenizer.. + tokenizer.list.createTokens(std::move(tokens2)); + + const Preprocessor preprocessor(tokenizer.getSettings(), errorlogger); + std::list directives = preprocessor.createDirectives(tokens1); + tokenizer.setDirectives(std::move(directives)); + } + const Settings settings0 = settingsBuilder().severity(Severity::information).build(); void run() override { @@ -2548,35 +2570,35 @@ class TestPreprocessor : public TestFixture { { Tokenizer tokenizer(settingsDefault, *this); dui.std = "c89"; - PreprocessorHelper::preprocess(code, files, tokenizer, *this, dui); + preprocess(code, files, tokenizer, *this, dui); ASSERT(tokenizer.list.front()); } { Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu23"; - PreprocessorHelper::preprocess(code, files, tokenizer, *this, dui); + preprocess(code, files, tokenizer, *this, dui); ASSERT(tokenizer.list.front()); } { Tokenizer tokenizer(settingsDefault, *this); dui.std = "c++98"; - PreprocessorHelper::preprocess(code, files, tokenizer, *this, dui); + preprocess(code, files, tokenizer, *this, dui); ASSERT(tokenizer.list.front()); } { Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu++26"; - PreprocessorHelper::preprocess(code, files, tokenizer, *this, dui); + preprocess(code, files, tokenizer, *this, dui); ASSERT(tokenizer.list.front()); } { Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu77"; - PreprocessorHelper::preprocess(code, files, tokenizer, *this, dui); + preprocess(code, files, tokenizer, *this, dui); ASSERT(!tokenizer.list.front()); // nothing is tokenized when an unknown standard is provided } } From 6f29f5c706c9747321eeb30ea8b0e30589c23c31 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 11:32:19 +0200 Subject: [PATCH 03/10] small `TestPreprocessor` cleanup --- test/testpreprocessor.cpp | 43 ++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/test/testpreprocessor.cpp b/test/testpreprocessor.cpp index 57ed1dbb0bb..a2a4aeeb104 100644 --- a/test/testpreprocessor.cpp +++ b/test/testpreprocessor.cpp @@ -26,7 +26,6 @@ #include "preprocessor.h" #include "settings.h" #include "suppressions.h" -#include "tokenize.h" #include "tokenlist.h" #include "fixture.h" #include "helpers.h" @@ -36,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -61,9 +61,10 @@ class TestPreprocessor : public TestFixture { return tokens2.stringify(); } - static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger, const simplecpp::DUI& dui) + static void preprocess(const char code[], std::vector &files, TokenList& tokenlist, const simplecpp::DUI& dui) { - // TODO: make sure the given Tokenizer has not been used yet + if (tokenlist.front()) + throw std::runtime_error("token list not empty"); std::istringstream istr(code); const simplecpp::TokenList tokens1(istr, files, files[0]); @@ -75,11 +76,7 @@ class TestPreprocessor : public TestFixture { simplecpp::preprocess(tokens2, tokens1, files, filedata, dui); // Tokenizer.. - tokenizer.list.createTokens(std::move(tokens2)); - - const Preprocessor preprocessor(tokenizer.getSettings(), errorlogger); - std::list directives = preprocessor.createDirectives(tokens1); - tokenizer.setDirectives(std::move(directives)); + tokenlist.createTokens(std::move(tokens2)); } const Settings settings0 = settingsBuilder().severity(Severity::information).build(); @@ -2568,38 +2565,38 @@ class TestPreprocessor : public TestFixture { simplecpp::DUI dui; { - Tokenizer tokenizer(settingsDefault, *this); dui.std = "c89"; - preprocess(code, files, tokenizer, *this, dui); - ASSERT(tokenizer.list.front()); + TokenList tokenlist{&settingsDefault}; + preprocess(code, files, tokenlist, dui); + ASSERT(tokenlist.front()); } { - Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu23"; - preprocess(code, files, tokenizer, *this, dui); - ASSERT(tokenizer.list.front()); + TokenList tokenlist{&settingsDefault}; + preprocess(code, files, tokenlist, dui); + ASSERT(tokenlist.front()); } { - Tokenizer tokenizer(settingsDefault, *this); dui.std = "c++98"; - preprocess(code, files, tokenizer, *this, dui); - ASSERT(tokenizer.list.front()); + TokenList tokenlist{&settingsDefault}; + preprocess(code, files, tokenlist, dui); + ASSERT(tokenlist.front()); } { - Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu++26"; - preprocess(code, files, tokenizer, *this, dui); - ASSERT(tokenizer.list.front()); + TokenList tokenlist{&settingsDefault}; + preprocess(code, files, tokenlist, dui); + ASSERT(tokenlist.front()); } { - Tokenizer tokenizer(settingsDefault, *this); dui.std = "gnu77"; - preprocess(code, files, tokenizer, *this, dui); - ASSERT(!tokenizer.list.front()); // nothing is tokenized when an unknown standard is provided + TokenList tokenlist{&settingsDefault}; + preprocess(code, files, tokenlist, dui); + ASSERT(!tokenlist.front()); // nothing is tokenized when an unknown standard is provided } } }; From 03f6a6e4d6322e35c0c2082320f659af152b1434 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 17:06:20 +0200 Subject: [PATCH 04/10] testrunner: more `SimpleTokenizer` usage --- test/helpers.h | 46 ++++++++++++++++++++++++++---------- test/testclass.cpp | 9 ++----- test/testunusedfunctions.cpp | 9 ++----- test/testvarid.cpp | 9 ++----- 4 files changed, 39 insertions(+), 34 deletions(-) diff --git a/test/helpers.h b/test/helpers.h index c8b41ebff0f..49f280b2b7d 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -66,38 +66,58 @@ class SimpleTokenizer : public Tokenizer { } */ - /** - * Tokenize code - * @param code The code - * @param cpp Indicates if the code is C++ - * @param configuration E.g. "A" for code where "#ifdef A" is true - * @return false if source code contains syntax errors - */ + template + bool tokenize(const char (&code)[size], + const std::string& filename, + const std::string &configuration = "") + { + std::istringstream istr(code); + return tokenize(istr, filename, configuration); + } + template bool tokenize(const char (&code)[size], bool cpp = true, const std::string &configuration = "") { std::istringstream istr(code); - if (!list.createTokens(istr, cpp ? "test.cpp" : "test.c")) - return false; + return tokenize(istr, std::string(cpp ? "test.cpp" : "test.c"), configuration); + } - return simplifyTokens1(configuration); + bool tokenize(const std::string& code, + const std::string& filename, + const std::string &configuration = "") + { + std::istringstream istr(code); + return tokenize(istr, filename, configuration); } - // TODO: get rid of this bool tokenize(const std::string& code, bool cpp = true, const std::string &configuration = "") { std::istringstream istr(code); - if (!list.createTokens(istr, cpp ? "test.cpp" : "test.c")) + return tokenize(istr, std::string(cpp ? "test.cpp" : "test.c"), configuration); + } + +private: + /** + * Tokenize code + * @param istr The code as stream + * @param filename Indicates if the code is C++ + * @param configuration E.g. "A" for code where "#ifdef A" is true + * @return false if source code contains syntax errors + */ + bool tokenize(std::istream& istr, + const std::string& filename, + const std::string &configuration = "") + { + if (!list.createTokens(istr, filename)) return false; return simplifyTokens1(configuration); } -private: // TODO: find a better solution static const Settings s_settings; }; diff --git a/test/testclass.cpp b/test/testclass.cpp index dc635efa290..30985453b3d 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -23,12 +23,9 @@ #include "fixture.h" #include "helpers.h" #include "settings.h" -#include "tokenize.h" -#include "tokenlist.h" #include #include -#include #include #include @@ -9084,11 +9081,9 @@ class TestClass : public TestFixture { // getFileInfo std::list fileInfo; for (const std::string& c: code) { - Tokenizer tokenizer(settingsDefault, *this); - std::istringstream istr(c); + SimpleTokenizer tokenizer{settingsDefault, *this}; const std::string filename = std::to_string(fileInfo.size()) + ".cpp"; - ASSERT(tokenizer.list.createTokens(istr, filename)); - ASSERT(tokenizer.simplifyTokens1("")); + ASSERT(tokenizer.tokenize(c, filename)); fileInfo.push_back(check.getFileInfo(tokenizer, settingsDefault)); } diff --git a/test/testunusedfunctions.cpp b/test/testunusedfunctions.cpp index 657ee0f3a7f..e26b49f3199 100644 --- a/test/testunusedfunctions.cpp +++ b/test/testunusedfunctions.cpp @@ -22,11 +22,8 @@ #include "helpers.h" #include "platform.h" #include "settings.h" -#include "tokenize.h" -#include "tokenlist.h" #include -#include #include class TestUnusedFunctions : public TestFixture { @@ -598,10 +595,8 @@ class TestUnusedFunctions : public TestFixture { for (int i = 1; i <= 2; ++i) { const std::string fname = "test" + std::to_string(i) + ".cpp"; - Tokenizer tokenizer(settings, *this); - std::istringstream istr(code); - ASSERT(tokenizer.list.createTokens(istr, fname)); - ASSERT(tokenizer.simplifyTokens1("")); + SimpleTokenizer tokenizer{settings, *this}; + ASSERT(tokenizer.tokenize(code, fname)); c.parseTokens(tokenizer, settings); } diff --git a/test/testvarid.cpp b/test/testvarid.cpp index c59ceb51d10..1e9410eed33 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -22,11 +22,8 @@ #include "standards.h" #include "fixture.h" #include "token.h" -#include "tokenize.h" -#include "tokenlist.h" #include -#include #include #include @@ -285,10 +282,8 @@ class TestVarID : public TestFixture { #define tokenizeHeader(...) tokenizeHeader_(__FILE__, __LINE__, __VA_ARGS__) template std::string tokenizeHeader_(const char* file, int line, const char (&code)[size], const char filename[]) { - Tokenizer tokenizer(settings, *this); - std::istringstream istr(code); - ASSERT_LOC(tokenizer.list.createTokens(istr, filename), file, line); - ASSERT_EQUALS(true, tokenizer.simplifyTokens1("")); + SimpleTokenizer tokenizer{settings, *this}; + ASSERT_LOC((tokenizer.tokenize)(code, std::string(filename)), file, line); // result.. Token::stringifyOptions options = Token::stringifyOptions::forDebugVarId(); From f77f5cd772b4f8148fea77bc2a1d744fa305e4c7 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 17:17:15 +0200 Subject: [PATCH 05/10] moved `preprocess()` from `PreprocessorHelper` to `SimpleTokenizer2` --- test/helpers.cpp | 2 +- test/helpers.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index 9aa8a80b942..6fac503f7ff 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -162,7 +162,7 @@ std::map PreprocessorHelper::getcode(const Settings& s return cfgcode; } -void PreprocessorHelper::preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger) +void SimpleTokenizer2::preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger) { // TODO: make sure the given Tokenizer has not been used yet diff --git a/test/helpers.h b/test/helpers.h index 49f280b2b7d..22ac57b4104 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -188,8 +188,6 @@ class PreprocessorHelper static std::string getcode(const Settings& settings, ErrorLogger& errorlogger, const std::string &filedata, const std::string &cfg, const std::string &filename, SuppressionList *inlineSuppression = nullptr); static std::map getcode(const Settings& settings, ErrorLogger& errorlogger, const char code[], const std::string &filename = "file.c", SuppressionList *inlineSuppression = nullptr); - static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger); - /** get remark comments */ static std::vector getRemarkComments(const char code[], ErrorLogger& errorLogger); @@ -268,15 +266,18 @@ class SimpleTokenizer2 : public Tokenizer { SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], std::vector &files) : Tokenizer{settings, errorlogger} { - PreprocessorHelper::preprocess(code, files, *this, errorlogger); + preprocess(code, files, *this, errorlogger); } // TODO: get rid of this SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], std::vector &files) : Tokenizer{settings, errorlogger} { - PreprocessorHelper::preprocess(code, files, *this, errorlogger); + preprocess(code, files, *this, errorlogger); } + +private: + static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger); }; #endif // helpersH From 8b2c1be96e1dc9b6d2b87862e037b37b675bf226 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 17:24:36 +0200 Subject: [PATCH 06/10] testrunner: moved `getRemarkComments()` from `PreprocessorHelper` to `TestPreprocessor` --- Makefile | 100 +++++++++++++++++++------------------- test/helpers.cpp | 12 ----- test/helpers.h | 4 -- test/testpreprocessor.cpp | 20 ++++++-- 4 files changed, 66 insertions(+), 70 deletions(-) diff --git a/Makefile b/Makefile index 8d2d0cc7e73..94bd132694e 100644 --- a/Makefile +++ b/Makefile @@ -686,7 +686,7 @@ cli/stacktrace.o: cli/stacktrace.cpp cli/stacktrace.h lib/config.h lib/utils.h cli/threadexecutor.o: cli/threadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/checkers.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h lib/xml.h test/fixture.h test/helpers.h test/options.h test/redirect.h +test/fixture.o: test/fixture.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h lib/xml.h test/helpers.h @@ -698,28 +698,28 @@ test/main.o: test/main.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/c 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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/test64bit.o: test/test64bit.cpp lib/addoninfo.h lib/check.h lib/check64bit.h lib/checkers.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/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/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testassert.o: test/testassert.cpp lib/addoninfo.h lib/check.h lib/checkassert.h lib/checkers.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/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/checkers.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/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 +test/testastutils.o: test/testastutils.cpp lib/addoninfo.h lib/astutils.h lib/check.h lib/checkers.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/smallvector.h lib/sourcelocation.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testautovariables.o: test/testautovariables.cpp lib/addoninfo.h lib/check.h lib/checkautovariables.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testbool.o: test/testbool.cpp lib/addoninfo.h lib/check.h lib/checkbool.h lib/checkers.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/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/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkbufferoverrun.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testbufferoverrun.o: test/testbufferoverrun.cpp lib/addoninfo.h lib/check.h lib/checkbufferoverrun.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testcharvar.o: test/testcharvar.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/utils.h test/fixture.h @@ -728,28 +728,28 @@ test/testcheck.o: test/testcheck.cpp lib/addoninfo.h lib/check.h lib/checkers.h test/testclangimport.o: test/testclangimport.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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 -test/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkclass.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testclass.o: test/testclass.cpp lib/addoninfo.h lib/check.h lib/checkclass.h lib/checkers.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/settings.h lib/standards.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 -test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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 +test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testcondition.o: test/testcondition.cpp lib/addoninfo.h lib/check.h lib/checkcondition.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testconstructors.o: test/testconstructors.cpp lib/addoninfo.h lib/check.h lib/checkclass.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.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/checkers.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 +test/testcppcheck.o: test/testcppcheck.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testexceptionsafety.o: test/testexceptionsafety.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/testexecutor.o: test/testexecutor.cpp cli/executor.h lib/addoninfo.h lib/check.h lib/checkers.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 @@ -761,46 +761,46 @@ test/testfilelister.o: test/testfilelister.cpp cli/filelister.h lib/addoninfo.h test/testfilesettings.o: test/testfilesettings.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testfunctions.o: test/testfunctions.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testgarbage.o: test/testgarbage.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/testgarbage.cpp test/testimportproject.o: test/testimportproject.cpp lib/addoninfo.h lib/check.h lib/checkers.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testincompletestatement.o: test/testincompletestatement.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testinternal.o: test/testinternal.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testio.o: test/testio.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testleakautovar.o: test/testleakautovar.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/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 lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/templatesimplifier.h lib/token.h lib/tokenlist.h lib/utils.h lib/vfvalue.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/checkers.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/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 +test/testmemleak.o: test/testmemleak.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/sourcelocation.h lib/standards.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/testmemleak.cpp -test/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testnullpointer.o: test/testnullpointer.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testother.o: test/testother.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testpath.o: test/testpath.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/utils.h test/fixture.h @@ -809,64 +809,64 @@ test/testpathmatch.o: test/testpathmatch.cpp lib/addoninfo.h lib/check.h lib/che test/testplatform.o: test/testplatform.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testpostfixoperator.o: test/testpostfixoperator.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/checkers.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 +test/testprocessexecutor.o: test/testprocessexecutor.cpp cli/executor.h cli/processexecutor.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testprogrammemory.o: test/testprogrammemory.cpp lib/addoninfo.h lib/check.h lib/checkers.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/programmemory.h lib/settings.h lib/standards.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/checkers.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 +test/testsettings.o: test/testsettings.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testsimplifytemplate.o: test/testsimplifytemplate.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/testsimplifytemplate.cpp -test/testsimplifytokens.o: test/testsimplifytokens.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testsimplifytokens.o: test/testsimplifytokens.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/testsimplifytokens.cpp -test/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testsimplifytypedef.o: test/testsimplifytypedef.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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 -test/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testsimplifyusing.o: test/testsimplifyusing.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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 +test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testsizeof.o: test/testsizeof.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/teststl.o: test/teststl.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/teststl.cpp -test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/teststring.o: test/teststring.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testsummaries.o: test/testsummaries.cpp lib/addoninfo.h lib/check.h lib/checkers.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/summaries.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/checkers.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 +test/testsuppressions.o: test/testsuppressions.cpp cli/cppcheckexecutor.h cli/executor.h cli/processexecutor.h cli/singleexecutor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/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 +test/testsymboldatabase.o: test/testsymboldatabase.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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 +test/testthreadexecutor.o: test/testthreadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/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/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testtoken.o: test/testtoken.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/testtoken.cpp test/testtokenize.o: test/testtokenize.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h @@ -875,19 +875,19 @@ test/testtokenize.o: test/testtokenize.cpp externals/simplecpp/simplecpp.h lib/a test/testtokenlist.o: test/testtokenlist.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/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/testtokenlist.cpp -test/testtokenrange.o: test/testtokenrange.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/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 +test/testtokenrange.o: test/testtokenrange.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testtype.o: test/testtype.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/testtype.cpp -test/testuninitvar.o: test/testuninitvar.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testuninitvar.o: test/testuninitvar.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testunusedfunctions.o: test/testunusedfunctions.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testunusedprivfunc.o: test/testunusedprivfunc.cpp lib/addoninfo.h lib/check.h lib/checkclass.h lib/checkers.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/tokenize.h lib/tokenlist.h lib/utils.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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h @@ -896,13 +896,13 @@ test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib test/testutils.o: test/testutils.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/checkers.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/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h +test/testvaarg.o: test/testvaarg.cpp lib/addoninfo.h lib/check.h lib/checkers.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/settings.h lib/standards.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/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testvalueflow.o: test/testvalueflow.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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 -test/testvarid.o: test/testvarid.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/checkers.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/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h +test/testvarid.o: test/testvarid.cpp lib/addoninfo.h lib/check.h lib/checkers.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/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/testvarid.cpp test/testvfvalue.o: test/testvfvalue.cpp lib/addoninfo.h lib/check.h lib/checkers.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/utils.h lib/vfvalue.h test/fixture.h diff --git a/test/helpers.cpp b/test/helpers.cpp index 6fac503f7ff..e0715ca4708 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -180,18 +180,6 @@ void SimpleTokenizer2::preprocess(const char code[], std::vector &f tokenizer.setDirectives(std::move(directives)); } -std::vector PreprocessorHelper::getRemarkComments(const char code[], ErrorLogger& errorLogger) -{ - std::vector files{"test.cpp"}; - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - const Settings settings; - - const Preprocessor preprocessor(settings, errorLogger); - return preprocessor.getRemarkComments(tokens1); -} - bool LibraryHelper::loadxmldata(Library &lib, const char xmldata[], std::size_t len) { tinyxml2::XMLDocument doc; diff --git a/test/helpers.h b/test/helpers.h index 22ac57b4104..8accc8753d6 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -20,7 +20,6 @@ #define helpersH #include "library.h" -#include "preprocessor.h" #include "settings.h" #include "standards.h" #include "tokenize.h" @@ -188,9 +187,6 @@ class PreprocessorHelper static std::string getcode(const Settings& settings, ErrorLogger& errorlogger, const std::string &filedata, const std::string &cfg, const std::string &filename, SuppressionList *inlineSuppression = nullptr); static std::map getcode(const Settings& settings, ErrorLogger& errorlogger, const char code[], const std::string &filename = "file.c", SuppressionList *inlineSuppression = nullptr); - /** get remark comments */ - static std::vector getRemarkComments(const char code[], ErrorLogger& errorLogger); - private: static std::map getcode(const Settings& settings, ErrorLogger& errorlogger, const char code[], std::set cfgs, const std::string &filename = "file.c", SuppressionList *inlineSuppression = nullptr); }; diff --git a/test/testpreprocessor.cpp b/test/testpreprocessor.cpp index a2a4aeeb104..754355efcd8 100644 --- a/test/testpreprocessor.cpp +++ b/test/testpreprocessor.cpp @@ -79,6 +79,18 @@ class TestPreprocessor : public TestFixture { tokenlist.createTokens(std::move(tokens2)); } + static std::vector getRemarkComments(const char code[], ErrorLogger& errorLogger) + { + std::vector files{"test.cpp"}; + std::istringstream istr(code); + const simplecpp::TokenList tokens1(istr, files, files[0]); + + const Settings settings; + + const Preprocessor preprocessor(settings, errorLogger); + return preprocessor.getRemarkComments(tokens1); + } + const Settings settings0 = settingsBuilder().severity(Severity::information).build(); void run() override { @@ -1937,7 +1949,7 @@ class TestPreprocessor : public TestFixture { void remarkComment1() { const char code[] = "// REMARK: assignment with 1\n" "x=1;\n"; - const auto remarkComments = PreprocessorHelper::getRemarkComments(code, *this); + const auto remarkComments = getRemarkComments(code, *this); ASSERT_EQUALS(1, remarkComments.size()); ASSERT_EQUALS(2, remarkComments[0].lineNumber); ASSERT_EQUALS("assignment with 1", remarkComments[0].str); @@ -1945,7 +1957,7 @@ class TestPreprocessor : public TestFixture { void remarkComment2() { const char code[] = "x=1; ///REMARK assignment with 1\n"; - const auto remarkComments = PreprocessorHelper::getRemarkComments(code, *this); + const auto remarkComments = getRemarkComments(code, *this); ASSERT_EQUALS(1, remarkComments.size()); ASSERT_EQUALS(1, remarkComments[0].lineNumber); ASSERT_EQUALS("assignment with 1", remarkComments[0].str); @@ -1954,7 +1966,7 @@ class TestPreprocessor : public TestFixture { void remarkComment3() { const char code[] = "/** REMARK: assignment with 1 */\n" "x=1;\n"; - const auto remarkComments = PreprocessorHelper::getRemarkComments(code, *this); + const auto remarkComments = getRemarkComments(code, *this); ASSERT_EQUALS(1, remarkComments.size()); ASSERT_EQUALS(2, remarkComments[0].lineNumber); ASSERT_EQUALS("assignment with 1 ", remarkComments[0].str); @@ -1962,7 +1974,7 @@ class TestPreprocessor : public TestFixture { void remarkComment4() { const char code[] = "//REMARK /"; - const auto remarkComments = PreprocessorHelper::getRemarkComments(code, *this); + const auto remarkComments = getRemarkComments(code, *this); ASSERT_EQUALS(0, remarkComments.size()); } From 42b909f67b6aa2f20519229797aca4f6fa741520 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 3 Apr 2025 17:26:53 +0200 Subject: [PATCH 07/10] testpreprocessor.cpp: fixed `functionConst` selfcheck warning --- test/testpreprocessor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testpreprocessor.cpp b/test/testpreprocessor.cpp index 754355efcd8..222ae7fa0c6 100644 --- a/test/testpreprocessor.cpp +++ b/test/testpreprocessor.cpp @@ -2569,7 +2569,7 @@ class TestPreprocessor : public TestFixture { ASSERT(getHash(code2) != getHash(code3)); } - void standard() { + void standard() const { std::vector files = {"test.cpp"}; const char code[] = "int a;"; From cc7165624752666970d468c27945ed37c3d70189 Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 4 Apr 2025 11:25:42 +0200 Subject: [PATCH 08/10] testrunner: do not pass file0 via filelist into `SimpleTokenizer2` --- test/helpers.cpp | 6 ++++-- test/helpers.h | 10 +++++----- test/testbufferoverrun.cpp | 4 ++-- test/testclass.cpp | 8 ++++---- test/testcondition.cpp | 8 ++++---- test/testincompletestatement.cpp | 4 ++-- test/testleakautovar.cpp | 4 ++-- test/testnullpointer.cpp | 4 ++-- test/testother.cpp | 4 ++-- test/testsimplifytypedef.cpp | 4 ++-- test/testsimplifyusing.cpp | 4 ++-- test/testsizeof.cpp | 4 ++-- test/teststring.cpp | 4 ++-- test/testtokenize.cpp | 4 ++-- test/testtype.cpp | 4 ++-- test/testunusedprivfunc.cpp | 4 ++-- test/testunusedvar.cpp | 8 ++++---- test/testvalueflow.cpp | 4 ++-- test/testvarid.cpp | 4 ++-- 19 files changed, 49 insertions(+), 47 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index e0715ca4708..9a354180380 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -162,13 +162,15 @@ std::map PreprocessorHelper::getcode(const Settings& s return cfgcode; } -void SimpleTokenizer2::preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger) +void SimpleTokenizer2::preprocess(const char code[], std::vector &files, const std::string& file0, Tokenizer& tokenizer, ErrorLogger& errorlogger) { + assert(files.empty()); + // TODO: make sure the given Tokenizer has not been used yet // TODO: get rid of stream std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); + const simplecpp::TokenList tokens1(istr, files, file0); Preprocessor preprocessor(tokenizer.getSettings(), errorlogger); simplecpp::TokenList tokens2 = preprocessor.preprocess(tokens1, "", files, true); diff --git a/test/helpers.h b/test/helpers.h index 8accc8753d6..c3bf3e10eb5 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -259,21 +259,21 @@ struct LibraryHelper class SimpleTokenizer2 : public Tokenizer { public: template - SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], std::vector &files) + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], std::vector &files, const std::string& file0) : Tokenizer{settings, errorlogger} { - preprocess(code, files, *this, errorlogger); + preprocess(code, files, file0, *this, errorlogger); } // TODO: get rid of this - SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], std::vector &files) + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], std::vector &files, const std::string& file0) : Tokenizer{settings, errorlogger} { - preprocess(code, files, *this, errorlogger); + preprocess(code, files, file0, *this, errorlogger); } private: - static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer, ErrorLogger& errorlogger); + static void preprocess(const char code[], std::vector &files, const std::string& file0, Tokenizer& tokenizer, ErrorLogger& errorlogger); }; #endif // helpersH diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 5f6ce96c068..53c131bdf27 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -75,8 +75,8 @@ class TestBufferOverrun : public TestFixture { { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testclass.cpp b/test/testclass.cpp index 30985453b3d..76ef1c6255a 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -8700,8 +8700,8 @@ class TestClass : public TestFixture { void checkUselessOverride_(const char* file, int line, const char code[]) { const Settings settings = settingsBuilder().severity(Severity::style).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -9145,8 +9145,8 @@ class TestClass : public TestFixture { void checkReturnByReference_(const char* file, int line, const char (&code)[size]) { const Settings settings = settingsBuilder().severity(Severity::performance).library("std.cfg").build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testcondition.cpp b/test/testcondition.cpp index a6bfd1e00ff..de157b9a7ed 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -139,8 +139,8 @@ class TestCondition : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings = settingsBuilder(options.s ? *options.s : settings0).certainty(Certainty::inconclusive, options.inconclusive).build(); - std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -154,8 +154,8 @@ class TestCondition : public TestFixture { { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index 68670360431..2e76333a7d9 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -43,8 +43,8 @@ class TestIncompleteStatement : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, options.inconclusive).build(); - std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - SimpleTokenizer2 tokenizer(settings1, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings1, *this, code, files, options.cpp ? "test.cpp" : "test.c"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index fa840bce2e1..e22e249aab5 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -3194,8 +3194,8 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) void checkP_(const char* file, int line, const char code[], bool cpp = false) { - std::vector files(1, cpp?"test.cpp":"test.c"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, cpp?"test.cpp":"test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index f42571d219c..7e4f568c881 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -200,8 +200,8 @@ class TestNullPointer : public TestFixture { void checkP_(const char* file, int line, const char (&code)[size]) { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings1, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings1, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testother.cpp b/test/testother.cpp index 40b0c25c4cc..cdb3554503b 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -353,8 +353,8 @@ class TestOther : public TestFixture { settings->standards.cpp = Standards::CPPLatest; settings->certainty.enable(Certainty::inconclusive); - std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - SimpleTokenizer2 tokenizer(*settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(*settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testsimplifytypedef.cpp b/test/testsimplifytypedef.cpp index b83f690a810..e8bf6dfe534 100644 --- a/test/testsimplifytypedef.cpp +++ b/test/testsimplifytypedef.cpp @@ -286,8 +286,8 @@ class TestSimplifyTypedef : public TestFixture { std::string simplifyTypedefP(const char code[]) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings0, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings0, *this, code, files, "test.cpp"); // Tokenize.. tokenizer.createLinks(); diff --git a/test/testsimplifyusing.cpp b/test/testsimplifyusing.cpp index ba20e495182..a71f38dddb7 100644 --- a/test/testsimplifyusing.cpp +++ b/test/testsimplifyusing.cpp @@ -113,8 +113,8 @@ class TestSimplifyUsing : public TestFixture { const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive).debugwarnings(options.debugwarnings).platform(options.type).build(); if (options.preprocess) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); std::istringstream istr(code); ASSERT_LOC(tokenizer.list.createTokens(istr, "test.cpp"), file, line); // TODO: this creates the tokens a second time diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index f1f772de80e..15535a3dbb6 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -61,8 +61,8 @@ class TestSizeof : public TestFixture { #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) template void checkP_(const char* file, int line, const char (&code)[size]) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/teststring.cpp b/test/teststring.cpp index 94da0ef4273..84830bc47aa 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -68,8 +68,8 @@ class TestString : public TestFixture { #define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { - std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 28e5f7c8f34..1cec55c5768 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7950,8 +7950,8 @@ class TestTokenizer : public TestFixture { std::string checkHdrs_(const char* file, int line, const char code[], bool checkHeadersFlag) { const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtype.cpp b/test/testtype.cpp index d7976bcf2fd..abad6d3003f 100644 --- a/test/testtype.cpp +++ b/test/testtype.cpp @@ -88,8 +88,8 @@ class TestType : public TestFixture { void checkP_(const char* file, int line, const char (&code)[size], const Settings& settings, const CheckPOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).severity(Severity::warning).severity(Severity::portability).build(); - std::vector files(1, options.cpp ? "test.cpp" : "test.c"); - SimpleTokenizer2 tokenizer(settings1, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings1, *this, code, files, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index af595bc22dd..615185c49fe 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -95,8 +95,8 @@ class TestUnusedPrivateFunction : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).platform(options.platform).build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings1, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings1, *this, code, files, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index 9a07ede946f..89968c6f2ee 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -301,8 +301,8 @@ class TestUnusedVar : public TestFixture { #define checkStructMemberUsageP(...) checkStructMemberUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkStructMemberUsageP_(const char* file, int line, const char code[]) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -314,8 +314,8 @@ class TestUnusedVar : public TestFixture { #define checkFunctionVariableUsageP(...) checkFunctionVariableUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkFunctionVariableUsageP_(const char* file, int line, const char code[]) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index cf58e90bd63..45b7f70aac5 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -483,8 +483,8 @@ class TestValueFlow : public TestFixture { void bailout_(const char* file, int line, const char (&code)[size]) { const Settings s = settingsBuilder().debugwarnings().build(); - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(s, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(s, *this, code, files, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvarid.cpp b/test/testvarid.cpp index 1e9410eed33..5673fb3301c 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -294,8 +294,8 @@ class TestVarID : public TestFixture { #define tokenizeExpr(...) tokenizeExpr_(__FILE__, __LINE__, __VA_ARGS__) template std::string tokenizeExpr_(const char* file, int line, const char (&code)[size]) { - std::vector files(1, "test.cpp"); - SimpleTokenizer2 tokenizer(settings, *this, code, files); + std::vector files; + SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); From 9d0833bdc1f36cc7c028f11e0d3fd362e1f3f596 Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 4 Apr 2025 11:31:40 +0200 Subject: [PATCH 09/10] testrunner: folded filelist object into `SimpleTokenizer2` --- test/helpers.cpp | 2 -- test/helpers.h | 10 ++++++---- test/testbufferoverrun.cpp | 3 +-- test/testclass.cpp | 6 ++---- test/testcondition.cpp | 6 ++---- test/testincompletestatement.cpp | 3 +-- test/testleakautovar.cpp | 3 +-- test/testnullpointer.cpp | 3 +-- test/testother.cpp | 3 +-- test/testsimplifytypedef.cpp | 3 +-- test/testsimplifyusing.cpp | 3 +-- test/testsizeof.cpp | 3 +-- test/teststring.cpp | 3 +-- test/testtokenize.cpp | 3 +-- test/testtype.cpp | 3 +-- test/testunusedprivfunc.cpp | 3 +-- test/testunusedvar.cpp | 6 ++---- test/testvalueflow.cpp | 3 +-- test/testvarid.cpp | 3 +-- 19 files changed, 26 insertions(+), 46 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index 9a354180380..2d92ccafb43 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -164,8 +164,6 @@ std::map PreprocessorHelper::getcode(const Settings& s void SimpleTokenizer2::preprocess(const char code[], std::vector &files, const std::string& file0, Tokenizer& tokenizer, ErrorLogger& errorlogger) { - assert(files.empty()); - // TODO: make sure the given Tokenizer has not been used yet // TODO: get rid of stream diff --git a/test/helpers.h b/test/helpers.h index c3bf3e10eb5..a7c595a7696 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -259,21 +259,23 @@ struct LibraryHelper class SimpleTokenizer2 : public Tokenizer { public: template - SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], std::vector &files, const std::string& file0) + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char (&code)[size], const std::string& file0) : Tokenizer{settings, errorlogger} { - preprocess(code, files, file0, *this, errorlogger); + preprocess(code, mFiles, file0, *this, errorlogger); } // TODO: get rid of this - SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], std::vector &files, const std::string& file0) + SimpleTokenizer2(const Settings &settings, ErrorLogger &errorlogger, const char code[], const std::string& file0) : Tokenizer{settings, errorlogger} { - preprocess(code, files, file0, *this, errorlogger); + preprocess(code, mFiles, file0, *this, errorlogger); } private: static void preprocess(const char code[], std::vector &files, const std::string& file0, Tokenizer& tokenizer, ErrorLogger& errorlogger); + + std::vector mFiles; }; #endif // helpersH diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 53c131bdf27..5e97968b4f5 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -75,8 +75,7 @@ class TestBufferOverrun : public TestFixture { { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testclass.cpp b/test/testclass.cpp index 76ef1c6255a..0989bc09535 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -8700,8 +8700,7 @@ class TestClass : public TestFixture { void checkUselessOverride_(const char* file, int line, const char code[]) { const Settings settings = settingsBuilder().severity(Severity::style).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -9145,8 +9144,7 @@ class TestClass : public TestFixture { void checkReturnByReference_(const char* file, int line, const char (&code)[size]) { const Settings settings = settingsBuilder().severity(Severity::performance).library("std.cfg").build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testcondition.cpp b/test/testcondition.cpp index de157b9a7ed..0316e2abee9 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -139,8 +139,7 @@ class TestCondition : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings = settingsBuilder(options.s ? *options.s : settings0).certainty(Certainty::inconclusive, options.inconclusive).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); + SimpleTokenizer2 tokenizer(settings, *this, code, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -154,8 +153,7 @@ class TestCondition : public TestFixture { { const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index 2e76333a7d9..c6cd6208069 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -43,8 +43,7 @@ class TestIncompleteStatement : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, options.inconclusive).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings1, *this, code, files, options.cpp ? "test.cpp" : "test.c"); + SimpleTokenizer2 tokenizer(settings1, *this, code, options.cpp ? "test.cpp" : "test.c"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index e22e249aab5..0ac53a8fbbd 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -3194,8 +3194,7 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) void checkP_(const char* file, int line, const char code[], bool cpp = false) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, cpp?"test.cpp":"test.c"); + SimpleTokenizer2 tokenizer(settings, *this, code, cpp?"test.cpp":"test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index 7e4f568c881..929fea77fcf 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -200,8 +200,7 @@ class TestNullPointer : public TestFixture { void checkP_(const char* file, int line, const char (&code)[size]) { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings1, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings1, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testother.cpp b/test/testother.cpp index cdb3554503b..713465b263f 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -353,8 +353,7 @@ class TestOther : public TestFixture { settings->standards.cpp = Standards::CPPLatest; settings->certainty.enable(Certainty::inconclusive); - std::vector files; - SimpleTokenizer2 tokenizer(*settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); + SimpleTokenizer2 tokenizer(*settings, *this, code, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testsimplifytypedef.cpp b/test/testsimplifytypedef.cpp index e8bf6dfe534..51e8877b6da 100644 --- a/test/testsimplifytypedef.cpp +++ b/test/testsimplifytypedef.cpp @@ -286,8 +286,7 @@ class TestSimplifyTypedef : public TestFixture { std::string simplifyTypedefP(const char code[]) { - std::vector files; - SimpleTokenizer2 tokenizer(settings0, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings0, *this, code, "test.cpp"); // Tokenize.. tokenizer.createLinks(); diff --git a/test/testsimplifyusing.cpp b/test/testsimplifyusing.cpp index a71f38dddb7..7c11f6874ee 100644 --- a/test/testsimplifyusing.cpp +++ b/test/testsimplifyusing.cpp @@ -113,8 +113,7 @@ class TestSimplifyUsing : public TestFixture { const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive).debugwarnings(options.debugwarnings).platform(options.type).build(); if (options.preprocess) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); std::istringstream istr(code); ASSERT_LOC(tokenizer.list.createTokens(istr, "test.cpp"), file, line); // TODO: this creates the tokens a second time diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index 15535a3dbb6..5ae8d1acc85 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -61,8 +61,7 @@ class TestSizeof : public TestFixture { #define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) template void checkP_(const char* file, int line, const char (&code)[size]) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/teststring.cpp b/test/teststring.cpp index 84830bc47aa..3e4ac60e9c6 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -68,8 +68,7 @@ class TestString : public TestFixture { #define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, options.cpp ? "test.cpp" : "test.c"); + SimpleTokenizer2 tokenizer(settings, *this, code, options.cpp ? "test.cpp" : "test.c"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 1cec55c5768..aa34a7d1d05 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7950,8 +7950,7 @@ class TestTokenizer : public TestFixture { std::string checkHdrs_(const char* file, int line, const char code[], bool checkHeadersFlag) { const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testtype.cpp b/test/testtype.cpp index abad6d3003f..d026cb0095d 100644 --- a/test/testtype.cpp +++ b/test/testtype.cpp @@ -88,8 +88,7 @@ class TestType : public TestFixture { void checkP_(const char* file, int line, const char (&code)[size], const Settings& settings, const CheckPOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).severity(Severity::warning).severity(Severity::portability).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings1, *this, code, files, options.cpp ? "test.cpp" : "test.c"); + SimpleTokenizer2 tokenizer(settings1, *this, code, options.cpp ? "test.cpp" : "test.c"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index 615185c49fe..6d22074309b 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -95,8 +95,7 @@ class TestUnusedPrivateFunction : public TestFixture { void check_(const char* file, int line, const char code[], const CheckOptions& options = make_default_obj()) { const Settings settings1 = settingsBuilder(settings).platform(options.platform).build(); - std::vector files; - SimpleTokenizer2 tokenizer(settings1, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings1, *this, code, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index 89968c6f2ee..80f29fd218d 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -301,8 +301,7 @@ class TestUnusedVar : public TestFixture { #define checkStructMemberUsageP(...) checkStructMemberUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkStructMemberUsageP_(const char* file, int line, const char code[]) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); @@ -314,8 +313,7 @@ class TestUnusedVar : public TestFixture { #define checkFunctionVariableUsageP(...) checkFunctionVariableUsageP_(__FILE__, __LINE__, __VA_ARGS__) void checkFunctionVariableUsageP_(const char* file, int line, const char code[]) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); // Tokenizer.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index 45b7f70aac5..7840efa137b 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -483,8 +483,7 @@ class TestValueFlow : public TestFixture { void bailout_(const char* file, int line, const char (&code)[size]) { const Settings s = settingsBuilder().debugwarnings().build(); - std::vector files; - SimpleTokenizer2 tokenizer(s, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(s, *this, code, "test.cpp"); // Tokenize.. ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); diff --git a/test/testvarid.cpp b/test/testvarid.cpp index 5673fb3301c..8c83853b994 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -294,8 +294,7 @@ class TestVarID : public TestFixture { #define tokenizeExpr(...) tokenizeExpr_(__FILE__, __LINE__, __VA_ARGS__) template std::string tokenizeExpr_(const char* file, int line, const char (&code)[size]) { - std::vector files; - SimpleTokenizer2 tokenizer(settings, *this, code, files, "test.cpp"); + SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp"); ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); From 8c4074f8b894e3336fe39876e173b6a12373faae Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 4 Apr 2025 11:36:00 +0200 Subject: [PATCH 10/10] helpers.cpp: removed obsolete TODO --- test/helpers.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index 2d92ccafb43..b91187b40ca 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -164,8 +164,6 @@ std::map PreprocessorHelper::getcode(const Settings& s void SimpleTokenizer2::preprocess(const char code[], std::vector &files, const std::string& file0, Tokenizer& tokenizer, ErrorLogger& errorlogger) { - // TODO: make sure the given Tokenizer has not been used yet - // TODO: get rid of stream std::istringstream istr(code); const simplecpp::TokenList tokens1(istr, files, file0);