1 /* { dg-do compile } */
2 /* { dg-options "-Wc++-compat" } */
19 struct s5 { int f; }; /* { dg-message "note: originally defined here" } */
20 typedef int s5; /* { dg-warning "invalid in C\[+\]\[+\]" } */
22 typedef int s6; /* { dg-message "note: originally defined here" } */
23 struct s6 { int f; }; /* { dg-warning "invalid in C\[+\]\[+\]" } */
28 struct s7 { int f; }; /* { dg-message "note: originally defined here" } */
29 typedef int s7; /* { dg-warning "invalid in C\[+\]\[+\]" } */
31 typedef int s8; /* { dg-message "note: originally defined here" } */
32 struct s8 { int f; }; /* { dg-warning "invalid in C\[+\]\[+\]" } */
38 { struct s10 { int f; }; }
53 enum e5 { E }; /* { dg-message "note: originally defined here" } */
54 typedef int e5; /* { dg-warning "invalid in C\[+\]\[+\]" } */
56 typedef int e6; /* { dg-message "note: originally defined here" } */
57 enum e6 { F }; /* { dg-warning "invalid in C\[+\]\[+\]" } */
62 enum e7 { G }; /* { dg-message "note: originally defined here" } */
63 typedef int e7; /* { dg-warning "invalid in C\[+\]\[+\]" } */
65 typedef int e8; /* { dg-message "note: originally defined here" } */
66 enum e8 { H }; /* { dg-warning "invalid in C\[+\]\[+\]" } */