[PATCH] D122768: [Clang][C++20] Support capturing structured bindings in lambdas
Arthur Eubanks via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 4 13:15:59 PDT 2022
aeubanks added a comment.
In D122768#3700486 <https://reviews.llvm.org/D122768#3700486>, @cor3ntin wrote:
> In D122768#3700451 <https://reviews.llvm.org/D122768#3700451>, @aeubanks wrote:
>
>> in the commit message
>>
>> In addition, capturing an anonymous union member,
>> a bitfield, or a structured binding thereof now has a
>> better diagnostic.
>>
>> "better diagnostic" implies there was already a diagnostic, but we're seeing new errors pop up. is this just a not precise commit message or are new errors related to capturing bitfields by reference unintentional?
>
> New errors when capturing bit fields are probably*not* intentional. You have some of the problematic code i could look at? (not that the patch was reverted and then re-landed to fix a bug there)
> And... the commit message is a bit inaccurate as the change that was supposedly improving diagnostics for reference to bit fields was remove (and i forgot to update the commit message accordingly)
reduced, this does seem wrong
$ cat /tmp/a.cc
struct S {
int s : 4;
};
void f() {
S s;
int l = s.s;
auto a = [&]() {
l;
};
}
$ clang++ -fsyntax-only /tmp/a.cc
/tmp/a.cc:10:3: error: cannot capture a bit-field by reference
l;
^
/tmp/a.cc:8:6: note: 'l' declared here
int l = s.s;
^
/tmp/a.cc:3:6: note: bit-field is declared here
int s : 4;
^
1 error generated.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122768/new/
https://reviews.llvm.org/D122768
More information about the cfe-commits
mailing list