1 // { dg-options "-std=c++17 -Wunused" }
2
3 #include <tuple>
4
5 struct A { int i,j,k; };
6
7 A f();
8 int p[3];
9
10 int z;
11
main()12 int main()
13 {
14 {
15 auto [i,j,k] = f(); // { dg-warning "unused" }
16 }
17 {
18 [[maybe_unused]] auto [i,j,k] = f();
19 }
20 {
21 auto [i,j,k] = f();
22 z = i;
23 }
24 {
25 auto [i,j,k] = f(); // { dg-warning "unused" }
26 i = 5;
27 }
28 {
29 auto [i,j] = std::tuple{1,2}; // { dg-warning "unused" }
30 }
31 {
32 [[maybe_unused]] auto [i,j] = std::tuple{1,2};
33 }
34 {
35 auto [i,j] = std::tuple{1,2};
36 z = i;
37 }
38 {
39 auto [i,j] = std::tuple{1,2};
40 i = 5;
41 }
42 {
43 auto [i,j,k] = p; // { dg-warning "unused" }
44 }
45 {
46 [[maybe_unused]] auto [i,j,k] = p;
47 }
48 {
49 auto [i,j,k] = p;
50 z = i;
51 }
52 {
53 auto [i,j,k] = p; // { dg-warning "unused" }
54 i = 5;
55 }
56 }
57