summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2013-09-03 17:00:57 +0000
committerJordan Rose <jordan_rose@apple.com>2013-09-03 17:00:57 +0000
commitd2f4079db995c9dce34db0347b16df8ace62cf37 (patch)
tree87711f6c80a2132f91dc03f3c3a6b68328617f5e /clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
parentc74c4976499b6ae5ff758cf5189b7bd69ca1ddc3 (diff)
downloadbcm5719-llvm-d2f4079db995c9dce34db0347b16df8ace62cf37.tar.gz
bcm5719-llvm-d2f4079db995c9dce34db0347b16df8ace62cf37.zip
Add an implicit dtor CFG node just before C++ 'delete' expressions.
This paves the way for adding support for modeling the destructor of a region before it is deleted. The statement "delete <expr>" now generates this series of CFG elements: 1. <expr> 2. [B1.1]->~Foo() (Implicit destructor) 3. delete [B1.1] Patch by Karthik Bhat! llvm-svn: 189828
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp b/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
index 33c7a82d8ea..8099cd3b74a 100644
--- a/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
+++ b/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
@@ -559,6 +559,9 @@ getLocationForCaller(const StackFrameContext *SFC,
return PathDiagnosticLocation::createEnd(Dtor.getTriggerStmt(),
SM, CallerCtx);
}
+ case CFGElement::DeleteDtor: {
+ llvm_unreachable("not yet implemented!");
+ }
case CFGElement::BaseDtor:
case CFGElement::MemberDtor: {
const AnalysisDeclContext *CallerInfo = CallerCtx->getAnalysisDeclContext();
OpenPOWER on IntegriCloud