diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/ctors18.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/ctors18.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors18.C b/gcc/testsuite/g++.old-deja/g++.law/ctors18.C new file mode 100644 index 00000000000..e7a666e3e80 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/ctors18.C @@ -0,0 +1,27 @@ +// Build don't link: +// GROUPS passed constructors +class test1 { +}; + +template<class T> +class GC_PTR { +public: + GC_PTR(T &a) {} +}; + + +void +gotPtrs(GC_PTR<test1> r1) +{ +} + +static void +short_alloc(int n) +{ + test1 here; + GC_PTR<test1> foo = here; // This works fine. + + gotPtrs(here); // Compile error from this + // No constructor named `GC_PTR` in visible scope + // conversion between incompatible aggregate types requested +} |