------- Comment #19 from fxcoudert at gcc dot gnu dot org 2009-06-03 21:47 ------- Still fails on both ppc-darwin and i386-darwin, for 4.3.2, 4.4.0 and current trunk:
$ cat a.c extern int puts (const char *); extern void abort (void); int main () { __label__ l1; void foo () { void bar () { puts ("goto l1"); goto l1; } bar (); } foo (); abort (); l1: puts ("label l1"); return 0; } $ gcc -O3 a.c && ./a.out goto l1 label l1 $ gcc -O0 a.c && ./a.out goto l1 (It also fails with Apple's gcc.) -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC target triplet|powerpc-darwin |darwin Known to fail| |4.2.0 4.3.2 4.4.0 4.5.0 Last reconfirmed|2005-12-10 05:32:24 |2009-06-03 21:47:19 date| | Summary|non-local goto's don't work |non-local goto's don't work |on powerpc-darwin |on darwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10901