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