70 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// expected-no-diagnostics3 4// PR43815template<class T> struct X {};6template<typename T> struct Y : public X<T>::X { };7 8// PR46219class A1 {10 A1(int x) {}11};12template<class C> class B1 : public A1 {13 B1(C x) : A1(x.x) {}14};15class A2 { A2(int x, int y); };16template <class C> class B2 {17 A2 x;18 B2(C x) : x(x.x, x.y) {}19};20template <class C> class B3 {21 C x;22 B3() : x(1,2) {}23};24 25// PR462726template<typename _Container> class insert_iterator {27 _Container* container;28 insert_iterator(_Container& __x) : container(&__x) {}29};30 31// PR476332template<typename T> struct s0 {};33template<typename T> struct s0_traits {};34template<typename T> struct s1 : s0<typename s0_traits<T>::t0> {35 s1() {}36};37 38// PR606239namespace PR6062 {40 template <typename T>41 class A : public T::type42 {43 A() : T::type()44 { 45 }46 47 template <typename U>48 A(U const& init)49 : T::type(init)50 { }51 52 template<typename U>53 A(U& init) : U::other_type(init) { }54 };55}56 57template<typename T, typename U>58struct X0 : T::template apply<U> {59 X0(int i) : T::template apply<U>(i) { }60};61 62// PR769863namespace PR7698 {64 template<typename Type>65 class A {66 char mA[sizeof(Type *)];67 A(): mA() {}68 };69}70