Switch more of Sema::CheckInitializerTypes over to
InitializationSequence. Specially, switch initialization of a C++
class type (either copy- or direct-initialization). 

Also, make sure that we create an elidable copy-construction when
performing copy initialization of a C++ class variable. Fixes PR5826.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91750 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/copy-initialization.cpp b/test/SemaCXX/copy-initialization.cpp
index 8df0c63..ad14923 100644
--- a/test/SemaCXX/copy-initialization.cpp
+++ b/test/SemaCXX/copy-initialization.cpp
@@ -2,17 +2,17 @@
 class X {
 public:
   explicit X(const X&);
-  X(int*); // expected-note{{candidate function}}
+  X(int*); // expected-note 2{{candidate function}}
   explicit X(float*);
 };
 
 class Y : public X { };
 
 void f(Y y, int *ip, float *fp) {
-  X x1 = y; // expected-error{{no matching constructor for initialization of 'x1'; candidate is:}}
+  X x1 = y; // expected-error{{no matching constructor for initialization of 'class X'}}
   X x2 = 0;
   X x3 = ip;
-  X x4 = fp; // expected-error{{cannot initialize 'x4' with an lvalue of type 'float *'}}
+  X x4 = fp; // expected-error{{no viable conversion}}
 }
 
 struct foo {