new
authorJason Merrill <jason@gcc.gnu.org>
Sat, 24 Jun 2000 22:12:16 +0000 (18:12 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 24 Jun 2000 22:12:16 +0000 (18:12 -0400)
From-SVN: r34685

gcc/testsuite/g++.old-deja/g++.other/friend6.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.other/friend7.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend6.C b/gcc/testsuite/g++.old-deja/g++.other/friend6.C
new file mode 100644 (file)
index 0000000..1bc6119
--- /dev/null
@@ -0,0 +1,19 @@
+// Origin: Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+// Test for resolution of core issue 125.
+// Build don't link:
+
+struct A{
+  struct B{};
+};
+
+A::B C();
+
+namespace B{
+  A C();
+}
+
+class Test{
+  friend A (::B::C)();  // Ok
+  friend A::B (::C)();  // Ok
+  friend A::B::C();     // ERROR - no A::B::C
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend7.C b/gcc/testsuite/g++.old-deja/g++.other/friend7.C
new file mode 100644 (file)
index 0000000..02b67cc
--- /dev/null
@@ -0,0 +1,21 @@
+// Origin: Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+// Test that a friend declaration with an explicit :: finds the right fn.
+// Build don't link:
+
+namespace M {
+class S; 
+}
+void foo(M::S *);
+
+namespace M {
+class S {
+  friend void (::foo)(S *);
+  void Fn(); 
+  static S s;
+};
+} 
+
+void (::foo)(M::S *ptr) {
+  M::S::s.Fn();
+  ptr->Fn();
+}