summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/parse/error29.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/parse/error29.C')
-rw-r--r--gcc/testsuite/g++.dg/parse/error29.C13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/error29.C b/gcc/testsuite/g++.dg/parse/error29.C
new file mode 100644
index 000000000..2c3a3a7f2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/error29.C
@@ -0,0 +1,13 @@
+// { dg-options "-fshow-column -ansi -pedantic-errors -Wno-long-long" }
+// PR c++/25637
+
+struct A {
+ void foo();
+ A();
+ void operator delete(void *);
+};
+struct B {
+ friend void A::foo() {} // { dg-error "22:cannot define member function 'A::foo' within 'B'" }
+ friend void A::operator delete(void*) {} // { dg-error "39:cannot define member function 'A::operator delete' within 'B'" }
+ friend A::A() {} // { dg-error "15:cannot define member function 'A::A' within 'B'" }
+};