]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.benjamin / scope01.C
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C
deleted file mode 100644 (file)
index a834f4f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-// Build don't link:
-// 980604 bkoz
-// 3.4.5 Class member access p 4
-// nested and non-nested calls, no dtors
-
-struct L { 
-  int ii; 
-  void foo(int a) {++a;}
-  struct Linner {
-    int ii_inner; 
-    void foo_inner(int b) {++b;}
-  };
-};
-class A : public L {};
-class B : public L {};
-class C : public A, public B {};
-
-
-void foo() {
-  // straight call
-  C x;
-  x.A::ii = 5;
-  x.A::foo(x.A::ii);
-  
-  // 5.1 Primary expressions
-  // p 8 
-  // a nested name specifier that names a class,
-  // optionally followed by the keyword template and then followd by
-  // the name of a member of either that class or one of its base
-  // classes is a qualified-id.  (3.4.3.1 describes their lookup.) 
-
-  // 5.2.5 Class memember access 
-
-  // p 3 if E1 has the type 'pointer to class X' then 
-  // E1->E2 == (*(E1)).E32
-  // E1 == object-expression
-  // E2 == id-expression
-  // thus everything gets converted to the "." notation
-
-  // p 2
-  // the id-expression shall name a member of the class
-  // (object-expression) or of one of its base classes.
-
-  // p4 if E2 is a nested type (of the object-expression), tye
-  // expression E1.E2 is ill formed.
-
-  // try 1 nested call - ERROR
-#if 0
-  C x2;
-  x2.A::L::Linner::ii_inner = 6; //ERROR violates p2, does not name member of C
-  x2.A::L::Linner::foo_inner(x2.A::L::Linner::ii_inner);
-#endif
-
-  //try2: scoped method call  -edg +acc +g++
-#if 1
-  C::A::Linner x2;
-  x2.A::Linner::ii_inner = 6;
-  x2.A::Linner::foo_inner(x2.A::Linner::ii_inner);
-#endif
-
-  //try 3: non-scoped method call  -edg +acc +g++
-#if 0
-  C::A::L::Linner x3;
-  x3.ii_inner = 6;
-  x3.foo_inner(x3.ii_inner);
-#endif
-}
-
-
-
-