[cfe-commits] r160802 - /cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp
Jordan Rose
jordan_rose at apple.com
Thu Jul 26 13:03:57 PDT 2012
Author: jrose
Date: Thu Jul 26 15:03:56 2012
New Revision: 160802
URL: http://llvm.org/viewvc/llvm-project?rev=160802&view=rev
Log:
[analyzer] PostImplicitCall can also occur between CFGElements.
This avoids an assertion crash when we invalidate on a destructor call
instead of inlining it.
Modified:
cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp
Modified: cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp?rev=160802&r1=160801&r2=160802&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp Thu Jul 26 15:03:56 2012
@@ -266,6 +266,7 @@
default:
assert(isa<PostStmt>(Loc) ||
isa<PostInitializer>(Loc) ||
+ isa<PostImplicitCall>(Loc) ||
isa<CallExitEnd>(Loc));
HandlePostStmt(WU.getBlock(), WU.getIndex(), Pred);
break;
@@ -507,7 +508,8 @@
}
// Do not create extra nodes. Move to the next CFG element.
- if (isa<PostInitializer>(N->getLocation())) {
+ if (isa<PostInitializer>(N->getLocation()) ||
+ isa<PostImplicitCall>(N->getLocation())) {
WList->enqueue(N, Block, Idx+1);
return;
}
More information about the cfe-commits
mailing list