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