inline-asm/9413: ICE in illegal asm constraint
ehrhardt@mathematik.uni-ulm.de
ehrhardt@mathematik.uni-ulm.de
Fri Jan 24 13:29:00 GMT 2003
Old Synopsis: Internal compiler error received
New Synopsis: ICE in illegal asm constraint
State-Changed-From-To: open->analyzed
State-Changed-By: cae
State-Changed-When: Fri Jan 24 13:29:45 2003
State-Changed-Why:
The code is actually illegal, please report this with the
author of the original code. However, gcc still shouldn't ice.
The testcase can be reduce to the following:
------- cut ------
void foo(void)
{
__asm__ __volatile__( "" : : "A" ((void)(3)));
}
------- cut ------
Obviously the code wasn't originally written like this but used typeof
and most likely macros as in the following example:
#define BLAH(X) __asm__ __volatile__( "" : : "A" ((__typeof__(*(X)))(3)))
void foo(void * argv)
{
BLAH(argv);
}
The ICE has been there ever since at least 2.95.2, i.e. not a regression.
With recent 3.4 the ICE is here:
9413-2.c: In function `foo':
9413-2.c:4: internal compiler error: in emit_move_insn_1, at expr.c:3484
Please submit a full bug report,
regards Christian
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9413
More information about the Gcc-prs
mailing list