http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55468
Bug #: 55468 Summary: Label value to incorrect destination Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: martin.gira...@gmail.com This is a case of a label pointing to the wrong line. It is clear from looking at the disassembly that the value of said label is bogus. Look around line 31452. The sigtrap label points to line 31458. Instead, the &&sigtrap label gives the address of line 31448, four lines above instead of six lines below. In the disassembly, one can see a movl instruction writing the address as a function argument onto the stack, and said address is unmistakably the WSTOPSIG macro four lines prior. As a result, the executable loops indefinitely upon reaching this area, whereas it should be skipping the next block instead.