================
@@ -718,3 +718,8 @@ void foo() {
 void GH48527() {
   auto a = []()__attribute__((b(({ return 0; })))){}; // expected-warning 
{{unknown attribute 'b' ignored}}
 }
+
+void GH67492() {
+  constexpr auto test = 42;
+  auto lambda = (test, []() noexcept(true) {});
----------------
cor3ntin wrote:

Yes, that's exactly the bug. It attempt a capture because we are in the lambda 
(in term of declaration context/scope),
but we were in the evaluation context of the enclosing expression.

`ActOnFinishFullExpression` was called (on `true`), we were thinking that 
`test` was in that evaluation context, and we were attempting to mark it odr 
used... from within the declaration context of the lambda, it's beautiful

https://godbolt.org/z/Waosza81K

https://github.com/llvm/llvm-project/pull/67538
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to