* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1z / decomp15.C
blobe5dc443598e6989dc10ba158caf0d5c4b3d4b80d
1 // { dg-do compile }
2 // { dg-options "-std=c++17" }
4 struct A { bool a, b; };
5 struct B { int a, b; };
7 void
8 foo ()
10   auto [ a, b ] = A ();
11   for (auto [ a, b ] = A (); a; )
12     ;
13   if (auto [ a, b ] = A (); a)
14     ;
15   switch (auto [ a, b ] = B (); b)
16     {
17     case 2:
18       break;
19     }
20   auto && [ c, d ] = A ();
21   [[maybe_unused]] auto [ e, f ] = A ();
22   alignas (A) auto [ g, h ] = A ();
23   __attribute__((unused)) auto [ i, j ] = A ();