[Bug target/20717] [4.1 Regression] Many C++ testsuite failures on ia64-hpux
wilson at specifixinc dot com
gcc-bugzilla@gcc.gnu.org
Tue Apr 5 19:44:00 GMT 2005
------- Additional Comments From wilson at specifixinc dot com 2005-04-05 19:44 -------
Subject: Re: [4.1 Regression] Many C++ testsuite failures
on ia64-hpux
jh at suse dot cz wrote:
> This sounds like reason for the failure. What precisely is the
> behaviour of FDESC_ADDR? (ie should I behave same way as if I see
> ADDR_EXPR - assume that address of the function has been taken and thus
> it is neccesary?).
On IA-64, the address of a function is a two-word function descriptor,
one word is the function entry point, and one word is the function's gp
value. FDESC_EXPR is used to represent this. FDESC_EXPR must be used
in places where the difference matters, e.g. in initializers for
vtables. According to the docs in tree.def, operand0 of FDESC_EXPR is
always a function, so it should be possible to handle FDESC_EXPR exactly
the same as ADDR_EXPR if you don't care about the difference. That is
what the untested patch I added to the PR does. It seems to work for
the testcase. There is also the question of whether there are other
places that need the same fix. I haven't looked.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20717
More information about the Gcc-bugs
mailing list