[PATCH] D124012: [Clang] Fix references to captured variables in dependant context.

Corentin Jabot via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 19 09:19:48 PDT 2022


cor3ntin created this revision.
Herald added a project: All.
cor3ntin requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

D119136 <https://reviews.llvm.org/D119136> changed how captures are handled in a lambda call operator
declaration, but did not properly handled dependant context,
which led to crash when refering to init-captures in
a trailing return type.

We fix that bug by making transformations more symetric with parsing,
ie. we first create the call operator, then transform the capture,
then compute the type of the lambda call operaror.

This ensures captures exist and have the right type when
we parse a trailing requires-clause / return type.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D124012

Files:
  clang/include/clang/Sema/Sema.h
  clang/lib/Sema/SemaLambda.cpp
  clang/lib/Sema/TreeTransform.h
  clang/test/SemaCXX/lambda-capture-type-deduction.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124012.423650.patch
Type: text/x-patch
Size: 21652 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220419/b2d8fce4/attachment-0001.bin>


More information about the cfe-commits mailing list