It's an error to try to allocate an abstract object using new.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67542 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/abstract.cpp b/test/SemaCXX/abstract.cpp
index e3c7651..1b6099a 100644
--- a/test/SemaCXX/abstract.cpp
+++ b/test/SemaCXX/abstract.cpp
@@ -25,6 +25,8 @@
 
 static_assert(!__is_abstract(E), "E inherits from an abstract class but implements f");
 
+C *d = new C; // expected-error {{allocation of an object of abstract type 'C'}}
+
 C c; // expected-error {{variable type 'C' is an abstract class}}
 void t1(C c); // expected-error {{parameter type 'C' is an abstract class}}
 void t2(C); // expected-error {{parameter type 'C' is an abstract class}}
@@ -32,3 +34,4 @@
 struct S {
   C c; // expected-error {{field type 'C' is an abstract class}}
 };
+