aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/access23.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/access23.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access23.C90
1 files changed, 11 insertions, 79 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access23.C b/gcc/testsuite/g++.old-deja/g++.jason/access23.C
index 57331687b7a..7975de2d8b5 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/access23.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/access23.C
@@ -1,79 +1,11 @@
-// PRMS Id: 9127
-// Bug: members of anonymous unions are not access-controlled.
-
-#include <stdio.h>
-
-struct Foo {
-public:
- union {
- long A;
- void *pX;
- };
- union X {
- long A;
- void *pX;
- } PUB ;
- int PUB_A;
-protected:
- union {
- long B;
- void *pY;
- } ;
- union Y {
- long B;
- void *pY;
- } PRT;
- int PRT_A;
-private:
- union {
- long C;
- void *pZ;
- };
- union Z {
- long C;
- void *pZ;
- } PRV;
- int PRV_A;
-};
-
-struct Bar : public Foo {
-public:
- DoSomething() {
- PUB_A = 0;
- Foo::A = 0;
- printf("%x\n",pX);
- Foo::PUB.A = 0;
- printf("%x\n",PUB.pX);
- B = 0;
- printf("%x\n",Foo::pY);
- PRT_A = 0;
- PRT.B = 0;
- printf("%x\n",Foo::PRT.pY);
- PRV_A = 0; // ERROR -
- Foo::C = 0; // ERROR -
- printf("%x\n",pZ); // ERROR -
- Foo::PRV.C = 0; // ERROR -
- printf("%x\n",PRV.pZ); // ERROR -
- }
-};
-
-main()
-{
- Foo a;
-
- a.PUB_A = 0;
- a.A = 0;
- printf("%x\n",a.pX);
- a.PRT_A = 0; // ERROR -
- a.B = 0; // ERROR -
- printf("%x\n",a.pY); // ERROR -
- a.PRV_A = 0; // ERROR -
- a.C = 0; // ERROR -
- printf("%x\n",a.pZ); // ERROR -
- a.PUB.A = 0;
- printf("%x\n",a.PUB.pX);
- a.PRT.B = 0; // ERROR -
- printf("%x\n",a.PRT.pY); // ERROR -
- a.PRV.C = 0; // ERROR -
- printf("%x\n",a.PRV.pZ); // ERROR -
-}
+ long B; // ERROR - protected
+ void *pY; // ERROR - protected
+ } PRT; // ERROR - protected
+ int PRT_A; // ERROR - protected
+ long C; // ERROR - private
+ void *pZ; // ERROR - private
+ long C;
+ } PRV; // ERROR - private
+ int PRV_A; // ERROR - private
+ void DoSomething() {
+int main()