1 // { dg-do assemble } 2 // GROUPS passed constructors 3 class test1 { 4 }; 5 6 template<class T> 7 class GC_PTR { 8 public: GC_PTR(T & a)9 GC_PTR(T &a) {} 10 }; 11 12 13 void gotPtrs(GC_PTR<test1> r1)14gotPtrs(GC_PTR<test1> r1) 15 { 16 } 17 18 static void short_alloc(int n)19short_alloc(int n) 20 { 21 test1 here; 22 GC_PTR<test1> foo = here; // This works fine. 23 24 gotPtrs(here); // Compile error from this 25 // No constructor named `GC_PTR` in visible scope 26 // conversion between incompatible aggregate types requested 27 } 28