cor3ntin added a comment. In D122768#3700738 <https://reviews.llvm.org/D122768#3700738>, @aeubanks wrote:
> 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. Thanks a lot for that, I confirmed the issue. I will land a fix shortly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122768/new/ https://reviews.llvm.org/D122768 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits