| // PR c++/44128 |
| // { dg-options "-Wshadow" } |
| |
| typedef long My_ssize_t; // { dg-message "shadowed declaration" } |
| typedef int Foo; // { dg-message "shadowed declaration" } |
| struct Bar1 { // { dg-bogus "shadowed declaration" } |
| int a; |
| }; |
| struct Bar2 { // { dg-message "shadowed declaration" } |
| int a; |
| }; |
| |
| void func() { |
| typedef int My_ssize_t; // { dg-warning "shadows a global" } |
| typedef char My_Num; // { dg-message "shadowed declaration" } |
| { |
| typedef short My_Num; // { dg-warning "shadows a previous local" } |
| } |
| int Foo; // { dg-warning "shadows a global" } |
| float Bar1; // { dg-bogus "shadows a global" } |
| struct Bar2 { // { dg-warning "shadows a global" } |
| int a; |
| }; |
| struct Bar3 { // { dg-message "shadowed declaration" } |
| int a; |
| }; |
| struct Bar4 { // { dg-bogus "shadowed declaration" } |
| int a; |
| }; |
| { |
| struct Bar3 { // { dg-warning "shadows a previous local" } |
| int a; |
| }; |
| char Bar4; // { dg-bogus "shadows a previous local" } |
| int My_Num; // { dg-warning "shadows a previous local" } |
| } |
| } |