Index: test/CodeGenCXX/new-array-init.cpp
===================================================================
--- test/CodeGenCXX/new-array-init.cpp	(revision 282063)
+++ test/CodeGenCXX/new-array-init.cpp	(working copy)
@@ -11,13 +11,6 @@
   new int[n] { 1, 2, 3 };
 }
 
-// CHECK-LABEL: define void @_Z15const_underflowv
-void const_underflow() {
-  // CHECK-NOT: icmp ult i{{32|64}} %{{[^ ]+}}, 3
-  // CHECK: call i8* @_Zna{{.}}(i{{32|64}} -1)
-  new int[2] { 1, 2, 3 };
-}
-
 // CHECK-LABEL: define void @_Z11const_exactv
 void const_exact() {
   // CHECK-NOT: icmp ult i{{32|64}} %{{[^ ]+}}, 3
Index: test/SemaCXX/new-delete-cxx0x.cpp
===================================================================
--- test/SemaCXX/new-delete-cxx0x.cpp	(revision 282063)
+++ test/SemaCXX/new-delete-cxx0x.cpp	(working copy)
@@ -15,19 +15,12 @@
   ~S();
 };
 
-struct T { // expected-note 2 {{not viable}}
-  T(int); // expected-note {{not viable}}
+struct T {
+  T(int);
 };
 
 void fn() {
   (void) new int[2] {1, 2};
   (void) new S[2] {1, 2};
-  // C++11 [expr.new]p19:
-  //   If the new-expression creates an object or an array of objects of class
-  //   type, access and ambiguity control are done for the allocation function,
-  //   the deallocation function (12.5), and the constructor (12.1).
-  //
-  // Note that this happens even if the array bound is constant and the
-  // initializer initializes every array element.
-  (void) new T[2] {1, 2}; // expected-error {{no matching constructor}} expected-note {{in implicit initialization of array element 2}}
+  (void) new T[2] {1, 2};
 }
