view gcc/testsuite/g++.dg/template/ctor3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

struct A {};
struct B;

template <class TP> struct X: virtual A {
  template <class TP2> X(TP2* ptr) {}
  template <class TP2> X(const X<TP2>) {}
};

struct Y : X<B> { 
  Y(A* a) : X<B>(a) {}
};

void func1(X<B>);

void func2() {
  A a;
  Y y(&a);
  func1(X<A>(&a));
}