1 // { dg-do compile { target c++11 } }
2 
3 struct B {
4 	int i;
BB5 	B (int _i) : i(_i) { }
~BB6 	~B () { i = 0; }
7 };
8 
9 struct A : public B {
AA10 	A () : B(-1) { }
AA11 	A (int i) : A() { }
AA12 	A (double b) : A(static_cast<int>(b)) { }
AA13 	A (double b, double b2) : A(b2) { }
~AA14 	~A () { }
15 };
16 
f_A()17 void f_A () { A a(2.0, 3.0); }
18 
19 struct C {
CC20 	C () { }
~CC21 	virtual ~C() { }
22 	virtual int f () = 0;
23 };
24 
25 struct D : public C {
26 	int i;
DD27 	D (int _i) : C(), i(_i) { }
DD28 	D () : D(-1) { }
~DD29 	virtual ~D() { }
fD30 	virtual int f () { }
31 };
32 
f_D()33 void f_D () { C* c = new D(); }
34 
35 template <typename T>
36 struct E {
37 	T t;
EE38 	E () : E(T()) { }
EE39 	E (T _t) : t(_t) { }
40 };
41 
f_E()42 void f_E () { E<int> e; }
43