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

2010-05-11 Thread ubizjak at gmail dot com
--- Comment #2 from ubizjak at gmail dot com 2010-05-11 06:32 --- Confirmed with 4.6.0 mainline: Program received signal SIGSEGV, Segmentation fault. 0x0056d5b8 in cfg_layout_finalize () at ../../gcc-svn/trunk/gcc/cfglayout.c:477 477 if (loc == prologue_locator || loc

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

2010-05-11 Thread ubizjak at gmail dot com
--- Comment #3 from ubizjak at gmail dot com 2010-05-11 06:45 --- Oops, wrong cut-n-paste. This is correct: Program received signal SIGSEGV, Segmentation fault. 0x000120192df8 in fixup_reorder_chain () at ../../gcc-svn/trunk/gcc/cfglayout.c:889 889 if (bb-aux ==

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

2010-05-11 Thread rguenth at gcc dot gnu dot org
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|4.5.1 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44071

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

2010-05-11 Thread ubizjak at gmail dot com
--- Comment #4 from ubizjak at gmail dot com 2010-05-11 08:56 --- I don't know why locations are all mixed up here, but this is correct place of failure: 0x0056598a in fixup_reorder_chain () at ../../gcc-svn/trunk/gcc/cfglayout.c:866 866 || e_fall-dest

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

2010-05-11 Thread jakub at gcc dot gnu dot org
--- Comment #5 from jakub at gcc dot gnu dot org 2010-05-11 09:00 --- I'd say the testcase is invalid, of course GCC must not ICE on it though, but you can't expect it to do what you want. I don't think we guarantee anywhere that the jump is exactly to the user label provided, so you

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

2010-05-11 Thread jakub at gcc dot gnu dot org
--- Comment #6 from jakub at gcc dot gnu dot org 2010-05-11 10:01 --- Created an attachment (id=20625) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20625action=view) partial fix of the ICE The ICE is when going out of cfglayout mode. When going into the cfglayout mode

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

2010-05-11 Thread hpa at zytor dot com
--- 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); ...

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

2010-05-10 Thread hpa at zytor dot com
--- Comment #1 from hpa at zytor dot com 2010-05-11 05:39 --- Created an attachment (id=20624) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20624action=view) Test case Compiled with: gcc -O2 -fomit-frame-pointer -S -o jumptest.s jumptest.c --