summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr104676.c
blob: 0991b78f75813cb322747ad842d0bdf28ba092b0 (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
/* { dg-do compile } */
/* { dg-additional-options "-ftree-loop-distribution -ftree-parallelize-loops=2" { target pthread } } */

struct S {
  int f;
};

int n;

int
foo (struct S *s)
{
  int arr[3];
  int v = 0;

  for (n = 0; n < 2; ++n)
    {
      int i;

      for (i = 0; i < 2; ++i)
        {
          int j;

          for (j = 0; j < s->f; ++j)
            ++v;
        }

      if (v)
        arr[0] = 0;

      arr[n + 1] = 0;
    }

  return arr[0];
}