1 extern void abort (void);
2 
3 #define assert(x) if(!(x)) abort()
4 
5 struct S1
6 {
7   signed char f0;
8 };
9 
10 int g_23 = 0;
11 
12 static struct S1
foo(void)13 foo (void)
14 {
15   int *l_100 = &g_23;
16   int **l_110 = &l_100;
17   struct S1 l_128 = { 1 };
18   assert (l_100 == &g_23);
19   assert (l_100 == &g_23);
20   assert (l_100 == &g_23);
21   assert (l_100 == &g_23);
22   assert (l_100 == &g_23);
23   assert (l_100 == &g_23);
24   assert (l_100 == &g_23);
25   return l_128;
26 }
27 
bar(signed char si1,signed char si2)28 static signed char bar(signed char si1, signed char si2)
29 {
30   return (si1 <= 0) ? si1 : (si2 * 2);
31 }
main(void)32 int main (void)
33 {
34   struct S1 s = foo();
35   if (bar(0x99 ^ (s.f0 && 1), 1) != -104)
36     abort ();
37   return 0;
38 }
39 
40