blob: 64a930d504cf3de8e7dfada2b1be0af89bda6a61 [file] [log] [blame]
Ted Kremenekbee01e52009-11-06 02:24:13 +00001//=-- 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
18namespace clang {
19
20class GRExprEngine;
21
Ted Kremenek1e3b9552010-02-04 00:47:48 +000022void RegisterAdjustedReturnValueChecker(GRExprEngine &Eng);
Ted Kremenek43253152009-11-11 05:50:44 +000023void RegisterAttrNonNullChecker(GRExprEngine &Eng);
Ted Kremenek5e1f78a2009-11-11 03:26:34 +000024void RegisterDereferenceChecker(GRExprEngine &Eng);
Ted Kremenek53a70c02009-11-06 20:47:51 +000025void RegisterDivZeroChecker(GRExprEngine &Eng);
Zhongxing Xu167bce92009-11-06 13:30:44 +000026void RegisterReturnPointerRangeChecker(GRExprEngine &Eng);
Ted Kremenek53a70c02009-11-06 20:47:51 +000027void RegisterReturnStackAddressChecker(GRExprEngine &Eng);
28void RegisterReturnUndefChecker(GRExprEngine &Eng);
Ted Kremenek795c6112009-11-06 21:51:50 +000029void RegisterVLASizeChecker(GRExprEngine &Eng);
Zhongxing Xu6c306c82009-11-09 06:52:44 +000030void RegisterPointerSubChecker(GRExprEngine &Eng);
Zhongxing Xuab0e27f2009-11-09 13:23:31 +000031void RegisterPointerArithChecker(GRExprEngine &Eng);
Zhongxing Xu6c306c82009-11-09 06:52:44 +000032void RegisterFixedAddressChecker(GRExprEngine &Eng);
Zhongxing Xuf06c6842009-11-09 08:07:38 +000033void RegisterCastToStructChecker(GRExprEngine &Eng);
Zhongxing Xu72269ec2009-11-24 04:45:44 +000034void RegisterCallAndMessageChecker(GRExprEngine &Eng);
Zhongxing Xu4f7759a2009-11-11 12:33:27 +000035void RegisterArrayBoundChecker(GRExprEngine &Eng);
Zhongxing Xub1667122009-11-11 13:42:54 +000036void RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng);
Zhongxing Xuf0b7fc82009-11-22 12:29:52 +000037void RegisterUndefinedAssignmentChecker(GRExprEngine &Eng);
Zhongxing Xu56dd5f02009-11-23 03:20:54 +000038void RegisterUndefBranchChecker(GRExprEngine &Eng);
Ted Kremenek22863972010-02-16 08:33:59 +000039void RegisterUndefCapturedBlockVarChecker(GRExprEngine &Eng);
Zhongxing Xuc6123a12009-11-24 08:24:26 +000040void RegisterUndefResultChecker(GRExprEngine &Eng);
Zhongxing Xu175447f2009-12-07 09:17:35 +000041void RegisterNoReturnFunctionChecker(GRExprEngine &Eng);
Zhongxing Xufe2f9012009-12-08 09:07:59 +000042void RegisterBuiltinFunctionChecker(GRExprEngine &Eng);
Zhongxing Xu1042bf42009-12-09 12:23:28 +000043void RegisterOSAtomicChecker(GRExprEngine &Eng);
Ted Kremenekbee01e52009-11-06 02:24:13 +000044} // end clang namespace
45#endif