------- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-27 11:07 -------
Smaller testcase:

unsigned foo (int _si1, unsigned _si2)
{
  return _si1 > 0 && _si1 > 2147483647 - _si2;
}

unsigned bar (unsigned _left, int _right)
{
  return (unsigned) _right >= 8 ? 1 : _left >> _right;
}

unsigned g_2;
unsigned g_67;
unsigned g_111;
volatile unsigned g_162;

int func_62 (unsigned p_63)
{
  p_63 = g_2 & g_67;
  if (g_2)
    ;
  else if (p_63)
    return 1;
  g_67 = bar (p_63, g_2);
  return 0;
}

void func_1 (void)
{
  if (g_2)
    for (; g_2 <= -16; g_2 = foo (g_2, 1))
      {
        for (; g_162; g_162)
          func_62 (func_62 (0));
        if (g_111)
          return;
      }
}

void crc32 (int);

void baz (void)
{
  func_1 ();
  crc32 (g_2);
}


-- 


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

Reply via email to