Tested x86_64-pc-linux-gnu, applying to trunk.

-- >8 --
This was fixed by r16-6725 and we no longer crash.  The error is
expected.

        PR c++/39057

gcc/testsuite/ChangeLog:

        * g++.dg/template/friend89.C: New test.
---
 gcc/testsuite/g++.dg/template/friend89.C | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/template/friend89.C

diff --git a/gcc/testsuite/g++.dg/template/friend89.C 
b/gcc/testsuite/g++.dg/template/friend89.C
new file mode 100644
index 00000000000..7c251f6e85b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend89.C
@@ -0,0 +1,11 @@
+// PR c++/39057
+
+struct A
+{
+  template<int> void foo();
+};
+
+template<int> struct B
+{
+  friend void A::foo<0>(int = 0); // { dg-error "friend declaration" }
+};

base-commit: 0fdaf0eb61f8a270d6832feac4b81675b65bfd32
-- 
2.53.0

Reply via email to