1 /* { dg-do compile } */
2 /* { dg-require-effective-target int32plus } */
3 
4 static unsigned char
safe_sub_func_int_s_s(int si1,unsigned char si2)5 safe_sub_func_int_s_s (int si1, unsigned char si2)
6 {
7   return si1 ^ si2 & -si2 ^ si2 ? : si1 - si2;
8 }
9 
10 int g_2[10] = {
11     0x90AC204EL
12 };
13 
14 volatile unsigned char g_39;
15 
16 unsigned char
func_67(unsigned short p_68)17 func_67 (unsigned short p_68)
18 {
19   unsigned char l_92;
20   unsigned char l_74;
21   int *l = &g_2[6];
22 lbl_90:*l ^= 1;
23        if (p_68)
24 	 goto lbl_93;
25        for (l_74 = 0;; l_74 = safe_sub_func_int_s_s (l_74, 1))
26 	 {
27 	   if (l_74)
28 	     goto lbl_90;
29 lbl_93:l_92 ^= 0 != &g_39;
30        if (0)
31 	 {
32 	 }
33        else
34 	 *l = 1;
35 	 }
36 }
37