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

     1  /* Verify that
     2     
     3     var <= 0 || ((long unsigned) (unsigned) (var - 1) < MAX_UNSIGNED_INT)
     4  
     5     gets folded to 1.  */
     6  
     7  #include <limits.h>
     8  
     9  void abort (void);
    10  void link_failure (void);
    11  
    12  volatile int v;
    13  
    14  void 
    15  foo (int var)
    16  {
    17    if (!(var <= 0
    18          || ((long unsigned) (unsigned) (var - 1) < UINT_MAX)))
    19      link_failure ();
    20  }
    21  
    22  int
    23  main (int argc, char **argv)
    24  {
    25    foo (v);
    26    return 0;
    27  }
    28  
    29  #ifndef __OPTIMIZE__
    30  void
    31  link_failure (void)
    32  {
    33    abort ();
    34  }
    35  #endif