1 /* { dg-do run } */
2 /* { dg-additional-options "-fstrict-overflow" } */
3 
4 int a, b, d, e, f, *g, h, i;
5 volatile int c;
6 
foo(unsigned char p)7 char foo (unsigned char p)
8 {
9   return p + 1;
10 }
11 
bar()12 int bar ()
13 {
14   for (h = 0; h < 3; h = foo (h))
15     {
16       c;
17       for (f = 0; f < 1; f++)
18 	{
19 	  i = a && 0 < -__INT_MAX__ - h ? 0 : 1;
20 	  if (e)
21 	    for (; d;)
22 	      b = 0;
23 	  else
24 	    g = 0;
25 	}
26     }
27   return 0;
28 }
29 
main()30 int main ()
31 {
32   bar ();
33   return 0;
34 }
35