diff --git a/lib/checkbufferoverrun.cpp b/lib/checkbufferoverrun.cpp index 19d711252..36254bded 100644 --- a/lib/checkbufferoverrun.cpp +++ b/lib/checkbufferoverrun.cpp @@ -1122,8 +1122,8 @@ void CheckBufferOverrun::checkScope(const Token *tok, const ArrayInfo &arrayInfo { if (!Token::Match(tok2, "%varid% [ %any% ] = 0 ;", tok->tokAt(2)->varId())) { - // this is currently 'stupid'. See TestBufferOverrun::terminateStrncpy3 - if (_settings->stupid) + // this is currently 'experimental'. See TestBufferOverrun::terminateStrncpy3 + if (_settings->experimental) terminateStrncpyError(tok); } diff --git a/lib/checkclass.cpp b/lib/checkclass.cpp index 7e0c4ff0a..6ced6fdc7 100644 --- a/lib/checkclass.cpp +++ b/lib/checkclass.cpp @@ -1118,7 +1118,7 @@ void CheckClass::virtualDestructor() // * base class doesn't have virtual destructor // * derived class has non-empty destructor // * base class is deleted - if (!_settings->stupid) + if (!_settings->experimental) return; createSymbolDatabase(); diff --git a/lib/checkmemoryleak.cpp b/lib/checkmemoryleak.cpp index 0a549ed5d..780639f8d 100644 --- a/lib/checkmemoryleak.cpp +++ b/lib/checkmemoryleak.cpp @@ -774,7 +774,7 @@ const char * CheckMemoryLeakInFunction::call_func(const Token *tok, std::liststupid) ? 0 : "callfunc"; + return (eq || _settings->experimental) ? 0 : "callfunc"; } } @@ -2024,7 +2024,7 @@ void CheckMemoryLeakInFunction::simplifycode(Token *tok) } // Remove the "if break|continue ;" that follows "dealloc ; alloc ;" - if (! _settings->stupid && Token::Match(tok2, "dealloc ; alloc ; if break|continue ;")) + if (! _settings->experimental && Token::Match(tok2, "dealloc ; alloc ; if break|continue ;")) { tok2 = tok2->tokAt(3); Token::eraseTokens(tok2, tok2->tokAt(3)); @@ -2290,7 +2290,7 @@ void CheckMemoryLeakInFunction::simplifycode(Token *tok) } // If "--all" is given, remove all "callfunc".. - if (done && _settings->stupid) + if (done && _settings->experimental) { for (Token *tok2 = tok; tok2; tok2 = tok2->next()) { diff --git a/lib/checkother.cpp b/lib/checkother.cpp index 3e36559c9..6ffeeed31 100644 --- a/lib/checkother.cpp +++ b/lib/checkother.cpp @@ -354,7 +354,7 @@ void CheckOther::checkRedundantAssignmentInSwitch() void CheckOther::checkSwitchCaseFallThrough() { - if (!(_settings->_checkCodingStyle && _settings->stupid)) + if (!(_settings->_checkCodingStyle && _settings->experimental)) return; const char switchPattern[] = "switch ("; diff --git a/lib/preprocessor.cpp b/lib/preprocessor.cpp index 0586ef496..1ae484866 100644 --- a/lib/preprocessor.cpp +++ b/lib/preprocessor.cpp @@ -477,7 +477,7 @@ std::string Preprocessor::removeComments(const std::string &str, const std::stri // First check for a "fall through" comment match, but only // add a suppression if the next token is 'case' or 'default' - if (_settings->_checkCodingStyle && _settings->stupid && fallThroughComment) + if (_settings->_checkCodingStyle && _settings->experimental && fallThroughComment) { std::string::size_type j = str.find_first_not_of("abcdefghijklmnopqrstuvwxyz", i); std::string tok = str.substr(i, j - i); diff --git a/lib/settings.cpp b/lib/settings.cpp index 1143c5f8a..1c560321e 100644 --- a/lib/settings.cpp +++ b/lib/settings.cpp @@ -43,7 +43,7 @@ Settings::Settings() _append = ""; _terminate = false; inconclusive = false; - stupid = false; + experimental = false; test_2_pass = false; reportProgress = false; ifcfg = false; diff --git a/lib/settings.h b/lib/settings.h index 20649d8a6..03da57a65 100644 --- a/lib/settings.h +++ b/lib/settings.h @@ -59,11 +59,12 @@ public: bool inconclusive; /** - * @brief enables stupid checks that generates false positives because they are not clever enough. - * This flag should only be used temporarily by the check until it is fixed. - * There is no way to enable this flag from the command line. + * When this flag is false (default) then experimental + * heuristics and checks are disabled. + * + * It should not be possible to enable this from any client. */ - bool stupid; + bool experimental; /** @brief Is --style given? */ bool _checkCodingStyle; diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index d9ce169e7..c29801952 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -36,13 +36,13 @@ private: - void check(const char code[], bool stupid = true) + void check(const char code[], bool experimental = true) { // Clear the error buffer.. errout.str(""); Settings settings; - settings.stupid = stupid; + settings.experimental = experimental; settings._checkCodingStyle = true; // Tokenize.. diff --git a/test/testclass.cpp b/test/testclass.cpp index 8315cfc96..8c2023b31 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -1382,7 +1382,7 @@ private: errout.str(""); Settings settings; - settings.stupid = true; + settings.experimental = true; // Tokenize.. Tokenizer tokenizer(&settings, this); diff --git a/test/testmemleak.cpp b/test/testmemleak.cpp index 341beeb2e..9a96d942c 100644 --- a/test/testmemleak.cpp +++ b/test/testmemleak.cpp @@ -127,13 +127,13 @@ public: { } private: - void check(const char code[], bool stupid = false) + void check(const char code[], bool experimental = false) { // Clear the error buffer.. errout.str(""); Settings settings; - settings.stupid = stupid; + settings.experimental = experimental; // Tokenize.. Tokenizer tokenizer(&settings, this); @@ -2994,7 +2994,7 @@ private: errout.str(""); Settings settings; - settings.stupid = true; + settings.experimental = true; // Tokenize.. Tokenizer tokenizer(&settings, this); diff --git a/test/testother.cpp b/test/testother.cpp index 77f74ee9a..04e58a356 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -193,7 +193,7 @@ private: Settings settings; settings._checkCodingStyle = true; - settings.stupid = true; + settings.experimental = true; // Preprocess file.. Preprocessor preprocessor(&settings, this);