[PATCH] D139125: [clang] Correctly handle by-reference capture with an initializer that is a pack expansion in lambdas.
Jens Massberg via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 5 06:45:43 PST 2022
massberg added inline comments.
================
Comment at: clang/lib/Sema/TreeTransform.h:13156
getSema().buildLambdaInitCaptureInitialization(
- C->getLocation(), OldVD->getType()->isReferenceType(),
+ C->getLocation(), isReferenceType,
EllipsisLoc, NumExpansions, OldVD->getIdentifier(),
----------------
ilya-biryukov wrote:
> Could we use `C->getCaptureKind() == LCK_ByRef` instead?
>
> It seems like that was the intention of the function in the first place (that's was the other callsite from the parser is doing): pass what was written by the user and let the function figure out how to actually build the types.
> Normally we want to unify the code that parser uses for non-dependent code and the tree-transforms where possible.
`C-getCaptureKind` is equal to `LCK_ByCopy`, even if the expansion pack is passed by refernece.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139125/new/
https://reviews.llvm.org/D139125
More information about the cfe-commits
mailing list