| /* Redeclarations of class names. */ |
| /* { dg-do compile } */ |
| /* { dg-additional-options "-Wno-objc-root-class" } */ |
| |
| typedef int foo; /* { dg-line foo_def } */ |
| |
| @class foo; /* { dg-error "redeclared as different kind of symbol" } */ |
| /* { dg-error "previous declaration of" "" { target *-*-* } foo_def } */ |
| |
| typedef int bar; /* { dg-line bar_def } */ |
| |
| #if defined(__has_attribute) && __has_attribute(objc_root_class) |
| __attribute__((objc_root_class)) |
| #endif |
| @interface bar |
| @end /* { dg-error "redeclared as different kind of symbol" } */ |
| /* { dg-error "previous declaration of" "" { target *-*-* } bar_def } */ |
| |
| int glob; /* { dg-line glob_def } */ |
| |
| @implementation glob |
| @end /* { dg-line glob_impl_end } */ |
| /* { dg-error "redeclared as different kind of symbol" "" { target *-*-* } glob_impl_end } */ |
| /* { dg-error "previous declaration of" "" { target *-*-* } glob_def } */ |
| /* { dg-warning "annot find interface declaration" "" { target *-*-* } glob_impl_end } */ |