text: /* Copyright (C) 2002 Free Software Foundation.
  
     Ensure that the composite comparison optimization doesn't misfire
     and attempt to combine a signed comparison with an unsigned one.
  
     Written by Roger Sayle, 3rd June 2002.  */
  
  extern void abort (void);
  
  int
  foo (int x, int y)
  {
    /* If miscompiled the following may become "x == y".  */
    return (x<=y) && ((unsigned int)x >= (unsigned int)y);
  }
  
  int
  main ()
  {
    if (! foo (-1,0))
      abort ();
    return 0;
  }
  
  