diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C new file mode 100644 index 000000000..c5597eab7 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C @@ -0,0 +1,30 @@ +// { dg-do link } +// GROUPS passed templates membertemplates +extern "C" int printf(const char*, ...); + +template <class U> +struct S { + template <class T> + void operator+(T); +}; + +template <class U> +template <class T> +void S<U>::operator+(T) +{ + printf("Hello, world.\n"); +} + + +int main() +{ + S<int> s; + s + 3; + s + s; + s.operator+("Hi"); + + S<S<int> > s2; + s2 + 3; + s2 + s; + s2.operator+("Hi"); +} |