diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C new file mode 100644 index 000000000..6d62209a2 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C @@ -0,0 +1,27 @@ +// { dg-do assemble } +// GROUPS passed conversions +class A {}; + +template <class TP> +class B +{ + A &(*_f) (A &, TP); + TP _a; +public: + B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {} + friend A &operator<< (A &o, const B<TP> &m) + { (*m._f) (o, m._a); return o; } +}; + +A &setw (A &, int); +B<int> setw (int n) +{ + return B<int> (setw, n); +} + +A x; + +void f () +{ + x << setw (2); +} |