1 // PR c++/85952
2 // { dg-do compile { target c++11 } }
3 // { dg-options "-Wunused-but-set-variable" }
4 
5 int
foo()6 foo ()
7 {
8   int a[2] = {1, 2};	// { dg-bogus "set but not used" } */
9   auto [x, y] = a;	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
10   return x + y;
11 }
12 
13 struct S { int d, e; };
14 
15 int
bar()16 bar ()
17 {
18   S a = {1, 2};
19   auto [x, y] = a;	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
20   return x + y;
21 }
22 
23 int
baz()24 baz ()
25 {
26   S a = {1, 2};
27   auto & [x, y] = a;	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
28   return x + y;
29 }
30 
31 int
qux()32 qux ()
33 {
34   int a[2] = {1, 2};
35   auto & [x, y] = a;	// { dg-warning "structured bindings only available with" "" { target c++14_down } }
36   return x + y;
37 }
38