blob: 5950efaa69474361448393d1a55da57674e3a215 [file] [log] [blame]
Ted Kremenek1053d242009-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 Kremenekf493f492009-11-11 05:50:44 +000022void RegisterAttrNonNullChecker(GRExprEngine &Eng);
Ted Kremenekb4b817d2009-11-11 03:26:34 +000023void RegisterDereferenceChecker(GRExprEngine &Eng);
Ted Kremenek36df58a2009-11-06 20:47:51 +000024void RegisterDivZeroChecker(GRExprEngine &Eng);
Zhongxing Xuceeb02d2009-11-06 13:30:44 +000025void RegisterReturnPointerRangeChecker(GRExprEngine &Eng);
Ted Kremenek36df58a2009-11-06 20:47:51 +000026void RegisterReturnStackAddressChecker(GRExprEngine &Eng);
27void RegisterReturnUndefChecker(GRExprEngine &Eng);
Ted Kremenek84b35952009-11-06 21:51:50 +000028void RegisterVLASizeChecker(GRExprEngine &Eng);
Zhongxing Xub10a7c22009-11-09 06:52:44 +000029void RegisterPointerSubChecker(GRExprEngine &Eng);
Zhongxing Xuede7eb22009-11-09 13:23:31 +000030void RegisterPointerArithChecker(GRExprEngine &Eng);
Zhongxing Xub10a7c22009-11-09 06:52:44 +000031void RegisterFixedAddressChecker(GRExprEngine &Eng);
Zhongxing Xu4f3dc692009-11-09 08:07:38 +000032void RegisterCastToStructChecker(GRExprEngine &Eng);
Zhongxing Xud02174c2009-11-24 04:45:44 +000033void RegisterCallAndMessageChecker(GRExprEngine &Eng);
Zhongxing Xu58e689f2009-11-11 12:33:27 +000034void RegisterArrayBoundChecker(GRExprEngine &Eng);
Zhongxing Xud6944852009-11-11 13:42:54 +000035void RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng);
Zhongxing Xuc3372e02009-11-22 12:29:52 +000036void RegisterUndefinedAssignmentChecker(GRExprEngine &Eng);
Zhongxing Xu0835e4c2009-11-23 03:20:54 +000037void RegisterUndefBranchChecker(GRExprEngine &Eng);
Zhongxing Xu668399b2009-11-24 08:24:26 +000038void RegisterUndefResultChecker(GRExprEngine &Eng);
Ted Kremenekb4b817d2009-11-11 03:26:34 +000039
Zhongxing Xu935ef902009-12-07 09:17:35 +000040void RegisterNoReturnFunctionChecker(GRExprEngine &Eng);
Zhongxing Xu7c9624b2009-12-08 09:07:59 +000041void RegisterBuiltinFunctionChecker(GRExprEngine &Eng);
Zhongxing Xu935ef902009-12-07 09:17:35 +000042
Ted Kremenek1053d242009-11-06 02:24:13 +000043} // end clang namespace
44#endif