diff --git a/Makefile b/Makefile index 3e720f776..506841e19 100644 --- a/Makefile +++ b/Makefile @@ -522,7 +522,7 @@ $(libcppdir)/forwardanalyzer.o: lib/forwardanalyzer.cpp lib/analyzer.h lib/astut $(libcppdir)/importproject.o: lib/importproject.cpp externals/picojson/picojson.h externals/tinyxml2/tinyxml2.h lib/config.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h $(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/importproject.o $(libcppdir)/importproject.cpp -$(libcppdir)/infer.o: lib/infer.cpp lib/calculate.h lib/config.h lib/errortypes.h lib/infer.h lib/mathlib.h lib/utils.h lib/valueflow.h lib/valueptr.h +$(libcppdir)/infer.o: lib/infer.cpp lib/calculate.h lib/config.h lib/errortypes.h lib/infer.h lib/mathlib.h lib/valueflow.h lib/valueptr.h $(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/infer.o $(libcppdir)/infer.cpp $(libcppdir)/library.o: lib/library.cpp externals/tinyxml2/tinyxml2.h lib/astutils.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/standards.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenlist.h lib/utils.h lib/valueflow.h @@ -540,7 +540,7 @@ $(libcppdir)/pathanalysis.o: lib/pathanalysis.cpp lib/astutils.h lib/config.h li $(libcppdir)/pathmatch.o: lib/pathmatch.cpp lib/config.h lib/path.h lib/pathmatch.h lib/utils.h $(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/pathmatch.o $(libcppdir)/pathmatch.cpp -$(libcppdir)/platform.o: lib/platform.cpp externals/tinyxml2/tinyxml2.h lib/config.h lib/path.h lib/platform.h lib/utils.h +$(libcppdir)/platform.o: lib/platform.cpp externals/tinyxml2/tinyxml2.h lib/config.h lib/path.h lib/platform.h $(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/platform.o $(libcppdir)/platform.cpp $(libcppdir)/preprocessor.o: lib/preprocessor.cpp externals/simplecpp/simplecpp.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h @@ -633,7 +633,7 @@ test/testcharvar.o: test/testcharvar.cpp lib/check.h lib/checkother.h lib/color. test/testclangimport.o: test/testclangimport.cpp lib/clangimport.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testclangimport.o test/testclangimport.cpp -test/testclass.o: test/testclass.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h +test/testclass.o: test/testclass.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testclass.o test/testclass.cpp test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlineparser.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h test/redirect.h test/testsuite.h @@ -642,7 +642,7 @@ test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlineparser.h lib/col test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h externals/tinyxml2/tinyxml2.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testcondition.o test/testcondition.cpp -test/testconstructors.o: test/testconstructors.cpp lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h +test/testconstructors.o: test/testconstructors.cpp lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testconstructors.o test/testconstructors.cpp test/testcppcheck.o: test/testcppcheck.cpp lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h test/testsuite.h @@ -705,7 +705,7 @@ test/testpath.o: test/testpath.cpp lib/color.h lib/config.h lib/errorlogger.h li test/testpathmatch.o: test/testpathmatch.cpp lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/pathmatch.h lib/suppressions.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testpathmatch.o test/testpathmatch.cpp -test/testplatform.o: test/testplatform.cpp externals/tinyxml2/tinyxml2.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/platform.h lib/suppressions.h lib/utils.h test/testsuite.h +test/testplatform.o: test/testplatform.cpp externals/tinyxml2/tinyxml2.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/platform.h lib/suppressions.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testplatform.o test/testplatform.cpp test/testpostfixoperator.o: test/testpostfixoperator.cpp lib/check.h lib/checkpostfixoperator.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h @@ -777,7 +777,7 @@ test/testuninitvar.o: test/testuninitvar.cpp lib/check.h lib/checkuninitvar.h li test/testunusedfunctions.o: test/testunusedfunctions.cpp lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testunusedfunctions.o test/testunusedfunctions.cpp -test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h +test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testunusedprivfunc.o test/testunusedprivfunc.cpp test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h diff --git a/cli/cppcheckexecutor.cpp b/cli/cppcheckexecutor.cpp index 182852303..a65490738 100644 --- a/cli/cppcheckexecutor.cpp +++ b/cli/cppcheckexecutor.cpp @@ -339,10 +339,10 @@ static void print_stacktrace(FILE* output, bool demangling, int maxdepth, bool l } #undef ADDRESSDISPLAYLENGTH #else - UNUSED(output); - UNUSED(demangling); - UNUSED(maxdepth); - UNUSED(lowMem); + (void)output; + (void)demangling; + (void)maxdepth; + (void)lowMem; #endif } @@ -410,7 +410,7 @@ static void CppcheckSignalHandler(int signo, siginfo_t * info, void * context) type = (int)uc->uc_mcontext.gregs[REG_ERR] & 2; } #else - UNUSED(context); + (void)context; killid = getpid(); #endif diff --git a/cli/filelister.cpp b/cli/filelister.cpp index 8a2ac781d..05ddc9386 100644 --- a/cli/filelister.cpp +++ b/cli/filelister.cpp @@ -217,7 +217,8 @@ static std::string addFiles2(std::map &files, dirent entry; char buf[sizeof(*dir_result) + (sizeof(dir_result->d_name) > 1 ? 0 : NAME_MAX + 1)]; } dir_result_buffer; - UNUSED(dir_result_buffer.buf); // do not trigger cppcheck itself on the "unused buf" + // TODO: suppress instead? + (void)dir_result_buffer.buf; // do not trigger cppcheck itself on the "unused buf" std::string new_path; new_path.reserve(path.length() + 100);// prealloc some memory to avoid constant new/deletes in loop diff --git a/lib/astutils.cpp b/lib/astutils.cpp index 98fe9f2b0..8f264213a 100644 --- a/lib/astutils.cpp +++ b/lib/astutils.cpp @@ -28,6 +28,7 @@ #include "settings.h" #include "symboldatabase.h" #include "token.h" +#include "utils.h" #include "valueflow.h" #include "valueptr.h" diff --git a/lib/astutils.h b/lib/astutils.h index 61d5a048e..8dcc85310 100644 --- a/lib/astutils.h +++ b/lib/astutils.h @@ -27,8 +27,8 @@ #include #include +#include "config.h" #include "errortypes.h" -#include "utils.h" class Function; class Library; diff --git a/lib/checkautovariables.cpp b/lib/checkautovariables.cpp index 592e4fc78..1642abea0 100644 --- a/lib/checkautovariables.cpp +++ b/lib/checkautovariables.cpp @@ -28,7 +28,6 @@ #include "symboldatabase.h" #include "token.h" #include "tokenize.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/checkbufferoverrun.h b/lib/checkbufferoverrun.h index ada90cb0d..7e9c8b557 100644 --- a/lib/checkbufferoverrun.h +++ b/lib/checkbufferoverrun.h @@ -28,7 +28,6 @@ #include "errortypes.h" #include "mathlib.h" #include "symboldatabase.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/checkclass.h b/lib/checkclass.h index 419707020..97808a5ab 100644 --- a/lib/checkclass.h +++ b/lib/checkclass.h @@ -23,9 +23,7 @@ #include "check.h" #include "config.h" -#include "symboldatabase.h" #include "tokenize.h" -#include "utils.h" #include #include @@ -37,6 +35,11 @@ class ErrorLogger; class Settings; class Token; +class Function; +class Scope; +class SymbolDatabase; +class Type; +class Variable; namespace CTU { class FileInfo; diff --git a/lib/checkcondition.h b/lib/checkcondition.h index 978f7bea1..1e225593e 100644 --- a/lib/checkcondition.h +++ b/lib/checkcondition.h @@ -26,7 +26,6 @@ #include "config.h" #include "mathlib.h" #include "errortypes.h" -#include "utils.h" #include #include diff --git a/lib/checkfunctions.h b/lib/checkfunctions.h index 0b36d2dee..a5e336e06 100644 --- a/lib/checkfunctions.h +++ b/lib/checkfunctions.h @@ -27,7 +27,6 @@ #include "errortypes.h" #include "library.h" #include "settings.h" -#include "utils.h" #include #include diff --git a/lib/checkio.cpp b/lib/checkio.cpp index f6f7403e8..3b35a4fc0 100644 --- a/lib/checkio.cpp +++ b/lib/checkio.cpp @@ -25,7 +25,6 @@ #include "symboldatabase.h" #include "token.h" #include "tokenize.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/checkio.h b/lib/checkio.h index 8c567e04e..633e50b4c 100644 --- a/lib/checkio.h +++ b/lib/checkio.h @@ -24,7 +24,6 @@ #include "check.h" #include "config.h" #include "errortypes.h" -#include "utils.h" #include #include diff --git a/lib/checkleakautovar.h b/lib/checkleakautovar.h index 5bfce67b8..1452d4aeb 100644 --- a/lib/checkleakautovar.h +++ b/lib/checkleakautovar.h @@ -25,7 +25,6 @@ #include "check.h" #include "config.h" #include "library.h" -#include "utils.h" #include #include diff --git a/lib/checkmemoryleak.cpp b/lib/checkmemoryleak.cpp index 628d3f9c1..a04394682 100644 --- a/lib/checkmemoryleak.cpp +++ b/lib/checkmemoryleak.cpp @@ -26,7 +26,6 @@ #include "symboldatabase.h" #include "token.h" #include "tokenize.h" -#include "utils.h" #include #include diff --git a/lib/checkmemoryleak.h b/lib/checkmemoryleak.h index 5fcba2e16..3edfb4a39 100644 --- a/lib/checkmemoryleak.h +++ b/lib/checkmemoryleak.h @@ -36,7 +36,6 @@ #include "config.h" #include "errortypes.h" #include "tokenize.h" -#include "utils.h" #include #include diff --git a/lib/checkother.cpp b/lib/checkother.cpp index 1134105f3..a3d50703d 100644 --- a/lib/checkother.cpp +++ b/lib/checkother.cpp @@ -28,7 +28,6 @@ #include "symboldatabase.h" #include "token.h" #include "tokenize.h" -#include "utils.h" #include "valueflow.h" #include "checkuninitvar.h" // CheckUninitVar::isVariableUsage @@ -41,6 +40,7 @@ #include #include #include +#include #include #include diff --git a/lib/checkother.h b/lib/checkother.h index dedea87ac..86da1db08 100644 --- a/lib/checkother.h +++ b/lib/checkother.h @@ -25,7 +25,6 @@ #include "check.h" #include "config.h" #include "errortypes.h" -#include "utils.h" #include #include diff --git a/lib/checkstl.h b/lib/checkstl.h index 7a8552008..fc691150b 100644 --- a/lib/checkstl.h +++ b/lib/checkstl.h @@ -26,7 +26,6 @@ #include "config.h" #include "errortypes.h" #include "tokenize.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/checkuninitvar.h b/lib/checkuninitvar.h index 0ab878774..ef9c2c766 100644 --- a/lib/checkuninitvar.h +++ b/lib/checkuninitvar.h @@ -27,7 +27,6 @@ #include "ctu.h" #include "mathlib.h" #include "errortypes.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/config.h b/lib/config.h index 84feb5729..32aa19265 100644 --- a/lib/config.h +++ b/lib/config.h @@ -69,4 +69,30 @@ #include static const std::string emptyString; +// Use the nonneg macro when you want to assert that a variable/argument is not negative +#ifdef __CPPCHECK__ +#define nonneg __cppcheck_low__(0) +#elif defined(NONNEG) +// Enable non-negative values checking +// TODO : investigate using annotations/contracts for stronger value checking +#define nonneg unsigned +#else +// Disable non-negative values checking +#define nonneg +#endif + +#if defined(__has_feature) +#if __has_feature(address_sanitizer) +#define ASAN 1 +#endif +#endif + +#ifndef ASAN +#ifdef __SANITIZE_ADDRESS__ +#define ASAN 1 +#else +#define ASAN 0 +#endif +#endif + #endif // configH diff --git a/lib/ctu.cpp b/lib/ctu.cpp index bd27e47a6..08b3472f7 100644 --- a/lib/ctu.cpp +++ b/lib/ctu.cpp @@ -27,6 +27,7 @@ #include "token.h" #include "tokenize.h" #include "tokenlist.h" +#include "utils.h" #include #include diff --git a/lib/ctu.h b/lib/ctu.h index 0ac9e27e6..e5cd5b755 100644 --- a/lib/ctu.h +++ b/lib/ctu.h @@ -26,7 +26,6 @@ #include "check.h" #include "errorlogger.h" #include "mathlib.h" -#include "utils.h" #include "valueflow.h" #include diff --git a/lib/errorlogger.cpp b/lib/errorlogger.cpp index f378b57f1..ffa12a31f 100644 --- a/lib/errorlogger.cpp +++ b/lib/errorlogger.cpp @@ -24,7 +24,6 @@ #include "path.h" #include "token.h" #include "tokenlist.h" -#include "utils.h" #include #include diff --git a/lib/exprengine.cpp b/lib/exprengine.cpp index b8f15a2d5..207d621f9 100644 --- a/lib/exprengine.cpp +++ b/lib/exprengine.cpp @@ -142,7 +142,6 @@ #include "token.h" #include "tokenize.h" #include "tokenlist.h" -#include "utils.h" #include #include diff --git a/lib/platform.cpp b/lib/platform.cpp index 73ec3b025..06e75a0a8 100644 --- a/lib/platform.cpp +++ b/lib/platform.cpp @@ -20,7 +20,6 @@ #include "path.h" -#include #include #include #include diff --git a/lib/platform.h b/lib/platform.h index 362e97aa0..84d2b1bcd 100644 --- a/lib/platform.h +++ b/lib/platform.h @@ -22,7 +22,6 @@ //--------------------------------------------------------------------------- #include "config.h" -#include "utils.h" #include #include diff --git a/lib/programmemory.cpp b/lib/programmemory.cpp index ff3e77a4c..0a4fb2560 100644 --- a/lib/programmemory.cpp +++ b/lib/programmemory.cpp @@ -26,6 +26,7 @@ #include "settings.h" #include "symboldatabase.h" #include "token.h" +#include "utils.h" #include "valueflow.h" #include "valueptr.h" @@ -35,6 +36,7 @@ #include #include #include +#include #include #include diff --git a/lib/programmemory.h b/lib/programmemory.h index 0c034d807..bb1ef9869 100644 --- a/lib/programmemory.h +++ b/lib/programmemory.h @@ -19,9 +19,12 @@ #ifndef GUARD_PROGRAMMEMORY_H #define GUARD_PROGRAMMEMORY_H +#include "config.h" #include "mathlib.h" -#include "utils.h" #include "valueflow.h" // needed for alias + +#include +#include #include #include diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index ff5a6707f..6d19fe994 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include //--------------------------------------------------------------------------- diff --git a/lib/symboldatabase.h b/lib/symboldatabase.h index f1d9f841b..8310b0841 100644 --- a/lib/symboldatabase.h +++ b/lib/symboldatabase.h @@ -25,7 +25,6 @@ #include "library.h" #include "mathlib.h" #include "token.h" -#include "utils.h" #include #include @@ -34,7 +33,6 @@ #include #include #include -#include #include #include diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index 052e289cb..151010ff5 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include static Token *skipRequires(Token *tok) diff --git a/lib/tokenize.h b/lib/tokenize.h index f13b6fdfe..df223575b 100644 --- a/lib/tokenize.h +++ b/lib/tokenize.h @@ -24,7 +24,6 @@ #include "config.h" #include "errortypes.h" #include "tokenlist.h" -#include "utils.h" #include #include diff --git a/lib/tokenlist.h b/lib/tokenlist.h index c6e3dd099..82be2e1f5 100644 --- a/lib/tokenlist.h +++ b/lib/tokenlist.h @@ -23,7 +23,6 @@ #include "config.h" #include "token.h" -#include "utils.h" #include #include diff --git a/lib/utils.h b/lib/utils.h index 4b8958b6f..75cbe8245 100644 --- a/lib/utils.h +++ b/lib/utils.h @@ -154,32 +154,4 @@ CPPCHECKLIB bool matchglob(const std::string& pattern, const std::string& name); CPPCHECKLIB bool matchglobs(const std::vector &patterns, const std::string &name); -#define UNUSED(x) (void)(x) - -// Use the nonneg macro when you want to assert that a variable/argument is not negative -#ifdef __CPPCHECK__ -#define nonneg __cppcheck_low__(0) -#elif defined(NONNEG) -// Enable non-negative values checking -// TODO : investigate using annotations/contracts for stronger value checking -#define nonneg unsigned -#else -// Disable non-negative values checking -#define nonneg -#endif - -#if defined(__has_feature) -#if __has_feature(address_sanitizer) -#define ASAN 1 -#endif -#endif - -#ifndef ASAN -#ifdef __SANITIZE_ADDRESS__ -#define ASAN 1 -#else -#define ASAN 0 -#endif -#endif - #endif diff --git a/lib/valueflow.h b/lib/valueflow.h index b8118d1a8..c61218677 100644 --- a/lib/valueflow.h +++ b/lib/valueflow.h @@ -23,7 +23,6 @@ #include "config.h" #include "mathlib.h" -#include "utils.h" #include #include