]> granicus.if.org Git - clang/commit
[analyzer] After CFG has been linearized, we can have a situation where an ExpoledNod...
authorAnna Zaks <ganna@apple.com>
Wed, 14 Sep 2011 17:48:01 +0000 (17:48 +0000)
committerAnna Zaks <ganna@apple.com>
Wed, 14 Sep 2011 17:48:01 +0000 (17:48 +0000)
commit4d353eb8af7324c0ee3736c736668f6c9b162ee0
tree6dfc7fb26baac31742c93cb4d27f8f4b73ad7f29
parentab9b154c93475fa55e6115774f64661737d113f9
[analyzer] After CFG has been linearized, we can have a situation where an ExpoledNode has an invalid SourceLocation (which has no correspondence in the source code). This commit is the first step to solve this problem.
 - It adds LocationContext to the PathDiagnosticLocation object and uses it to lookup the enclosing statement with a valid location.
 - So far, the LocationContext is only available when the object is constructed from the ExplodedNode.
 - Already found some subtle bugs(in plist-output-alternate.m) where the intermediate diagnostic steps were not previously shown.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139703 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
lib/StaticAnalyzer/Core/PathDiagnostic.cpp
test/Analysis/plist-output-alternate.m