aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/friend1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/friend1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend1.C85
1 files changed, 0 insertions, 85 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend1.C b/gcc/testsuite/g++.old-deja/g++.other/friend1.C
deleted file mode 100644
index 76fcebe1fae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend1.C
+++ /dev/null
@@ -1,85 +0,0 @@
-// Build don't link:
-// f() should be able to access B::j, as of FDIS [class.protected]/1
-
-// Subject: Re: [bug] Inheritance and friend access control broken
-// References: <199803032141.WAA09332@piano.dptmaths.ens-cachan.fr>
-// <orhg5ff544.fsf@iguacu.dcc.unicamp.br>
-// <199803041125.MAA06937@cor.dptmaths.ens-cachan.fr>
-// <orn2f6ek92.fsf@iguacu.dcc.unicamp.br> <19980304102900.46897@dgii.com>
-// From: Alexandre Oliva <oliva@dcc.unicamp.br>
-// Date: 06 Mar 1998 01:43:18 -0300
-
-template <int*>
-class X {};
-
-template <typename T>
-void g();
-
-struct S;
-
-template <typename T>
-struct R;
-
-class B {
-protected:
- int i; // ERROR - in this context
- static int j;
-};
-
-class D : public B {
- friend void f();
- template <typename T>
- friend void g();
- friend struct S;
- template <typename T>
- friend struct R;
-};
-
-struct S {
- void h();
- X<&B::j> x;
-};
-
-template <typename T>
-struct R {
- void h();
- X<&B::j> x;
-};
-
-void f()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template <typename T>
-void g()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template void g<int>();
-
-void S::h()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template <typename T>
-void R<T>::h()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template struct R<double>;