1 /*
2    20140212-1.c from the execute part of the gcc torture suite.
3  */
4 
5 #include <testfwk.h>
6 
7 #ifdef __SDCC
8 #pragma std_c99
9 #pragma disable_warning 180
10 #endif
11 
12 /* PR rtl-optimization/60116 */
13 /* Reported by Zhendong Su <su@cs.ucdavis.edu> */
14 
15 int a, b, c, d = 1, e, f = 1, h, i, k;
16 char g, j;
17 
18 void
fn1(void)19 fn1 (void)
20 {
21   int l;
22   e = 0;
23   c = 0;
24   for (;;)
25     {
26       k = a && b;
27       j = k * 54;
28       g = j * 147;
29       l = ~g + (long long) e && 1;
30       if (d)
31         c = l;
32       else
33         h = i = l * 9UL;
34       if (f)
35         return;
36     }
37 }
38 
39 void
testTortureExecute(void)40 testTortureExecute (void)
41 {
42   fn1 ();
43   ASSERT (c == 1);
44 }
45