// RUN: %clang_cc1 -fsyntax-only -verify %s
struct X { // expected-note{{previous definition is here}}
struct X { } x; // expected-error{{nested redefinition of 'X'}}
};
struct Y { };
void f(void) {
struct Y { }; // okay: this is a different Y
}
struct T;
struct Z {
struct T { int x; } t;
struct U { int x; } u;
};
void f2(void) {
struct T t;
struct U u;
}
void f3(void) {
struct G { // expected-note{{previous definition is here}}
struct G {}; // expected-error{{nested redefinition of 'G'}}
};
}
void f4(void) {
struct G { // expected-note 2{{previous definition is here}}
struct G {}; // expected-error{{nested redefinition of 'G'}}
};
struct G {}; // expected-error{{redefinition of 'G'}}
}