[PATCH] D64464: [CodeGen] Emit destructor calls for non-trivial C structs
Akira Hatanaka via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 12 10:01:33 PDT 2019
ahatanak marked an inline comment as done.
ahatanak added inline comments.
================
Comment at: lib/CodeGen/CGExpr.cpp:4647
+ pushDestroy(QualType::DK_nontrivial_c_struct, RV.getAggregateAddress(),
+ E->getType());
+
----------------
rjmccall wrote:
> Does `EmitCallExpr` not enter a cleanup when it returns an aggregate that's not into an externally-destructed slot? That seems wrong and dangerous.
I'm going to split this patch into two parts, one for compound literals and the other for everything else. The patch is getting too large and I also found another bug: a cleanup isn't pushed for ObjC message send.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64464/new/
https://reviews.llvm.org/D64464
More information about the cfe-commits
mailing list