1 //==- LocalCheckers.h - Intra-Procedural+Flow-Sensitive Checkers -*- C++ -*-==//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines the interface to call a set of intra-procedural (local)
11 // checkers that use flow/path-sensitive analyses to find bugs.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_CLANG_GR_LOCALCHECKERS_H
16 #define LLVM_CLANG_GR_LOCALCHECKERS_H
27 class ObjCImplementationDecl
;
29 class TranslationUnitDecl
;
33 class PathDiagnosticClient
;
39 void CheckDeadStores(CFG
&cfg
, LiveVariables
&L
, ParentMap
&map
,
42 TransferFuncs
* MakeCFRefCountTF(ASTContext
& Ctx
, bool GCEnabled
,
43 const LangOptions
& lopts
);
45 void CheckObjCDealloc(const ObjCImplementationDecl
* D
, const LangOptions
& L
,
48 void CheckObjCInstMethSignature(const ObjCImplementationDecl
*ID
,
51 void CheckObjCUnusedIvar(const ObjCImplementationDecl
*D
, BugReporter
& BR
);
53 void RegisterExperimentalChecks(ExprEngine
&Eng
);
54 void RegisterExperimentalInternalChecks(ExprEngine
&Eng
);
56 void CheckSecuritySyntaxOnly(const Decl
*D
, BugReporter
&BR
);
57 void CheckSizeofPointer(const Decl
*D
, BugReporter
&BR
);
59 void RegisterCallInliner(ExprEngine
&Eng
);
63 } // end namespace clang