modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/950512-1.c (about)

     1  unsigned
     2  f1 (x)
     3  {
     4    return ((unsigned) (x != 0) - 3) / 2;
     5  }
     6  
     7  unsigned long long
     8  f2 (x)
     9  {
    10    return ((unsigned long long) (x != 0) - 3) / 2;
    11  }
    12  
    13  main ()
    14  {
    15    if (f1 (1) != (~(unsigned) 0) >> 1)
    16      abort ();
    17    if (f1 (0) != ((~(unsigned) 0) >> 1) - 1)
    18      abort ();
    19    if (f2 (1) != (~(unsigned long long) 0) >> 1)
    20      abort ();
    21    if (f2 (0) != ((~(unsigned long long) 0) >> 1) - 1)
    22      abort ();
    23    exit (0);
    24  }