This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]