c++/9377: g++ 64bit calls wrong function -> Multi-inheritance: pointer to member function of the 2nd base calss points to wrong place

Janis Johnson janis187@us.ibm.com
Tue Jan 21 20:06:00 GMT 2003


The following reply was made to PR c++/9377; it has been noted by GNATS.

From: Janis Johnson <janis187@us.ibm.com>
To: axiong@ca.ibm.com
Cc: gcc-gnats@gcc.gnu.org, bangerth@ticam.utexas.edu
Subject: Re: c++/9377: g++ 64bit calls wrong function -> Multi-inheritance: pointer to member function of the 2nd base calss points to wrong place
Date: Tue, 21 Jan 2003 11:59:40 -0800

 On Mon, Jan 20, 2003 at 07:35:07PM -0000, axiong@ca.ibm.com wrote:
 > 
 > => For the given C++ code, if we compile it with 646-bit
 >    g++ compiler (/opt/cross/bin/powerpc64-linux-g++) and 
 >    then run it, we have output:
 >    --------------------
 >    B1::foo() is called
 > 
 >    The correct output sould be:
 >    --------------------
 >    D::bar() is called
 
 I can confirm that the 3.2 cross compiler gives this output.  Please try
 building a 3.2.1 compiler and trying that; I get the results you expect
 with 64-bit native compilers (powerpc64-linux) with 3.2.1, the 3.2-branch,
 3.3-branch, and mainline.
 
 For some reason I can't run any of my cross compilers right now, and I've
 got a flu-like thing that makes thinking difficult.
 
 Janis



More information about the Gcc-prs mailing list