mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-03 02:06:08 +00:00
35 lines
733 B
C
35 lines
733 B
C
// 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'}}
|
|
}
|