------- 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