summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr44977.c
blob: 66fd7d1bfaee6e2f0f996008174444e360006f96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* { dg-do compile } */
/* { dg-options "-w" } */

static unsigned short
foo (unsigned short ui1, unsigned short ui2)
{
  return ui1 - ui2;
}

static unsigned short
bar (unsigned ui1, unsigned short ui2)
{
  return ui1 + ui2;
}

struct S1
{
  const short f3;
};
int g_31;
short g_67;
struct S1 g_68[2][5][9][1][1] = {
};

int func_90 (int);

int int329 (int * const *const int32p_81, short ** p_82)
{
  short l_169[8];
  for (g_31 = 0; g_31 <= 0; g_31 = foo (g_31, 1))
    {
      short l_85;
lbl_89:g_67 ^= l_85;
       for (l_85 = 0; l_85 >= 0; l_85 = bar)
	 if (g_31)
	   goto lbl_89;
       func_90 (1), g_68[0][2][2][0][0].f3, 0;
    }
  return l_169[6];
}