// RUN: %clang_cc1 -std=c++20 %s -verify=cxx20 // RUN: %clang_cc1 -std=c++23 %s -verify=cxx23 // RUN: %clang_cc1 -std=c++23 -Wpre-c++23-compat %s -verify=precxx23 // RUN: %clang_cc1 -std=c++23 -pedantic %s -verify=cxx23 //cxx23-no-diagnostics auto L1 = [] constexpr {}; // cxx20-warning@-1 {{lambda without a parameter clause is a C++23 extension}} auto L2 = []() static {}; // cxx20-warning@-1 {{static lambdas are a C++23 extension}} // precxx23-warning@-2 {{static lambdas are incompatible with C++ standards before C++23}} auto L3 = [] static {}; // cxx20-warning@-1 {{lambda without a parameter clause is a C++23 extension}} // cxx20-warning@-2 {{static lambdas are a C++23 extension}} // precxx23-warning@-3 {{static lambdas are incompatible with C++ standards before C++23}}