2 /* { dg-options "-std=c99" } */
7 extern void abort (void);
9 static uint64_t safe_div_func_uint64_t_u_u (uint64_t _ui1
, uint64_t _ui2
)
11 if (_ui2
==0) return _ui1
;
15 static int64_t safe_div_func_int64_t_s_s (int64_t _si1
, int64_t _si2
)
17 if (_si2
==0 || (_si1
==INT64_MIN
&& _si2
==-1)) return _si1
;
21 #define safe_add_macro_int8_t_s_s(si1,si2) \
22 ((((((int8_t)(si1))>((int8_t)0)) && (((int8_t)(si2))>((int8_t)0)) && (((int8_t)(si1)) > ((INT8_MAX)-((int8_t)(si2))))) \
23 || ((((int8_t)(si1))<((int8_t)0)) && (((int8_t)(si2))<((int8_t)0)) && (((int8_t)(si1)) < ((INT8_MIN)-((int8_t)(si2)))))) \
25 : (((int8_t)(si1)) + ((int8_t)(si2))) \
29 safe_add_func_int8_t_s_s(int8_t _si1
, int8_t _si2
)
31 return safe_add_macro_int8_t_s_s(_si1
,_si2
);
34 #define safe_rshift_macro_uint64_t_u_s(left,right) \
35 (((((int)(right)) < ((uint64_t)0)) \
36 || (((int)(right)) >= sizeof(uint64_t)*CHAR_BIT)) \
37 ? ((uint64_t)(left)) \
38 : (((uint64_t)(left)) >> ((int)(right))))
41 safe_rshift_func_uint64_t_u_s(uint64_t _left
, int _right
)
43 return safe_rshift_macro_uint64_t_u_s(_left
,_right
);
46 #define safe_mul_macro_int32_t_s_s(si1,si2) \
47 ((((((int32_t)(si1)) > ((int32_t)0)) && (((int32_t)(si2)) > ((int32_t)0)) && (((int32_t)(si1)) > ((INT32_MAX) / ((int32_t)(si2))))) || \
48 ((((int32_t)(si1)) > ((int32_t)0)) && (((int32_t)(si2)) <= ((int32_t)0)) && (((int32_t)(si2)) < ((INT32_MIN) / ((int32_t)(si1))))) || \
49 ((((int32_t)(si1)) <= ((int32_t)0)) && (((int32_t)(si2)) > ((int32_t)0)) && (((int32_t)(si1)) < ((INT32_MIN) / ((int32_t)(si2))))) || \
50 ((((int32_t)(si1)) <= ((int32_t)0)) && (((int32_t)(si2)) <= ((int32_t)0)) && (((int32_t)(si1)) != ((int32_t)0)) && (((int32_t)(si2)) < ((INT32_MAX) / ((int32_t)(si1)))))) \
52 : ((int32_t)(si1)) * ((int32_t)(si2)))
55 safe_mul_func_int32_t_s_s (int32_t _si1
, int32_t _si2
)
57 return safe_mul_macro_int32_t_s_s(_si1
,_si2
);
61 static volatile uint8_t g_46
;
65 static int8_t g_101
= -1L;
66 static uint8_t *g_114
;
67 static uint8_t *g_126
;
70 static uint16_t func_35 (int32_t * p_36
, uint64_t p_37
, uint32_t p_38
);
71 static uint16_t func_35 (int32_t * p_36
, uint64_t p_37
, uint32_t p_38
)
75 for (g_39
= 1; g_39
< 0; g_39
= 1)
81 static int32_t func_19 (int32_t p_20
);
82 static int32_t func_19 (int32_t p_20
)
85 safe_div_func_uint64_t_u_u ((safe_div_func_int64_t_s_s (p_20
, 1)),
88 func_35 (0, 1 <= (safe_add_func_int8_t_s_s (g_47
, g_46
)) > p_20
< 1, 1);
98 static uint8_t func_2 (int32_t p_6
);
99 static uint8_t func_2 (int32_t p_6
)
104 if (safe_mul_func_int32_t_s_s
105 ((0, 1 < (safe_rshift_func_uint64_t_u_s (1 ^ p_6
, 1))),
106 (func_35 (&p_6
, 1, 1) < 1)))