| /* { dg-do run } */ |
| /* { dg-options "-std=c99" } */ |
| |
| #include <stdint.h> |
| #include <limits.h> |
| |
| extern void abort (void); |
| |
| static uint64_t safe_div_func_uint64_t_u_u (uint64_t _ui1, uint64_t _ui2) |
| { |
| if (_ui2==0) return _ui1; |
| return _ui1 / _ui2; |
| } |
| |
| static int64_t safe_div_func_int64_t_s_s (int64_t _si1, int64_t _si2) |
| { |
| if (_si2==0 || (_si1==INT64_MIN && _si2==-1)) return _si1; |
| return _si1 / _si2; |
| } |
| |
| #define safe_add_macro_int8_t_s_s(si1,si2) \ |
| ((((((int8_t)(si1))>((int8_t)0)) && (((int8_t)(si2))>((int8_t)0)) && (((int8_t)(si1)) > ((INT8_MAX)-((int8_t)(si2))))) \ |
| || ((((int8_t)(si1))<((int8_t)0)) && (((int8_t)(si2))<((int8_t)0)) && (((int8_t)(si1)) < ((INT8_MIN)-((int8_t)(si2)))))) \ |
| ? ((int8_t)(si1)) \ |
| : (((int8_t)(si1)) + ((int8_t)(si2))) \ |
| ) |
| |
| static int8_t |
| safe_add_func_int8_t_s_s(int8_t _si1, int8_t _si2) |
| { |
| return safe_add_macro_int8_t_s_s(_si1,_si2); |
| } |
| |
| #define safe_rshift_macro_uint64_t_u_s(left,right) \ |
| (((((int)(right)) < ((uint64_t)0)) \ |
| || (((int)(right)) >= sizeof(uint64_t)*CHAR_BIT)) \ |
| ? ((uint64_t)(left)) \ |
| : (((uint64_t)(left)) >> ((int)(right)))) |
| |
| static uint64_t |
| safe_rshift_func_uint64_t_u_s(uint64_t _left, int _right) |
| { |
| return safe_rshift_macro_uint64_t_u_s(_left,_right); |
| } |
| |
| #define safe_mul_macro_int32_t_s_s(si1,si2) \ |
| ((((((int32_t)(si1)) > ((int32_t)0)) && (((int32_t)(si2)) > ((int32_t)0)) && (((int32_t)(si1)) > ((INT32_MAX) / ((int32_t)(si2))))) || \ |
| ((((int32_t)(si1)) > ((int32_t)0)) && (((int32_t)(si2)) <= ((int32_t)0)) && (((int32_t)(si2)) < ((INT32_MIN) / ((int32_t)(si1))))) || \ |
| ((((int32_t)(si1)) <= ((int32_t)0)) && (((int32_t)(si2)) > ((int32_t)0)) && (((int32_t)(si1)) < ((INT32_MIN) / ((int32_t)(si2))))) || \ |
| ((((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)))))) \ |
| ? ((int32_t)(si1)) \ |
| : ((int32_t)(si1)) * ((int32_t)(si2))) |
| |
| static int32_t |
| safe_mul_func_int32_t_s_s (int32_t _si1, int32_t _si2) |
| { |
| return safe_mul_macro_int32_t_s_s(_si1,_si2); |
| } |
| |
| static int8_t g_39; |
| static volatile uint8_t g_46; |
| static uint8_t g_47; |
| static uint8_t *g_62; |
| static uint8_t g_79; |
| static int8_t g_101 = -1L; |
| static uint8_t *g_114; |
| static uint8_t *g_126; |
| static uint8_t g_133; |
| |
| static uint16_t func_35 (int32_t * p_36, uint64_t p_37, uint32_t p_38); |
| static uint16_t func_35 (int32_t * p_36, uint64_t p_37, uint32_t p_38) |
| { |
| if (g_62 != 0) |
| abort (); |
| for (g_39 = 1; g_39 < 0; g_39 = 1) |
| { |
| } |
| return 1; |
| } |
| |
| static int32_t func_19 (int32_t p_20); |
| static int32_t func_19 (int32_t p_20) |
| { |
| if (1 != |
| safe_div_func_uint64_t_u_u ((safe_div_func_int64_t_s_s (p_20, 1)), |
| g_101)) |
| { |
| func_35 (0, 1 <= (safe_add_func_int8_t_s_s (g_47, g_46)) > p_20 < 1, 1); |
| g_133 = 1; |
| if (g_114 != 0) |
| abort (); |
| if (g_126 != 0) |
| abort (); |
| } |
| return 1; |
| } |
| |
| static uint8_t func_2 (int32_t p_6); |
| static uint8_t func_2 (int32_t p_6) |
| { |
| for (1; p_6 > 1; 1) |
| return 0; |
| func_19 (g_79); |
| if (safe_mul_func_int32_t_s_s |
| ((0, 1 < (safe_rshift_func_uint64_t_u_s (1 ^ p_6, 1))), |
| (func_35 (&p_6, 1, 1) < 1))) |
| { |
| } |
| return 1; |
| } |
| |
| int main (void) |
| { |
| func_2 (1); |
| if (g_133 != 1) |
| abort (); |
| return 0; |
| } |
| |