Make the parser handle ::new and ::delete correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60421 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/new-delete.cpp b/test/SemaCXX/new-delete.cpp
index 0a1a3ae..d9b4713 100644
--- a/test/SemaCXX/new-delete.cpp
+++ b/test/SemaCXX/new-delete.cpp
@@ -21,6 +21,7 @@
   ps = new (S[3])(1, 2, 3.4);
   typedef int ia4[4];
   ia4 *pai = new (int[3][4]);
+  pi = ::new int;
 }
 
 void bad_news(int *ip)
@@ -41,6 +42,7 @@
   // Undefined, but clang should reject it directly.
   (void)new int[-1]; // expected-error {{array size is negative}}
   (void)new int[*(S*)0]; // expected-error {{array size expression must have integral or enumerated type, not 'struct S'}}
+  (void)::S::new int; // expected-error {{expected unqualified-id}}
   // Some lacking cases due to lack of sema support.
 }
 
@@ -49,6 +51,7 @@
   delete (int*)0;
   delete [](int*)0;
   delete (S*)0;
+  ::delete (int*)0;
 }
 
 void bad_deletes()
@@ -58,4 +61,5 @@
                       // expected-note {{to match this '['}}
   delete (void*)0; // expected-error {{cannot delete expression}}
   delete (T*)0; // expected-warning {{deleting pointer to incomplete type}}
+  ::S::delete (int*)0; // expected-error {{expected unqualified-id}}
 }