aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/goacc/implied-copy.c
blob: 98adbcb1987c5031aaef7c98f6bd66284be33c34 (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
/* { dg-additional-options "-fdump-tree-gimple" } */

/* Test for float _Complex and double _Complex types.  */
int
main(void)
{
  int i;
  float _Complex fc[100];
  float _Complex s1;
  double _Complex dc[100];
  double _Complex s2;

#pragma acc parallel reduction (+:s1, s2)
  for (i = 0; i < 10; i++)
    {
      s1 += fc[i];
      s2 += dc[i];
    }
#pragma acc serial reduction (+:s1, s2)
  for (i = 0; i < 10; i++)
    {
      s1 += fc[i];
      s2 += dc[i];
    }
  return 0;
}

/* { dg-final { scan-tree-dump-times "map\\(tofrom:s1 \\\[len: \[0-9\]+\\\]\\)" 2 "gimple" } } */
/* { dg-final { scan-tree-dump-times "map\\(tofrom:s2 \\\[len: \[0-9\]+\\\]\\)" 2 "gimple" } } */