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 foo(int var)15foo (int var) 16 { 17 if (!(var <= 0 18 || ((long unsigned) (unsigned) (var - 1) < UINT_MAX))) 19 link_failure (); 20 } 21 22 int main(int argc,char ** argv)23main (int argc, char **argv) 24 { 25 foo (v); 26 return 0; 27 } 28 29 #ifndef __OPTIMIZE__ 30 void link_failure(void)31link_failure (void) 32 { 33 abort (); 34 } 35 #endif 36