1d28ac5b9SRichard Smith #include "cxx-irgen-top.h" 2d28ac5b9SRichard Smith 3d28ac5b9SRichard Smith S<int> s; 404d05b5fSRichard Smith instantiate_min()504d05b5fSRichard Smithinline int instantiate_min() { 604d05b5fSRichard Smith return min(1, 2); 704d05b5fSRichard Smith } 8cd45dbc5SRichard Smith 9cd45dbc5SRichard Smith inline int instantiate_CtorInit(CtorInit<int> i = CtorInit<int>()) { 10cd45dbc5SRichard Smith return i.a; 11cd45dbc5SRichard Smith } 126de7a247SRichard Smith 136de7a247SRichard Smith namespace ImplicitSpecialMembers { create_left()146de7a247SRichard Smith inline void create_left() { 156de7a247SRichard Smith // Trigger declaration, but not definition, of special members. 166de7a247SRichard Smith B b(0); C c(0); D d(0); 176de7a247SRichard Smith // Trigger definition of copy constructor. 186de7a247SRichard Smith C c2(c); D d2(d); 196de7a247SRichard Smith } 206de7a247SRichard Smith } 21*4d235794SRichard Smith 22*4d235794SRichard Smith namespace OperatorDeleteLookup { 23*4d235794SRichard Smith // Trigger definition of A::~A() and lookup of operator delete. 24*4d235794SRichard Smith // Likewise for B<int>::~B(). f()25*4d235794SRichard Smith inline void f() { A a; B<int> b; } 26*4d235794SRichard Smith } 27