summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-11 19:45:13 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-11 19:45:13 +0000
commit1790c975e76d9cb267b78b190d2aaaf62060a4c1 (patch)
treee38cdfcdcb7dfab153ea804c9fe67ed9c5e94d71 /clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
parent32bd3a1e9a05f6d2ea8bb9d1d666e20d12091edb (diff)
downloadbcm5719-llvm-1790c975e76d9cb267b78b190d2aaaf62060a4c1.tar.gz
bcm5719-llvm-1790c975e76d9cb267b78b190d2aaaf62060a4c1.zip
[analyzer] Add 'isLoad' parameter in Checker::visitLocation() to conveniently distinguish between loads/stores.
llvm-svn: 123261
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
index 7dc8ec84dfe..3f6f9433298 100644
--- a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
@@ -29,7 +29,8 @@ class DereferenceChecker : public Checker {
public:
DereferenceChecker() : BT_null(0), BT_undef(0) {}
static void *getTag() { static int tag = 0; return &tag; }
- void visitLocation(CheckerContext &C, const Stmt *S, SVal location);
+ void visitLocation(CheckerContext &C, const Stmt *S, SVal location,
+ bool isLoad);
std::pair<ExplodedNode * const*, ExplodedNode * const*>
getImplicitNodes() const {
@@ -85,7 +86,7 @@ void DereferenceChecker::AddDerefSource(llvm::raw_ostream &os,
}
void DereferenceChecker::visitLocation(CheckerContext &C, const Stmt *S,
- SVal l) {
+ SVal l, bool isLoad) {
// Check for dereference of an undefined value.
if (l.isUndef()) {
if (ExplodedNode *N = C.generateSink()) {
OpenPOWER on IntegriCloud