testsuite: 32 bit AIX 2 byte wchar
[official-gcc.git] / gcc / testsuite / g++.dg / cpp23 / lambda-attr2.C
blob0392b179b86512bad930d2d54487990686407573
1 // P2173R1 - Attributes on Lambda-Expressions
2 // { dg-do compile { target c++11 } }
4 void
5 foo (bool x, bool y)
7   auto i = [] [[ gnu::unavailable ]] () {};
8   i ();                 // { dg-error "'foo\\\(bool, bool\\\)::<lambda\\\(\\\)>' is unavailable" }
9   auto j = [][[gnu::unavailable]] {};
10   j ();                 // { dg-error "'foo\\\(bool, bool\\\)::<lambda\\\(\\\)>' is unavailable" }
11 #if __cpp_generic_lambdas >= 201304
12   auto k = [] [[gnu::unavailable]] (auto x) {}; // { dg-bogus "is unavailable" }
13   k (0.0);              // { dg-error "'foo\\\(bool, bool\\\)::<lambda\\\(auto:1\\\)>\[^\n\r]*' is unavailable" "" { target c++14 } }
14 #endif
15 #if __cpp_generic_lambdas >= 201707
16   auto l = [] <typename T> [[gnu::unavailable]] (T) {}; // { dg-bogus "is unavailable" }
17   l (1);                // { dg-error "'foo\\\(bool, bool\\\)::<lambda\\\(T\\\)>\[^\n\r]*' is unavailable" "" { target c++20 } }
18 #endif