diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C deleted file mode 100644 index 269849eba23..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C +++ /dev/null @@ -1,47 +0,0 @@ -// g++ 1.36.1 bug 900215_02 - -// g++ allows global objects (which happen to be pointers to members of some -// class X) to be dereferenced without prefix object specifications within -// member functions of class X. - -// In effect, g++ treats any dereference of a pointer-to-member which appears -// within the context of a member function (and which is not preceeded by -// either ->* or .*) as if it had been implicitly prefixed with this->*. - -// The 2.0 Reference Manual only provides that such implicit prefixing -// takes place for *members* of the containing class, and *not* for -// global objects that happen to have certain types (i.e. pointer-to-member -// of the containing class). - -// Also, cfront 2.0 provides implicit this-> prefixes *only* for *members* -// of the containing class. - -// Cfront 2.0 passes this test. - -// keywords: member pointers, this, dereference, members - -struct struct0 { - int data_member; - void function_member (); -}; - -int struct0::*dmp; -int (struct0::*fmp) (); -int i; - -struct struct1 { - int data_member; - - void function_member (); -}; - -void struct0::function_member () -{ - i = (this->*fmp) (); // perfectly legal - for both cfront and g++ - i = this->*dmp; // perfectly legal - for both cfront and g++ - - i = (*fmp) (); // ERROR - - i = *dmp; // ERROR - -} - -int main () { return 0; } |