aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/GRExprEngineExperimentalChecks.cpp
diff options
context:
space:
mode:
authorTom Care <tcare@apple.com>2010-07-23 23:04:53 +0000
committerTom Care <tcare@apple.com>2010-07-23 23:04:53 +0000
commitc4b5bd89e1ef611c7a31b767763030acc45274c8 (patch)
tree7ab597f7c90882f8ecd2d168bbfe3c29e112617b /lib/Checker/GRExprEngineExperimentalChecks.cpp
parent6e6bc39acd7a1f05fe8ce562cae643aaa40c31b7 (diff)
Added an path-sensitive unreachable code checker to the experimental analyzer checks.
- Created a new class to do post-analysis - Updated several test cases with unreachable code to expect a warning - Added some general tests git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109286 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/GRExprEngineExperimentalChecks.cpp')
-rw-r--r--lib/Checker/GRExprEngineExperimentalChecks.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Checker/GRExprEngineExperimentalChecks.cpp b/lib/Checker/GRExprEngineExperimentalChecks.cpp
index d138e81c46..84262b0043 100644
--- a/lib/Checker/GRExprEngineExperimentalChecks.cpp
+++ b/lib/Checker/GRExprEngineExperimentalChecks.cpp
@@ -18,13 +18,14 @@
using namespace clang;
-void clang::RegisterExperimentalChecks(GRExprEngine &Eng) {
+void clang::RegisterExperimentalChecks(GRExprEngine &Eng) {
// These are checks that never belong as internal checks
// within GRExprEngine.
- RegisterPthreadLockChecker(Eng);
+ RegisterCStringChecker(Eng);
RegisterMallocChecker(Eng);
+ RegisterPthreadLockChecker(Eng);
RegisterStreamChecker(Eng);
- RegisterCStringChecker(Eng);
+ RegisterUnreachableCodeChecker(Eng);
}
void clang::RegisterExperimentalInternalChecks(GRExprEngine &Eng) {
@@ -34,11 +35,10 @@ void clang::RegisterExperimentalInternalChecks(GRExprEngine &Eng) {
// Note that this must be registered after ReturnStackAddresEngsChecker.
RegisterReturnPointerRangeChecker(Eng);
+ RegisterArrayBoundChecker(Eng);
+ RegisterCastSizeChecker(Eng);
+ RegisterCastToStructChecker(Eng);
RegisterFixedAddressChecker(Eng);
- RegisterPointerSubChecker(Eng);
RegisterPointerArithChecker(Eng);
- RegisterCastToStructChecker(Eng);
- RegisterCastSizeChecker(Eng);
- RegisterArrayBoundChecker(Eng);
-
+ RegisterPointerSubChecker(Eng);
}