This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/9377: g++ 64bit calls wrong function -> Multi-inheritance: pointerto member function of the 2nd base calss points to wrong place
- From: axiong at ca dot ibm dot com
- To: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- Cc: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
- Date: Tue, 21 Jan 2003 17:20:29 -0500
- Subject: Re: c++/9377: g++ 64bit calls wrong function -> Multi-inheritance: pointerto member function of the 2nd base calss points to wrong place
Hi, Wolfgang,
Thanks. For the code:
> d1ptr = (D*) new B2 ; //with the cast, we can also do this
> printf( "%s\n", (d1ptr->*select(1))() ) ;
The expected output from the "printf" is suppose to be:
---------------------------------------
B2::bar() is called
More information: both 32-bit g++ and 64-bit g++ (Linuc PPC) give correct
output for it, and also
xlC on AIX gives correct output for it (B2::bar() is called).
Regards,
Andrew