inline-asm/9413: ICE in illegal asm constraint

ehrhardt@mathematik.uni-ulm.de ehrhardt@mathematik.uni-ulm.de
Fri Jan 24 14:45: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-bugs mailing list