[PATCH] D64464: [CodeGen] Emit destructor calls to destruct compound literals

Akira Hatanaka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 3 09:05:58 PST 2020


ahatanak updated this revision to Diff 247919.
ahatanak marked 5 inline comments as done.
ahatanak retitled this revision from "[CodeGen] Emit destructor calls for non-trivial C structs" to "[CodeGen] Emit destructor calls to destruct compound literals".
ahatanak edited the summary of this revision.
ahatanak added a comment.
Herald added a subscriber: ributzka.

Address review comments:

- Destruct compound literals of ObjC array types too.
- Use `pushLifetimeExtendedDestroy` to extend the lifetime of compound literals to the end of the surrounding block. This simplifies the changes made in IRGen, but I was wondering whether we should do what we do to extend lifetime of block captures instead.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64464/new/

https://reviews.llvm.org/D64464

Files:
  clang/include/clang/AST/ASTImporter.h
  clang/include/clang/AST/ExprCXX.h
  clang/include/clang/AST/TextNodeDumper.h
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/include/clang/Sema/Sema.h
  clang/include/clang/Serialization/ASTBitCodes.h
  clang/lib/AST/ASTImporter.cpp
  clang/lib/AST/JSONNodeDumper.cpp
  clang/lib/AST/TextNodeDumper.cpp
  clang/lib/CodeGen/CGBlocks.cpp
  clang/lib/CodeGen/CGExpr.cpp
  clang/lib/CodeGen/CGExprAgg.cpp
  clang/lib/Sema/JumpDiagnostics.cpp
  clang/lib/Sema/SemaExpr.cpp
  clang/lib/Serialization/ASTReaderStmt.cpp
  clang/lib/Serialization/ASTWriterStmt.cpp
  clang/test/AST/ast-dump-objc-arc-json.m
  clang/test/AST/ast-dump-stmt.m
  clang/test/CodeGenObjC/arc-ternary-op.m
  clang/test/CodeGenObjC/arc.m
  clang/test/CodeGenObjC/strong-in-c-struct.m
  clang/test/Import/objc-arc/Inputs/cleanup-objects.m
  clang/test/Import/objc-arc/test-cleanup-object.m
  clang/test/PCH/non-trivial-c-compound-literal.m
  clang/test/SemaObjC/strong-in-c-struct.m
  clang/tools/clang-import-test/clang-import-test.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64464.247919.patch
Type: text/x-patch
Size: 32199 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200303/8c7445b4/attachment-0001.bin>


More information about the cfe-commits mailing list