[analyzer] Refactoring: include/clang/Checker -> include/clang/GR
[clang.git] / include / clang / GR / Checkers / LocalCheckers.h
blob4a9e381a7c156342498444387540f5340d8b6372
1 //==- LocalCheckers.h - Intra-Procedural+Flow-Sensitive Checkers -*- C++ -*-==//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
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_ANALYSIS_LOCALCHECKERS_H
16 #define LLVM_CLANG_ANALYSIS_LOCALCHECKERS_H
18 namespace clang {
20 class CFG;
21 class Decl;
22 class Diagnostic;
23 class ASTContext;
24 class PathDiagnosticClient;
25 class GRTransferFuncs;
26 class BugType;
27 class LangOptions;
28 class ParentMap;
29 class LiveVariables;
30 class BugReporter;
31 class ObjCImplementationDecl;
32 class LangOptions;
33 class GRExprEngine;
34 class TranslationUnitDecl;
36 void CheckDeadStores(CFG &cfg, LiveVariables &L, ParentMap &map,
37 BugReporter& BR);
39 GRTransferFuncs* MakeCFRefCountTF(ASTContext& Ctx, bool GCEnabled,
40 const LangOptions& lopts);
42 void CheckObjCDealloc(const ObjCImplementationDecl* D, const LangOptions& L,
43 BugReporter& BR);
45 void CheckObjCInstMethSignature(const ObjCImplementationDecl *ID,
46 BugReporter& BR);
48 void CheckObjCUnusedIvar(const ObjCImplementationDecl *D, BugReporter& BR);
50 void RegisterAppleChecks(GRExprEngine& Eng, const Decl &D);
51 void RegisterExperimentalChecks(GRExprEngine &Eng);
52 void RegisterExperimentalInternalChecks(GRExprEngine &Eng);
54 void CheckLLVMConventions(TranslationUnitDecl &TU, BugReporter &BR);
55 void CheckSecuritySyntaxOnly(const Decl *D, BugReporter &BR);
56 void CheckSizeofPointer(const Decl *D, BugReporter &BR);
58 void RegisterCallInliner(GRExprEngine &Eng);
59 } // end namespace clang
61 #endif