1 //=-- GRExprEngineExperimentalChecks.h ------------------------------*- C++ -*-=
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines functions to instantiate and register experimental
11 // checks in GRExprEngine.
13 //===----------------------------------------------------------------------===//
15 #include "GRExprEngineInternalChecks.h"
16 #include "GRExprEngineExperimentalChecks.h"
17 #include "clang/GR/Checkers/LocalCheckers.h"
19 using namespace clang
;
21 void clang::RegisterExperimentalChecks(GRExprEngine
&Eng
) {
22 // These are checks that never belong as internal checks
23 // within GRExprEngine.
24 RegisterCStringChecker(Eng
);
25 RegisterChrootChecker(Eng
);
26 RegisterMallocChecker(Eng
);
27 RegisterPthreadLockChecker(Eng
);
28 RegisterStreamChecker(Eng
);
29 RegisterUnreachableCodeChecker(Eng
);
32 void clang::RegisterExperimentalInternalChecks(GRExprEngine
&Eng
) {
33 // These are internal checks that should eventually migrate to
34 // RegisterInternalChecks() once they have been further tested.
36 // Note that this must be registered after ReturnStackAddresEngsChecker.
37 RegisterReturnPointerRangeChecker(Eng
);
39 RegisterArrayBoundChecker(Eng
);
40 RegisterCastSizeChecker(Eng
);
41 RegisterCastToStructChecker(Eng
);
42 RegisterFixedAddressChecker(Eng
);
43 RegisterPointerArithChecker(Eng
);
44 RegisterPointerSubChecker(Eng
);