mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-05-31 22:41:28 +00:00
33 lines
588 B
C
33 lines
588 B
C
f1 (unsigned int x, unsigned int y)
|
|
{
|
|
if (x == 0)
|
|
dummy ();
|
|
x -= y;
|
|
/* 0xfffffff2 < 0x80000000? */
|
|
if (x < ~(~(unsigned int) 0 >> 1))
|
|
abort ();
|
|
return x;
|
|
}
|
|
|
|
f2 (unsigned long int x, unsigned long int y)
|
|
{
|
|
if (x == 0)
|
|
dummy ();
|
|
x -= y;
|
|
/* 0xfffffff2 < 0x80000000? */
|
|
if (x < ~(~(unsigned long int) 0 >> 1))
|
|
abort ();
|
|
return x;
|
|
}
|
|
|
|
|
|
dummy () {}
|
|
|
|
main ()
|
|
{
|
|
/* 0x7ffffff3 0x80000001 */
|
|
f1 ((~(unsigned int) 0 >> 1) - 12, ~(~(unsigned int) 0 >> 1) + 1);
|
|
f2 ((~(unsigned long int) 0 >> 1) - 12, ~(~(unsigned long int) 0 >> 1) + 1);
|
|
exit (0);
|
|
}
|