mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-05-31 22:41:28 +00:00
25 lines
468 B
C
25 lines
468 B
C
/* 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;
|
|
}
|
|
|