summaryrefslogtreecommitdiff
path: root/test/SemaCXX/pr18284-crash-on-invalid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/pr18284-crash-on-invalid.cpp')
-rw-r--r--test/SemaCXX/pr18284-crash-on-invalid.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaCXX/pr18284-crash-on-invalid.cpp b/test/SemaCXX/pr18284-crash-on-invalid.cpp
new file mode 100644
index 000000000000..5b1cb21f4bb6
--- /dev/null
+++ b/test/SemaCXX/pr18284-crash-on-invalid.cpp
@@ -0,0 +1,24 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+// Don't crash (PR18284).
+
+namespace n1 {
+class A { };
+class C { A a; };
+
+A::RunTest() {} // expected-error {{C++ requires a type specifier for all declarations}}
+
+void f() {
+ new C;
+}
+} // namespace n1
+
+namespace n2 {
+class A { };
+class C : public A { };
+
+A::RunTest() {} // expected-error {{C++ requires a type specifier for all declarations}}
+
+void f() {
+ new C;
+}
+} // namespace n2