+++ /dev/null
-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);
-}