aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/struct-class-redecl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/struct-class-redecl.cpp')
-rw-r--r--test/SemaCXX/struct-class-redecl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/SemaCXX/struct-class-redecl.cpp b/test/SemaCXX/struct-class-redecl.cpp
new file mode 100644
index 000000000000..4b6cef6dd2bf
--- /dev/null
+++ b/test/SemaCXX/struct-class-redecl.cpp
@@ -0,0 +1,8 @@
+// RUN: clang-cc -fsyntax-only -Wmismatched-tags -verify %s
+class X; // expected-note 2{{here}}
+typedef struct X * X_t; // expected-warning{{previously declared}}
+
+template<typename T> struct Y; // expected-note{{previous}}
+template<class U> class Y { }; // expected-warning{{previously declared}}
+
+union X { int x; float y; }; // expected-error{{use of 'X' with tag type that does not match previous declaration}}