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