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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-03-14
     Ever confirmed|0                           |1
      Known to fail|                            |4.0.4, 4.1.2, 4.2.4, 4.3.6

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  -O2 is fine again.

void abort (void);

int a = 1;
unsigned int b = 2;
int c = 0;
int d = 0;

void foo () 
{
  int e = ((-(c >= c)) < b) > ((int)(((unsigned long long int)(-1)) >> ((a / a)
* 15)));
  d = -e;
}

int main ()
{
  foo ();
  if (d != -1)
    abort ();
  return 0;
}

Reply via email to