| // RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s |
| // RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s -fexperimental-new-constant-interpreter |
| |
| namespace ns1 { |
| auto lstatic = []() static { return 3; }; |
| int (*f2)(void) = lstatic; |
| |
| } |
| |
| namespace ns1_1 { |
| |
| auto lstatic = []() static consteval //expected-error{{cannot take address of consteval call}} \ |
| expected-note {{declared here}} |
| { return 3; }; |
| |
| // FIXME: the above error should indicate that it was triggered below. |
| int (*f2)(void) = lstatic; |
| |
| } |
| |
| |
| namespace ns2 { |
| auto lstatic = []() static { return 3; }; |
| constexpr int (*f2)(void) = lstatic; |
| static_assert(lstatic() == f2()); |
| } |
| |
| namespace ns3 { |
| void main() { |
| static int x = 10; |
| auto L = []() static { return x; }; |
| } |
| } |