summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2011-08-24 20:31:06 +0000
committerAnna Zaks <ganna@apple.com>2011-08-24 20:31:06 +0000
commit45aa2085548898a76d99df6a1c78be247d232c3f (patch)
treec8a3e890f078902ef92e713293b9c8999a9ce673 /clang/lib
parent0902a68f69d141a9877246c027d232f323e5b74e (diff)
downloadbcm5719-llvm-45aa2085548898a76d99df6a1c78be247d232c3f.tar.gz
bcm5719-llvm-45aa2085548898a76d99df6a1c78be247d232c3f.zip
[analyzer] Allow checker writes to specify that no region should be accosiated with the report. (Useful when we report an error on endOfPath or deadSymbols, when the range of the last expression might have nothing to do with the error.)
llvm-svn: 138474
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/StaticAnalyzer/Core/BugReporter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
index fc28c587d21..70efacbd34f 100644
--- a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
+++ b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
@@ -1273,6 +1273,10 @@ BugReport::getRanges() {
return std::make_pair(ranges_iterator(), ranges_iterator());
}
+ // User-specified absence of range info.
+ if (Ranges.size() == 1 && !Ranges.begin()->isValid())
+ return std::make_pair(ranges_iterator(), ranges_iterator());
+
return std::make_pair(Ranges.begin(), Ranges.end());
}
OpenPOWER on IntegriCloud