| extern int X; // { dg-message "previous declaration" } | |
| extern int Y (int); // { dg-message "old declaration" } | |
| extern int Y (float); | |
| static int Z (int s) // { dg-message "old declaration" } | |
| { | |
| return s; | |
| } | |
| void Foo () | |
| { | |
| extern char X; // { dg-error "conflicting declaration" } | |
| extern char Y (int); // { dg-error "ambiguating new declaration" } | |
| extern int Y (float); | |
| extern void Y (double); | |
| extern char Z (int); // { dg-error "ambiguating new declaration" } | |
| } | |