1/* Copyright (C) 2002 Free Software Foundation. 2 3 Ensure that the composite comparison optimization doesn't misfire 4 and attempt to combine a signed comparison with an unsigned one. 5 6 Written by Roger Sayle, 3rd June 2002. */ 7 8extern void abort (void); 9 10int 11foo (int x, int y) 12{ 13 /* If miscompiled the following may become "x == y". */ 14 return (x<=y) && ((unsigned int)x >= (unsigned int)y); 15} 16 17int 18main () 19{ 20 if (! foo (-1,0)) 21 abort (); 22 return 0; 23} 24 25