921e5a0eb4
From-SVN: r14840
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);
|
|
}
|