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 
8 extern void abort (void);
9 
10 int
foo(int x,int y)11 foo (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 
17 int
main()18 main ()
19 {
20   if (! foo (-1,0))
21     abort ();
22   return 0;
23 }
24 
25