[PATCH] D13973: CFG: Delay creating Dtors for CompoundStmts which end in ReturnStmt
Matthias Gehre via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 25 11:44:51 PDT 2015
mgehre added inline comments.
================
Comment at: lib/Analysis/CFG.cpp:1949-1952
@@ +1948,6 @@
+ }
+ if(!C->body_empty() && !dyn_cast<ReturnStmt>(*C->body_rbegin())) {
+ // If the body ends with a ReturnStmt, the dtors will be added in VisitReturnStmt
+ addAutomaticObjDtors(ScopePos, scopeBeginPos, C);
+ }
+
----------------
klimek wrote:
> If the body is non-empty, but the return is not the last statement, won't that still call addAutomaticObjDtors twice?
Yes, if there are statements after a "return" (i.e. dead code), it will still call addAutomaticObjDtors twice, just like before this patch.
I guess that this case is not to common, and would be flagged by other checks.
http://reviews.llvm.org/D13973
More information about the cfe-commits
mailing list