[clang] [clang] Accept lambdas in C++03 as an extensions (PR #73376)
Nikolas Klauser via cfe-commits
cfe-commits at lists.llvm.org
Sat Dec 2 07:08:10 PST 2023
================
@@ -92,14 +94,14 @@ namespace ImplicitCapture {
[] { return ref_i; }; // expected-error {{variable 'ref_i' cannot be implicitly captured in a lambda with no capture-default specified}} expected-note {{lambda expression begins here}} expected-note 2 {{capture 'ref_i' by}} expected-note 2 {{default capture by}}
static int j;
- int &ref_j = j;
- [] { return ref_j; }; // ok
+ int &ref_j = j; // cxx03-fixme-note {{declared here}}
+ [] { return ref_j; }; // cxx03-fixme-error {{variable 'ref_j' cannot be implicitly captured in a lambda with no capture-default specified}} cxx03-fixme-note 4 {{capture}} cxx03-fixme-note {{lambda expression begins here}}
----------------
philnik777 wrote:
Ah OK. So this diagnostic is actually correct, since an `int&` is not usable in a constant expression in C++03. Or am I misunderstanding more?
https://github.com/llvm/llvm-project/pull/73376
More information about the cfe-commits
mailing list