1*67e74705SXin Li #include "cxx-irgen-top.h" 2*67e74705SXin Li 3*67e74705SXin Li S<int> s; 4*67e74705SXin Li instantiate_min()5*67e74705SXin Liinline int instantiate_min() { 6*67e74705SXin Li return min(1, 2); 7*67e74705SXin Li } 8*67e74705SXin Li 9*67e74705SXin Li inline int instantiate_CtorInit(CtorInit<int> i = CtorInit<int>()) { 10*67e74705SXin Li return i.a; 11*67e74705SXin Li } 12*67e74705SXin Li 13*67e74705SXin Li namespace ImplicitSpecialMembers { create_left()14*67e74705SXin Li inline void create_left() { 15*67e74705SXin Li // Trigger declaration, but not definition, of special members. 16*67e74705SXin Li B b(0); C c(0); D d(0); 17*67e74705SXin Li // Trigger definition of copy constructor. 18*67e74705SXin Li C c2(c); D d2(d); 19*67e74705SXin Li } 20*67e74705SXin Li } 21*67e74705SXin Li 22*67e74705SXin Li namespace OperatorDeleteLookup { 23*67e74705SXin Li // Trigger definition of A::~A() and lookup of operator delete. 24*67e74705SXin Li // Likewise for B<int>::~B(). f()25*67e74705SXin Li inline void f() { A a; B<int> b; } 26*67e74705SXin Li } 27