[Bug target/21613] -fpic only: internal compiler error: in extract_insn, at recog.c:2083 (20010107-1.c:6)
rearnsha at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Aug 11 23:12:00 GMT 2005
------- Additional Comments From rearnsha at gcc dot gnu dot org 2005-08-11 23:12 -------
Fixed in mainline by the introduction of tree-ssa. Creating a fix for 3.4 would
be very difficult and, given the rarity of this problem and the availibility of
a workaround (below), I see no point in trying to fix this.
The work-around is to declare a function variable and assign x+2 to that
variable. The fuction variable can then be called without problems. So
test-case can be re-expressed as:
unsigned long x[4];
void foo(void)
{
void (*f)() = (void(*)())(x + 2);
f();
}
which then compiles without error.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21613
More information about the Gcc-bugs
mailing list