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