1  /* { dg-do compile } */
       2  /* { dg-options "-Wall -O2" } */
       3  
       4  unsigned char buffer[8];
       5  unsigned long
       6  foo (void)
       7  {
       8    unsigned long i;
       9    i = buffer[0];
      10    if (i >= 8)
      11      return i - 7;
      12    i++;
      13    while (i > 8)
      14      {
      15        if (buffer[i-1] != 0)
      16          return 0;
      17        i--;
      18      }
      19    return 1;
      20  }