diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-11-04 04:24:16 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-11-04 04:24:16 +0000 |
commit | ef910047b287c79fb810ba252372961c82c0533f (patch) | |
tree | dbb99d158eccd41865412415c2afdb1def7b769d /clang/lib/Analysis/GRExprEngineInternalChecks.cpp | |
parent | 9db38f6f835581e25b5a00bd42ec409a4aa9679f (diff) | |
download | bcm5719-llvm-ef910047b287c79fb810ba252372961c82c0533f.tar.gz bcm5719-llvm-ef910047b287c79fb810ba252372961c82c0533f.zip |
Catch uses of undefined values when they are used in assignment, thus catching such bugs closer to the source.
llvm-svn: 86003
Diffstat (limited to 'clang/lib/Analysis/GRExprEngineInternalChecks.cpp')
-rw-r--r-- | clang/lib/Analysis/GRExprEngineInternalChecks.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/clang/lib/Analysis/GRExprEngineInternalChecks.cpp b/clang/lib/Analysis/GRExprEngineInternalChecks.cpp index e0112ee9843..695f0b02e59 100644 --- a/clang/lib/Analysis/GRExprEngineInternalChecks.cpp +++ b/clang/lib/Analysis/GRExprEngineInternalChecks.cpp @@ -19,6 +19,7 @@ #include "clang/Analysis/PathSensitive/Checkers/DivZeroChecker.h" #include "clang/Analysis/PathSensitive/Checkers/BadCallChecker.h" #include "clang/Analysis/PathSensitive/Checkers/UndefinedArgChecker.h" +#include "clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h" #include "clang/Analysis/PathSensitive/Checkers/AttrNonNullChecker.h" #include "clang/Analysis/PathSensitive/Checkers/VLASizeChecker.h" #include "clang/Analysis/PathDiagnostic.h" @@ -476,12 +477,13 @@ void GRExprEngine::RegisterInternalChecks() { // their associated BugType will get registered with the BugReporter // automatically. Note that the check itself is owned by the GRExprEngine // object. - registerCheck<AttrNonNullChecker>(new AttrNonNullChecker()); - registerCheck<UndefinedArgChecker>(new UndefinedArgChecker()); - registerCheck<BadCallChecker>(new BadCallChecker()); - registerCheck<DivZeroChecker>(new DivZeroChecker()); - registerCheck<UndefDerefChecker>(new UndefDerefChecker()); - registerCheck<NullDerefChecker>(new NullDerefChecker()); - registerCheck<UndefSizedVLAChecker>(new UndefSizedVLAChecker()); - registerCheck<ZeroSizedVLAChecker>(new ZeroSizedVLAChecker()); + registerCheck(new AttrNonNullChecker()); + registerCheck(new UndefinedArgChecker()); + registerCheck(new UndefinedAssignmentChecker()); + registerCheck(new BadCallChecker()); + registerCheck(new DivZeroChecker()); + registerCheck(new UndefDerefChecker()); + registerCheck(new NullDerefChecker()); + registerCheck(new UndefSizedVLAChecker()); + registerCheck(new ZeroSizedVLAChecker()); } |