Fix some diagnostics and enhance test cases. Now tests member new and ambiguous overloads.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60542 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
index 1cecb5d..72ca8df 100644
--- a/lib/Sema/SemaExprCXX.cpp
+++ b/lib/Sema/SemaExprCXX.cpp
@@ -432,7 +432,8 @@
 
     case OR_Ambiguous:
       // FIXME: Bad location information.
-      Diag(StartLoc, diag::err_ovl_ambiguous_oper) << NewName;
+      Diag(StartLoc, diag::err_ovl_ambiguous_oper)
+        << (IsArray ? "new[]" : "new");
       PrintOverloadCandidates(MemberNewCandidates, /*OnlyViable=*/true);
       return true;
     }
@@ -491,7 +492,8 @@
 
     case OR_Ambiguous:
       // FIXME: Bad location information.
-      Diag(StartLoc, diag::err_ovl_ambiguous_oper) << NewName;
+      Diag(StartLoc, diag::err_ovl_ambiguous_oper)
+        << (IsArray ? "new[]" : "new");
       PrintOverloadCandidates(GlobalNewCandidates, /*OnlyViable=*/true);
       return true;
     }