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

Reply via email to