(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
loop-3c.c
       1  #include <limits.h>
       2  
       3  void * a[255];
       4  
       5  f (m)
       6  {
       7    int i;
       8    int sh = 0x100;
       9    i = m;
      10    do
      11      {
      12        a[sh >>= 1] = ((unsigned)i << 3)  + (char*)a;
      13        i += 4;
      14      }
      15    while (i < INT_MAX/2 + 1 + 4 * 4);
      16  }
      17  
      18  main ()
      19  {
      20    a[0x10] = 0;
      21    a[0x08] = 0;
      22    f (INT_MAX/2 + INT_MAX/4 + 2);
      23    if (a[0x10] || a[0x08])
      24      abort ();
      25    a[0x10] = 0;
      26    a[0x08] = 0;
      27    f (INT_MAX/2 + 1);
      28    if (! a[0x10] || a[0x08])
      29      abort ();
      30    exit (0);
      31  }