c++: prvalue of array type [PR111286]
[official-gcc.git] / gcc / testsuite / c-c++-common / gomp / pr98187.c
blobfc252fd7e91ee0a0f12ac85554584a9fa4855535
1 /* PR c++/98187 */
2 /* { dg-do compile } */
3 /* { dg-options "-fopenmp-simd -O2 -fdump-tree-gimple" } */
4 /* { dg-final { scan-tree-dump-times "#pragma omp simd" 17 "gimple" } } */
6 void
7 foo (int *p)
9 int i;
10 #pragma omp distribute parallel for
11 for (i = 0; i < 64; i++)
12 p[i]++;
13 #pragma omp distribute parallel for simd
14 for (i = 0; i < 64; i++)
15 p[i]++;
16 #pragma omp distribute simd
17 for (i = 0; i < 64; i++)
18 p[i]++;
21 void
22 bar (int *p)
24 int i;
25 #pragma omp for simd
26 for (i = 0; i < 64; i++)
27 p[i]++;
28 #pragma omp master taskloop
29 for (i = 0; i < 64; i++)
30 p[i]++;
31 #pragma omp master taskloop simd
32 for (i = 0; i < 64; i++)
33 p[i]++;
34 #pragma omp parallel for
35 for (i = 0; i < 64; i++)
36 p[i]++;
37 #pragma omp parallel for simd
38 for (i = 0; i < 64; i++)
39 p[i]++;
40 #pragma omp parallel loop
41 for (i = 0; i < 64; i++)
42 p[i]++;
43 #pragma omp parallel master
44 p[0]++;
45 #pragma omp parallel master taskloop
46 for (i = 0; i < 64; i++)
47 p[i]++;
48 #pragma omp parallel master taskloop simd
49 for (i = 0; i < 64; i++)
50 p[i]++;
51 #pragma omp parallel sections
53 p[0]++;
54 #pragma omp section
55 p[1]++;
56 #pragma omp section
57 p[2]++;
59 #pragma omp target parallel
60 #pragma omp master
61 p[0]++;
62 #pragma omp target parallel for
63 for (i = 0; i < 64; i++)
64 p[i]++;
65 #pragma omp target parallel for simd
66 for (i = 0; i < 64; i++)
67 p[i]++;
68 #pragma omp target parallel loop
69 for (i = 0; i < 64; i++)
70 p[i]++;
71 #pragma omp target teams private (i)
72 i = 0;
73 #pragma omp target teams distribute
74 for (i = 0; i < 64; i++)
75 p[i]++;
76 #pragma omp target teams distribute parallel for
77 for (i = 0; i < 64; i++)
78 p[i]++;
79 #pragma omp target teams distribute parallel for simd
80 for (i = 0; i < 64; i++)
81 p[i]++;
82 #pragma omp target teams distribute simd
83 for (i = 0; i < 64; i++)
84 p[i]++;
85 #pragma omp target teams loop
86 for (i = 0; i < 64; i++)
87 p[i]++;
88 #pragma omp target simd
89 for (i = 0; i < 64; i++)
90 p[i]++;
91 #pragma omp taskloop simd
92 for (i = 0; i < 64; i++)
93 p[i]++;
94 #pragma omp teams distribute
95 for (i = 0; i < 64; i++)
96 p[i]++;
97 #pragma omp teams distribute parallel for
98 for (i = 0; i < 64; i++)
99 p[i]++;
100 #pragma omp teams distribute parallel for simd
101 for (i = 0; i < 64; i++)
102 p[i]++;
103 #pragma omp teams distribute simd
104 for (i = 0; i < 64; i++)
105 p[i]++;
106 #pragma omp teams loop
107 for (i = 0; i < 64; i++)
108 p[i]++;