[Bug c/44071] ICE with asm goto and __builtin_unreachable()

hpa at zytor dot com gcc-bugzilla@gcc.gnu.org
Tue May 11 16:15:00 GMT 2010



------- Comment #9 from hpa at zytor dot com  2010-05-11 16:15 -------
Thanks everyone for jumping (groan) on this.

>From the looks of it, changing the asm goto statement itself to:

  asm goto ("# Either %l[f_yes] or %l[f_no]\n\t"
            "jmp %l[f_yes]"
            : : : : f_yes, f_no);

... *and* adding:

  asm volatile("");             /* gcc bug 44071 workaround */

... immediately before __builtin_unreachable(); does make it output correct
code, at least with gcc 4.5.0.


-- 

hpa at zytor dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|middle-end                  |c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44071



More information about the Gcc-bugs mailing list