From bda3dd0d986b33c3a327c0ee0eb8ba43aa140699 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kirst=C3=B3f=20Umann?= Date: Fri, 27 Mar 2020 14:29:31 +0100 Subject: [PATCH] [analyzer][NFC] Change LangOptions to CheckerManager in the shouldRegister* functions Some checkers may not only depend on language options but also analyzer options. To make this possible this patch changes the parameter of the shouldRegister* function to CheckerManager to be able to query the analyzer options when deciding whether the checker should be registered. Differential Revision: https://reviews.llvm.org/D75271 --- .../Checkers/BuiltinCheckerRegistration.h | 2 +- .../StaticAnalyzer/Frontend/CheckerRegistry.h | 13 ++++++------ .../StaticAnalyzer/Frontend/FrontendActions.h | 3 ++- .../CheckerOptionHandling.cpp | 2 +- .../Checkers/AnalysisOrderChecker.cpp | 2 +- .../Checkers/AnalyzerStatsChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 2 +- .../Checkers/ArrayBoundCheckerV2.cpp | 2 +- .../Checkers/BasicObjCFoundationChecks.cpp | 14 ++++++------- .../Checkers/BlockInCriticalSectionChecker.cpp | 2 +- .../Checkers/BoolAssignmentChecker.cpp | 2 +- .../Checkers/BuiltinFunctionChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 4 ++-- .../Checkers/CStringSyntaxChecker.cpp | 2 +- .../Checkers/CXXSelfAssignmentChecker.cpp | 2 +- .../Checkers/CallAndMessageChecker.cpp | 4 ++-- .../StaticAnalyzer/Checkers/CastSizeChecker.cpp | 3 ++- .../Checkers/CastToStructChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/CastValueChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 3 ++- .../Checkers/CheckObjCInstMethSignature.cpp | 2 +- .../StaticAnalyzer/Checkers/CheckPlacementNew.cpp | 2 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 4 ++-- .../StaticAnalyzer/Checkers/CheckSizeofPointer.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/ChrootChecker.cpp | 2 +- clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ContainerModeling.cpp | 2 +- .../StaticAnalyzer/Checkers/ConversionChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/DeadStoresChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/DebugCheckers.cpp | 24 +++++++++++----------- .../Checkers/DebugContainerModeling.cpp | 2 +- .../Checkers/DebugIteratorModeling.cpp | 2 +- .../Checkers/DeleteWithNonVirtualDtorChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/DereferenceChecker.cpp | 2 +- .../Checkers/DirectIvarAssignment.cpp | 4 ++-- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/DynamicTypeChecker.cpp | 2 +- .../Checkers/DynamicTypePropagation.cpp | 4 ++-- .../Checkers/EnumCastOutOfRangeChecker.cpp | 2 +- .../Checkers/ExprInspectionChecker.cpp | 2 +- .../Checkers/FixedAddressChecker.cpp | 2 +- .../Checkers/FuchsiaHandleChecker.cpp | 2 +- .../Checkers/GCDAntipatternChecker.cpp | 2 +- clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp | 3 ++- .../Checkers/GenericTaintChecker.cpp | 2 +- .../Checkers/IdenticalExprChecker.cpp | 2 +- .../Checkers/InnerPointerChecker.cpp | 2 +- .../Checkers/InvalidatedIteratorChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 2 +- .../Checkers/IteratorRangeChecker.cpp | 2 +- .../Checkers/IvarInvalidationChecker.cpp | 4 ++-- .../Checkers/LLVMConventionsChecker.cpp | 2 +- .../Checkers/LocalizationChecker.cpp | 6 +++--- clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp | 2 +- .../Checkers/MPI-Checker/MPIChecker.cpp | 2 +- .../Checkers/MacOSKeychainAPIChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 4 ++-- .../Checkers/MallocOverflowSecurityChecker.cpp | 2 +- .../Checkers/MallocSizeofChecker.cpp | 2 +- .../Checkers/MismatchedIteratorChecker.cpp | 2 +- .../Checkers/MmapWriteExecChecker.cpp | 2 +- clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp | 2 +- .../Checkers/NSAutoreleasePoolChecker.cpp | 3 ++- .../lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 6 +++--- .../Checkers/NoReturnFunctionChecker.cpp | 2 +- .../Checkers/NonNullParamChecker.cpp | 2 +- .../Checkers/NonnullGlobalConstantsChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/NullabilityChecker.cpp | 4 ++-- .../Checkers/NumberObjectConversionChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp | 2 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 3 ++- .../Checkers/ObjCAutoreleaseWriteChecker.cpp | 2 +- .../Checkers/ObjCContainersASTChecker.cpp | 2 +- .../Checkers/ObjCContainersChecker.cpp | 2 +- .../Checkers/ObjCMissingSuperCallChecker.cpp | 2 +- .../Checkers/ObjCPropertyChecker.cpp | 2 +- .../Checkers/ObjCSelfInitChecker.cpp | 2 +- .../Checkers/ObjCSuperDeallocChecker.cpp | 2 +- .../Checkers/ObjCUnusedIVarsChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 2 +- .../Checkers/PointerArithChecker.cpp | 2 +- .../Checkers/PointerIterationChecker.cpp | 3 ++- .../Checkers/PointerSortingChecker.cpp | 3 ++- .../StaticAnalyzer/Checkers/PointerSubChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/PthreadLockChecker.cpp | 4 ++-- .../RetainCountChecker/RetainCountChecker.cpp | 6 +++--- .../Checkers/ReturnPointerRangeChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ReturnUndefChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ReturnValueChecker.cpp | 2 +- .../Checkers/RunLoopAutoreleaseLeakChecker.cpp | 2 +- .../Checkers/STLAlgorithmModeling.cpp | 2 +- .../Checkers/SimpleStreamChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/SmartPtrModeling.cpp | 3 ++- .../Checkers/StackAddrEscapeChecker.cpp | 4 ++-- .../Checkers/StdLibraryFunctionsChecker.cpp | 4 ++-- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 4 +++- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 2 +- .../Checkers/TestAfterDivZeroChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/TraversalChecker.cpp | 4 ++-- .../Checkers/TrustNonnullChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/UndefBranchChecker.cpp | 2 +- .../Checkers/UndefCapturedBlockVarChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 2 +- .../Checkers/UndefinedArraySubscriptChecker.cpp | 2 +- .../Checkers/UndefinedAssignmentChecker.cpp | 2 +- .../UninitializedObjectChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 2 +- .../Checkers/UnreachableCodeChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/ValistChecker.cpp | 4 ++-- clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/VirtualCallChecker.cpp | 9 +++++--- .../Checkers/cert/PutenvWithAutoChecker.cpp | 2 +- .../StaticAnalyzer/Frontend/CheckerRegistry.cpp | 4 ++-- .../StaticAnalyzer/RegisterCustomCheckersTest.cpp | 4 ++-- 116 files changed, 175 insertions(+), 162 deletions(-) diff --git a/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h b/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h index c773233..e2be957 100644 --- a/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h +++ b/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h @@ -28,7 +28,7 @@ class CheckerRegistry; #define GET_CHECKERS #define CHECKER(FULLNAME, CLASS, HELPTEXT, DOC_URI, IS_HIDDEN) \ void register##CLASS(CheckerManager &mgr); \ - bool shouldRegister##CLASS(const LangOptions &LO); + bool shouldRegister##CLASS(const CheckerManager &mgr); #include "clang/StaticAnalyzer/Checkers/Checkers.inc" #undef CHECKER #undef GET_CHECKERS diff --git a/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h b/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h index 73594bb..4e98ba2 100644 --- a/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h +++ b/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h @@ -69,7 +69,6 @@ namespace clang { class AnalyzerOptions; class DiagnosticsEngine; -class LangOptions; namespace ento { @@ -96,7 +95,7 @@ public: /// Initialization functions perform any necessary setup for a checker. /// They should include a call to CheckerManager::registerChecker. using InitializationFunction = void (*)(CheckerManager &); - using ShouldRegisterFunction = bool (*)(const LangOptions &); + using ShouldRegisterFunction = bool (*)(const CheckerManager &); /// Specifies a command line option. It may either belong to a checker or a /// package. @@ -168,12 +167,12 @@ public: ConstCheckerInfoList Dependencies; - bool isEnabled(const LangOptions &LO) const { - return State == StateFromCmdLine::State_Enabled && ShouldRegister(LO); + bool isEnabled(const CheckerManager &mgr) const { + return State == StateFromCmdLine::State_Enabled && ShouldRegister(mgr); } - bool isDisabled(const LangOptions &LO) const { - return State == StateFromCmdLine::State_Disabled || !ShouldRegister(LO); + bool isDisabled(const CheckerManager &mgr) const { + return State == StateFromCmdLine::State_Disabled || !ShouldRegister(mgr); } // Since each checker must have a different full name, we can identify @@ -220,7 +219,7 @@ private: mgr.template registerChecker(); } - template static bool returnTrue(const LangOptions &) { + template static bool returnTrue(const CheckerManager &mgr) { return true; } diff --git a/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h b/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h index 6b6a395..2b12330 100644 --- a/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h +++ b/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h @@ -20,6 +20,8 @@ class AnalyzerOptions; namespace ento { +class CheckerManager; + //===----------------------------------------------------------------------===// // AST Consumer Actions //===----------------------------------------------------------------------===// @@ -52,7 +54,6 @@ private: }; } // namespace ento - } // end namespace clang #endif diff --git a/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp b/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp index 77de363..32fba9c 100644 --- a/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp +++ b/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp @@ -21,7 +21,7 @@ void registerMyChecker(CheckerManager &Mgr) { << '\n'; } -bool shouldRegisterMyChecker(const LangOptions &LO) { return true; } +bool shouldRegisterMyChecker(const CheckerManager &mgr) { return true; } } // end anonymous namespace diff --git a/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp index 2ef50a7..fb1a407 100644 --- a/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp @@ -186,6 +186,6 @@ void ento::registerAnalysisOrderChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterAnalysisOrderChecker(const LangOptions &LO) { +bool ento::shouldRegisterAnalysisOrderChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp index 6344926..c06604b 100644 --- a/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp @@ -140,6 +140,6 @@ void ento::registerAnalyzerStatsChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterAnalyzerStatsChecker(const LangOptions &LO) { +bool ento::shouldRegisterAnalyzerStatsChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp index 716571c..59163c1 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp @@ -92,6 +92,6 @@ void ento::registerArrayBoundChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterArrayBoundChecker(const LangOptions &LO) { +bool ento::shouldRegisterArrayBoundChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp index 192a3a1..7c264bb 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp @@ -356,6 +356,6 @@ void ento::registerArrayBoundCheckerV2(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterArrayBoundCheckerV2(const LangOptions &LO) { +bool ento::shouldRegisterArrayBoundCheckerV2(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp b/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp index 325952f..918c6e3 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp @@ -1243,7 +1243,7 @@ void ento::registerNilArgChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNilArgChecker(const LangOptions &LO) { +bool ento::shouldRegisterNilArgChecker(const CheckerManager &mgr) { return true; } @@ -1251,7 +1251,7 @@ void ento::registerCFNumberChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCFNumberChecker(const LangOptions &LO) { +bool ento::shouldRegisterCFNumberChecker(const CheckerManager &mgr) { return true; } @@ -1259,7 +1259,7 @@ void ento::registerCFRetainReleaseChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCFRetainReleaseChecker(const LangOptions &LO) { +bool ento::shouldRegisterCFRetainReleaseChecker(const CheckerManager &mgr) { return true; } @@ -1267,7 +1267,7 @@ void ento::registerClassReleaseChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterClassReleaseChecker(const LangOptions &LO) { +bool ento::shouldRegisterClassReleaseChecker(const CheckerManager &mgr) { return true; } @@ -1275,7 +1275,7 @@ void ento::registerVariadicMethodTypeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterVariadicMethodTypeChecker(const LangOptions &LO) { +bool ento::shouldRegisterVariadicMethodTypeChecker(const CheckerManager &mgr) { return true; } @@ -1283,7 +1283,7 @@ void ento::registerObjCLoopChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCLoopChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCLoopChecker(const CheckerManager &mgr) { return true; } @@ -1291,6 +1291,6 @@ void ento::registerObjCNonNilReturnValueChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCNonNilReturnValueChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCNonNilReturnValueChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp index 0eb3c3d..2752b37 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp @@ -184,6 +184,6 @@ void ento::registerBlockInCriticalSectionChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterBlockInCriticalSectionChecker(const LangOptions &LO) { +bool ento::shouldRegisterBlockInCriticalSectionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp index a64b121..6c0caf3c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp @@ -96,6 +96,6 @@ void ento::registerBoolAssignmentChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterBoolAssignmentChecker(const LangOptions &LO) { +bool ento::shouldRegisterBoolAssignmentChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp index 5123643..3eeb1e9 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp @@ -135,6 +135,6 @@ void ento::registerBuiltinFunctionChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterBuiltinFunctionChecker(const LangOptions &LO) { +bool ento::shouldRegisterBuiltinFunctionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp index 1500413..dcad226 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp @@ -2430,7 +2430,7 @@ void ento::registerCStringModeling(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterCStringModeling(const LangOptions &LO) { +bool ento::shouldRegisterCStringModeling(const CheckerManager &mgr) { return true; } @@ -2441,7 +2441,7 @@ bool ento::shouldRegisterCStringModeling(const LangOptions &LO) { checker->Filter.CheckName##name = mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(CStringNullArg) REGISTER_CHECKER(CStringOutOfBounds) diff --git a/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp index d84fcc6..888724f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp @@ -291,6 +291,6 @@ void ento::registerCStringSyntaxChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCStringSyntaxChecker(const LangOptions &LO) { +bool ento::shouldRegisterCStringSyntaxChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp index aada05d..2477633 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp @@ -76,6 +76,6 @@ void ento::registerCXXSelfAssignmentChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterCXXSelfAssignmentChecker(const LangOptions &LO) { +bool ento::shouldRegisterCXXSelfAssignmentChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp index 2fcb765..82bc200 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp @@ -605,7 +605,7 @@ void ento::registerCallAndMessageChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCallAndMessageChecker(const LangOptions &LO) { +bool ento::shouldRegisterCallAndMessageChecker(const CheckerManager &mgr) { return true; } @@ -615,6 +615,6 @@ void ento::registerCallAndMessageUnInitRefArg(CheckerManager &mgr) { Checker->CheckName_CallAndMessageUnInitRefArg = mgr.getCurrentCheckerName(); } -bool ento::shouldRegisterCallAndMessageUnInitRefArg(const LangOptions &LO) { +bool ento::shouldRegisterCallAndMessageUnInitRefArg(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp index b343290..a498f25 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp @@ -146,10 +146,11 @@ void ento::registerCastSizeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCastSizeChecker(const LangOptions &LO) { +bool ento::shouldRegisterCastSizeChecker(const CheckerManager &mgr) { // PR31226: C++ is more complicated than what this checker currently supports. // There are derived-to-base casts, there are different rules for 0-size // structures, no flexible arrays, etc. // FIXME: Disabled on C++ for now. + const LangOptions &LO = mgr.getLangOpts(); return !LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp index 9366559..e674ec43 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp @@ -120,6 +120,6 @@ void ento::registerCastToStructChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCastToStructChecker(const LangOptions &LO) { +bool ento::shouldRegisterCastToStructChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp index 1c3ff3e..85e2b71 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp @@ -436,6 +436,6 @@ void ento::registerCastValueChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterCastValueChecker(const LangOptions &LO) { +bool ento::shouldRegisterCastValueChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp index 50b872b..13836f0 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp @@ -1088,7 +1088,8 @@ void ento::registerObjCDeallocChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterObjCDeallocChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCDeallocChecker(const CheckerManager &mgr) { // These checker only makes sense under MRR. + const LangOptions &LO = mgr.getLangOpts(); return LO.getGC() != LangOptions::GCOnly && !LO.ObjCAutoRefCount; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp index 1694c23..175dfce 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp @@ -138,6 +138,6 @@ void ento::registerObjCMethSigsChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCMethSigsChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCMethSigsChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp index b7d615b..43ed0ff 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp @@ -129,6 +129,6 @@ void ento::registerPlacementNewChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPlacementNewChecker(const LangOptions &LO) { +bool ento::shouldRegisterPlacementNewChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp index d9ffa56..d06c876 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp @@ -1076,7 +1076,7 @@ void ento::registerSecuritySyntaxChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterSecuritySyntaxChecker(const LangOptions &LO) { +bool ento::shouldRegisterSecuritySyntaxChecker(const CheckerManager &mgr) { return true; } @@ -1087,7 +1087,7 @@ bool ento::shouldRegisterSecuritySyntaxChecker(const LangOptions &LO) { checker->filter.checkName_##name = mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(bcmp) REGISTER_CHECKER(bcopy) diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp index ec401cf..0d2551f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp @@ -91,6 +91,6 @@ void ento::registerSizeofPointerChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterSizeofPointerChecker(const LangOptions &LO) { +bool ento::shouldRegisterSizeofPointerChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp index 7a41a7b..fd53c04 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp @@ -136,6 +136,6 @@ void ento::registerChrootChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterChrootChecker(const LangOptions &LO) { +bool ento::shouldRegisterChrootChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp index ce45b5b..7968aed 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp @@ -208,6 +208,6 @@ void ento::registerCloneChecker(CheckerManager &Mgr) { .getCheckerStringOption(Checker, "IgnoredFilesPattern"); } -bool ento::shouldRegisterCloneChecker(const LangOptions &LO) { +bool ento::shouldRegisterCloneChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp index 8126fe8..0af10ce 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp @@ -1067,6 +1067,6 @@ void ento::registerContainerModeling(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterContainerModeling(const LangOptions &LO) { +bool ento::shouldRegisterContainerModeling(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp index 8dd3132..4216a68 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp @@ -196,6 +196,6 @@ void ento::registerConversionChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterConversionChecker(const LangOptions &LO) { +bool ento::shouldRegisterConversionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp index 6144188..6bc186a 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp @@ -540,6 +540,6 @@ void ento::registerDeadStoresChecker(CheckerManager &Mgr) { AnOpts.getCheckerBooleanOption(Chk, "ShowFixIts"); } -bool ento::shouldRegisterDeadStoresChecker(const LangOptions &LO) { +bool ento::shouldRegisterDeadStoresChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp b/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp index 0cb4be2..e93c1e9 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp @@ -47,7 +47,7 @@ void ento::registerDominatorsTreeDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDominatorsTreeDumper(const LangOptions &LO) { +bool ento::shouldRegisterDominatorsTreeDumper(const CheckerManager &mgr) { return true; } @@ -73,7 +73,7 @@ void ento::registerPostDominatorsTreeDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPostDominatorsTreeDumper(const LangOptions &LO) { +bool ento::shouldRegisterPostDominatorsTreeDumper(const CheckerManager &mgr) { return true; } @@ -98,7 +98,7 @@ void ento::registerControlDependencyTreeDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterControlDependencyTreeDumper(const LangOptions &LO) { +bool ento::shouldRegisterControlDependencyTreeDumper(const CheckerManager &mgr) { return true; } @@ -122,7 +122,7 @@ void ento::registerLiveVariablesDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterLiveVariablesDumper(const LangOptions &LO) { +bool ento::shouldRegisterLiveVariablesDumper(const CheckerManager &mgr) { return true; } @@ -145,7 +145,7 @@ void ento::registerLiveStatementsDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterLiveStatementsDumper(const LangOptions &LO) { +bool ento::shouldRegisterLiveStatementsDumper(const CheckerManager &mgr) { return true; } @@ -169,7 +169,7 @@ void ento::registerCFGViewer(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCFGViewer(const LangOptions &LO) { +bool ento::shouldRegisterCFGViewer(const CheckerManager &mgr) { return true; } @@ -199,7 +199,7 @@ void ento::registerCFGDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCFGDumper(const LangOptions &LO) { +bool ento::shouldRegisterCFGDumper(const CheckerManager &mgr) { return true; } @@ -223,7 +223,7 @@ void ento::registerCallGraphViewer(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCallGraphViewer(const LangOptions &LO) { +bool ento::shouldRegisterCallGraphViewer(const CheckerManager &mgr) { return true; } @@ -247,7 +247,7 @@ void ento::registerCallGraphDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCallGraphDumper(const LangOptions &LO) { +bool ento::shouldRegisterCallGraphDumper(const CheckerManager &mgr) { return true; } @@ -291,7 +291,7 @@ void ento::registerConfigDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterConfigDumper(const LangOptions &LO) { +bool ento::shouldRegisterConfigDumper(const CheckerManager &mgr) { return true; } @@ -314,7 +314,7 @@ void ento::registerExplodedGraphViewer(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterExplodedGraphViewer(const LangOptions &LO) { +bool ento::shouldRegisterExplodedGraphViewer(const CheckerManager &mgr) { return true; } @@ -346,6 +346,6 @@ void ento::registerReportStmts(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterReportStmts(const LangOptions &LO) { +bool ento::shouldRegisterReportStmts(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp index ce8dccb..6fed999f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp @@ -145,6 +145,6 @@ void ento::registerDebugContainerModeling(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDebugContainerModeling(const LangOptions &LO) { +bool ento::shouldRegisterDebugContainerModeling(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp index 254e510..5833eea 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp @@ -139,6 +139,6 @@ void ento::registerDebugIteratorModeling(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDebugIteratorModeling(const LangOptions &LO) { +bool ento::shouldRegisterDebugIteratorModeling(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp index 45c1984..97556ca 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp @@ -148,6 +148,6 @@ void ento::registerDeleteWithNonVirtualDtorChecker(CheckerManager &mgr) { } bool ento::shouldRegisterDeleteWithNonVirtualDtorChecker( - const LangOptions &LO) { + const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp index 46100cd..2411f0e 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp @@ -304,6 +304,6 @@ void ento::registerDereferenceChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDereferenceChecker(const LangOptions &LO) { +bool ento::shouldRegisterDereferenceChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp b/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp index 0c46447..d09f0da 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp @@ -222,7 +222,7 @@ void ento::registerDirectIvarAssignment(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDirectIvarAssignment(const LangOptions &LO) { +bool ento::shouldRegisterDirectIvarAssignment(const CheckerManager &mgr) { return true; } @@ -232,6 +232,6 @@ void ento::registerDirectIvarAssignmentForAnnotatedFunctions( } bool ento::shouldRegisterDirectIvarAssignmentForAnnotatedFunctions( - const LangOptions &LO) { + const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp index 8798bde..2b3164b 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp @@ -101,6 +101,6 @@ void ento::registerDivZeroChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDivZeroChecker(const LangOptions &LO) { +bool ento::shouldRegisterDivZeroChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp index 8cc38f9..dbc930d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp @@ -203,6 +203,6 @@ void ento::registerDynamicTypeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDynamicTypeChecker(const LangOptions &LO) { +bool ento::shouldRegisterDynamicTypeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp b/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp index cce3449..7168159 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp @@ -981,7 +981,7 @@ void ento::registerObjCGenericsChecker(CheckerManager &mgr) { checker->CheckGenerics = true; } -bool ento::shouldRegisterObjCGenericsChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCGenericsChecker(const CheckerManager &mgr) { return true; } @@ -989,6 +989,6 @@ void ento::registerDynamicTypePropagation(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterDynamicTypePropagation(const LangOptions &LO) { +bool ento::shouldRegisterDynamicTypePropagation(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp index 481a568..0e94b91 100644 --- a/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp @@ -142,6 +142,6 @@ void ento::registerEnumCastOutOfRangeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterEnumCastOutOfRangeChecker(const LangOptions &LO) { +bool ento::shouldRegisterEnumCastOutOfRangeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp index 97e287e7..4225d89 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp @@ -447,6 +447,6 @@ void ento::registerExprInspectionChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterExprInspectionChecker(const LangOptions &LO) { +bool ento::shouldRegisterExprInspectionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp index b315a84..6275e49 100644 --- a/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp @@ -66,6 +66,6 @@ void ento::registerFixedAddressChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterFixedAddressChecker(const LangOptions &LO) { +bool ento::shouldRegisterFixedAddressChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp index dee2212..78c51f3 100644 --- a/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp @@ -565,7 +565,7 @@ void ento::registerFuchsiaHandleChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterFuchsiaHandleChecker(const LangOptions &LO) { +bool ento::shouldRegisterFuchsiaHandleChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp index 76fa564..63fbe75 100644 --- a/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp @@ -225,6 +225,6 @@ void ento::registerGCDAntipattern(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterGCDAntipattern(const LangOptions &LO) { +bool ento::shouldRegisterGCDAntipattern(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp index f4308f5..8d9afbe 100644 --- a/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp @@ -291,8 +291,9 @@ void ento::registerGTestChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterGTestChecker(const LangOptions &LO) { +bool ento::shouldRegisterGTestChecker(const CheckerManager &mgr) { // gtest is a C++ API so there is no sense running the checker // if not compiling for C++. + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp index 3dca242..1f3e749 100644 --- a/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp @@ -948,6 +948,6 @@ void ento::registerGenericTaintChecker(CheckerManager &Mgr) { Checker->parseConfiguration(Mgr, Option, std::move(Config.getValue())); } -bool ento::shouldRegisterGenericTaintChecker(const LangOptions &LO) { +bool ento::shouldRegisterGenericTaintChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp index cc2cfb7..f226609 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp @@ -513,6 +513,6 @@ void ento::registerIdenticalExprChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterIdenticalExprChecker(const LangOptions &LO) { +bool ento::shouldRegisterIdenticalExprChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp index dd89c53..65e52e1 100644 --- a/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp @@ -307,6 +307,6 @@ void ento::registerInnerPointerChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterInnerPointerChecker(const LangOptions &LO) { +bool ento::shouldRegisterInnerPointerChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp index d1a9a7d..c6cd11b 100644 --- a/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp @@ -90,6 +90,6 @@ void ento::registerInvalidatedIteratorChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterInvalidatedIteratorChecker(const LangOptions &LO) { +bool ento::shouldRegisterInvalidatedIteratorChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp index 9a813b0..2850c6d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp @@ -717,6 +717,6 @@ void ento::registerIteratorModeling(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterIteratorModeling(const LangOptions &LO) { +bool ento::shouldRegisterIteratorModeling(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp index 1c0cf0a..6e86ef0 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp @@ -309,6 +309,6 @@ void ento::registerIteratorRangeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterIteratorRangeChecker(const LangOptions &LO) { +bool ento::shouldRegisterIteratorRangeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp index 0d64fbd..3e6756e 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp @@ -739,7 +739,7 @@ void ento::registerIvarInvalidationModeling(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterIvarInvalidationModeling(const LangOptions &LO) { +bool ento::shouldRegisterIvarInvalidationModeling(const CheckerManager &mgr) { return true; } @@ -751,7 +751,7 @@ bool ento::shouldRegisterIvarInvalidationModeling(const LangOptions &LO) { checker->Filter.checkName_##name = mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(InstanceVariableInvalidation) REGISTER_CHECKER(MissingInvalidationMethod) diff --git a/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp index 7522fdd..1f3d884 100644 --- a/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp @@ -314,6 +314,6 @@ void ento::registerLLVMConventionsChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterLLVMConventionsChecker(const LangOptions &LO) { +bool ento::shouldRegisterLLVMConventionsChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp index 79de184..252377f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp @@ -1403,7 +1403,7 @@ void ento::registerNonLocalizedStringChecker(CheckerManager &mgr) { checker, "AggressiveReport"); } -bool ento::shouldRegisterNonLocalizedStringChecker(const LangOptions &LO) { +bool ento::shouldRegisterNonLocalizedStringChecker(const CheckerManager &mgr) { return true; } @@ -1412,7 +1412,7 @@ void ento::registerEmptyLocalizationContextChecker(CheckerManager &mgr) { } bool ento::shouldRegisterEmptyLocalizationContextChecker( - const LangOptions &LO) { + const CheckerManager &mgr) { return true; } @@ -1420,6 +1420,6 @@ void ento::registerPluralMisuseChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPluralMisuseChecker(const LangOptions &LO) { +bool ento::shouldRegisterPluralMisuseChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp index d7555b7..8372138 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp @@ -293,6 +293,6 @@ void ento::registerMIGChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterMIGChecker(const LangOptions &LO) { +bool ento::shouldRegisterMIGChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp index cde5ee3..7ac7a38 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp @@ -190,6 +190,6 @@ void clang::ento::registerMPIChecker(CheckerManager &MGR) { MGR.registerChecker(); } -bool clang::ento::shouldRegisterMPIChecker(const LangOptions &LO) { +bool clang::ento::shouldRegisterMPIChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp index e064ca6..43f7dcd 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp @@ -667,6 +667,6 @@ void ento::registerMacOSKeychainAPIChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterMacOSKeychainAPIChecker(const LangOptions &LO) { +bool ento::shouldRegisterMacOSKeychainAPIChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp index 410721d..04e7f8d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp @@ -176,6 +176,6 @@ void ento::registerMacOSXAPIChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterMacOSXAPIChecker(const LangOptions &LO) { +bool ento::shouldRegisterMacOSXAPIChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index 0f00795..baf2c48 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp @@ -3289,7 +3289,7 @@ void ento::registerDynamicMemoryModeling(CheckerManager &mgr) { mgr.getAnalyzerOptions().getCheckerBooleanOption(checker, "Optimistic"); } -bool ento::shouldRegisterDynamicMemoryModeling(const LangOptions &LO) { +bool ento::shouldRegisterDynamicMemoryModeling(const CheckerManager &mgr) { return true; } @@ -3301,7 +3301,7 @@ bool ento::shouldRegisterDynamicMemoryModeling(const LangOptions &LO) { mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(MallocChecker) REGISTER_CHECKER(NewDeleteChecker) diff --git a/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp index 4fd06f2..e31630f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp @@ -337,6 +337,6 @@ void ento::registerMallocOverflowSecurityChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterMallocOverflowSecurityChecker(const LangOptions &LO) { +bool ento::shouldRegisterMallocOverflowSecurityChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp index b5881a9..71f593c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp @@ -250,6 +250,6 @@ void ento::registerMallocSizeofChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterMallocSizeofChecker(const LangOptions &LO) { +bool ento::shouldRegisterMallocSizeofChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp index 1439105..d170b87 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp @@ -290,6 +290,6 @@ void ento::registerMismatchedIteratorChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterMismatchedIteratorChecker(const LangOptions &LO) { +bool ento::shouldRegisterMismatchedIteratorChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp index ceea621..5d63d6e 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp @@ -88,6 +88,6 @@ void ento::registerMmapWriteExecChecker(CheckerManager &mgr) { .getCheckerIntegerOption(Mwec, "MmapProtRead"); } -bool ento::shouldRegisterMmapWriteExecChecker(const LangOptions &LO) { +bool ento::shouldRegisterMmapWriteExecChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp index 40eb113..7f0519c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp @@ -757,6 +757,6 @@ void ento::registerMoveChecker(CheckerManager &mgr) { mgr.getAnalyzerOptions().getCheckerStringOption(chk, "WarnOn"), mgr); } -bool ento::shouldRegisterMoveChecker(const LangOptions &LO) { +bool ento::shouldRegisterMoveChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp index 41b7fe5..be17e40 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp @@ -80,6 +80,7 @@ void ento::registerNSAutoreleasePoolChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNSAutoreleasePoolChecker(const LangOptions &LO) { +bool ento::shouldRegisterNSAutoreleasePoolChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.getGC() != LangOptions::NonGC; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp index 85370bf..2dee1e4 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp @@ -312,7 +312,7 @@ void ento::registerNSOrCFErrorDerefChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNSOrCFErrorDerefChecker(const LangOptions &LO) { +bool ento::shouldRegisterNSOrCFErrorDerefChecker(const CheckerManager &mgr) { return true; } @@ -322,7 +322,7 @@ void ento::registerNSErrorChecker(CheckerManager &mgr) { checker->ShouldCheckNSError = true; } -bool ento::shouldRegisterNSErrorChecker(const LangOptions &LO) { +bool ento::shouldRegisterNSErrorChecker(const CheckerManager &mgr) { return true; } @@ -332,6 +332,6 @@ void ento::registerCFErrorChecker(CheckerManager &mgr) { checker->ShouldCheckCFError = true; } -bool ento::shouldRegisterCFErrorChecker(const LangOptions &LO) { +bool ento::shouldRegisterCFErrorChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp index fc34255..af208e8 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp @@ -143,6 +143,6 @@ void ento::registerNoReturnFunctionChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNoReturnFunctionChecker(const LangOptions &LO) { +bool ento::shouldRegisterNoReturnFunctionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp index 6ffc897..8c7975a 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp @@ -226,6 +226,6 @@ void ento::registerNonNullParamChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNonNullParamChecker(const LangOptions &LO) { +bool ento::shouldRegisterNonNullParamChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp index 6efba43..80b705f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp @@ -147,6 +147,6 @@ void ento::registerNonnullGlobalConstantsChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterNonnullGlobalConstantsChecker(const LangOptions &LO) { +bool ento::shouldRegisterNonnullGlobalConstantsChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp index 9220487..e4b720d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp @@ -1188,7 +1188,7 @@ void ento::registerNullabilityBase(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterNullabilityBase(const LangOptions &LO) { +bool ento::shouldRegisterNullabilityBase(const CheckerManager &mgr) { return true; } @@ -1204,7 +1204,7 @@ bool ento::shouldRegisterNullabilityBase(const LangOptions &LO) { checker, "NoDiagnoseCallsToSystemHeaders", true); \ } \ \ - bool ento::shouldRegister##name##Checker(const LangOptions &LO) { \ + bool ento::shouldRegister##name##Checker(const CheckerManager &mgr) { \ return true; \ } diff --git a/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp index 1053424..df69254 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp @@ -349,6 +349,6 @@ void ento::registerNumberObjectConversionChecker(CheckerManager &Mgr) { Mgr.getAnalyzerOptions().getCheckerBooleanOption(Chk, "Pedantic"); } -bool ento::shouldRegisterNumberObjectConversionChecker(const LangOptions &LO) { +bool ento::shouldRegisterNumberObjectConversionChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp b/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp index 90d69b8..53ed0e1 100644 --- a/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp @@ -84,6 +84,6 @@ void ento::registerOSObjectCStyleCast(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterOSObjectCStyleCast(const LangOptions &LO) { +bool ento::shouldRegisterOSObjectCStyleCast(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp index 0e25817..43af4bb 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp @@ -91,6 +91,7 @@ void ento::registerObjCAtSyncChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCAtSyncChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCAtSyncChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.ObjC; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp index 9d587c5..f36e971 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp @@ -206,6 +206,6 @@ void ento::registerAutoreleaseWriteChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterAutoreleaseWriteChecker(const LangOptions &LO) { +bool ento::shouldRegisterAutoreleaseWriteChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp index 4450c46..8428b22 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp @@ -172,6 +172,6 @@ void ento::registerObjCContainersASTChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCContainersASTChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCContainersASTChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp index 8abb926..ff19d7a 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp @@ -188,6 +188,6 @@ void ento::registerObjCContainersChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCContainersChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCContainersChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp index 1870c08..24e2a4d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp @@ -221,7 +221,7 @@ void ento::registerObjCSuperCallChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterObjCSuperCallChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCSuperCallChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp index 9a49200..4636fd1 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp @@ -79,6 +79,6 @@ void ento::registerObjCPropertyChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterObjCPropertyChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCPropertyChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp index 3442857..17d3c04 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp @@ -437,6 +437,6 @@ void ento::registerObjCSelfInitChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCSelfInitChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCSelfInitChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp index 0575be8..39ffbca 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp @@ -284,6 +284,6 @@ void ento::registerObjCSuperDeallocChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterObjCSuperDeallocChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCSuperDeallocChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp index cb47704..c9828c3 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp @@ -186,6 +186,6 @@ void ento::registerObjCUnusedIvarsChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterObjCUnusedIvarsChecker(const LangOptions &LO) { +bool ento::shouldRegisterObjCUnusedIvarsChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp index 4a3c2b8..0b00664 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp @@ -353,6 +353,6 @@ void ento::registerPaddingChecker(CheckerManager &Mgr) { Checker, "AllowedPad", "a non-negative value"); } -bool ento::shouldRegisterPaddingChecker(const LangOptions &LO) { +bool ento::shouldRegisterPaddingChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp index 259f23a..d3e2849 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp @@ -343,6 +343,6 @@ void ento::registerPointerArithChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPointerArithChecker(const LangOptions &LO) { +bool ento::shouldRegisterPointerArithChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp index 307e59b..8aca6d0 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp @@ -95,6 +95,7 @@ void ento::registerPointerIterationChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterPointerIterationChecker(const LangOptions &LO) { +bool ento::shouldRegisterPointerIterationChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp index a3bfac9..8eee4df 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp @@ -108,6 +108,7 @@ void ento::registerPointerSortingChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterPointerSortingChecker(const LangOptions &LO) { +bool ento::shouldRegisterPointerSortingChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp index 88d0eb2..81c19d9 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp @@ -74,6 +74,6 @@ void ento::registerPointerSubChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPointerSubChecker(const LangOptions &LO) { +bool ento::shouldRegisterPointerSubChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp index b89e1671..285d2da 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp @@ -725,7 +725,7 @@ void ento::registerPthreadLockBase(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterPthreadLockBase(const LangOptions &LO) { return true; } +bool ento::shouldRegisterPthreadLockBase(const CheckerManager &mgr) { return true; } #define REGISTER_CHECKER(name) \ void ento::register##name(CheckerManager &mgr) { \ @@ -735,7 +735,7 @@ bool ento::shouldRegisterPthreadLockBase(const LangOptions &LO) { return true; } mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(PthreadLockChecker) REGISTER_CHECKER(FuchsiaLockChecker) diff --git a/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp index 1af93cc..4bf9beb 100644 --- a/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp @@ -1477,7 +1477,7 @@ void ento::registerRetainCountBase(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterRetainCountBase(const LangOptions &LO) { +bool ento::shouldRegisterRetainCountBase(const CheckerManager &mgr) { return true; } @@ -1503,7 +1503,7 @@ void ento::registerRetainCountChecker(CheckerManager &Mgr) { "true"); } -bool ento::shouldRegisterRetainCountChecker(const LangOptions &LO) { +bool ento::shouldRegisterRetainCountChecker(const CheckerManager &mgr) { return true; } @@ -1515,6 +1515,6 @@ void ento::registerOSObjectRetainCountChecker(CheckerManager &Mgr) { Chk->TrackOSObjects = true; } -bool ento::shouldRegisterOSObjectRetainCountChecker(const LangOptions &LO) { +bool ento::shouldRegisterOSObjectRetainCountChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp index 8a89649a..599d4f3 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp @@ -91,6 +91,6 @@ void ento::registerReturnPointerRangeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterReturnPointerRangeChecker(const LangOptions &LO) { +bool ento::shouldRegisterReturnPointerRangeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp index fbd15d8..5266cbf 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp @@ -122,6 +122,6 @@ void ento::registerReturnUndefChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterReturnUndefChecker(const LangOptions &LO) { +bool ento::shouldRegisterReturnUndefChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp index f980654..14ecede 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp @@ -165,6 +165,6 @@ void ento::registerReturnValueChecker(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterReturnValueChecker(const LangOptions &LO) { +bool ento::shouldRegisterReturnValueChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp index 5e305aa..d9dc72d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp @@ -203,6 +203,6 @@ void ento::registerRunLoopAutoreleaseLeakChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterRunLoopAutoreleaseLeakChecker(const LangOptions &LO) { +bool ento::shouldRegisterRunLoopAutoreleaseLeakChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp index 9452ccd..933e014 100644 --- a/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp @@ -174,7 +174,7 @@ void ento::registerSTLAlgorithmModeling(CheckerManager &Mgr) { "AggressiveStdFindModeling"); } -bool ento::shouldRegisterSTLAlgorithmModeling(const LangOptions &LO) { +bool ento::shouldRegisterSTLAlgorithmModeling(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp index 8193bcb..8d380ed 100644 --- a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp @@ -271,6 +271,6 @@ void ento::registerSimpleStreamChecker(CheckerManager &mgr) { } // This checker should be enabled regardless of how language options are set. -bool ento::shouldRegisterSimpleStreamChecker(const LangOptions &LO) { +bool ento::shouldRegisterSimpleStreamChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp b/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp index fd372aa..8250fd4 100644 --- a/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp @@ -67,6 +67,7 @@ void ento::registerSmartPtrModeling(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterSmartPtrModeling(const LangOptions &LO) { +bool ento::shouldRegisterSmartPtrModeling(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp index 7285d27..21fc65a 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp @@ -365,7 +365,7 @@ void ento::registerStackAddrEscapeBase(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterStackAddrEscapeBase(const LangOptions &LO) { +bool ento::shouldRegisterStackAddrEscapeBase(const CheckerManager &mgr) { return true; } @@ -376,7 +376,7 @@ bool ento::shouldRegisterStackAddrEscapeBase(const LangOptions &LO) { Chk->ChecksEnabled[StackAddrEscapeChecker::CK_##name] = true; \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { \ + bool ento::shouldRegister##name(const CheckerManager &mgr) { \ return true; \ } diff --git a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp index ff296e7..cd257ff 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp @@ -939,7 +939,7 @@ void ento::registerStdCLibraryFunctionsChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterStdCLibraryFunctionsChecker(const LangOptions &LO) { +bool ento::shouldRegisterStdCLibraryFunctionsChecker(const CheckerManager &mgr) { return true; } @@ -952,6 +952,6 @@ bool ento::shouldRegisterStdCLibraryFunctionsChecker(const LangOptions &LO) { mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name(const LangOptions &LO) { return true; } + bool ento::shouldRegister##name(const CheckerManager &mgr) { return true; } REGISTER_CHECKER(StdCLibraryFunctionArgsChecker) diff --git a/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp index 7e5bf7c..4b20fcd 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -441,4 +441,6 @@ void ento::registerStreamChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterStreamChecker(const LangOptions &LO) { return true; } +bool ento::shouldRegisterStreamChecker(const CheckerManager &mgr) { + return true; +} diff --git a/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp index f817053..916977c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp @@ -63,6 +63,6 @@ void ento::registerTaintTesterChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterTaintTesterChecker(const LangOptions &LO) { +bool ento::shouldRegisterTaintTesterChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp index 3663b09..eeec807 100644 --- a/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp @@ -261,6 +261,6 @@ void ento::registerTestAfterDivZeroChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterTestAfterDivZeroChecker(const LangOptions &LO) { +bool ento::shouldRegisterTestAfterDivZeroChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp index 73183aa..2f316bd 100644 --- a/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp @@ -64,7 +64,7 @@ void ento::registerTraversalDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterTraversalDumper(const LangOptions &LO) { +bool ento::shouldRegisterTraversalDumper(const CheckerManager &mgr) { return true; } @@ -116,6 +116,6 @@ void ento::registerCallDumper(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterCallDumper(const LangOptions &LO) { +bool ento::shouldRegisterCallDumper(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp index 62a4c2a..5cc7131 100644 --- a/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp @@ -252,6 +252,6 @@ void ento::registerTrustNonnullChecker(CheckerManager &Mgr) { Mgr.registerChecker(Mgr.getASTContext()); } -bool ento::shouldRegisterTrustNonnullChecker(const LangOptions &LO) { +bool ento::shouldRegisterTrustNonnullChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp index 247cba7..3e0caaf 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp @@ -110,6 +110,6 @@ void ento::registerUndefBranchChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUndefBranchChecker(const LangOptions &LO) { +bool ento::shouldRegisterUndefBranchChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp index 7b581be..e457513 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp @@ -101,6 +101,6 @@ void ento::registerUndefCapturedBlockVarChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUndefCapturedBlockVarChecker(const LangOptions &LO) { +bool ento::shouldRegisterUndefCapturedBlockVarChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp index 9a37786..392da48 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp @@ -187,6 +187,6 @@ void ento::registerUndefResultChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUndefResultChecker(const LangOptions &LO) { +bool ento::shouldRegisterUndefResultChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp index 2f075ea..fdefe75 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp @@ -62,6 +62,6 @@ void ento::registerUndefinedArraySubscriptChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUndefinedArraySubscriptChecker(const LangOptions &LO) { +bool ento::shouldRegisterUndefinedArraySubscriptChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp index 277a8a1..05f8f60 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp @@ -120,6 +120,6 @@ void ento::registerUndefinedAssignmentChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUndefinedAssignmentChecker(const LangOptions &LO) { +bool ento::shouldRegisterUndefinedAssignmentChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp index 562d553..e0be718 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp @@ -628,6 +628,6 @@ void ento::registerUninitializedObjectChecker(CheckerManager &Mgr) { "\"" + ErrorMsg + "\""); } -bool ento::shouldRegisterUninitializedObjectChecker(const LangOptions &LO) { +bool ento::shouldRegisterUninitializedObjectChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp index f4e225d..6ea8451 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp @@ -503,7 +503,7 @@ void UnixAPIPortabilityChecker::checkPreStmt(const CallExpr *CE, mgr.registerChecker(); \ } \ \ - bool ento::shouldRegister##CHECKERNAME(const LangOptions &LO) { \ + bool ento::shouldRegister##CHECKERNAME(const CheckerManager &mgr) { \ return true; \ } diff --git a/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp index 65dd826..74eec81 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp @@ -257,6 +257,6 @@ void ento::registerUnreachableCodeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterUnreachableCodeChecker(const LangOptions &LO) { +bool ento::shouldRegisterUnreachableCodeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp index 92e81ed..21e8b96 100644 --- a/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp @@ -187,6 +187,6 @@ void ento::registerVLASizeChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterVLASizeChecker(const LangOptions &LO) { +bool ento::shouldRegisterVLASizeChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp index a361051..dde5912 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp @@ -404,7 +404,7 @@ void ento::registerValistBase(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterValistBase(const LangOptions &LO) { +bool ento::shouldRegisterValistBase(const CheckerManager &mgr) { return true; } @@ -416,7 +416,7 @@ bool ento::shouldRegisterValistBase(const LangOptions &LO) { mgr.getCurrentCheckerName(); \ } \ \ - bool ento::shouldRegister##name##Checker(const LangOptions &LO) { \ + bool ento::shouldRegister##name##Checker(const CheckerManager &mgr) { \ return true; \ } diff --git a/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp index 077a348..8f14702 100644 --- a/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp @@ -217,6 +217,6 @@ void ento::registerVforkChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool ento::shouldRegisterVforkChecker(const LangOptions &LO) { +bool ento::shouldRegisterVforkChecker(const CheckerManager &mgr) { return true; } diff --git a/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp index fd93fc3..f49ee5f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp @@ -224,14 +224,17 @@ void ento::registerVirtualCallChecker(CheckerManager &Mgr) { } } -bool ento::shouldRegisterVirtualCallModeling(const LangOptions &LO) { +bool ento::shouldRegisterVirtualCallModeling(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } -bool ento::shouldRegisterPureVirtualCallChecker(const LangOptions &LO) { +bool ento::shouldRegisterPureVirtualCallChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } -bool ento::shouldRegisterVirtualCallChecker(const LangOptions &LO) { +bool ento::shouldRegisterVirtualCallChecker(const CheckerManager &mgr) { + const LangOptions &LO = mgr.getLangOpts(); return LO.CPlusPlus; } diff --git a/clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp index b712e77..1c67bbd 100644 --- a/clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp @@ -63,4 +63,4 @@ void ento::registerPutenvWithAuto(CheckerManager &Mgr) { Mgr.registerChecker(); } -bool ento::shouldRegisterPutenvWithAuto(const LangOptions &) { return true; } +bool ento::shouldRegisterPutenvWithAuto(const CheckerManager &) { return true; } diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp index db09ca4e..e558354 100644 --- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp +++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp @@ -228,7 +228,7 @@ collectDependencies(const CheckerRegistry::CheckerInfo &checker, void CheckerRegistry::initializeRegistry(const CheckerManager &Mgr) { for (const CheckerInfo &Checker : Checkers) { - if (!Checker.isEnabled(Mgr.getLangOpts())) + if (!Checker.isEnabled(Mgr)) continue; // Recursively enable its dependencies. @@ -276,7 +276,7 @@ collectDependenciesImpl(const CheckerRegistry::ConstCheckerInfoList &Deps, for (const CheckerRegistry::CheckerInfo *Dependency : Deps) { - if (Dependency->isDisabled(Mgr.getLangOpts())) + if (Dependency->isDisabled(Mgr)) return false; // Collect dependencies recursively. diff --git a/clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp b/clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp index 8027d33..51d52c4 100644 --- a/clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp +++ b/clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp @@ -99,7 +99,7 @@ void registerPrerequisiteChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool shouldRegisterPrerequisiteChecker(const LangOptions &LO) { +bool shouldRegisterPrerequisiteChecker(const CheckerManager &mgr) { return false; } @@ -117,7 +117,7 @@ void registerDependentChecker(CheckerManager &mgr) { mgr.registerChecker(); } -bool shouldRegisterDependentChecker(const LangOptions &LO) { +bool shouldRegisterDependentChecker(const CheckerManager &mgr) { return true; } -- 2.7.4