[PATCH] D58218: Variable auto-init of blocks capturing self after init bugfix
John McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 13 19:24:52 PST 2019
rjmccall added inline comments.
================
Comment at: lib/CodeGen/CGDecl.cpp:1640
// Only initialize a __block's storage: we always initialize the header.
- if (emission.IsEscapingByRef)
+ if (emission.IsEscapingByRef && isa<llvm::AllocaInst>(Loc.getPointer()))
Loc = emitBlockByrefAddress(Loc, &D, /*follow=*/false);
----------------
This seems like something we're likely regret eventually. If we've already drilled down to the storage, we should propagate that information into this rather than trying to detect it retroactively here.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58218/new/
https://reviews.llvm.org/D58218
More information about the cfe-commits
mailing list