]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/Analysis/GRExprEngineInternalChecks.h
Update clang to r94309.
[FreeBSD/FreeBSD.git] / lib / Analysis / GRExprEngineInternalChecks.h
1 //=-- GRExprEngineInternalChecks.h- Builtin GRExprEngine Checks -----*- 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 functions to instantiate and register the "built-in"
11 //  checks in GRExprEngine.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS
16 #define LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS
17
18 namespace clang {
19
20 class GRExprEngine;
21
22 void RegisterAttrNonNullChecker(GRExprEngine &Eng);
23 void RegisterDereferenceChecker(GRExprEngine &Eng);
24 void RegisterDivZeroChecker(GRExprEngine &Eng);
25 void RegisterReturnPointerRangeChecker(GRExprEngine &Eng);
26 void RegisterReturnStackAddressChecker(GRExprEngine &Eng);  
27 void RegisterReturnUndefChecker(GRExprEngine &Eng);
28 void RegisterVLASizeChecker(GRExprEngine &Eng);
29 void RegisterPointerSubChecker(GRExprEngine &Eng);
30 void RegisterPointerArithChecker(GRExprEngine &Eng);
31 void RegisterFixedAddressChecker(GRExprEngine &Eng);
32 void RegisterCastToStructChecker(GRExprEngine &Eng);
33 void RegisterCallAndMessageChecker(GRExprEngine &Eng);
34 void RegisterArrayBoundChecker(GRExprEngine &Eng);
35 void RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng);
36 void RegisterUndefinedAssignmentChecker(GRExprEngine &Eng);
37 void RegisterUndefBranchChecker(GRExprEngine &Eng);
38 void RegisterUndefResultChecker(GRExprEngine &Eng);
39
40 void RegisterNoReturnFunctionChecker(GRExprEngine &Eng);
41 void RegisterBuiltinFunctionChecker(GRExprEngine &Eng);
42 void RegisterOSAtomicChecker(GRExprEngine &Eng);
43 } // end clang namespace
44 #endif