------- Comment #9 from rguenth at gcc dot gnu dot org  2007-03-10 22:08 -------
Actually the testcase from comment #7 should abort() and I got the numbers
wrong.  The following is more usual at that it aborts if the code is wrong:

extern void exit(int);
extern void abort();
void foo (int e1)
{
  if (e1 < 0)
    {
      e1 = -e1;
      if (e1 >>= 4)
        {
          if (e1 >= 1 << 5)
            exit(0);
        }
    }
}

int main()
{
  foo(-(1<<9));
  abort();
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31115

Reply via email to