Implement a %plural modifier for complex plural forms in diagnostics. Use it in the overload diagnostics.

llvm-svn: 59871
diff --git a/clang/test/SemaCXX/copy-initialization.cpp b/clang/test/SemaCXX/copy-initialization.cpp
index 17028da..5ef84de9 100644
--- a/clang/test/SemaCXX/copy-initialization.cpp
+++ b/clang/test/SemaCXX/copy-initialization.cpp
@@ -10,7 +10,7 @@
 class Y : public X { };
 
 void f(Y y, int *ip, float *fp) {
-  X x1 = y; // expected-error{{no matching constructor for initialization of 'x1'; candidates are:}}
+  X x1 = y; // expected-error{{no matching constructor for initialization of 'x1'; candidate is:}}
   X x2 = 0;
   X x3 = ip;
   X x4 = fp; // expected-error{{incompatible type initializing 'x4', expected 'class X'}}