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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
volatile int v;
void *foo (void *);

int
main ()
{
  [[gnu::assume (({ x: ++v; true; }))]];
  void *p = foo (&&x);
  goto *p;
}
compiles at -O2 but fails to assemble.  #c0 compiles at -O2 but not at -O0,
perhaps fix for the ICE could be just not to throw the assumption away even at
-O0 if it contains any user labels.

Reply via email to