re PR c++/58022 (Compiler rejects abstract class in template class with friend operat...
authorJason Merrill <jason@gcc.gnu.org>
Tue, 30 Jul 2013 13:28:23 +0000 (09:28 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 30 Jul 2013 13:28:23 +0000 (09:28 -0400)
PR c++/58022
* g++.dg/template/abstract1.C: New.

From-SVN: r201337

gcc/testsuite/g++.dg/template/abstract1.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/template/abstract1.C b/gcc/testsuite/g++.dg/template/abstract1.C
new file mode 100644 (file)
index 0000000..20bbf5a
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/58022
+
+template <class T> struct A { };
+template <class T> A<T> & operator<< (A<T>&, T);
+template <class T> class foo;
+template <class T> A<char> & operator<<(A<char>& o, const foo<T>& l);
+template <class T> class foo  {
+    friend A<char>& operator<< <T> (A<char>& o, const foo<T>& l);
+};
+class bar;
+foo<bar> fb;
+class bar { virtual void baz()=0; };