[Bug go/60874] FAIL: go.test/test/recover.go execution

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Aug 6 13:03:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60874

--- Comment #9 from Uroš Bizjak <ubizjak at gmail dot com> ---
To illustrate unreliable approach, please compile following test:

--cut here--
extern void foo (void *);

int test(void)
{
  __label__ bla;

  foo (&&bla);
 bla:
  return 0;
}
--cut here--

gcc -O2:

test:
.L2:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        movl    $.L2, (%esp)
        call    foo
        xorl    %eax, %eax
        leave
        ret

The passed argument doesn't represent return address.


More information about the Gcc-bugs mailing list