PR lto/84212 - -Wno-* does not disable warnings from -flto link stage
[official-gcc.git] / gcc / testsuite / g++.dg / warn / Wshadow-7.C
blobd354d0499f4002ef9ddf949c4e947dd12d81789b
1 // PR c++/44128
2 // { dg-options "-Wshadow" }
4 typedef long My_ssize_t;  // { dg-message "shadowed declaration" }
5 typedef int Foo;          // { dg-message "shadowed declaration" }
6 struct Bar1 {             // { dg-bogus "shadowed declaration" }
7   int a;
8 };
9 struct Bar2 {             // { dg-message "shadowed declaration" }
10   int a;
13 void func() {
14   typedef int My_ssize_t; // { dg-warning "shadows a global" }
15   typedef char My_Num;    // { dg-message "shadowed declaration" }
16   {
17     typedef short My_Num; // { dg-warning "shadows a previous local" }
18   }
19   int Foo;                // { dg-warning "shadows a global" }
20   float Bar1;             // { dg-bogus "shadows a global" }
21   struct Bar2 {           // { dg-warning "shadows a global" }
22     int a;
23   };
24   struct Bar3 {           // { dg-message "shadowed declaration" }
25     int a;
26   };
27   struct Bar4 {           // { dg-bogus "shadowed declaration" }
28     int a;
29   };
30   {
31     struct Bar3 {         // { dg-warning "shadows a previous local" }
32       int a;
33     };
34     char Bar4;            // { dg-bogus "shadows a previous local" }
35     int My_Num;           // { dg-warning "shadows a previous local" }
36   }