summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Sema')
-rw-r--r--clang/test/Sema/member-reference.c11
-rw-r--r--clang/test/Sema/nested-redef.c22
2 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/Sema/member-reference.c b/clang/test/Sema/member-reference.c
index 784d60020ad..b434f5b7793 100644
--- a/clang/test/Sema/member-reference.c
+++ b/clang/test/Sema/member-reference.c
@@ -7,3 +7,14 @@ void f(void) {
s->i = 1;
}
+typedef int x;
+struct S {
+ int x;
+ x z;
+};
+
+void g(void) {
+ struct S s[1];
+ s->x = 1;
+ s->z = 2;
+}
diff --git a/clang/test/Sema/nested-redef.c b/clang/test/Sema/nested-redef.c
new file mode 100644
index 00000000000..83cd4209675
--- /dev/null
+++ b/clang/test/Sema/nested-redef.c
@@ -0,0 +1,22 @@
+// RUN: clang -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;
+ // FIXME: this is well-formed, but Clang breaks on it struct U u;
+}
+
+
OpenPOWER on IntegriCloud