diff options
Diffstat (limited to 'clang/lib/GR/Checkers')
47 files changed, 122 insertions, 55 deletions
diff --git a/clang/lib/GR/Checkers/AdjustedReturnValueChecker.cpp b/clang/lib/GR/Checkers/AdjustedReturnValueChecker.cpp index 281d74f926c..d9cfd3cac84 100644 --- a/clang/lib/GR/Checkers/AdjustedReturnValueChecker.cpp +++ b/clang/lib/GR/Checkers/AdjustedReturnValueChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class AdjustedReturnValueChecker : @@ -34,7 +35,7 @@ public: }; } -void clang::RegisterAdjustedReturnValueChecker(GRExprEngine &Eng) { +void GR::RegisterAdjustedReturnValueChecker(GRExprEngine &Eng) { Eng.registerCheck(new AdjustedReturnValueChecker()); } diff --git a/clang/lib/GR/Checkers/ArrayBoundChecker.cpp b/clang/lib/GR/Checkers/ArrayBoundChecker.cpp index a36e13e4fe6..f97adf3d145 100644 --- a/clang/lib/GR/Checkers/ArrayBoundChecker.cpp +++ b/clang/lib/GR/Checkers/ArrayBoundChecker.cpp @@ -18,6 +18,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class ArrayBoundChecker : @@ -30,7 +31,7 @@ public: }; } -void clang::RegisterArrayBoundChecker(GRExprEngine &Eng) { +void GR::RegisterArrayBoundChecker(GRExprEngine &Eng) { Eng.registerCheck(new ArrayBoundChecker()); } diff --git a/clang/lib/GR/Checkers/AttrNonNullChecker.cpp b/clang/lib/GR/Checkers/AttrNonNullChecker.cpp index 5be12783bd8..baf209e3c86 100644 --- a/clang/lib/GR/Checkers/AttrNonNullChecker.cpp +++ b/clang/lib/GR/Checkers/AttrNonNullChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class AttrNonNullChecker @@ -32,7 +33,7 @@ public: }; } // end anonymous namespace -void clang::RegisterAttrNonNullChecker(GRExprEngine &Eng) { +void GR::RegisterAttrNonNullChecker(GRExprEngine &Eng) { Eng.registerCheck(new AttrNonNullChecker()); } diff --git a/clang/lib/GR/Checkers/BasicObjCFoundationChecks.cpp b/clang/lib/GR/Checkers/BasicObjCFoundationChecks.cpp index dc536957047..93c8babde13 100644 --- a/clang/lib/GR/Checkers/BasicObjCFoundationChecks.cpp +++ b/clang/lib/GR/Checkers/BasicObjCFoundationChecks.cpp @@ -29,6 +29,7 @@ #include "clang/AST/ASTContext.h" using namespace clang; +using namespace GR; namespace { class APIMisuse : public BugType { @@ -510,7 +511,7 @@ void ClassReleaseChecker::PreVisitObjCMessageExpr(CheckerContext &C, // Check registration. //===----------------------------------------------------------------------===// -void clang::RegisterAppleChecks(GRExprEngine& Eng, const Decl &D) { +void GR::RegisterAppleChecks(GRExprEngine& Eng, const Decl &D) { Eng.registerCheck(new NilArgChecker()); Eng.registerCheck(new CFNumberCreateChecker()); RegisterNSErrorChecks(Eng.getBugReporter(), Eng, D); diff --git a/clang/lib/GR/Checkers/BasicObjCFoundationChecks.h b/clang/lib/GR/Checkers/BasicObjCFoundationChecks.h index 6ad850b9735..7fdccdcacb8 100644 --- a/clang/lib/GR/Checkers/BasicObjCFoundationChecks.h +++ b/clang/lib/GR/Checkers/BasicObjCFoundationChecks.h @@ -13,19 +13,24 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_ANALYSIS_BASICOBJCFOUNDATIONCHECKS -#define LLVM_CLANG_ANALYSIS_BASICOBJCFOUNDATIONCHECKS +#ifndef LLVM_CLANG_GR_BASICOBJCFOUNDATIONCHECKS +#define LLVM_CLANG_GR_BASICOBJCFOUNDATIONCHECKS namespace clang { class ASTContext; -class BugReporter; class Decl; + +namespace GR { + +class BugReporter; class GRExprEngine; void RegisterNSErrorChecks(BugReporter& BR, GRExprEngine &Eng, const Decl &D); void RegisterNSAutoreleasePoolChecks(GRExprEngine &Eng); +} // end GR namespace + } // end clang namespace #endif diff --git a/clang/lib/GR/Checkers/BuiltinFunctionChecker.cpp b/clang/lib/GR/Checkers/BuiltinFunctionChecker.cpp index 08fcbd6f4ef..dc55a65ff5a 100644 --- a/clang/lib/GR/Checkers/BuiltinFunctionChecker.cpp +++ b/clang/lib/GR/Checkers/BuiltinFunctionChecker.cpp @@ -16,6 +16,7 @@ #include "clang/Basic/Builtins.h" using namespace clang; +using namespace GR; namespace { @@ -27,7 +28,7 @@ public: } -void clang::RegisterBuiltinFunctionChecker(GRExprEngine &Eng) { +void GR::RegisterBuiltinFunctionChecker(GRExprEngine &Eng) { Eng.registerCheck(new BuiltinFunctionChecker()); } diff --git a/clang/lib/GR/Checkers/CStringChecker.cpp b/clang/lib/GR/Checkers/CStringChecker.cpp index db4d86f0e3b..da0bba37416 100644 --- a/clang/lib/GR/Checkers/CStringChecker.cpp +++ b/clang/lib/GR/Checkers/CStringChecker.cpp @@ -19,6 +19,7 @@ #include "llvm/ADT/StringSwitch.h" using namespace clang; +using namespace GR; namespace { class CStringChecker : public CheckerVisitor<CStringChecker> { @@ -99,14 +100,16 @@ public: } //end anonymous namespace namespace clang { +namespace GR { template <> struct GRStateTrait<CStringLength> : public GRStatePartialTrait<CStringLength::EntryMap> { static void *GDMIndex() { return CStringChecker::getTag(); } }; } +} -void clang::RegisterCStringChecker(GRExprEngine &Eng) { +void GR::RegisterCStringChecker(GRExprEngine &Eng) { Eng.registerCheck(new CStringChecker()); } diff --git a/clang/lib/GR/Checkers/CallAndMessageChecker.cpp b/clang/lib/GR/Checkers/CallAndMessageChecker.cpp index e68569ce7e8..8b8f75faf68 100644 --- a/clang/lib/GR/Checkers/CallAndMessageChecker.cpp +++ b/clang/lib/GR/Checkers/CallAndMessageChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class CallAndMessageChecker @@ -61,7 +62,7 @@ private: }; } // end anonymous namespace -void clang::RegisterCallAndMessageChecker(GRExprEngine &Eng) { +void GR::RegisterCallAndMessageChecker(GRExprEngine &Eng) { Eng.registerCheck(new CallAndMessageChecker()); } diff --git a/clang/lib/GR/Checkers/CastSizeChecker.cpp b/clang/lib/GR/Checkers/CastSizeChecker.cpp index 1248d12c911..bcbb89441f4 100644 --- a/clang/lib/GR/Checkers/CastSizeChecker.cpp +++ b/clang/lib/GR/Checkers/CastSizeChecker.cpp @@ -17,6 +17,7 @@ #include "GRExprEngineInternalChecks.h" using namespace clang; +using namespace GR; namespace { class CastSizeChecker : public CheckerVisitor<CastSizeChecker> { @@ -85,6 +86,6 @@ void CastSizeChecker::PreVisitCastExpr(CheckerContext &C, const CastExpr *CE) { } -void clang::RegisterCastSizeChecker(GRExprEngine &Eng) { +void GR::RegisterCastSizeChecker(GRExprEngine &Eng) { Eng.registerCheck(new CastSizeChecker()); } diff --git a/clang/lib/GR/Checkers/CastToStructChecker.cpp b/clang/lib/GR/Checkers/CastToStructChecker.cpp index 2a010b210b0..0bcba284b86 100644 --- a/clang/lib/GR/Checkers/CastToStructChecker.cpp +++ b/clang/lib/GR/Checkers/CastToStructChecker.cpp @@ -18,6 +18,7 @@ #include "GRExprEngineInternalChecks.h" using namespace clang; +using namespace GR; namespace { class CastToStructChecker @@ -73,6 +74,6 @@ void CastToStructChecker::PreVisitCastExpr(CheckerContext &C, } } -void clang::RegisterCastToStructChecker(GRExprEngine &Eng) { +void GR::RegisterCastToStructChecker(GRExprEngine &Eng) { Eng.registerCheck(new CastToStructChecker()); } diff --git a/clang/lib/GR/Checkers/CheckDeadStores.cpp b/clang/lib/GR/Checkers/CheckDeadStores.cpp index 7e90781bd30..44fdb3afbba 100644 --- a/clang/lib/GR/Checkers/CheckDeadStores.cpp +++ b/clang/lib/GR/Checkers/CheckDeadStores.cpp @@ -24,6 +24,7 @@ #include "llvm/ADT/SmallPtrSet.h" using namespace clang; +using namespace GR; namespace { @@ -280,7 +281,7 @@ public: } // end anonymous namespace -void clang::CheckDeadStores(CFG &cfg, LiveVariables &L, ParentMap &pmap, +void GR::CheckDeadStores(CFG &cfg, LiveVariables &L, ParentMap &pmap, BugReporter& BR) { FindEscaped FS(&cfg); FS.getCFG().VisitBlockStmts(FS); diff --git a/clang/lib/GR/Checkers/CheckObjCDealloc.cpp b/clang/lib/GR/Checkers/CheckObjCDealloc.cpp index c3d511ba025..f8ec7f6edab 100644 --- a/clang/lib/GR/Checkers/CheckObjCDealloc.cpp +++ b/clang/lib/GR/Checkers/CheckObjCDealloc.cpp @@ -23,6 +23,7 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +using namespace GR; static bool scan_dealloc(Stmt* S, Selector Dealloc) { @@ -93,8 +94,8 @@ static bool scan_ivar_release(Stmt* S, ObjCIvarDecl* ID, return false; } -void clang::CheckObjCDealloc(const ObjCImplementationDecl* D, - const LangOptions& LOpts, BugReporter& BR) { +void GR::CheckObjCDealloc(const ObjCImplementationDecl* D, + const LangOptions& LOpts, BugReporter& BR) { assert (LOpts.getGCMode() != LangOptions::GCOnly); diff --git a/clang/lib/GR/Checkers/CheckObjCInstMethSignature.cpp b/clang/lib/GR/Checkers/CheckObjCInstMethSignature.cpp index 2b83d13e759..b2be375f107 100644 --- a/clang/lib/GR/Checkers/CheckObjCInstMethSignature.cpp +++ b/clang/lib/GR/Checkers/CheckObjCInstMethSignature.cpp @@ -24,6 +24,7 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +using namespace GR; static bool AreTypesCompatible(QualType Derived, QualType Ancestor, ASTContext& C) { @@ -69,8 +70,8 @@ static void CompareReturnTypes(const ObjCMethodDecl *MethDerived, } } -void clang::CheckObjCInstMethSignature(const ObjCImplementationDecl* ID, - BugReporter& BR) { +void GR::CheckObjCInstMethSignature(const ObjCImplementationDecl* ID, + BugReporter& BR) { const ObjCInterfaceDecl* D = ID->getClassInterface(); const ObjCInterfaceDecl* C = D->getSuperClass(); diff --git a/clang/lib/GR/Checkers/CheckSecuritySyntaxOnly.cpp b/clang/lib/GR/Checkers/CheckSecuritySyntaxOnly.cpp index bdf18ca7608..ea658e39844 100644 --- a/clang/lib/GR/Checkers/CheckSecuritySyntaxOnly.cpp +++ b/clang/lib/GR/Checkers/CheckSecuritySyntaxOnly.cpp @@ -18,6 +18,7 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +using namespace GR; static bool isArc4RandomAvailable(const ASTContext &Ctx) { const llvm::Triple &T = Ctx.Target.getTriple(); @@ -496,7 +497,7 @@ void WalkAST::CheckUncheckedReturnValue(CallExpr *CE) { // Entry point for check. //===----------------------------------------------------------------------===// -void clang::CheckSecuritySyntaxOnly(const Decl *D, BugReporter &BR) { +void GR::CheckSecuritySyntaxOnly(const Decl *D, BugReporter &BR) { WalkAST walker(BR); walker.Visit(D->getBody()); } diff --git a/clang/lib/GR/Checkers/CheckSizeofPointer.cpp b/clang/lib/GR/Checkers/CheckSizeofPointer.cpp index 4cf5eb70069..696dce2941d 100644 --- a/clang/lib/GR/Checkers/CheckSizeofPointer.cpp +++ b/clang/lib/GR/Checkers/CheckSizeofPointer.cpp @@ -17,6 +17,7 @@ #include "clang/GR/Checkers/LocalCheckers.h" using namespace clang; +using namespace GR; namespace { class WalkAST : public StmtVisitor<WalkAST> { @@ -65,7 +66,7 @@ void WalkAST::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E) { } } -void clang::CheckSizeofPointer(const Decl *D, BugReporter &BR) { +void GR::CheckSizeofPointer(const Decl *D, BugReporter &BR) { WalkAST walker(BR); walker.Visit(D->getBody()); } diff --git a/clang/lib/GR/Checkers/ChrootChecker.cpp b/clang/lib/GR/Checkers/ChrootChecker.cpp index 2108094ae11..f93ee7b9416 100644 --- a/clang/lib/GR/Checkers/ChrootChecker.cpp +++ b/clang/lib/GR/Checkers/ChrootChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/SymbolManager.h" #include "llvm/ADT/ImmutableMap.h" using namespace clang; +using namespace GR; namespace { @@ -58,7 +59,7 @@ private: } // end anonymous namespace -void clang::RegisterChrootChecker(GRExprEngine &Eng) { +void GR::RegisterChrootChecker(GRExprEngine &Eng) { Eng.registerCheck(new ChrootChecker()); } diff --git a/clang/lib/GR/Checkers/DereferenceChecker.cpp b/clang/lib/GR/Checkers/DereferenceChecker.cpp index 72c88b1a3c7..62b1f86fb48 100644 --- a/clang/lib/GR/Checkers/DereferenceChecker.cpp +++ b/clang/lib/GR/Checkers/DereferenceChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class DereferenceChecker : public Checker { @@ -42,12 +43,12 @@ public: }; } // end anonymous namespace -void clang::RegisterDereferenceChecker(GRExprEngine &Eng) { +void GR::RegisterDereferenceChecker(GRExprEngine &Eng) { Eng.registerCheck(new DereferenceChecker()); } std::pair<ExplodedNode * const *, ExplodedNode * const *> -clang::GetImplicitNullDereferences(GRExprEngine &Eng) { +GR::GetImplicitNullDereferences(GRExprEngine &Eng) { DereferenceChecker *checker = Eng.getChecker<DereferenceChecker>(); if (!checker) return std::make_pair((ExplodedNode * const *) 0, diff --git a/clang/lib/GR/Checkers/DivZeroChecker.cpp b/clang/lib/GR/Checkers/DivZeroChecker.cpp index e76d84672f7..a4cb1a4a130 100644 --- a/clang/lib/GR/Checkers/DivZeroChecker.cpp +++ b/clang/lib/GR/Checkers/DivZeroChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class DivZeroChecker : public CheckerVisitor<DivZeroChecker> { @@ -28,7 +29,7 @@ public: }; } // end anonymous namespace -void clang::RegisterDivZeroChecker(GRExprEngine &Eng) { +void GR::RegisterDivZeroChecker(GRExprEngine &Eng) { Eng.registerCheck(new DivZeroChecker()); } diff --git a/clang/lib/GR/Checkers/FixedAddressChecker.cpp b/clang/lib/GR/Checkers/FixedAddressChecker.cpp index ede6b555d48..4c7086f4f1e 100644 --- a/clang/lib/GR/Checkers/FixedAddressChecker.cpp +++ b/clang/lib/GR/Checkers/FixedAddressChecker.cpp @@ -18,6 +18,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class FixedAddressChecker @@ -66,6 +67,6 @@ void FixedAddressChecker::PreVisitBinaryOperator(CheckerContext &C, } } -void clang::RegisterFixedAddressChecker(GRExprEngine &Eng) { +void GR::RegisterFixedAddressChecker(GRExprEngine &Eng) { Eng.registerCheck(new FixedAddressChecker()); } diff --git a/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.cpp b/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.cpp index f1acc65d769..fd9bf5dd520 100644 --- a/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.cpp +++ b/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.cpp @@ -17,8 +17,9 @@ #include "clang/GR/Checkers/LocalCheckers.h" using namespace clang; +using namespace GR; -void clang::RegisterExperimentalChecks(GRExprEngine &Eng) { +void GR::RegisterExperimentalChecks(GRExprEngine &Eng) { // These are checks that never belong as internal checks // within GRExprEngine. RegisterCStringChecker(Eng); @@ -29,7 +30,7 @@ void clang::RegisterExperimentalChecks(GRExprEngine &Eng) { RegisterUnreachableCodeChecker(Eng); } -void clang::RegisterExperimentalInternalChecks(GRExprEngine &Eng) { +void GR::RegisterExperimentalInternalChecks(GRExprEngine &Eng) { // These are internal checks that should eventually migrate to // RegisterInternalChecks() once they have been further tested. diff --git a/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.h b/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.h index 3380031e020..54a61256590 100644 --- a/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.h +++ b/clang/lib/GR/Checkers/GRExprEngineExperimentalChecks.h @@ -12,11 +12,13 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_GREXPRENGINE_EXPERIMENTAL_CHECKS -#define LLVM_CLANG_GREXPRENGINE_EXPERIMENTAL_CHECKS +#ifndef LLVM_CLANG_GR_GREXPRENGINE_EXPERIMENTAL_CHECKS +#define LLVM_CLANG_GR_GREXPRENGINE_EXPERIMENTAL_CHECKS namespace clang { +namespace GR { + class GRExprEngine; void RegisterAnalyzerStatsChecker(GRExprEngine &Eng); @@ -28,5 +30,8 @@ void RegisterPthreadLockChecker(GRExprEngine &Eng); void RegisterStreamChecker(GRExprEngine &Eng); void RegisterUnreachableCodeChecker(GRExprEngine &Eng); +} // end GR namespace + } // end clang namespace + #endif diff --git a/clang/lib/GR/Checkers/GRExprEngineInternalChecks.h b/clang/lib/GR/Checkers/GRExprEngineInternalChecks.h index 740a914cfcd..cba419a9b60 100644 --- a/clang/lib/GR/Checkers/GRExprEngineInternalChecks.h +++ b/clang/lib/GR/Checkers/GRExprEngineInternalChecks.h @@ -12,11 +12,13 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS -#define LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS +#ifndef LLVM_CLANG_GR_GREXPRENGINE_INTERNAL_CHECKS +#define LLVM_CLANG_GR_GREXPRENGINE_INTERNAL_CHECKS namespace clang { +namespace GR { + class GRExprEngine; // Foundational checks that handle basic semantics. @@ -49,5 +51,8 @@ void RegisterMacOSXAPIChecker(GRExprEngine &Eng); void RegisterOSAtomicChecker(GRExprEngine &Eng); void RegisterUnixAPIChecker(GRExprEngine &Eng); +} // end GR namespace + } // end clang namespace + #endif diff --git a/clang/lib/GR/Checkers/IdempotentOperationChecker.cpp b/clang/lib/GR/Checkers/IdempotentOperationChecker.cpp index e6f0e5de06f..b28edc3b12d 100644 --- a/clang/lib/GR/Checkers/IdempotentOperationChecker.cpp +++ b/clang/lib/GR/Checkers/IdempotentOperationChecker.cpp @@ -58,6 +58,7 @@ #include <deque> using namespace clang; +using namespace GR; namespace { class IdempotentOperationChecker @@ -129,7 +130,7 @@ void *IdempotentOperationChecker::getTag() { return &x; } -void clang::RegisterIdempotentOperationChecker(GRExprEngine &Eng) { +void GR::RegisterIdempotentOperationChecker(GRExprEngine &Eng) { Eng.registerCheck(new IdempotentOperationChecker()); } diff --git a/clang/lib/GR/Checkers/LLVMConventionsChecker.cpp b/clang/lib/GR/Checkers/LLVMConventionsChecker.cpp index e97074e5425..655e7565165 100644 --- a/clang/lib/GR/Checkers/LLVMConventionsChecker.cpp +++ b/clang/lib/GR/Checkers/LLVMConventionsChecker.cpp @@ -20,6 +20,7 @@ #include "llvm/ADT/StringRef.h" using namespace clang; +using namespace GR; //===----------------------------------------------------------------------===// // Generic type checking routines. @@ -305,7 +306,7 @@ static void ScanCodeDecls(DeclContext *DC, BugReporter &BR) { } } -void clang::CheckLLVMConventions(TranslationUnitDecl &TU, +void GR::CheckLLVMConventions(TranslationUnitDecl &TU, BugReporter &BR) { ScanCodeDecls(&TU, BR); } diff --git a/clang/lib/GR/Checkers/MacOSXAPIChecker.cpp b/clang/lib/GR/Checkers/MacOSXAPIChecker.cpp index c798cb291f4..316e37a40f4 100644 --- a/clang/lib/GR/Checkers/MacOSXAPIChecker.cpp +++ b/clang/lib/GR/Checkers/MacOSXAPIChecker.cpp @@ -25,6 +25,7 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +using namespace GR; namespace { class MacOSXAPIChecker : public CheckerVisitor<MacOSXAPIChecker> { @@ -44,7 +45,7 @@ public: }; } //end anonymous namespace -void clang::RegisterMacOSXAPIChecker(GRExprEngine &Eng) { +void GR::RegisterMacOSXAPIChecker(GRExprEngine &Eng) { if (Eng.getContext().Target.getTriple().getVendor() == llvm::Triple::Apple) Eng.registerCheck(new MacOSXAPIChecker()); } diff --git a/clang/lib/GR/Checkers/MallocChecker.cpp b/clang/lib/GR/Checkers/MallocChecker.cpp index 367ac245c14..cd5f636e961 100644 --- a/clang/lib/GR/Checkers/MallocChecker.cpp +++ b/clang/lib/GR/Checkers/MallocChecker.cpp @@ -20,6 +20,7 @@ #include "clang/GR/PathSensitive/SymbolManager.h" #include "llvm/ADT/ImmutableMap.h" using namespace clang; +using namespace GR; namespace { @@ -116,14 +117,16 @@ private: typedef llvm::ImmutableMap<SymbolRef, RefState> RegionStateTy; namespace clang { +namespace GR { template <> struct GRStateTrait<RegionState> : public GRStatePartialTrait<RegionStateTy> { static void *GDMIndex() { return MallocChecker::getTag(); } }; } +} -void clang::RegisterMallocChecker(GRExprEngine &Eng) { +void GR::RegisterMallocChecker(GRExprEngine &Eng) { Eng.registerCheck(new MallocChecker()); } diff --git a/clang/lib/GR/Checkers/NSAutoreleasePoolChecker.cpp b/clang/lib/GR/Checkers/NSAutoreleasePoolChecker.cpp index d8225a7e4e7..d6701c7142c 100644 --- a/clang/lib/GR/Checkers/NSAutoreleasePoolChecker.cpp +++ b/clang/lib/GR/Checkers/NSAutoreleasePoolChecker.cpp @@ -23,6 +23,7 @@ #include "clang/AST/Decl.h" using namespace clang; +using namespace GR; namespace { class NSAutoreleasePoolChecker @@ -44,7 +45,7 @@ public: } // end anonymous namespace -void clang::RegisterNSAutoreleasePoolChecks(GRExprEngine &Eng) { +void GR::RegisterNSAutoreleasePoolChecks(GRExprEngine &Eng) { ASTContext &Ctx = Eng.getContext(); if (Ctx.getLangOptions().getGCMode() != LangOptions::NonGC) { Eng.registerCheck(new NSAutoreleasePoolChecker(GetNullarySelector("release", diff --git a/clang/lib/GR/Checkers/NSErrorChecker.cpp b/clang/lib/GR/Checkers/NSErrorChecker.cpp index 73caf774bfc..44715bf9f94 100644 --- a/clang/lib/GR/Checkers/NSErrorChecker.cpp +++ b/clang/lib/GR/Checkers/NSErrorChecker.cpp @@ -25,6 +25,7 @@ #include "llvm/ADT/SmallVector.h" using namespace clang; +using namespace GR; namespace { class NSErrorChecker : public BugType { @@ -62,7 +63,7 @@ public: } // end anonymous namespace -void clang::RegisterNSErrorChecks(BugReporter& BR, GRExprEngine &Eng, +void GR::RegisterNSErrorChecks(BugReporter& BR, GRExprEngine &Eng, const Decl &D) { BR.Register(new NSErrorChecker(D, true, Eng)); BR.Register(new NSErrorChecker(D, false, Eng)); diff --git a/clang/lib/GR/Checkers/NoReturnFunctionChecker.cpp b/clang/lib/GR/Checkers/NoReturnFunctionChecker.cpp index fdd2849719f..739460f781d 100644 --- a/clang/lib/GR/Checkers/NoReturnFunctionChecker.cpp +++ b/clang/lib/GR/Checkers/NoReturnFunctionChecker.cpp @@ -17,6 +17,7 @@ #include "llvm/ADT/StringSwitch.h" using namespace clang; +using namespace GR; namespace { @@ -28,7 +29,7 @@ public: } -void clang::RegisterNoReturnFunctionChecker(GRExprEngine &Eng) { +void GR::RegisterNoReturnFunctionChecker(GRExprEngine &Eng) { Eng.registerCheck(new NoReturnFunctionChecker()); } diff --git a/clang/lib/GR/Checkers/OSAtomicChecker.cpp b/clang/lib/GR/Checkers/OSAtomicChecker.cpp index 36b5335d88a..7df7a9eec04 100644 --- a/clang/lib/GR/Checkers/OSAtomicChecker.cpp +++ b/clang/lib/GR/Checkers/OSAtomicChecker.cpp @@ -16,6 +16,7 @@ #include "clang/Basic/Builtins.h" using namespace clang; +using namespace GR; namespace { @@ -30,7 +31,7 @@ private: } -void clang::RegisterOSAtomicChecker(GRExprEngine &Eng) { +void GR::RegisterOSAtomicChecker(GRExprEngine &Eng) { Eng.registerCheck(new OSAtomicChecker()); } diff --git a/clang/lib/GR/Checkers/ObjCAtSyncChecker.cpp b/clang/lib/GR/Checkers/ObjCAtSyncChecker.cpp index c95df4ef4b9..a3938627b1f 100644 --- a/clang/lib/GR/Checkers/ObjCAtSyncChecker.cpp +++ b/clang/lib/GR/Checkers/ObjCAtSyncChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class ObjCAtSyncChecker : public CheckerVisitor<ObjCAtSyncChecker> { @@ -32,7 +33,7 @@ public: }; } // end anonymous namespace -void clang::RegisterObjCAtSyncChecker(GRExprEngine &Eng) { +void GR::RegisterObjCAtSyncChecker(GRExprEngine &Eng) { // @synchronized is an Objective-C 2 feature. if (Eng.getContext().getLangOptions().ObjC2) Eng.registerCheck(new ObjCAtSyncChecker()); diff --git a/clang/lib/GR/Checkers/ObjCUnusedIVarsChecker.cpp b/clang/lib/GR/Checkers/ObjCUnusedIVarsChecker.cpp index e3f5d565e72..611914fbc00 100644 --- a/clang/lib/GR/Checkers/ObjCUnusedIVarsChecker.cpp +++ b/clang/lib/GR/Checkers/ObjCUnusedIVarsChecker.cpp @@ -23,6 +23,7 @@ #include "clang/Basic/SourceManager.h" using namespace clang; +using namespace GR; enum IVarState { Unused, Used }; typedef llvm::DenseMap<const ObjCIvarDecl*,IVarState> IvarUsageMap; @@ -97,7 +98,7 @@ static void Scan(IvarUsageMap &M, const DeclContext *C, const FileID FID, } } -void clang::CheckObjCUnusedIvar(const ObjCImplementationDecl *D, +void GR::CheckObjCUnusedIvar(const ObjCImplementationDecl *D, BugReporter &BR) { const ObjCInterfaceDecl* ID = D->getClassInterface(); diff --git a/clang/lib/GR/Checkers/PointerArithChecker.cpp b/clang/lib/GR/Checkers/PointerArithChecker.cpp index 0517140da32..485144a1421 100644 --- a/clang/lib/GR/Checkers/PointerArithChecker.cpp +++ b/clang/lib/GR/Checkers/PointerArithChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class PointerArithChecker @@ -66,6 +67,6 @@ void PointerArithChecker::PreVisitBinaryOperator(CheckerContext &C, } } -void clang::RegisterPointerArithChecker(GRExprEngine &Eng) { +void GR::RegisterPointerArithChecker(GRExprEngine &Eng) { Eng.registerCheck(new PointerArithChecker()); } diff --git a/clang/lib/GR/Checkers/PointerSubChecker.cpp b/clang/lib/GR/Checkers/PointerSubChecker.cpp index 24f839dca12..44e3d9f0090 100644 --- a/clang/lib/GR/Checkers/PointerSubChecker.cpp +++ b/clang/lib/GR/Checkers/PointerSubChecker.cpp @@ -18,6 +18,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class PointerSubChecker @@ -73,6 +74,6 @@ void PointerSubChecker::PreVisitBinaryOperator(CheckerContext &C, } } -void clang::RegisterPointerSubChecker(GRExprEngine &Eng) { +void GR::RegisterPointerSubChecker(GRExprEngine &Eng) { Eng.registerCheck(new PointerSubChecker()); } diff --git a/clang/lib/GR/Checkers/PthreadLockChecker.cpp b/clang/lib/GR/Checkers/PthreadLockChecker.cpp index 32f2f57b456..d880b066bc8 100644 --- a/clang/lib/GR/Checkers/PthreadLockChecker.cpp +++ b/clang/lib/GR/Checkers/PthreadLockChecker.cpp @@ -19,6 +19,7 @@ #include "llvm/ADT/ImmutableSet.h" using namespace clang; +using namespace GR; namespace { class PthreadLockChecker @@ -44,13 +45,15 @@ public: // GDM Entry for tracking lock state. namespace { class LockSet {}; } namespace clang { +namespace GR { template <> struct GRStateTrait<LockSet> : public GRStatePartialTrait<llvm::ImmutableSet<const MemRegion*> > { static void* GDMIndex() { return PthreadLockChecker::getTag(); } }; +} // end GR namespace } // end clang namespace -void clang::RegisterPthreadLockChecker(GRExprEngine &Eng) { +void GR::RegisterPthreadLockChecker(GRExprEngine &Eng) { Eng.registerCheck(new PthreadLockChecker()); } diff --git a/clang/lib/GR/Checkers/ReturnPointerRangeChecker.cpp b/clang/lib/GR/Checkers/ReturnPointerRangeChecker.cpp index a2a9473b2c2..98b4ea544d7 100644 --- a/clang/lib/GR/Checkers/ReturnPointerRangeChecker.cpp +++ b/clang/lib/GR/Checkers/ReturnPointerRangeChecker.cpp @@ -18,6 +18,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class ReturnPointerRangeChecker : @@ -30,7 +31,7 @@ public: }; } -void clang::RegisterReturnPointerRangeChecker(GRExprEngine &Eng) { +void GR::RegisterReturnPointerRangeChecker(GRExprEngine &Eng) { Eng.registerCheck(new ReturnPointerRangeChecker()); } diff --git a/clang/lib/GR/Checkers/ReturnUndefChecker.cpp b/clang/lib/GR/Checkers/ReturnUndefChecker.cpp index f5e417a1f7e..addae5b1c01 100644 --- a/clang/lib/GR/Checkers/ReturnUndefChecker.cpp +++ b/clang/lib/GR/Checkers/ReturnUndefChecker.cpp @@ -19,6 +19,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class ReturnUndefChecker : @@ -31,7 +32,7 @@ public: }; } -void clang::RegisterReturnUndefChecker(GRExprEngine &Eng) { +void GR::RegisterReturnUndefChecker(GRExprEngine &Eng) { Eng.registerCheck(new ReturnUndefChecker()); } diff --git a/clang/lib/GR/Checkers/StackAddrLeakChecker.cpp b/clang/lib/GR/Checkers/StackAddrLeakChecker.cpp index 1852e24fa59..87f5819cf7e 100644 --- a/clang/lib/GR/Checkers/StackAddrLeakChecker.cpp +++ b/clang/lib/GR/Checkers/StackAddrLeakChecker.cpp @@ -19,6 +19,7 @@ #include "clang/Basic/SourceManager.h" #include "llvm/ADT/SmallString.h" using namespace clang; +using namespace GR; namespace { class StackAddrLeakChecker : public CheckerVisitor<StackAddrLeakChecker> { @@ -40,7 +41,7 @@ private: }; } -void clang::RegisterStackAddrLeakChecker(GRExprEngine &Eng) { +void GR::RegisterStackAddrLeakChecker(GRExprEngine &Eng) { Eng.registerCheck(new StackAddrLeakChecker()); } diff --git a/clang/lib/GR/Checkers/StreamChecker.cpp b/clang/lib/GR/Checkers/StreamChecker.cpp index dc7bd629332..01186b52dfc 100644 --- a/clang/lib/GR/Checkers/StreamChecker.cpp +++ b/clang/lib/GR/Checkers/StreamChecker.cpp @@ -20,6 +20,7 @@ #include "llvm/ADT/ImmutableMap.h" using namespace clang; +using namespace GR; namespace { @@ -104,14 +105,16 @@ private: } // end anonymous namespace namespace clang { +namespace GR { template <> struct GRStateTrait<StreamState> : public GRStatePartialTrait<llvm::ImmutableMap<SymbolRef, StreamState> > { static void *GDMIndex() { return StreamChecker::getTag(); } }; } +} -void clang::RegisterStreamChecker(GRExprEngine &Eng) { +void GR::RegisterStreamChecker(GRExprEngine &Eng) { Eng.registerCheck(new StreamChecker()); } diff --git a/clang/lib/GR/Checkers/UndefBranchChecker.cpp b/clang/lib/GR/Checkers/UndefBranchChecker.cpp index ebeb7a429da..fa3dfa59351 100644 --- a/clang/lib/GR/Checkers/UndefBranchChecker.cpp +++ b/clang/lib/GR/Checkers/UndefBranchChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/Checker.h" using namespace clang; +using namespace GR; namespace { @@ -55,7 +56,7 @@ public: } -void clang::RegisterUndefBranchChecker(GRExprEngine &Eng) { +void GR::RegisterUndefBranchChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefBranchChecker()); } diff --git a/clang/lib/GR/Checkers/UndefCapturedBlockVarChecker.cpp b/clang/lib/GR/Checkers/UndefCapturedBlockVarChecker.cpp index 78b83944075..8a1c285c173 100644 --- a/clang/lib/GR/Checkers/UndefCapturedBlockVarChecker.cpp +++ b/clang/lib/GR/Checkers/UndefCapturedBlockVarChecker.cpp @@ -18,6 +18,7 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +using namespace GR; namespace { class UndefCapturedBlockVarChecker @@ -31,7 +32,7 @@ public: }; } // end anonymous namespace -void clang::RegisterUndefCapturedBlockVarChecker(GRExprEngine &Eng) { +void GR::RegisterUndefCapturedBlockVarChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefCapturedBlockVarChecker()); } diff --git a/clang/lib/GR/Checkers/UndefResultChecker.cpp b/clang/lib/GR/Checkers/UndefResultChecker.cpp index df3ad3e9f88..f4d30354e83 100644 --- a/clang/lib/GR/Checkers/UndefResultChecker.cpp +++ b/clang/lib/GR/Checkers/UndefResultChecker.cpp @@ -18,6 +18,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class UndefResultChecker @@ -32,7 +33,7 @@ public: }; } // end anonymous namespace -void clang::RegisterUndefResultChecker(GRExprEngine &Eng) { +void GR::RegisterUndefResultChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefResultChecker()); } diff --git a/clang/lib/GR/Checkers/UndefinedArraySubscriptChecker.cpp b/clang/lib/GR/Checkers/UndefinedArraySubscriptChecker.cpp index 8ef3986b8d3..8946de39981 100644 --- a/clang/lib/GR/Checkers/UndefinedArraySubscriptChecker.cpp +++ b/clang/lib/GR/Checkers/UndefinedArraySubscriptChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class UndefinedArraySubscriptChecker @@ -33,7 +34,7 @@ public: }; } // end anonymous namespace -void clang::RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng) { +void GR::RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefinedArraySubscriptChecker()); } diff --git a/clang/lib/GR/Checkers/UndefinedAssignmentChecker.cpp b/clang/lib/GR/Checkers/UndefinedAssignmentChecker.cpp index 4273f0cf315..b1eb38704bc 100644 --- a/clang/lib/GR/Checkers/UndefinedAssignmentChecker.cpp +++ b/clang/lib/GR/Checkers/UndefinedAssignmentChecker.cpp @@ -17,6 +17,7 @@ #include "clang/GR/PathSensitive/CheckerVisitor.h" using namespace clang; +using namespace GR; namespace { class UndefinedAssignmentChecker @@ -30,7 +31,7 @@ public: }; } -void clang::RegisterUndefinedAssignmentChecker(GRExprEngine &Eng){ +void GR::RegisterUndefinedAssignmentChecker(GRExprEngine &Eng){ Eng.registerCheck(new UndefinedAssignmentChecker()); } diff --git a/clang/lib/GR/Checkers/UnixAPIChecker.cpp b/clang/lib/GR/Checkers/UnixAPIChecker.cpp index 4f1b25f4d85..f4c75f76ab6 100644 --- a/clang/lib/GR/Checkers/UnixAPIChecker.cpp +++ b/clang/lib/GR/Checkers/UnixAPIChecker.cpp @@ -21,6 +21,7 @@ #include <fcntl.h> using namespace clang; +using namespace GR; using llvm::Optional; namespace { @@ -45,7 +46,7 @@ public: }; } //end anonymous namespace -void clang::RegisterUnixAPIChecker(GRExprEngine &Eng) { +void GR::RegisterUnixAPIChecker(GRExprEngine &Eng) { Eng.registerCheck(new UnixAPIChecker()); } diff --git a/clang/lib/GR/Checkers/UnreachableCodeChecker.cpp b/clang/lib/GR/Checkers/UnreachableCodeChecker.cpp index 5f8b229ccb3..0ab97c27d9c 100644 --- a/clang/lib/GR/Checkers/UnreachableCodeChecker.cpp +++ b/clang/lib/GR/Checkers/UnreachableCodeChecker.cpp @@ -29,6 +29,7 @@ #define DEFAULT_CFGBLOCKS 256 using namespace clang; +using namespace GR; namespace { class UnreachableCodeChecker : public Checker { @@ -53,7 +54,7 @@ void *UnreachableCodeChecker::getTag() { return &x; } -void clang::RegisterUnreachableCodeChecker(GRExprEngine &Eng) { +void GR::RegisterUnreachableCodeChecker(GRExprEngine &Eng) { Eng.registerCheck(new UnreachableCodeChecker()); } diff --git a/clang/lib/GR/Checkers/VLASizeChecker.cpp b/clang/lib/GR/Checkers/VLASizeChecker.cpp index 8c4d903c1a1..d4e9d353398 100644 --- a/clang/lib/GR/Checkers/VLASizeChecker.cpp +++ b/clang/lib/GR/Checkers/VLASizeChecker.cpp @@ -21,6 +21,7 @@ #include "clang/GR/PathSensitive/GRExprEngine.h" using namespace clang; +using namespace GR; namespace { class VLASizeChecker : public CheckerVisitor<VLASizeChecker> { @@ -34,7 +35,7 @@ public: }; } // end anonymous namespace -void clang::RegisterVLASizeChecker(GRExprEngine &Eng) { +void GR::RegisterVLASizeChecker(GRExprEngine &Eng) { Eng.registerCheck(new VLASizeChecker()); } |

