1 /* PR rtl-optimization/44031 */
2 /* Testcase by John Regehr <regehr@cs.utah.edu> */
3 
4 typedef unsigned char uint8_t;
5 typedef unsigned int uint32_t;
6 typedef unsigned long int uint64_t;
7 
8 static uint32_t
safe_add_func_uint32_t_u_u(uint32_t ui1,uint32_t ui2)9 safe_add_func_uint32_t_u_u (uint32_t ui1, uint32_t ui2)
10 {
11   return ui1 + ui2;
12 }
13 
14 static uint64_t
safe_div_func_uint64_t_u_u(uint64_t ui1,uint32_t ui2)15 safe_div_func_uint64_t_u_u (uint64_t ui1, uint32_t ui2)
16 {
17   return ui2 ? : (ui1 / ui2);
18 }
19 
20 uint8_t g_55;
21 uint8_t *g_73 = &g_55;
22 uint8_t **g_332 = &g_73;
23 
24 int func_38(uint8_t *,int);
25 int func_8(int);
26 
int321(void)27 int int321 (void)
28 {
29   uint8_t l_26[4];
30   uint8_t *l_238 = &l_26[2];
31   uint8_t l_400;
32   l_400 &=
33     func_38 (&l_26[3],
34          safe_add_func_uint32_t_u_u (safe_div_func_uint64_t_u_u
35                      (1, **g_332),
36                      *l_238) >= *l_238 < func_8 (0)), 1;
37   return 0;
38 }
39