2009-11-06 10:24:13 +08:00
|
|
|
//=-- GRExprEngineInternalChecks.h- Builtin GRExprEngine Checks -----*- C++ -*-=
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// This file defines functions to instantiate and register the "built-in"
|
|
|
|
// checks in GRExprEngine.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS
|
|
|
|
#define LLVM_CLANG_GREXPRENGINE_INTERNAL_CHECKS
|
|
|
|
|
|
|
|
namespace clang {
|
|
|
|
|
|
|
|
class GRExprEngine;
|
|
|
|
|
2010-02-25 08:20:25 +08:00
|
|
|
// Foundational checks that handle basic semantics.
|
2010-02-04 08:47:48 +08:00
|
|
|
void RegisterAdjustedReturnValueChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:22 +08:00
|
|
|
void RegisterArrayBoundChecker(GRExprEngine &Eng);
|
2009-11-11 13:50:44 +08:00
|
|
|
void RegisterAttrNonNullChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:22 +08:00
|
|
|
void RegisterBuiltinFunctionChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterCallAndMessageChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterCastToStructChecker(GRExprEngine &Eng);
|
2010-05-25 12:59:19 +08:00
|
|
|
void RegisterCastSizeChecker(GRExprEngine &Eng);
|
2009-11-11 11:26:34 +08:00
|
|
|
void RegisterDereferenceChecker(GRExprEngine &Eng);
|
2009-11-07 04:47:51 +08:00
|
|
|
void RegisterDivZeroChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:22 +08:00
|
|
|
void RegisterFixedAddressChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterNoReturnFunctionChecker(GRExprEngine &Eng);
|
2010-09-10 11:05:40 +08:00
|
|
|
void RegisterObjCAtSyncChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:22 +08:00
|
|
|
void RegisterPointerArithChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterPointerSubChecker(GRExprEngine &Eng);
|
2009-11-06 21:30:44 +08:00
|
|
|
void RegisterReturnPointerRangeChecker(GRExprEngine &Eng);
|
2009-11-07 04:47:51 +08:00
|
|
|
void RegisterReturnUndefChecker(GRExprEngine &Eng);
|
2010-06-08 18:00:00 +08:00
|
|
|
void RegisterStackAddrLeakChecker(GRExprEngine &Eng);
|
2009-11-23 11:20:54 +08:00
|
|
|
void RegisterUndefBranchChecker(GRExprEngine &Eng);
|
2010-02-16 16:33:59 +08:00
|
|
|
void RegisterUndefCapturedBlockVarChecker(GRExprEngine &Eng);
|
2009-11-24 16:24:26 +08:00
|
|
|
void RegisterUndefResultChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:22 +08:00
|
|
|
void RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterUndefinedAssignmentChecker(GRExprEngine &Eng);
|
|
|
|
void RegisterVLASizeChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:25 +08:00
|
|
|
|
|
|
|
// API checks.
|
2010-02-25 13:44:09 +08:00
|
|
|
void RegisterMacOSXAPIChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:25 +08:00
|
|
|
void RegisterOSAtomicChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:35 +08:00
|
|
|
void RegisterUnixAPIChecker(GRExprEngine &Eng);
|
2010-02-25 08:20:25 +08:00
|
|
|
|
2009-11-06 10:24:13 +08:00
|
|
|
} // end clang namespace
|
|
|
|
#endif
|