Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/instantiate-member-initializers.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -Wall -verify %s template<typename T> struct A { A() : a(1) { } // expected-error{{cannot initialize a member subobject of type 'void *' with an rvalue of type 'int'}} T a; }; A<int> a0; A<void*> a1; // expected-note{{in instantiation of member function 'A<void *>::A' requested here}} template<typename T> struct B { B() : b(1), // expected-warning {{field 'b' will be initialized after field 'a'}} a(2) { } int a; int b; }; B<int> b0; // expected-note {{in instantiation of member function 'B<int>::B' requested here}} template <class T> struct AA { AA(int); }; template <class T> class BB : public AA<T> { public: BB() : AA<T>(1) {} }; BB<int> x; struct X { X(); }; template<typename T> struct Y { Y() : x() {} X x; }; Y<int> y; template<typename T> struct Array { int a[3]; Array() : a() {} }; Array<int> s;