diff --git a/lib/check.cpp b/lib/check.cpp index 80a59b4d7..b13a3ea94 100644 --- a/lib/check.cpp +++ b/lib/check.cpp @@ -42,3 +42,7 @@ void Check::reportError(const ErrorLogger::ErrorMessage &errmsg) { std::cout << errmsg.toXML(true, 1) << std::endl; } +std::list &Check::instances() { + static std::list *_instances= new std::list; + return *_instances; + } diff --git a/lib/check.h b/lib/check.h index af8f46a16..acba45f34 100644 --- a/lib/check.h +++ b/lib/check.h @@ -53,10 +53,7 @@ public: } /** List of registered check classes. This is used by Cppcheck to run checks and generate documentation */ - static std::list &instances() { - static std::list _instances; - return _instances; - } + static std::list &instances(); /** run checks, the token list is not simplified */ virtual void runChecks(const Tokenizer *, const Settings *, ErrorLogger *) {