1 /* PR rtl-optimization/23454 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4 
5 void foo ();
6 int a, b;
7 char c;
8 long long d, e;
9 
10 static inline int
bar(const long long s,const long long t)11 bar (const long long s, const long long t)
12 {
13   return ((s < t) ? -1 : s > t ? 1 : 0);
14 }
15 
16 int fn ();
17 int f;
18 
19 void
baz(int x)20 baz (int x)
21 {
22   long long g = fn ();
23   if (f)
24     {
25       b++;
26       return;
27     }
28   if (g == 0)
29     a++;
30   if (x)
31     foo ();
32   if (!c)
33     c = 1;
34   else if (g != 0)
35     {
36       if (bar (g, d) < 0)
37 	d = g;
38       if (bar (g, e) > 0)
39 	e = g;
40     }
41 }
42