[PATCH] PR17913:[4.0 Regression] ICE jumping into statement expression

Paolo Bonzini bonzini@gnu.org
Thu Oct 28 14:24:00 GMT 2004


> > Ouch.  Think about an extremely simplistic stack-based code generator, and
> > feed it
> 
> With tree-ssa we should no longer have such problems arising from jumping 
> into pushing function arguments (etc.).

I was worrying was about spills being overwritten, but gimplification 
means that the expression will be correctly split across the two basic 
blocks.  So the actual behavior of the code is even more well defined 
now; still, funny code like this

   int
   main ()
   {
     volatile int a = 2;
     a = 2 + ({label: a; });
     printf ("%d\n", a);
     sleep (1);
     goto label;
   }

looks invalid to me.

Regards,

Paolo



More information about the Gcc-patches mailing list