1 /*
2    pr81556.c from the execute part of the gcc torture tests.
3  */
4 
5 #include <testfwk.h>
6 
7 #ifdef __SDCC
8 #pragma std_c99
9 #endif
10 
11 #if !defined(__SDCC_pdk14) // Lack of memory
12 /* PR tree-optimization/81556 */
13 unsigned long long int b = 0xb82ff73c5c020599ULL;
14 unsigned long long int c = 0xd4e8188733a29d8eULL;
15 unsigned long long int d = 2, f = 1, g = 0, h = 0;
16 unsigned long long int e = 0xf27771784749f32bULL;
17 
18 void
foo(void)19 foo (void)
20 {
21   _Bool a = d > 1;
22   g = f % ((d > 1) << 9);
23   h = a & (e & (a & b & c));
24 }
25 #endif
26 
27 void
testTortureExecute(void)28 testTortureExecute (void)
29 {
30 #if !defined(__SDCC_pdk14) // Lack of memory
31   foo ();
32   if (g != 1 || h != 0)
33     ASSERT (0);
34   return;
35 #endif
36 }
37