1 /* PR middle-end/38364 */
3 /* { dg-options "-O2 -ftrapv" } */
4 /* { dg-require-effective-target trapping } */
6 extern void abort (void);
15 if (x
> __SHRT_MAX__
/ y
)
18 else if (y
< (-__SHRT_MAX__
- 1) / x
)
25 if (x
< (-__SHRT_MAX__
- 1) / y
)
28 else if (x
!= 0 && y
< __SHRT_MAX__
/ x
)
34 static inline signed char
35 f2 (signed char x
, signed char y
)
37 if (((x
^ y
) & (((x
^ ((x
^ y
) & (1 << (__CHAR_BIT__
- 1)))) - y
) ^ y
)) < 0)
45 f3 (int x
, unsigned int y
)
69 f4 (x
< (1 != f5 (0)));