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)14 gotPtrs(GC_PTR<test1> r1)
15 {
16 }
17 
18 static void
short_alloc(int n)19 short_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