1 /* { dg-options "-fno-builtin-abort" } */
2 
3 int a, b, m, n, o, p, s, u, i;
4 char c, q, y;
5 short d;
6 unsigned char e;
7 static int f, h;
8 static short g, r, v;
9 unsigned t;
10 
11 extern void abort ();
12 
13 int
fn1(int p1)14 fn1 (int p1)
15 {
16   return a ? p1 : p1 + a;
17 }
18 
19 unsigned char
fn2(unsigned char p1,int p2)20 fn2 (unsigned char p1, int p2)
21 {
22   return p2 >= 2 ? p1 : p1 >> p2;
23 }
24 
25 static short
fn3()26 fn3 ()
27 {
28   int w, x = 0;
29   for (; p < 31; p++)
30     {
31       s = fn1 (c | ((1 && c) == c));
32       t = fn2 (s, x);
33       c = (unsigned) c > -(unsigned) ((o = (m = d = t) == p) <= 4UL) && n;
34       v = -c;
35       y = 1;
36       for (; y; y++)
37 	e = v == 1;
38       d = 0;
39       for (; h != 2;)
40 	{
41 	  for (;;)
42 	    {
43 	      if (!m)
44 		abort ();
45 	      r = 7 - f;
46 	      x = e = i | r;
47 	      q = u * g;
48 	      w = b == q;
49 	      if (w)
50 		break;
51 	    }
52 	  break;
53 	}
54     }
55   return x;
56 }
57 
58 int
main()59 main ()
60 {
61   fn3 ();
62   return 0;
63 }
64