]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[PR87833] x86: Put -fPIC and -shared the last to create offload image
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
5d183d17
FH
12019-11-06 Thomas Schwinge <thomas@codesourcery.com>
2
3 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4 Add expected warnings about missing reduction clauses.
5 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6 Likewise.
7 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8 Likewise.
9 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
10 Likewise.
11
d8f03b03
TB
122019-11-04 Tobias Burnus <tobias@codesourcery.com>
13
14 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
15 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
16 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
17 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
18 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
19 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
20
12fd2ec5
TB
212019-11-04 Tobias Burnus <tobias@codesourcery.com>
22
23 PR fortran/92305
24 * testsuite/libgomp.fortran/allocatable2.f90: Use
25 unique numbers with 'stop'.
26 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
27 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
28 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
29 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
30 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
31
92e63bd2
TB
322019-11-01 Tobias Burnus <tobias@codesourcery.com>
33
34 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
35 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
36 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
37 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
38 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
39 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
40
91ae0a46
TB
412019-10-30 Tobias Burnus <tobias@codesourcery.com>
42
43 * testsuite/libgomp.fortran/target9.f90: New.
44
c425e66b
TB
452019-10-30 Tobias Burnus <tobias@codesourcery.com>
46
47 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
48 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
49 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
50 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
51 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
52 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
53 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
54 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
55 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
56 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
57 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
58 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
59 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
60 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
61 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
62 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
63 * testsuite/libgomp.fortran/associate1.f90: Ditto.
64 * testsuite/libgomp.fortran/associate2.f90: Ditto.
65 * testsuite/libgomp.fortran/associate3.f90: Ditto.
66 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
67 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
68 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
69 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
70 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
71 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
72 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
73 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
74 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
75 * testsuite/libgomp.fortran/character1.f90: Ditto.
76 * testsuite/libgomp.fortran/character2.f90: Ditto.
77 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
78 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
79 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
80 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
81 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
82 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
83 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
84 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
85 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
86 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
87 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
88 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
89 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
90 * testsuite/libgomp.fortran/do1.f90: Ditto.
91 * testsuite/libgomp.fortran/do2.f90: Ditto.
92 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
93 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
94 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
95 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
96 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
97 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
98 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
99 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
100 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
101 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
102 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
103 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
104 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
105 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
106 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
107 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
108 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
109 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
110 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
111 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
112 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
113 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
114 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
115 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
116 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
117 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
118 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
119 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
120 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
121 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
122 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
123 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
124 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
125 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
126 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
127 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
128 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
129 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
130 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
131 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
132 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
133 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
134 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
135 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
136 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
137 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
138 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
139 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
140 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
141 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
142 * testsuite/libgomp.fortran/lib1.f90: Ditto.
143 * testsuite/libgomp.fortran/lib4.f90: Ditto.
144 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
145 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
146 * testsuite/libgomp.fortran/nested1.f90: Ditto.
147 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
148 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
149 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
150 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
151 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
152 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
153 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
154 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
155 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
156 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
157 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
158 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
159 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
160 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
161 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
162 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
163 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
164 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
165 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
166 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
167 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
168 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
169 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
170 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
171 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
172 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
173 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
174 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
175 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
176 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
177 * testsuite/libgomp.fortran/pr28390.f: Ditto.
178 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
179 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
180 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
181 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
182 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
183 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
184 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
185 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
186 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
187 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
188 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
189 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
190 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
191 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
192 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
193 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
194 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
195 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
196 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
197 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
198 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
199 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
200 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
201 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
202 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
203 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
204 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
205 * testsuite/libgomp.fortran/reference1.f90: Ditto.
206 * testsuite/libgomp.fortran/reference2.f90: Ditto.
207 * testsuite/libgomp.fortran/retval1.f90: Ditto.
208 * testsuite/libgomp.fortran/retval2.f90: Ditto.
209 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
210 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
211 * testsuite/libgomp.fortran/simd1.f90: Ditto.
212 * testsuite/libgomp.fortran/simd2.f90: Ditto.
213 * testsuite/libgomp.fortran/simd3.f90: Ditto.
214 * testsuite/libgomp.fortran/simd4.f90: Ditto.
215 * testsuite/libgomp.fortran/simd5.f90: Ditto.
216 * testsuite/libgomp.fortran/simd6.f90: Ditto.
217 * testsuite/libgomp.fortran/simd7.f90: Ditto.
218 * testsuite/libgomp.fortran/stack.f90: Ditto.
219 * testsuite/libgomp.fortran/strassen.f90: Ditto.
220 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
221 * testsuite/libgomp.fortran/tabs2.f: Ditto.
222 * testsuite/libgomp.fortran/target1.f90: Ditto.
223 * testsuite/libgomp.fortran/target2.f90: Ditto.
224 * testsuite/libgomp.fortran/target3.f90: Ditto.
225 * testsuite/libgomp.fortran/target4.f90: Ditto.
226 * testsuite/libgomp.fortran/target5.f90: Ditto.
227 * testsuite/libgomp.fortran/target6.f90: Ditto.
228 * testsuite/libgomp.fortran/target7.f90: Ditto.
229 * testsuite/libgomp.fortran/target8.f90: Ditto.
230 * testsuite/libgomp.fortran/task1.f90: Ditto.
231 * testsuite/libgomp.fortran/task2.f90: Ditto.
232 * testsuite/libgomp.fortran/task3.f90: Ditto.
233 * testsuite/libgomp.fortran/task4.f90: Ditto.
234 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
235 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
236 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
237 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
238 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
239 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
240 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
241 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
242 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
243 * testsuite/libgomp.fortran/udr1.f90: Ditto.
244 * testsuite/libgomp.fortran/udr10.f90: Ditto.
245 * testsuite/libgomp.fortran/udr11.f90: Ditto.
246 * testsuite/libgomp.fortran/udr12.f90: Ditto.
247 * testsuite/libgomp.fortran/udr13.f90: Ditto.
248 * testsuite/libgomp.fortran/udr14.f90: Ditto.
249 * testsuite/libgomp.fortran/udr15.f90: Ditto.
250 * testsuite/libgomp.fortran/udr2.f90: Ditto.
251 * testsuite/libgomp.fortran/udr3.f90: Ditto.
252 * testsuite/libgomp.fortran/udr4.f90: Ditto.
253 * testsuite/libgomp.fortran/udr5.f90: Ditto.
254 * testsuite/libgomp.fortran/udr6.f90: Ditto.
255 * testsuite/libgomp.fortran/udr7.f90: Ditto.
256 * testsuite/libgomp.fortran/udr8.f90: Ditto.
257 * testsuite/libgomp.fortran/udr9.f90: Ditto.
258 * testsuite/libgomp.fortran/vla1.f90: Ditto.
259 * testsuite/libgomp.fortran/vla2.f90: Ditto.
260 * testsuite/libgomp.fortran/vla3.f90: Ditto.
261 * testsuite/libgomp.fortran/vla4.f90: Ditto.
262 * testsuite/libgomp.fortran/vla5.f90: Ditto.
263 * testsuite/libgomp.fortran/vla6.f90: Ditto.
264 * testsuite/libgomp.fortran/vla7.f90: Ditto.
265 * testsuite/libgomp.fortran/vla8.f90: Ditto.
266 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
267 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
268
01509e2f
TB
2692019-10-30 Tobias Burnus <tobias@codesourcery.com>
270
271 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
272 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
273 Ditto; add 'dg-do run' for torture testing.
274 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
275 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
276 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
277 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
278 * testsuite/libgomp.fortran/pr28390.f: Ditto.
279 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
280 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
281 * testsuite/libgomp.fortran/task2.f90: Ditto.
282 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
283 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
284 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
285 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
286 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
287 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
288
ffbdd78a
TB
2892019-10-28 Tobias Burnus <tobias@codesourcery.com>
290
291 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
292 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
293 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
294 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
295 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
296 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
297 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
298 Use 'stop' not abort().
299 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
300 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
301 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
302 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
303 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
304 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
305 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
306 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
307 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
308 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
309 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
310 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
311 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
312 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
313 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
314 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
315 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
316 Ditto.
317 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
318 Ditto.
319 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
320 Ditto.
321 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
322 Ditto.
323 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
324 Ditto.
325 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
326 Ditto.
327 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
328 Ditto.
329 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
330 Ditto.
331 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
332 Ditto.
333 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
334 Ditto.
335 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
336 Ditto.
337 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
338 Ditto.
339 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
340 Ditto.
341 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
342 Ditto.
343 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
344 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
345 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
346 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
347 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
348 Likewise and also add 'dg-do run'.
349 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
350 Ditto.
351
ec084613
CP
3522019-10-25 Cesar Philippidis <cesar@codesourcery.com>
353 Tobias Burnus <tobias@codesourcery.com>
354
355 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
356 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
357 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
358
77ef3394
JJ
3592019-10-14 Jakub Jelinek <jakub@redhat.com>
360
361 PR libgomp/92081
362 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
363 than 0.
364
08c14aaa
TB
3652019-10-11 Tobias Burnus <tobias@codesourcery.com>
366
367 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
368 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
369
6bbead0c
TS
3702019-10-09 Thomas Schwinge <thomas@codesourcery.com>
371
372 PR middle-end/92036
373 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
374 file.
375
eba3dee8
TB
3762019-10-09 Tobias Burnus <tobias@codesourcery.com>
377
378 PR testsuite/91884
379 * testsuite/libgomp.fortran/fortran.exp: Conditionally
380 add -lquadmath.
381 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
382
7d48e14f
JJ
3832019-10-09 Jakub Jelinek <jakub@redhat.com>
384
385 PR libgomp/92028
386 * target.c (gomp_map_vars_internal): Readd the previous
387 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
388 though do that just in the !not_found_cnt case.
389
65b67cf3
TB
3902019-10-08 Tobias Burnus <tobias@codesourcery.com>
391
392 * gfortran.dg/gomp/target-simd.f90: New.
393
6c7e076b
JB
3942019-10-02 Julian Brown <julian@codesourcery.com>
395 Cesar Philippidis <cesar@codesourcery.com>
396
397 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
398 * target.c (FIELD_TGT_EMPTY): Define.
399 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
400 as switch instead of list of ifs.
401 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
402
d61bff85
AT
4032019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
404
405 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
406 include. Replace alloca () with __builtin_alloca ().
407 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
408
810f316d
JJ
4092019-10-01 Jakub Jelinek <jakub@redhat.com>
410
411 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
412 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
413 * oacc-parallel.c: Don't include "libgomp_g.h".
414 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
415 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
416 * aclocal.m4: Regenerated.
417 * config.h.in: Regenerated.
418 * configure: Regenerated.
419 * Makefile.in: Regenerated.
420
d7f9ee98
KCY
4212019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
422
423 * libgomp_g.h: Include stdint.h instead of gstdint.h.
424
e9085da5
MR
4252019-09-27 Maciej W. Rozycki <macro@wdc.com>
426
427 * configure: Regenerate.
428
c28712be
TB
4292019-09-13 Tobias Burnus <tobias@codesourcery.com>
430
431 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
432 string is initialized.
433
3c086f8d
FW
4342019-09-06 Florian Weimer <fweimer@redhat.com>
435
436 * configure: Regenerate.
437
c6c2d1bc
CLT
4382019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
439
440 PR other/79543
441 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
442 scanning to conform to the GNU Coding Standards.
443 * configure: Regenerate.
444
5cb72d83
JJ
4452019-08-28 Jakub Jelinek <jakub@redhat.com>
446
447 PR libgomp/91530
448 * testsuite/libgomp.c/scan-21.c: New test.
449 * testsuite/libgomp.c/scan-22.c: New test.
450
0ad7981c
JJ
4512019-08-27 Jakub Jelinek <jakub@redhat.com>
452
453 PR libgomp/91530
454 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
455 targets.
456 * testsuite/libgomp.c/scan-12.c: Likewise.
457 * testsuite/libgomp.c/scan-13.c: Likewise.
458 * testsuite/libgomp.c/scan-14.c: Likewise.
459 * testsuite/libgomp.c/scan-15.c: Likewise.
460 * testsuite/libgomp.c/scan-16.c: Likewise.
461 * testsuite/libgomp.c/scan-17.c: Likewise.
462 * testsuite/libgomp.c/scan-18.c: Likewise.
463 * testsuite/libgomp.c/scan-19.c: Likewise.
464 * testsuite/libgomp.c/scan-20.c: Likewise.
465 * testsuite/libgomp.c++/scan-9.C: Likewise.
466 * testsuite/libgomp.c++/scan-10.C: Likewise.
467 * testsuite/libgomp.c++/scan-11.C: Likewise.
468 * testsuite/libgomp.c++/scan-12.C: Likewise.
469 * testsuite/libgomp.c++/scan-14.C: Likewise.
470 * testsuite/libgomp.c++/scan-15.C: Likewise.
471 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
472 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
473 * testsuite/libgomp.c++/scan-16.C: Likewise.
474
1e67491a
TK
4752019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
476
477 PR fortran/91473
478 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
479 -std=legacy so invalid code in the test case is accepted.
480
393fdeb1
TK
4812019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
482
483 PR fortran/91422
484 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
485 dimension.
486
8860d270
JJ
4872019-08-08 Jakub Jelinek <jakub@redhat.com>
488
489 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
490 perform the lookup in the first loop only if !not_found_cnt, otherwise
491 perform lookups for it in the second loop guarded with
492 if (not_found_cnt || has_firstprivate).
493 * testsuite/libgomp.c/target-37.c: New test.
494 * testsuite/libgomp.c++/target-22.C: New test.
495
398e3feb
JJ
4962019-08-07 Jakub Jelinek <jakub@redhat.com>
497
498 * testsuite/libgomp.c/target-18.c (struct S): New type.
499 (foo): Use use_device_addr clause instead of use_device_ptr clause
500 where required by OpenMP 5.0, add further tests for both use_device_ptr
501 and use_device_addr clauses.
502 * testsuite/libgomp.c++/target-9.C (struct S): New type.
503 (foo): Use use_device_addr clause instead of use_device_ptr clause
504 where required by OpenMP 5.0, add further tests for both use_device_ptr
505 and use_device_addr clauses. Add t and u arguments.
506 (main): Adjust caller.
507
d81ab49d
JJ
5082019-08-06 Jakub Jelinek <jakub@redhat.com>
509
510 * testsuite/libgomp.c++/loop-13.C: New test.
511 * testsuite/libgomp.c++/loop-14.C: New test.
512 * testsuite/libgomp.c++/loop-15.C: New test.
513
c3ac76aa
JJ
5142019-07-31 Jakub Jelinek <jakub@redhat.com>
515
516 PR middle-end/91301
517 * testsuite/libgomp.c++/for-27.C: New test.
518
8dc63166
SK
5192019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
520
393fdeb1 521 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 522 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 523
554a530f
JJ
5242019-07-20 Jakub Jelinek <jakub@redhat.com>
525
526 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
527
6cda84b5
JJ
5282019-07-08 Jakub Jelinek <jakub@redhat.com>
529
530 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
531 * testsuite/libgomp.c++/scan-16.C: Likewise.
532
1f52d1a8
JJ
5332019-07-06 Jakub Jelinek <jakub@redhat.com>
534
6f67abcd
JJ
535 * testsuite/libgomp.c/scan-19.c: New test.
536 * testsuite/libgomp.c/scan-20.c: New test.
537
1f52d1a8
JJ
538 * testsuite/libgomp.c/scan-11.c: New test.
539 * testsuite/libgomp.c/scan-12.c: New test.
540 * testsuite/libgomp.c/scan-13.c: New test.
541 * testsuite/libgomp.c/scan-14.c: New test.
542 * testsuite/libgomp.c/scan-15.c: New test.
543 * testsuite/libgomp.c/scan-16.c: New test.
544 * testsuite/libgomp.c/scan-17.c: New test.
545 * testsuite/libgomp.c/scan-18.c: New test.
546 * testsuite/libgomp.c++/scan-9.C: New test.
547 * testsuite/libgomp.c++/scan-10.C: New test.
548 * testsuite/libgomp.c++/scan-11.C: New test.
549 * testsuite/libgomp.c++/scan-12.C: New test.
550 * testsuite/libgomp.c++/scan-13.C: New test.
551 * testsuite/libgomp.c++/scan-14.C: New test.
552 * testsuite/libgomp.c++/scan-15.C: New test.
553 * testsuite/libgomp.c++/scan-16.C: New test.
554
2f03073f
JJ
5552019-07-04 Jakub Jelinek <jakub@redhat.com>
556
557 * testsuite/libgomp.c/scan-9.c: New test.
558 * testsuite/libgomp.c/scan-10.c: New test.
559
2f6bb511
JJ
5602019-07-03 Jakub Jelinek <jakub@redhat.com>
561
562 * testsuite/libgomp.c++/scan-1.C: New test.
563 * testsuite/libgomp.c++/scan-2.C: New test.
564 * testsuite/libgomp.c++/scan-3.C: New test.
565 * testsuite/libgomp.c++/scan-4.C: New test.
566 * testsuite/libgomp.c++/scan-5.C: New test.
567 * testsuite/libgomp.c++/scan-6.C: New test.
568 * testsuite/libgomp.c++/scan-7.C: New test.
569 * testsuite/libgomp.c++/scan-8.C: New test.
570 * testsuite/libgomp.c/scan-1.c: New test.
571 * testsuite/libgomp.c/scan-2.c: New test.
572 * testsuite/libgomp.c/scan-3.c: New test.
573 * testsuite/libgomp.c/scan-4.c: New test.
574 * testsuite/libgomp.c/scan-5.c: New test.
575 * testsuite/libgomp.c/scan-6.c: New test.
576 * testsuite/libgomp.c/scan-7.c: New test.
577 * testsuite/libgomp.c/scan-8.c: New test.
578
bd194a51
TS
5792019-06-18 Thomas Schwinge <thomas@codesourcery.com>
580
85fca03a
TS
581 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
582 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
583 Likewise.
584
bd194a51
TS
585 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
586 check.
587
6652161e
CP
5882019-06-18 Cesar Philippidis <cesar@codesourcery.com>
589
590 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
591 file.
592
3a37d6f6
TS
5932019-06-18 Thomas Schwinge <thomas@codesourcery.com>
594
4017da8d
TS
595 PR fortran/90743
596 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
597 case.
598 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
599 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
600 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
601 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
602
6f7c1f65
TS
603 PR testsuite/90861
604 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
605
3a37d6f6
TS
606 PR middle-end/90862
607 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
608
f45ce17d
TV
6092019-06-16 Tom de Vries <tdevries@suse.de>
610
611 PR tree-optimization/89376
612 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
613
00908992
TV
6142019-06-15 Tom de Vries <tdevries@suse.de>
615
616 PR tree-optimization/89713
617 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
618 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
619
211b7533
JJ
6202019-06-15 Jakub Jelinek <jakub@redhat.com>
621
622 PR middle-end/90779
623 * testsuite/libgomp.c/pr90779.c: New test.
624 * testsuite/libgomp.fortran/pr90779.f90: New test.
625
120a01d1
TV
6262019-06-15 Tom de Vries <tdevries@suse.de>
627
628 PR tree-optimization/90009
629 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
630
c29c92c7
FX
6312019-06-13 Feng Xue <fxue@os.amperecomputing.com>
632
633 PR tree-optimization/89713
634 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
635
ce9c4ec3
JJ
6362019-06-11 Jakub Jelinek <jakub@redhat.com>
637
638 PR target/90811
639 * testsuite/libgomp.c/pr90811.c: New test.
640
28b3a77c
JJ
6412019-06-05 Jakub Jelinek <jakub@redhat.com>
642
643 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
644 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
645
7855700e
JJ
6462019-06-04 Jakub Jelinek <jakub@redhat.com>
647
648 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
649 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
650 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
651 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
652
a7155c2e
RO
6532019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
654
655 * configure.ac: Call AX_COUNT_CPUS.
656 Substitute CPU_COUNT.
657 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
658 count fallback.
659 * aclocal.m4: Regenerate.
660 * configure: Regenerate.
661 * Makefile.in, testsuite/Makefile.in: Regenerate.
662
7e47198b
JJ
6632019-05-29 Jakub Jelinek <jakub@redhat.com>
664
665 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
666 to ...
667 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
668 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
669 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
670
fcfb8032
JJ
6712019-05-27 Jakub Jelinek <jakub@redhat.com>
672
8e7757ba
JJ
673 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
674
36c7a3ff
JJ
675 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
676
fcfb8032
JJ
677 PR libgomp/90641
678 * work.c (gomp_init_work_share): Instead of aligning final ordered
679 value to multiples of long long alignment, align to that the
680 first part (ordered team ids) and if inline_ordered_team_ids
681 is not on a long long alignment boundary within the structure,
682 use __alignof__ (long long) - 1 pad size always.
683 * loop.c (GOMP_loop_start): Fix *mem computation if
684 inline_ordered_team_ids is not aligned on long long alignment boundary
685 within the structure.
686 * loop-ull.c (GOMP_loop_ull_start): Likewise.
687 * sections.c (GOMP_sections2_start): Likewise.
688
b5c26449
JJ
6892019-05-24 Jakub Jelinek <jakub@redhat.com>
690
6c7ae8c5
JJ
691 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
692 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
693
b5c26449
JJ
694 PR libgomp/90585
695 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
696 HAVE_INTTYPES_H is defined.
697 (print_uint64_t): New typedef.
698 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
699 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
700 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
701 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
702 before casting to void *.
703 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
704 * oacc-mem.c: Don't include config.h nor stdint.h.
705 * target.c: Don't include config.h.
706 * oacc-cuda.c: Likewise.
707 * oacc-host.c: Don't include stdint.h.
708
3e03ed66
JJ
7092019-05-20 Jakub Jelinek <jakub@redhat.com>
710
711 PR libgomp/90527
712 * alloc.c (_GNU_SOURCE): Define.
713
5fae049d
TS
7142019-05-17 Thomas Schwinge <thomas@codesourcery.com>
715
716 * acc_prof.h: New file.
717 * oacc-profiling.c: Likewise.
718 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
719 Add these, respectively.
720 * Makefile.in: Regenerate.
721 * env.c (initialize_env): Call goacc_profiling_initialize.
722 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
723 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
724 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
725 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
726 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
727 acc_prof_register, acc_prof_unregister, and acc_register_library.
728 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
729 GOMP_PLUGIN_goacc_thread.
730 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
731 prof_callbacks_enabled members.
732 (goacc_prof_enabled, goacc_profiling_initialize)
733 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
734 (goacc_profiling_dispatch): Declare.
735 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
736 (GOACC_PROFILING_SETUP_P): Define.
737 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
738 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
739 OpenACC Profiling Interface.
740 * oacc-cuda.c (acc_get_current_cuda_device)
741 (acc_get_current_cuda_context, acc_get_cuda_stream)
742 (acc_set_cuda_stream): Likewise.
743 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
744 (acc_init, acc_set_device_type, acc_get_device_type)
745 (acc_get_device_num, goacc_lazy_initialize): Likewise.
746 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
747 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
748 (acc_unmap_data, present_create_copy, delete_copyout)
749 (update_dev_host): Likewise.
750 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
751 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
752 Likewise.
753 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
754 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
755 Likewise.
756 * libgomp.texi: Update.
757 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
758 file.
759 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
760 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
761 Likewise.
762 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
763 Likewise.
764 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
765 Likewise.
766 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
767 Likewise.
768
1f4c5b9b
CLT
7692019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
770
771 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
772 (struct goacc_asyncqueue_list): Likewise.
773 (goacc_aq): Likewise.
774 (goacc_aq_list): Likewise.
775 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
776 (GOMP_OFFLOAD_openacc_async_test): Remove.
777 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
778 (GOMP_OFFLOAD_openacc_async_wait): Remove.
779 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
780 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
781 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
782 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
783 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
784 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
785 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
786 (GOMP_OFFLOAD_openacc_async_exec): Declare.
787 (GOMP_OFFLOAD_openacc_async_construct): Declare.
788 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
789 (GOMP_OFFLOAD_openacc_async_test): Declare.
790 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
791 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
792 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
793 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
794 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
795
796 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
797 (gomp_acc_insert_pointer): Adjust declaration.
798 (gomp_copy_host2dev): New declaration.
799 (gomp_copy_dev2host): Likewise.
800 (gomp_map_vars_async): Likewise.
801 (gomp_unmap_tgt): Likewise.
802 (gomp_unmap_vars_async): Likewise.
803 (gomp_fini_device): Likewise.
804
805 * oacc-async.c (get_goacc_thread): New function.
806 (get_goacc_thread_device): New function.
807 (lookup_goacc_asyncqueue): New function.
808 (get_goacc_asyncqueue): New function.
809 (acc_async_test): Adjust code to use new async design.
810 (acc_async_test_all): Likewise.
811 (acc_wait): Likewise.
812 (acc_wait_async): Likewise.
813 (acc_wait_all): Likewise.
814 (acc_wait_all_async): Likewise.
815 (goacc_async_free): New function.
816 (goacc_init_asyncqueues): Likewise.
817 (goacc_fini_asyncqueues): Likewise.
818 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
819 design.
820 (acc_set_cuda_stream): Likewise.
821 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
822 (host_openacc_register_async_cleanup): Remove.
823 (host_openacc_async_exec): New function.
824 (host_openacc_async_test): Adjust parameters.
825 (host_openacc_async_test_all): Remove.
826 (host_openacc_async_wait): Remove.
827 (host_openacc_async_wait_async): Remove.
828 (host_openacc_async_wait_all): Remove.
829 (host_openacc_async_wait_all_async): Remove.
830 (host_openacc_async_set_async): Remove.
831 (host_openacc_async_synchronize): New function.
832 (host_openacc_async_serialize): New function.
833 (host_openacc_async_host2dev): New function.
834 (host_openacc_async_dev2host): New function.
835 (host_openacc_async_queue_callback): New function.
836 (host_openacc_async_construct): New function.
837 (host_openacc_async_destruct): New function.
838 (struct gomp_device_descr host_dispatch): Remove initialization of old
839 interface, add intialization of new async sub-struct.
840 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
841 (goacc_attach_host_thread_to_device): Remove old async code usage.
842 * oacc-int.h (goacc_init_asyncqueues): New declaration.
843 (goacc_fini_asyncqueues): Likewise.
844 (goacc_async_copyout_unmap_vars): Likewise.
845 (goacc_async_free): Likewise.
846 (get_goacc_asyncqueue): Likewise.
847 (lookup_goacc_asyncqueue): Likewise.
848 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
849 design.
850 (present_create_copy): Adjust code to use new async design.
851 (delete_copyout): Likewise.
852 (update_dev_host): Likewise.
853 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
854 async design.
855 (gomp_acc_remove_pointer): Adjust code to use new async design.
856 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
857 design.
858 (GOACC_enter_exit_data): Likewise.
859 (goacc_wait): Likewise.
860 (GOACC_update): Likewise.
861 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
862 when called, warn as obsolete in comment.
863 * target.c (goacc_device_copy_async): New function.
864 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
865 add goacc_device_copy_async case.
866 (gomp_copy_dev2host): Likewise.
867 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
868 (gomp_map_pointer): Likewise.
869 (gomp_map_fields_existing): Likewise.
870 (gomp_map_vars_internal): New always_inline function, renamed from
871 gomp_map_vars.
872 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
873 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
874 passing goacc_asyncqueue argument.
875 (gomp_unmap_tgt): Remove static, add attribute_hidden.
876 (gomp_unref_tgt): New function.
877 (gomp_unmap_vars_internal): New always_inline function, renamed from
878 gomp_unmap_vars.
879 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
880 (gomp_unmap_vars_async): Implement by calling
881 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
882 (gomp_fini_device): New function.
883 (gomp_exit_data): Adjust gomp_copy_dev2host call.
884 (gomp_load_plugin_for_device): Remove old interface, adjust to load
885 new async interface.
886 (gomp_target_fini): Adjust code to call gomp_fini_device.
887
888 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
889 (struct ptx_stream): Remove.
890 (struct nvptx_thread): Remove current_stream field.
891 (cuda_map_create): Remove.
892 (cuda_map_destroy): Remove.
893 (map_init): Remove.
894 (map_fini): Remove.
895 (map_pop): Remove.
896 (map_push): Remove.
897 (struct goacc_asyncqueue): Define.
898 (struct nvptx_callback): Define.
899 (struct ptx_free_block): Define.
900 (struct ptx_device): Remove null_stream, active_streams, async_streams,
901 stream_lock, and next fields.
902 (enum ptx_event_type): Remove.
903 (struct ptx_event): Remove.
904 (ptx_event_lock): Remove.
905 (ptx_events): Remove.
906 (init_streams_for_device): Remove.
907 (fini_streams_for_device): Remove.
908 (select_stream_for_async): Remove.
909 (nvptx_init): Remove ptx_events and ptx_event_lock references.
910 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
911 case.
912 (nvptx_open_device): Add free_blocks initialization, remove
913 init_streams_for_device call.
914 (nvptx_close_device): Remove fini_streams_for_device call, add
915 free_blocks destruct code.
916 (event_gc): Remove.
917 (event_add): Remove.
918 (nvptx_exec): Adjust parameters and code.
919 (nvptx_free): Likewise.
920 (nvptx_host2dev): Remove.
921 (nvptx_dev2host): Remove.
922 (nvptx_set_async): Remove.
923 (nvptx_async_test): Remove.
924 (nvptx_async_test_all): Remove.
925 (nvptx_wait): Remove.
926 (nvptx_wait_async): Remove.
927 (nvptx_wait_all): Remove.
928 (nvptx_wait_all_async): Remove.
929 (nvptx_get_cuda_stream): Remove.
930 (nvptx_set_cuda_stream): Remove.
931 (GOMP_OFFLOAD_alloc): Adjust code.
932 (GOMP_OFFLOAD_free): Likewise.
933 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
934 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
935 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
936 (GOMP_OFFLOAD_openacc_async_wait): Remove.
937 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
938 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
939 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
940 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
941 (cuda_free_argmem): New function.
942 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
943 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
944 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
945 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
946 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
947 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
948 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
949 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
950 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
951 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
952 (cuda_callback_wrapper): New function.
953 (cuda_memcpy_sanity_check): New function.
954 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
955 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
956 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
957 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
958
da2d30c1
TS
9592019-05-07 Thomas Schwinge <thomas@codesourcery.com>
960
961 PR target/87835
962 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
963
2bbbfa4e
TS
9642019-05-06 Thomas Schwinge <thomas@codesourcery.com>
965
966 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
967
bbf1efe1
KB
9682019-03-27 Kevin Buettner <kevinb@redhat.com>
969
970 * team.c (gomp_team_start): Initialize pool->threads[0].
971
1241136c
TS
9722019-02-22 Thomas Schwinge <thomas@codesourcery.com>
973
b03d721a
TS
974 * testsuite/libgomp.oacc-c++/c++.exp: Specify
975 "-foffload=$offload_target".
976 * testsuite/libgomp.oacc-c/c.exp: Likewise.
977 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
978 * testsuite/lib/libgomp.exp
979 (check_effective_target_openacc_nvidia_accel_configured): Remove,
980 as (conceptually) merged into
981 check_effective_target_openacc_nvidia_accel_selected. Adjust all
982 users.
983
0a0384b4
TS
984 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
985 * testsuite/libgomp-test-support.exp.in: Adjust.
986 * testsuite/lib/libgomp.exp: Likewise. Don't populate
987 openacc_device_types_s.
988 (offload_target_to_openacc_device_type): New proc.
989 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
990 * testsuite/libgomp.oacc-c/c.exp: Likewise.
991 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
992 * Makefile.in: Regenerate.
993 * configure: Likewise.
994 * testsuite/Makefile.in: Likewise.
995
ee332b4a
TS
996 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
997 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
998 instead of OFFLOAD_TARGETS.
999 * target.c (gomp_target_init): Adjust.
1000 * testsuite/libgomp-test-support.exp.in: Likewise.
1001 * testsuite/lib/libgomp.exp: Likewise. Populate
1002 openacc_device_types_s instead of offload_targets_s_openacc.
1003 (check_effective_target_openacc_nvidia_accel_selected)
1004 (check_effective_target_openacc_host_selected): Adjust.
1005 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1006 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1007 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1008 * Makefile.in: Regenerate.
1009 * config.h.in: Likewise.
1010 * configure: Likewise.
1011 * testsuite/Makefile.in: Likewise.
1012
1241136c
TS
1013 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1014 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1015 "offloading: supported, but hardware not accessible".
1016 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1017 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1018
19695f4d
CLT
10192019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1020
1021 PR c/87924
1022 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1023 goacc_wait().
1024 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1025 and related adjustment.
1026
8b44f8ec
JJ
10272019-01-30 Jakub Jelinek <jakub@redhat.com>
1028
1029 PR c++/88988
1030 * testsuite/libgomp.c++/pr88988.C: New test.
1031
be3a87e7
JJ
10322019-01-28 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR middle-end/89002
1035 * testsuite/libgomp.c/pr89002.c: New test.
1036
497ef4d7
RB
10372019-01-28 Richard Biener <rguenther@suse.de>
1038
1039 PR testsuite/89064
1040 PR tree-optimization/86865
1041 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1042
738c56d4
TV
10432019-01-24 Tom de Vries <tdevries@suse.de>
1044
1045 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1046 once instantiated_devices drops to 0.
1047
4a75460b
TV
10482019-01-23 Tom de Vries <tdevries@suse.de>
1049
1050 PR target/PR88946
1051 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1052 cuMemFree.
1053 (nvptx_exec): Don't call map_push if mapnum == 0.
1054 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1055
4fef8e4d
TV
10562019-01-23 Tom de Vries <tdevries@suse.de>
1057
1058 PR target/88941
1059 PR target/88939
1060 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1061 (map_fini): Remove "assert (!s->map->active)".
1062 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1063
2ee6cb22
TV
10642019-01-23 Tom de Vries <tdevries@suse.de>
1065
1066 PR target/87835
1067 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1068 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1069
d41d952c
TV
10702019-01-15 Tom de Vries <tdevries@suse.de>
1071
1072 PR target/80547
1073 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1074 New test.
1075
efb56ae8
TV
10762019-01-12 Tom de Vries <tdevries@suse.de>
1077
1078 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1079 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1080 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1081 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1082
2c2ff168
TV
10832019-01-12 Tom de Vries <tdevries@suse.de>
1084
1085 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1086
a1057758
TV
10872019-01-12 Tom de Vries <tdevries@suse.de>
1088
1089 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1090 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1091 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1092
56314b77
TV
10932019-01-12 Tom de Vries <tdevries@suse.de>
1094
1095 PR target/85486
1096 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1097 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1098
b39e4366
TV
10992019-01-12 Tom de Vries <tdevries@suse.de>
1100
1101 PR target/85381
1102 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1103 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1104
2cb7a501
TV
11052019-01-12 Tom de Vries <tdevries@suse.de>
1106
1107 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1108 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1109 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1110
8e77f71e
TV
11112019-01-12 Tom de Vries <tdevries@suse.de>
1112
1113 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1114 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1115 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1116
52d22ece
TV
11172019-01-12 Tom de Vries <tdevries@suse.de>
1118
1119 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1120 resources diagnostic.
1121
2b9d9e39
TV
11222019-01-12 Tom de Vries <tdevries@suse.de>
1123
1124 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1125 vector length to be 128.
1126 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1127 length 2097152 to be reduced to 1024 instead of 32.
1128
4102bda6
TS
11292019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1130 James Norris <jnorris@codesourcery.com>
1131
1132 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1133 Library Routines", and "Environment Variables".
1134
052aaace
TV
11352019-01-11 Tom de Vries <tdevries@suse.de>
1136
1137 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1138 num_workers 16.
1139
9390f916
TV
11402019-01-11 Tom de Vries <tdevries@suse.de>
1141
1142 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1143 -foffload=-w.
1144 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1145 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1146 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1147 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1148
2c3e7ad2
TV
11492019-01-11 Tom de Vries <tdevries@suse.de>
1150
1151 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1152 test.
1153
e222497d
NS
11542019-01-10 Nathan Sidwell <nathan@acm.org>
1155 Julian Brown <julian@codesourcery.com>
1156
1157 PR lto/71959
1158 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1159 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1160
cb87fec3
SH
11612019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1162
1163 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1164 and paste code.
1165
30b4d0d0
SH
11662019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1167
1168 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1169 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1170 write.
1171
5d0bc70a
TV
11722019-01-09 Tom de Vries <tdevries@suse.de>
1173
1174 PR target/88756
1175 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1176 #define instead of "const int".
1177 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1178 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1179 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1180 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1181
2c372e81
TV
11822019-01-09 Tom de Vries <tdevries@suse.de>
1183
1184 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1185 one worker.
1186
43493c97
TV
11872019-01-07 Tom de Vries <tdevries@suse.de>
1188
1189 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1190 GOMP_OPENACC_DIM argument.
1191
5c571497
TV
11922019-01-03 Tom de Vries <tdevries@suse.de>
1193
1194 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1195 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1196
a5544970
JJ
11972019-01-01 Jakub Jelinek <jakub@redhat.com>
1198
1199 Update copyright years.
1200
3f27508c
JJ
12012019-01-01 Jakub Jelinek <jakub@redhat.com>
1202
1203 * libgomp.texi: Bump @copying's copyright year.
1204
59d5960c
TS
12052018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1206
1207 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1208 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1209 (GOACC_declare): Redefine the "device" argument to "flags".
1210
a44c1790
TS
12112018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1212 Cesar Philippidis <cesar@codesourcery.com>
1213
1214 * target.c (struct gomp_coalesce_chunk): New structure.
1215 (struct gomp_coalesce_buf): Update the chunks member to use that
1216 type. Adjust all users.
1217
a152954e
TV
12182018-12-19 Tom de Vries <tdevries@suse.de>
1219
1220 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1221 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1222 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1223
49188cd1
TV
12242018-12-19 Tom de Vries <tdevries@suse.de>
1225
1226 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1227 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1228 gcc/testsuite/gcc.dg/goacc.
1229 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1230
c759830b
TS
12312018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1232 Chung-Lin Tang <cltang@codesourcery.com>
1233
1234 * oacc-mem.c (acc_present_or_create): Remove definition and change
1235 to alias of acc_create.
1236 (acc_present_or_copyin): Remove definition and change to alias of
1237 acc_copyin.
1238 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1239 of acc_present_or_create.
1240 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1241 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1242 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1243 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1244 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1245 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1246 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1247 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1248 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1249 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1250 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1251 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1252 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1253 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1254 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1255 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1256
7de562ee
TS
12572018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1258
f847198e
TS
1259 PR libgomp/88495
1260 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1261 "identical parameters".
1262 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1263 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1264
c8ab8aab
TS
1265 PR libgomp/88484
1266 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1267 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1268
1404af62
TS
1269 PR libgomp/88407
1270 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1271 (nvptx_wait_async): Unseen async-argument is a no-op.
1272 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1273 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1275 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1276 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1277 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1278 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1279 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1280 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1281
7de562ee
TS
1282 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1283 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1284
17469af7
CLT
12852018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1286
1287 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1288 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1289 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1290
18c247cc
TS
12912018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1292
1293 PR libgomp/88370
1294 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1295 (acc_set_cuda_stream): Clarify.
1296 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1297 "async_valid_p".
1298 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1299 acc_async_sync".
1300 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1301 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1302 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1303 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1304
b0aba46c
TV
13052018-12-14 Tom de Vries <tdevries@suse.de>
1306
1307 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1308 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1309 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1310 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1311 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1312
fe0827ee
TV
13132018-12-13 Tom de Vries <tdevries@suse.de>
1314
1315 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1316 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1317 * fortran.c (omp_display_affinity_): ... here.
1318 * libgomp.h (gomp_print_string): Declare.
1319 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1320 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1321 write.
1322
a51f8c92
JJ
13232018-12-13 Jakub Jelinek <jakub@redhat.com>
1324
1325 PR libgomp/88460
1326 * testsuite/libgomp.c++/for-24.C (results): Include it in
1327 omp declare target region.
1328 (main): Use map (always, tofrom: results) instead of
1329 map (tofrom: results).
1330
a6ef2ac9
JJ
13312018-12-12 Jakub Jelinek <jakub@redhat.com>
1332
7a289b7d
JJ
1333 PR fortran/88463
1334 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1335 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1336
a6ef2ac9
JJ
1337 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1338
9c47a019
AS
13392018-12-12 Andreas Schwab <schwab@suse.de>
1340
1341 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1342 clobbered.
1343
d0cbb206
TK
13442018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1345
1346 PR fortran/88411
1347 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1348
84ca08d2
TS
13492018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1350 Jakub Jelinek <jakub@redhat.com>
1351
1352 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1353 devicep->host2dev_func.
1354
6997628d
JJ
13552018-12-08 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR libgomp/87995
1358 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1359 tls_runtime effective target.
1360 (t): New threadprivate variable.
1361 (main): Set t in threads which execute iterations of the worksharing
1362 loop. Propagate that to the task after the loop and don't abort
1363 if the current taskgroup hasn't been cancelled.
1364
daa8c1d7
JJ
13652018-12-02 Jakub Jelinek <jakub@redhat.com>
1366
4a82df9a
JJ
1367 * testsuite/libgomp.c/task-reduction-3.c: New test.
1368
daa8c1d7
JJ
1369 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1370
fe570ff8
CP
13712018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1372
1373 PR libgomp/88288
1374 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1375 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1376
c223608f
TS
13772018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1378
1379 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1380
fc60283c
RB
13812018-10-19 Richard Biener <rguenther@suse.de>
1382
1383 PR tree-optimization/88182
1384 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1385
ffcf3b79
JJ
13862018-11-26 Jakub Jelinek <jakub@redhat.com>
1387
1388 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1389 (RUNTEST): Don't define.
1390 (RUNTESTDEFAULTFLAGS): Add.
1391 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1392 (distclean-am): Depend on distclean-DEJAGNU.
1393 (check-am): If -j% option is present in MFLAGS and if
1394 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1395 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1396 * testsuite/Makefile.in: Regenerated.
1397
ef6e6914
RB
13982018-11-26 Richard Biener <rguenther@suse.de>
1399
1400 PR tree-optimization/88182
1401 * testsuite/libgomp.c++/pr88182.C: New testcase.
1402
72d3bb76
JJ
14032018-11-20 Jakub Jelinek <jakub@redhat.com>
1404
1405 PR bootstrap/88106
1406 * config/mingw32/affinity-fmt.c: New file.
1407
207286c3
JJ
14082018-11-09 Jakub Jelinek <jakub@redhat.com>
1409
9666c522
JJ
1410 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1411 (gomp_display_affinity): Use __builtin_choose_expr to handle
1412 properly handle argument having integral, or pointer or some other
1413 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1414 with uint64_t type instead of %llx and unsigned long long.
1415
207286c3
JJ
1416 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1417 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1418
2033f45b
RO
14192018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1420
1421 * affinity.c: Include <string.h>, <stdio.h>.
1422 (gomp_display_affinity_place): Remove cpusetp.
1423 * teams.c: Include <limits.h>.
1424
28567c40
JJ
14252018-11-08 Jakub Jelinek <jakub@redhat.com>
1426
8991d779
JJ
1427 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1428 in_reduction clause for s[0].
1429
28567c40
JJ
1430 * affinity.c (gomp_display_affinity_place): New function.
1431 * affinity-fmt.c: New file.
1432 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1433 * config/linux/affinity.c (gomp_display_affinity_place): New function.
1434 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1435 Move these functions to ...
1436 * config/nvptx/teams.c: ... here. New file.
1437 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1438 New functions.
1439 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1440 functions.
1441 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1442 and _aligned_malloc.
1443 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1444 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1445 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1446 gomp_affinity_format_len): New variables.
1447 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1448 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
1449 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1450 modifiers. Display (non-default) chunk sizes. Print
1451 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1452 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
1453 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1454 * fortran.c: Include stdio.h and string.h.
1455 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1456 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1457 (omp_set_affinity_format_, omp_get_affinity_format_,
1458 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1459 omp_pause_resource_all_): New functions.
1460 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1461 switch.
1462 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1463 functions to ...
1464 * teams.c: ... here. New file.
1465 * libgomp_g.h: Include gstdint.h.
1466 (GOMP_loop_nonmonotonic_runtime_start,
1467 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1468 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1469 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1470 GOMP_parallel_loop_nonmonotonic_runtime,
1471 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1472 GOMP_loop_ull_nonmonotonic_runtime_start,
1473 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1474 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1475 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1476 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1477 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1478 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1479 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1480 GOMP_teams_reg): Declare.
1481 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1482 gomp_aligned_alloc uses fallback implementation.
1483 (gomp_aligned_alloc, gomp_aligned_free): Declare.
1484 (enum gomp_schedule_type): Add GFS_MONOTONIC.
1485 (struct gomp_doacross_work_share): Add extra field.
1486 (struct gomp_work_share): Add task_reductions field.
1487 (struct gomp_taskgroup): Add workshare and reductions fields.
1488 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1489 (gomp_thread_handle): New typedef.
1490 (gomp_display_affinity_place, gomp_set_affinity_format,
1491 gomp_display_string, gomp_display_affinity,
1492 gomp_display_affinity_thread): Declare.
1493 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1494 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1495 gomp_workshare_task_reduction_register): Declare.
1496 (gomp_team_start): Add taskgroup argument.
1497 (gomp_pause_host): Declare.
1498 (gomp_init_work_share, gomp_work_share_start): Change bool argument
1499 to size_t.
1500 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1501 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1502 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1503 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1504 GOMP_loop_ull_doacross_start,
1505 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1506 GOMP_loop_maybe_nonmonotonic_runtime_next,
1507 GOMP_loop_maybe_nonmonotonic_runtime_start,
1508 GOMP_loop_nonmonotonic_runtime_next,
1509 GOMP_loop_nonmonotonic_runtime_start,
1510 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1511 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1512 GOMP_loop_ull_nonmonotonic_runtime_next,
1513 GOMP_loop_ull_nonmonotonic_runtime_start,
1514 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1515 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1516 GOMP_taskgroup_reduction_register,
1517 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1518 GOMP_teams_reg and GOMP_taskwait_depend.
1519 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1520 omp_{capture,display}_affinity{,_}, and
1521 omp_[gs]et_affinity_format{,_}.
1522 * loop.c: Include string.h.
1523 (GOMP_loop_runtime_next): Add ialias.
1524 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1525 (gomp_loop_static_start, gomp_loop_dynamic_start,
1526 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1527 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1528 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1529 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1530 or gomp_doacross_init callers.
1531 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1532 GOMP_loop_doacross_start): New functions.
1533 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1534 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1535 Mask off GFS_MONOTONIC bit.
1536 (GOMP_loop_maybe_nonmonotonic_runtime_next,
1537 GOMP_loop_maybe_nonmonotonic_runtime_start,
1538 GOMP_loop_nonmonotonic_runtime_next,
1539 GOMP_loop_nonmonotonic_runtime_start,
1540 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1541 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1542 functions.
1543 (gomp_parallel_loop_start): Pass NULL as taskgroup to
1544 gomp_team_start.
1545 * loop_ull.c: Include string.h.
1546 (GOMP_loop_ull_runtime_next): Add ialias.
1547 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1548 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1549 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1550 gomp_loop_ull_ordered_dynamic_start,
1551 gomp_loop_ull_ordered_guided_start,
1552 gomp_loop_ull_doacross_static_start,
1553 gomp_loop_ull_doacross_dynamic_start,
1554 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1555 and gomp_doacross_ull_init callers.
1556 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1557 GOMP_loop_ull_doacross_start): New functions.
1558 (GOMP_loop_ull_runtime_start,
1559 GOMP_loop_ull_ordered_runtime_start,
1560 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1561 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1562 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1563 GOMP_loop_ull_nonmonotonic_runtime_next,
1564 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1565 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1566 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1567 (omp_pause_resource_t, omp_depend_t): New typedefs.
1568 (enum omp_lock_hint_t): Renamed to ...
1569 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1570 enumerators using numbers and omp_lock_hint_* as their aliases.
1571 (omp_lock_hint_t): New typedef. Rename to ...
1572 (omp_sync_hint_t): ... this.
1573 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1574 omp_sync_hint_t instead of omp_lock_hint_t.
1575 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1576 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1577 Declare.
1578 (omp_target_is_present, omp_target_disassociate_ptr):
1579 Change first argument from void * to const void *.
1580 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1581 from void * to const void *.
1582 (omp_target_associate_ptr): Change first and second arguments from
1583 void * to const void *.
1584 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1585 omp_pause_hard): New parameters.
1586 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1587 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1588 New interfaces.
1589 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1590 omp_pause_hard): New parameters.
1591 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1592 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1593 New externals.
1594 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1595 EXTRA argument. If not needed to prepare array, if extra is 0,
1596 clear ws->doacross, otherwise allocate just doacross structure and
1597 extra payload. If array is needed, allocate also extra payload.
1598 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1599 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1600 doacross == NULL.
1601 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1602 gomp_team_start.
1603 (GOMP_parallel): Likewise. Formatting fix.
1604 (GOMP_parallel_reductions): New function.
1605 (GOMP_cancellation_point): If taskgroup has workshare
1606 flag set, check cancelled of prev taskgroup if any.
1607 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1608 on prev taskgroup if any.
1609 * sections.c: Include string.h.
1610 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1611 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1612 (GOMP_sections2_start): New function.
1613 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1614 Pass NULL as taskgroup to gomp_team_start.
1615 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1616 gomp_work_share_start callers.
1617 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1618 If taskgroup has workshare flag set, check cancelled on prev
1619 taskgroup if any. Guard all cancellation tests with
1620 gomp_cancel_var test.
1621 (omp_target_is_present, omp_target_disassociate_ptr):
1622 Change ptr argument from void * to const void *.
1623 (omp_target_memcpy): Change src argument from void * to const void *.
1624 (omp_target_memcpy_rect): Likewise.
1625 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1626 instead of char * where needed.
1627 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1628 from void * to const void *.
1629 (omp_pause_resource, omp_pause_resource_all): New functions.
1630 * task.c (gomp_task_handle_depend): Handle new depend array format
1631 in addition to the old. Handle mutexinoutset kinds the same as
1632 inout for now, handle unspecified kinds.
1633 (gomp_create_target_task): If taskgroup has workshare flag set, check
1634 cancelled on prev taskgroup if any. Guard all cancellation tests with
1635 gomp_cancel_var test. Handle new depend array format count in
1636 addition to the old.
1637 (GOMP_task): Likewise. Adjust function comment.
1638 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1639 cancelled on prev taskgroup if any. Guard all cancellation tests with
1640 gomp_cancel_var test.
1641 (GOMP_taskwait_depend): New function.
1642 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1643 format in addition to the old. Handle mutexinoutset kinds the same as
1644 inout for now, handle unspecified kinds. Fix a function comment typo.
1645 (gomp_taskgroup_init): New function.
1646 (GOMP_taskgroup_start): Use it.
1647 (gomp_reduction_register, gomp_create_artificial_team,
1648 GOMP_taskgroup_reduction_register,
1649 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1650 gomp_parallel_reduction_register,
1651 gomp_workshare_task_reduction_register,
1652 gomp_workshare_taskgroup_start,
1653 GOMP_workshare_task_reduction_unregister): New functions.
1654 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1655 check cancelled on prev taskgroup if any. Guard all cancellation
1656 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1657 by calling GOMP_taskgroup_reduction_register.
1658 * team.c (gomp_thread_attr): Remove comment.
1659 (struct gomp_thread_start_data): Add handle field.
1660 (gomp_thread_start): Call pthread_detach.
1661 (gomp_new_team): Adjust gomp_init_work_share caller.
1662 (gomp_free_pool_helper): Call pthread_detach.
1663 (gomp_team_start): Add taskgroup argument, initialize implicit
1664 tasks' taskgroup field to that. Don't call
1665 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1666 (gomp_team_end): Determine nesting by thr->ts.level != 0
1667 rather than thr->ts.team != NULL.
1668 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1669 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1670 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1671 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1672 if more than 1 allocate also extra payload at the end of array. Never
1673 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1674 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1675 return true instead of ws.
1676 * Makefile.in: Regenerated.
1677 * configure: Regenerated.
1678 * config.h.in: Regenerated.
1679 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1680 in some cases.
1681 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1682 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1683 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1684 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1685 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1686 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1687 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1688 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1689 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1690 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1691 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1692 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1693 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1694 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1695 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1696 define a different N(test), don't define N(f0) to N(f14), but instead
1697 define N(f20) to N(f34) using != comparisons.
1698 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1699 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1700 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1701 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1702 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1703 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1704 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1705 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1706 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1707 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1708 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1709 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1710 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1711 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1712 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1713 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1714 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1715 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1716 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1717 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1718 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1719 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1720 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1721 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1722 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1723 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1724 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1725 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1726 * testsuite/libgomp.c++/depend-1.C: New test.
1727 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1728 * testsuite/libgomp.c++/depobj-1.C: New test.
1729 * testsuite/libgomp.c++/for-16.C: New test.
1730 * testsuite/libgomp.c++/for-21.C: New test.
1731 * testsuite/libgomp.c++/for-22.C: New test.
1732 * testsuite/libgomp.c++/for-23.C: New test.
1733 * testsuite/libgomp.c++/for-24.C: New test.
1734 * testsuite/libgomp.c++/for-25.C: New test.
1735 * testsuite/libgomp.c++/for-26.C: New test.
1736 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1737 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1738 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1739 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1740 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1741 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1742 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1743 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1744 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1745 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1746 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1747 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1748 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1749 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1750 * testsuite/libgomp.c/task-reduction-1.c: New test.
1751 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1752 * testsuite/libgomp.c/task-reduction-2.c: New test.
1753 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1754 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1755 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1756 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1757 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1758 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1759 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1760 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1761 * testsuite/libgomp.c/teams-1.c: New test.
1762 * testsuite/libgomp.c/teams-2.c: New test.
1763 * testsuite/libgomp.c/thread-limit-4.c: New test.
1764 * testsuite/libgomp.c/thread-limit-5.c: New test.
1765 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1766
58168bbf
CLT
17672018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1768
1769 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1770 acc_memcpy_to/from_device functions, now with async parameter.
1771 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1772 (acc_memcpy_from_device): Likewise.
1773 (acc_memcpy_to_device_async): New API function.
1774 (acc_memcpy_from_device_async): Likewise.
1775 (present_create_copy): Add async parameter and async setting/unsetting.
1776 (acc_create): Adjust present_create_copy call.
1777 (acc_copyin): Likewise.
1778 (acc_present_or_create): Likewise.
1779 (acc_present_or_copyin): Likewise.
1780 (acc_create_async): New API function.
1781 (acc_copyin_async): New API function.
1782 (delete_copyout): Add async parameter and async setting/unsetting.
1783 (acc_delete): Adjust delete_copyout call.
1784 (acc_copyout): Likewise.
1785 (acc_delete_async): New API function.
1786 (acc_copyout_async): Likewise.
1787 (update_dev_host): Add async parameter and async setting/unsetting.
1788 (acc_update_device): Adjust update_dev_host call.
1789 (acc_update_self): Likewise.
1790 (acc_update_device_async): New API function.
1791 (acc_update_self_async): Likewise.
1792 * openacc.h (acc_copyin_async): Declare new API function.
1793 (acc_create_async): Likewise.
1794 (acc_copyout_async): Likewise.
1795 (acc_delete_async): Likewise.
1796 (acc_update_device_async): Likewise.
1797 (acc_update_self_async): Likewise.
1798 (acc_memcpy_to_device_async): Likewise.
1799 (acc_memcpy_from_device_async): Likewise.
1800 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1801 (acc_copyin_async_64_h): New subroutine.
1802 (acc_copyin_async_array_h): New subroutine.
1803 (acc_create_async_32_h): New subroutine.
1804 (acc_create_async_64_h): New subroutine.
1805 (acc_create_async_array_h): New subroutine.
1806 (acc_copyout_async_32_h): New subroutine.
1807 (acc_copyout_async_64_h): New subroutine.
1808 (acc_copyout_async_array_h): New subroutine.
1809 (acc_delete_async_32_h): New subroutine.
1810 (acc_delete_async_64_h): New subroutine.
1811 (acc_delete_async_array_h): New subroutine.
1812 (acc_update_device_async_32_h): New subroutine.
1813 (acc_update_device_async_64_h): New subroutine.
1814 (acc_update_device_async_array_h): New subroutine.
1815 (acc_update_self_async_32_h): New subroutine.
1816 (acc_update_self_async_64_h): New subroutine.
1817 (acc_update_self_async_array_h): New subroutine.
1818 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1819 (acc_copyin_async_64_h): New subroutine.
1820 (acc_copyin_async_array_h): New subroutine.
1821 (acc_create_async_32_h): New subroutine.
1822 (acc_create_async_64_h): New subroutine.
1823 (acc_create_async_array_h): New subroutine.
1824 (acc_copyout_async_32_h): New subroutine.
1825 (acc_copyout_async_64_h): New subroutine.
1826 (acc_copyout_async_array_h): New subroutine.
1827 (acc_delete_async_32_h): New subroutine.
1828 (acc_delete_async_64_h): New subroutine.
1829 (acc_delete_async_array_h): New subroutine.
1830 (acc_update_device_async_32_h): New subroutine.
1831 (acc_update_device_async_64_h): New subroutine.
1832 (acc_update_device_async_array_h): New subroutine.
1833 (acc_update_self_async_32_h): New subroutine.
1834 (acc_update_self_async_64_h): New subroutine.
1835 (acc_update_self_async_array_h): New subroutine.
1836 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1837 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1838 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1839 acc_memcpy_to_device_async*, acc_update_device_async*, and
1840 acc_update_self_async* entries.
1841 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1842 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1843 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1844
22e05272
JM
18452018-10-31 Joseph Myers <joseph@codesourcery.com>
1846
1847 PR bootstrap/82856
1848 * Makefile.am: Include multilib.am
1849 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1850 (CLEANFILES): Remove libgomp.info.
1851 * configure.ac: Remove AC_PREREQ.
1852 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1853 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1854 Regenerate.
1855
87a5ccfb
JM
18562018-10-29 Joseph Myers <joseph@codesourcery.com>
1857 Julian Brown <julian@codesourcery.com>
1858
1859 * testsuite/libgomp.oacc-c++/this.C: New.
1860
2049befd
CP
18612018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1862
1863 * plugin/plugin-nvptx.c (struct cuda_map): New.
1864 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1865 h_tail with (cuda_map *) map.
1866 (cuda_map_create): New function.
1867 (cuda_map_destroy): New function.
1868 (map_init): Update to use a linked list of cuda_map objects.
1869 (map_fini): Likewise.
1870 (map_pop): Likewise.
1871 (map_push): Likewise. Return CUdeviceptr instead of void.
1872 (init_streams_for_device): Remove stales references to ptx_stream
1873 members.
1874 (select_stream_for_async): Likewise.
1875 (nvptx_exec): Update call to map_init.
1876
8e36332c
CP
18772018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1878 Julian Brown <julian@codesourcery.com>
1879
1880 PR middle-end/86336
1881 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1882
2b4c9065
NK
18832018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1884 Thomas Koenig <tkoenig@gcc.gnu.org>
1885
1886 PR fortran/25829
1887 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1888 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1889 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1890 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1891 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1892 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1893 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1894
bd9b3d3d
CP
18952018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1896 Tom de Vries <tdevries@suse.de>
1897
1898 PR target/85590
1899 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1900 (cuOccupancyMaxPotentialBlockSize): Declare.
1901 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1902 CUDA_ONE_CALL_MAYBE_NULL.
1903 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1904 CUoccupancyB2DSize and declare
1905 cuOccupancyMaxPotentialBlockSize.
1906 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1907 default num_gangs and num_workers when the driver supports it.
1908
8e09a12f
TV
19092018-08-08 Tom de Vries <tdevries@suse.de>
1910
1911 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1912 CUDA_ONE_CALL_MAYBE_NULL.
1913 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1914 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1915 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1916 are not found.
1917
cedd9bd0
TV
19182018-08-08 Tom de Vries <tdevries@suse.de>
1919
1920 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1921 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1922 present.
1923
b113af95
TV
19242018-08-08 Tom de Vries <tdevries@suse.de>
1925
1926 * plugin/plugin-nvptx.c
1927 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1928 (nvptx_open_device): Use
1929 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1930
94767dac
TV
19312018-08-08 Tom de Vries <tdevries@suse.de>
1932
1933 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1934 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1935
02150de8
TV
19362018-08-07 Tom de Vries <tdevries@suse.de>
1937
1938 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1939 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1940 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1941 corresponding call in CUDA_ONE_CALL. Add def/undef of
1942 CUDA_ONE_CALL_MAYBE_NULL.
1943 (CUDA_CALL_EXISTS): Define.
1944
9e28b107
TV
19452018-08-07 Tom de Vries <tdevries@suse.de>
1946
1947 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1948 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1949 corresponding undefs right after.
1950
09940090
TV
19512018-08-04 Tom de Vries <tdevries@suse.de>
1952
1953 * plugin/configfrag.ac: For --without-cuda-driver, set
1954 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1955 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1956 * configure: Regenerate.
1957
77e0a97a
TV
19582018-08-02 Tom de Vries <tdevries@suse.de>
1959
1960 PR target/86660
1961 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1962 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1963 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1964 Same.
1965 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1966 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1967 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1968
701d080a
CP
19692018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1970 Thomas Schwinge <thomas@codesourcery.com>
1971
1972 * config/nvptx/oacc-parallel.c: Truncate.
1973
094db6be
CP
19742018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1975 James Norris <jnorris@codesourcery.com>
1976
1977 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
1978 (map_init, map_pop): Remove use of struct map.
1979 (map_push): Likewise and change argument list.
094db6be
CP
1980 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1981
8c6310a2
TV
19822018-08-01 Tom de Vries <tdevries@suse.de>
1983
1984 * plugin/cuda-lib.def: New file. Factor out of ...
1985 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1986 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1987 using CUDA_CALLS.
1988
1d4a51cf
AV
19892018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1990
1991 Revert 'AsyncI/O patch committed'.
1992 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1993 Thomas Koenig <tkoenig@gcc.gnu.org>
1994
1995 PR fortran/25829
1996 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1997 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1998 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1999 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2000 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2001 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2002 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2003
4cdfee3f
TV
20042018-07-30 Tom de Vries <tdevries@suse.de>
2005
2006 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2007 (nvptx_exec): Ensure worker and vector default dims don't exceed
2008 targ_fn->max_threads_per_block.
2009
0b210c43
TV
20102018-07-30 Tom de Vries <tdevries@suse.de>
2011
2012 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2013 (nvptx_open_device): Init default_dims for device.
2014 (nvptx_exec): Use default_dims from device.
2015
5883c5cc
JJ
20162018-07-26 Jakub Jelinek <jakub@redhat.com>
2017
5d36384c
JJ
2018 PR testsuite/86660
2019 * testsuite/libgomp.c++/for-15.C (results): Include it in
2020 omp declare target region.
2021 (main): Use map (always, tofrom: results) instead of
2022 map (tofrom: results).
2023
5883c5cc
JJ
2024 PR middle-end/86660
2025 * testsuite/libgomp.c/pr86660.c: New test.
2026
88a4654d
CP
20272018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2028 Tom de Vries <tdevries@suse.de>
2029
2030 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2031 sufficient resources to launch a kernel, and give a hint on how to fix
2032 it.
2033
0c6c2f5f
CP
20342018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2035 Tom de Vries <tdevries@suse.de>
2036
2037 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2038 max_threads_per_block and max_threads_per_multiprocessor fields.
2039 (nvptx_open_device): Initialize new fields.
2040 (nvptx_exec): Use num_sms, and new fields.
2041
6dd58010
TV
20422018-07-26 Tom de Vries <tdevries@suse.de>
2043
2044 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2045 to correct locations. Remove xfail.
2046
b2eb1779
TV
20472018-07-26 Tom de Vries <tdevries@suse.de>
2048
2049 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2050 acc_wait. Move acc_async_test calls to correct locations. Remove
2051 xfail.
2052
b1f45884
NK
20532018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2054 Thomas Koenig <tkoenig@gcc.gnu.org>
2055
2056 PR fortran/25829
2057 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2058 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2059 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2060 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2061 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2062 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2063 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2064
3a106211
JJ
20652018-07-17 Jakub Jelinek <jakub@redhat.com>
2066
a3bccfa1
JJ
2067 PR middle-end/86542
2068 * testsuite/libgomp.c++/pr86542.C: New test.
2069
3a106211
JJ
2070 PR middle-end/86539
2071 * testsuite/libgomp.c++/pr86539.C: New test.
2072
2bae8b2f
JJ
20732018-07-11 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR c++/86443
2076 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2077 (results): Make sure the variable is not inside declare target region.
2078 (qux): Remove unused function.
2079
0b27c3ed
JJ
20802018-07-10 Jakub Jelinek <jakub@redhat.com>
2081
2082 PR c++/86443
2083 * testsuite/libgomp.c++/for-15.C: New test.
2084
f0391511
JJ
20852018-06-26 Jakub Jelinek <jakub@redhat.com>
2086
2087 PR c++/86291
2088 * testsuite/libgomp.c++/pr86291.C: New test.
2089
1a6d1d24
GP
20902018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2091
2092 * libgomp.texi (Top): Move www.openmp.org to https.
2093 (Enabling OpenMP): Ditto.
2094 (omp_get_active_level): Ditto.
2095 (omp_get_ancestor_thread_num): Ditto.
2096 (omp_get_cancellation): Ditto.
2097 (omp_get_default_device): Ditto.
2098 (omp_get_dynamic): Ditto.
2099 (omp_get_level): Ditto.
2100 (omp_get_max_active_levels): Ditto.
2101 (omp_get_max_task_priority): Ditto.
2102 (omp_get_max_threads): Ditto.
2103 (omp_get_nested): Ditto.
2104 (omp_get_num_devices): Ditto.
2105 (omp_get_num_procs): Ditto.
2106 (omp_get_num_teams): Ditto.
2107 (omp_get_num_threads): Ditto.
2108 (omp_get_proc_bind): Ditto.
2109 (omp_get_schedule): Ditto.
2110 (omp_get_team_num): Ditto.
2111 (omp_get_team_size): Ditto.
2112 (omp_get_thread_limit): Ditto.
2113 (omp_get_thread_num): Ditto.
2114 (omp_in_parallel): Ditto.
2115 (omp_in_final): Ditto.
2116 (omp_is_initial_device): Ditto.
2117 (omp_set_default_device): Ditto.
2118 (omp_set_dynamic): Ditto.
2119 (omp_set_max_active_levels): Ditto.
2120 (omp_set_nested): Ditto.
2121 (omp_set_num_threads): Ditto.
2122 (omp_set_schedule): Ditto.
2123 (omp_init_lock): Ditto.
2124 (omp_set_lock): Ditto.
2125 (omp_test_lock): Ditto.
2126 (omp_unset_lock): Ditto.
2127 (omp_destroy_lock): Ditto.
2128 (omp_init_nest_lock): Ditto.
2129 (omp_set_nest_lock): Ditto.
2130 (omp_test_nest_lock): Ditto.
2131 (omp_unset_nest_lock): Ditto.
2132 (omp_destroy_nest_lock): Ditto.
2133 (omp_get_wtick): Ditto.
2134 (omp_get_wtime): Ditto.
2135 (OMP_CANCELLATION): Ditto.
2136 (OMP_DISPLAY_ENV): Ditto.
2137 (OMP_DEFAULT_DEVICE): Ditto.
2138 (OMP_DYNAMIC): Ditto.
2139 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2140 (OMP_MAX_TASK_PRIORITY): Ditto.
2141 (OMP_NESTED): Ditto.
2142 (OMP_NUM_THREADS): Ditto.
2143 (OMP_PROC_BIND): Ditto.
2144 (OMP_PLACES): Ditto.
2145 (OMP_STACKSIZE): Ditto.
2146 (OMP_SCHEDULE): Ditto.
2147 (OMP_THREAD_LIMIT): Ditto.
2148 (OMP_WAIT_POLICY): Ditto.
2149
31dd69b7
CP
21502018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2151 James Norris <jnorris@codesourcery.com>
2152 Julian Brown <julian@codesourcery.com>
2153 Thomas Schwinge <thomas@codesourcery.com>
2154 Tom de Vries <tom@codesourcery.com>
2155
2156 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2157 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2158 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2159 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2160 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2161 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2162 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2163 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2164 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2165 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2166 Likewise.
2167 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2168 Likewise.
2169 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2170 Likewise.
2171 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2172 Likewise.
2173 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2174 Likewise.
2175 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2176 Likewise.
2177 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2178 Likewise.
2179 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2180 Likewise.
2181 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2182 Likewise.
2183 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2184 Likewise.
2185 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2186 Likewise.
2187 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2188 Likewise.
2189 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2190 Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2192 Likewise.
2193 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2194 Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2196 Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2198 Likewise.
2199 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2200 Likewise.
2201 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2202 Likewise.
2203 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2204 Likewise.
2205 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2206 Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2208 Likewise.
2209 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2210 Likewise.
2211 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2212 Likewise.
2213 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2214 Likewise.
2215 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2216 Likewise.
2217 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2218 Likewise.
2219 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2220 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2221 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2222 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2223 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2224 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2225 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2226 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2227 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2228 Likewise.
2229 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2230 Likewise.
2231 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2232 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2233 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2234 Likewise.
2235 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2236 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2237 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2238 Likewise.
2239 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2240 Likewise.
2241 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2242 Likewise.
2243 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2244 Likewise.
2245 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2246 Likewise.
2247 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2248 Likewise.
2249 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2250 Likewise.
2251 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2252 Likewise.
2253 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2254 Likewise.
2255 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2256 Likewise.
2257 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2258 Likewise.
2259 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2260 Likewise.
2261 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2262 Likewise.
2263 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2264 Likewise.
2265 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2266 Likewise.
2267 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2268 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2269 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2270 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2271 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2272 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2273 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2274
829c6349
CLT
22752018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2276 Thomas Schwinge <thomas@codesourcery.com>
2277 Cesar Philippidis <cesar@codesourcery.com>
2278
2279 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2280 (gomp_acc_remove_pointer): Update declaration.
2281 (gomp_acc_declare_allocate): Declare.
2282 (gomp_remove_var): Declare.
2283 * libgomp.map (OACC_2.5): Define.
2284 * oacc-mem.c (acc_map_data): Update refcount.
2285 (acc_unmap_data): Likewise.
2286 (present_create_copy): Likewise.
2287 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2288 (acc_copyin): Likewise.
2289 (FLAG_FINALIZE): Define.
2290 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2291 (acc_delete_finalize): New function.
2292 (acc_delete_finalize_async): New function.
2293 (acc_copyout_finalize): New function.
2294 (acc_copyout_finalize_async): New function.
2295 (gomp_acc_insert_pointer): Update refcounts.
2296 (gomp_acc_remove_pointer): Return if data is not present on the
2297 accelerator.
2298 * oacc-parallel.c (find_pset): Rename to find_pointer.
2299 (find_pointer): Add support for GOMP_MAP_POINTER.
2300 (handle_ftn_pointers): New function.
2301 (GOACC_parallel_keyed): Update refcounts of variables.
2302 (GOACC_enter_exit_data): Add support for finalized data mappings.
2303 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2304 of fortran arrays.
2305 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2306 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2307 for GOMP_MAP_FORCE_FROM.
2308 * openacc.f90 (module openacc_internal): Add
2309 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2310 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2311 acc_copyout_finalize and acc_delete_finalize.
2312 (acc_copyout_finalize_32_h): New subroutine.
2313 (acc_copyout_finalize_64_h): New subroutine.
2314 (acc_copyout_finalize_array_h): New subroutine.
2315 (acc_delete_finalize_32_h): New subroutine.
2316 (acc_delete_finalize_64_h): New subroutine.
2317 (acc_delete_finalize_array_h): New subroutine.
2318 * openacc.h (acc_copyout_finalize): Declare.
2319 (acc_copyout_finalize_async): Declare.
2320 (acc_delete_finalize): Declare.
2321 (acc_delete_finalize_async): Declare.
2322 * openacc_lib.h (acc_copyout_finalize): New interface.
2323 (acc_delete_finalize): New interface.
2324 * target.c (gomp_map_vars): Update dynamic_refcount.
2325 (gomp_remove_var): New function.
2326 (gomp_unmap_vars): Use it.
2327 (gomp_unload_image_from_device): Likewise.
2328 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2329 case to utilize OpenACC 2.5 data clause semantics.
2330 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2331 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2332 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2333 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2334 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2335 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2336 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2337 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2338 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2339 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2340 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2341 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2342 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2343 utilize OpenACC 2.5 data clause semantics.
2344 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2345 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2346 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2347 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2348 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2349 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2350 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2351 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2352 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2353
4358400b
JW
23542018-05-21 Janus Weil <janus@gcc.gnu.org>
2355
2356 PR fortran/85841
2357 PR testsuite/85865
2358 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2359 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2360 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2361 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2362 * testsuite/libgomp.fortran/task2.f90: Ditto.
2363 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2364 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2365 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2366 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2367 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2368 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2369 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2370 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2371 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2372
950ad0ba
CP
23732018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2374
2375 PR c++/85782
2376 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2377
f5ad16f1
TV
23782018-05-09 Tom de Vries <tom@codesourcery.com>
2379
2380 PR libgomp/82901
2381 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2382 to GOACC_enter_exit_data.
2383
edbd038a
TV
23842018-05-09 Tom de Vries <tom@codesourcery.com>
2385
2386 PR libgomp/83792
2387 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2388 (async_synchronous_p): New function.
2389 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2390 async_valid_p.
2391 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2392 async_valid_stream_id_p.
2393 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2394 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2395
37d6c719
TV
23962018-05-07 Tom de Vries <tom@codesourcery.com>
2397
2398 PR testsuite/85677
2399 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2400 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2401
63f12215
TV
24022018-05-03 Tom de Vries <tom@codesourcery.com>
2403
2404 PR testsuite/85106
2405 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2406 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2407 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2408 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2409
ec00d3fa
TV
24102018-05-02 Tom de Vries <tom@codesourcery.com>
2411
2412 PR libgomp/85411
2413 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2414 GOMP_OPENACC_DIM ...
2415 * env.c (parse_gomp_openacc_dim): ... here. New function.
2416 (initialize_env): Call parse_gomp_openacc_dim.
2417 (goacc_default_dims): Define.
2418 * libgomp.h (goacc_default_dims): Declare.
2419 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2420 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2421 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2422 GOMP_PLUGIN_acc_default_dim.
2423 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2424 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2425
92243e7c
TV
24262018-05-02 Tom de Vries <tom@codesourcery.com>
2427
2428 PR testsuite/83791
2429 * testsuite/libgomp.c++/udr-9.C: Update.
2430 * testsuite/libgomp.c++/atomic-16.C: Remove.
2431 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2432 * testsuite/libgomp.c++/loop-13.C: Remove.
2433 * testsuite/libgomp.c++/loop-14.C: Remove.
2434 * testsuite/libgomp.c++/loop-15.C: Remove.
2435 * testsuite/libgomp.c++/monotonic-1.C: Remove.
2436 * testsuite/libgomp.c++/monotonic-2.C: Remove.
2437 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2438 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2439 * testsuite/libgomp.c++/ordered-1.C: Remove.
2440 * testsuite/libgomp.c++/pr45784.C: Remove.
2441 * testsuite/libgomp.c++/pr64824.C: Remove.
2442 * testsuite/libgomp.c++/pr64868.C: Remove.
2443 * testsuite/libgomp.c++/pr66199-1.C: Remove.
2444 * testsuite/libgomp.c++/pr66199-2.C: Remove.
2445 * testsuite/libgomp.c++/pr66199-3.C: Remove.
2446 * testsuite/libgomp.c++/pr66199-4.C: Remove.
2447 * testsuite/libgomp.c++/pr66199-5.C: Remove.
2448 * testsuite/libgomp.c++/pr66199-6.C: Remove.
2449 * testsuite/libgomp.c++/pr66199-7.C: Remove.
2450 * testsuite/libgomp.c++/pr66199-8.C: Remove.
2451 * testsuite/libgomp.c++/pr66199-9.C: Remove.
2452 * testsuite/libgomp.c++/pr69389.C: Remove.
2453 * testsuite/libgomp.c++/simd10.C: Remove.
2454 * testsuite/libgomp.c++/simd11.C: Remove.
2455 * testsuite/libgomp.c++/simd12.C: Remove.
2456 * testsuite/libgomp.c++/simd13.C: Remove.
2457 * testsuite/libgomp.c++/target-1.C: Remove.
2458 * testsuite/libgomp.c++/target-3.C: Remove.
2459 * testsuite/libgomp.c++/target-4.C: Remove.
2460 * testsuite/libgomp.c++/target-5.C: Remove.
2461 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2462 * testsuite/libgomp.c++/taskloop-1.C: Remove.
2463 * testsuite/libgomp.c++/taskloop-2.C: Remove.
2464 * testsuite/libgomp.c++/taskloop-3.C: Remove.
2465 * testsuite/libgomp.c++/taskloop-4.C: Remove.
2466 * testsuite/libgomp.c++/udr-9.C: Remove.
2467 * testsuite/libgomp.c++/for-10.C: Remove.
2468 * testsuite/libgomp.c++/for-11.C: Remove.
2469 * testsuite/libgomp.c++/for-12.C: Remove.
2470 * testsuite/libgomp.c++/for-13.C: Remove.
2471 * testsuite/libgomp.c++/for-14.C: Remove.
2472 * testsuite/libgomp.c++/for-9.C: Remove.
2473 * testsuite/libgomp.c/atomic-18.c: Move ...
2474 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2475 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2476 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2477 * testsuite/libgomp.c/loop-13.c: Move ...
2478 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2479 * testsuite/libgomp.c/loop-14.c: Move ...
2480 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2481 * testsuite/libgomp.c/loop-15.c: Remove.
2482 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2483 * testsuite/libgomp.c/monotonic-1.c: Move ...
2484 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2485 * testsuite/libgomp.c/monotonic-2.c: Move ...
2486 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2487 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2488 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2489 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2490 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2491 * testsuite/libgomp.c/ordered-4.c: Move ...
2492 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2493 * testsuite/libgomp.c/pr45784.c: Move ...
2494 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2495 * testsuite/libgomp.c/pr64824.c: Move ...
2496 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2497 * testsuite/libgomp.c/pr64868.c: Move ...
2498 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2499 * testsuite/libgomp.c/pr66199-1.c: Move ...
2500 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2501 * testsuite/libgomp.c/pr66199-2.c: Move ...
2502 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2503 * testsuite/libgomp.c/pr66199-3.c: Move ...
2504 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2505 * testsuite/libgomp.c/pr66199-4.c: Move ...
2506 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2507 * testsuite/libgomp.c/pr66199-5.c: Move ...
2508 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2509 * testsuite/libgomp.c/pr66199-6.c: Move ...
2510 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2511 * testsuite/libgomp.c/pr66199-7.c: Move ...
2512 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2513 * testsuite/libgomp.c/pr66199-8.c: Move ...
2514 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2515 * testsuite/libgomp.c/pr66199-9.c: Move ...
2516 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2517 * testsuite/libgomp.c/pr69389.c: Move ...
2518 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2519 * testsuite/libgomp.c/simd-14.c: Move ...
2520 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2521 * testsuite/libgomp.c/simd-15.c: Move ...
2522 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2523 * testsuite/libgomp.c/simd-16.c: Move ...
2524 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2525 * testsuite/libgomp.c/simd-17.c: Move ...
2526 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2527 * testsuite/libgomp.c/target-1.c: Move ...
2528 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2529 * testsuite/libgomp.c/target-10.c: Move ...
2530 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2531 * testsuite/libgomp.c/target-13.c: Move ...
2532 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2533 * testsuite/libgomp.c/target-2.c: Move ...
2534 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2535 * testsuite/libgomp.c/taskgroup-1.c: Move ...
2536 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2537 * testsuite/libgomp.c/taskloop-1.c: Move ...
2538 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2539 * testsuite/libgomp.c/taskloop-2.c: Move ...
2540 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2541 * testsuite/libgomp.c/taskloop-3.c: Move ...
2542 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2543 * testsuite/libgomp.c/taskloop-4.c: Move ...
2544 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2545 * testsuite/libgomp.c/udr-1.c: Move ...
2546 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2547 * testsuite/libgomp.c/for-1.c: Move ...
2548 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2549 * testsuite/libgomp.c/for-1.h: Move ...
2550 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2551 * testsuite/libgomp.c/for-2.c: Move ...
2552 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2553 * testsuite/libgomp.c/for-2.h: Move ...
2554 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2555 * testsuite/libgomp.c/for-3.c: Move ...
2556 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2557 * testsuite/libgomp.c/for-4.c: Move ...
2558 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2559 * testsuite/libgomp.c/for-5.c: Move ...
2560 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2561 * testsuite/libgomp.c/for-6.c: Move ...
2562 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2563
1f62d637
TV
25642018-05-02 Tom de Vries <tom@codesourcery.com>
2565
2566 PR libgomp/82428
2567 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2568 __builtin_goacc_parlevel_{id,size}.
2569 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2570 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2571 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2572 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2573 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2574 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2575 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2576 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2577 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2578 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2579 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2580 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2581 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2582 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2583 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2584 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2585 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2586 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2587 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2588 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2589 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2590 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2591 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2592
9220b511
TV
25932018-05-02 Tom de Vries <tom@codesourcery.com>
2594
2595 PR testsuite/85106
2596 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2597
6c3c13c1
TV
25982018-05-02 Tom de Vries <tom@codesourcery.com>
2599
2600 PR testsuite/85106
2601 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2602
8d70b61e
JB
26032018-04-29 Julian Brown <julian@codesourcery.com>
2604 Tom de Vries <tom@codesourcery.com>
2605
2606 PR testsuite/85527
2607 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2608 arbitrary order for iterations of atomic subtract check.
2609
4a57a4b6
TV
26102018-04-28 Tom de Vries <tom@codesourcery.com>
2611
2612 PR testsuite/85527
2613 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2614 atomic capture results obtained in parallel loop to an array, instead of
2615 to a scalar.
2616
df36a3d3
TV
26172018-04-26 Tom de Vries <tom@codesourcery.com>
2618
2619 PR libgomp/84020
2620 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2621 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2622 (process_GOMP_NVPTX_JIT): New function.
2623 (link_ptx): Use process_GOMP_NVPTX_JIT.
2624
d160ae78
RB
26252018-04-26 Richard Biener <rguenther@suse.de>
2626 Tom de Vries <tom@codesourcery.com>
2627
2628 PR lto/85422
2629 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2630
ca9dc642
TV
26312018-04-26 Tom de Vries <tom@codesourcery.com>
2632
2633 PR target/85519
2634 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2635 recursion depth from 25 to 23.
2636 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2637
7b47ecf2
L
26382018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2639
2640 * configure: Regenerated.
2641
e91eba31
NS
26422018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2643 Tom de Vries <tom@codesourcery.com>
2644
2645 PR target/85445
2646 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2647
6e0d40b6
TS
26482018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2649
2650 PR libgomp/85463
2651 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2652 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2653 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2654 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2655 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2656 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2657
2658 PR libfortran/85166
2659 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2660 abort".
2661 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2662
a0e1df88
JJ
26632018-04-19 Jakub Jelinek <jakub@redhat.com>
2664
2665 * configure: Regenerated.
2666
001ddaa8
DM
26672018-04-18 David Malcolm <dmalcolm@redhat.com>
2668
2669 PR jit/85384
2670 * configure: Regenerate.
2671
05e0af43
CP
26722018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2673 Tom de Vries <tom@codesourcery.com>
2674
2675 PR middle-end/84955
2676 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2677 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2678
bc436e10
TK
26792018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2680
2681 PR fortran/83064
2682 PR testsuite/85346
2683 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2684 test from gfortran.dg to here.
2685
ffb164c7
JJ
26862018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2687
2688 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2689 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2690
26912018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2692
2693 PR middle-end/84955
2694 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2695 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2696
2ba16fd2
TV
26972018-04-05 Tom de Vries <tom@codesourcery.com>
2698
2699 PR target/85204
2700 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2701
46dbeb40
TV
27022018-03-26 Tom de Vries <tom@codesourcery.com>
2703
2704 PR tree-optimization/85063
2705 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2706 * testsuite/libgomp.c/switch-conversion.c: New test.
2707 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2708 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2709
bfc24e32
TK
27102018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2711
2712 PR fortran/84381
2713 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2714 call abort by STOP n.
2715 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2716 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2717 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2718 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2719 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2720 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2721 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2722 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2723 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2724 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2725 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2726 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2727 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2728 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2729 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2730 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2731 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2732 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2733 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2734 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2735 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2736 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2737 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2738 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2739 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2740 * testsuite/libgomp.fortran/character1.f90: Likewise.
2741 * testsuite/libgomp.fortran/character2.f90: Likewise.
2742 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2743 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2744 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2745 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2746 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2747 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2748 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2749 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2750 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2751 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2752 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2753 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2754 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2755 * testsuite/libgomp.fortran/do1.f90: Likewise.
2756 * testsuite/libgomp.fortran/do2.f90: Likewise.
2757 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2758 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2759 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2760 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2761 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2762 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2763 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2764 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2765 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2766 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2767 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2768 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2769 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2770 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2771 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2772 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2773 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2774 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2775 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2776 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2777 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2778 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2779 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2780 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2781 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2782 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2783 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2784 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2785 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2786 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2787 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2788 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2789 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2790 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2791 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2792 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2793 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2794 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2795 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2796 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2797 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2798 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2799 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2800 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2801 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2802 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2803 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2804 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2805 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2806 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2807 * testsuite/libgomp.fortran/lib2.f: Likewise.
2808 * testsuite/libgomp.fortran/lib3.f: Likewise.
2809 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2810 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2811 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2812 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2813 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2814 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2815 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2816 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2817 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2818 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2819 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2820 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2821 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2822 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2823 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2824 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2825 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2826 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2827 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2828 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2829 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2830 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2831 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2832 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2833 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2834 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2835 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2836 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2837 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2838 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2839 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2840 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2841 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2842 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2843 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2844 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2845 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2846 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2847 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2848 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2849 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2850 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2851 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2852 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2853 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2854 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2855 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2856 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2857 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2858 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2859 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2860 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2861 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2862 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2863 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2864 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2865 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2866 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2867 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2868 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2869 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2870 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2871 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2872 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2873 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2874 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2875 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2876 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2877 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2878 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2879 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2880 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2881 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2882 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2883 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2884 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2885 * testsuite/libgomp.fortran/stack.f90: Likewise.
2886 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2887 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2888 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2889 * testsuite/libgomp.fortran/target1.f90: Likewise.
2890 * testsuite/libgomp.fortran/target2.f90: Likewise.
2891 * testsuite/libgomp.fortran/target3.f90: Likewise.
2892 * testsuite/libgomp.fortran/target4.f90: Likewise.
2893 * testsuite/libgomp.fortran/target5.f90: Likewise.
2894 * testsuite/libgomp.fortran/target6.f90: Likewise.
2895 * testsuite/libgomp.fortran/target7.f90: Likewise.
2896 * testsuite/libgomp.fortran/target8.f90: Likewise.
2897 * testsuite/libgomp.fortran/task1.f90: Likewise.
2898 * testsuite/libgomp.fortran/task2.f90: Likewise.
2899 * testsuite/libgomp.fortran/task3.f90: Likewise.
2900 * testsuite/libgomp.fortran/task4.f90: Likewise.
2901 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2902 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2903 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2904 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2905 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2906 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2907 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2908 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2909 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2910 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2911 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2912 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2913 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2914 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2915 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2916 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2917 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2918 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2919 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2920 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2921 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2922 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2923 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2924 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2925 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2926 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2927 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2928 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2929 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2930 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2931 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2932 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2933 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2934 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2935 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2936 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2937 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2938 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2939 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2940 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2941 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2942 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2943 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2944 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2945 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2946 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2947 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2948 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2949 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2950 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2951 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2952 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2953 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2954 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2955 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2956 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2957 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2958 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2959 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2960 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2961 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2962 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2963 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2964 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2965 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2966 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2967 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2968 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2969 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2970 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2971 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2972 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2973 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2974 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2975 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2976 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2977 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2978 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2979 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2980 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2981 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2982 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2983 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2984 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2985 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2986 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2987 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2988 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2989 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2990 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2991 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2992 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2993 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2994 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2995 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2996 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2997 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2998 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2999 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3000 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3001 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3002 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3003 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3004 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3005 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3006 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3007 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3008 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3009 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3010 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3011 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3012 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3013 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3014 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3015 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3016 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3017 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3018 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3019 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3020 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3021 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3022 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3023 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3024 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3025 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3026 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3027
79cf14ae
RB
30282018-03-20 Richard Biener <rguenther@suse.de>
3029
3030 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3031 parallelizable loop.
3032
14e335ed
IT
30332018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3034
3035 PR target/84148
3036 * configure: Regenerate.
3037
83d9be55
JJ
30382018-02-16 Jakub Jelinek <jakub@redhat.com>
3039
3040 PR fortran/84418
3041 * libgomp.fortran/pr84418-1.f90: New test.
3042 * libgomp.fortran/pr84418-2.f90: New test.
3043
d1fe6124
JJ
30442018-02-14 Jakub Jelinek <jakub@redhat.com>
3045
3046 PR fortran/84313
3047 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3048 -std=f2003 -fall-intrinsics into dg-additional-options.
3049
3d224921
MJ
30502018-02-08 Martin Jambor <mjambor@suse.cz>
3051
3052 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3053 clonable.
3054
c7c30edd
MJ
30552018-02-08 Martin Jambor <mjambor@suse.cz>
3056
3057 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3058
f320fdfd
RO
30592018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3060
3061 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3062 [__cplusplus]: Declare extern "C".
3063
c31bc4ac
TV
30642018-02-07 Tom de Vries <tom@codesourcery.com>
3065
3066 PR libgomp/84217
3067 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3068
99ae7ce5
CS
30692018-01-29 Christoph Spiel <cspiel@freenet.de>
3070 Jakub Jelinek <jakub@redhat.com>
3071
3072 PR libgomp/84096
3073 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3074 instead of omp_lock_t.
3075
e77a1236
TV
30762018-01-25 Tom de Vries <tom@codesourcery.com>
3077
3078 PR target/84028
3079 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3080
3dede32b
TV
30812018-01-24 Tom de Vries <tom@codesourcery.com>
3082
3083 PR target/83589
3084 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3085
be606483
TV
30862018-01-24 Tom de Vries <tom@codesourcery.com>
3087
3088 PR target/81352
3089 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3090
8c8e9a6b
TV
30912018-01-19 Tom de Vries <tom@codesourcery.com>
3092 Cesar Philippidis <cesar@codesourcery.com>
3093
3094 PR target/83920
3095 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3096 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3097
65e6aea3
JJ
30982018-01-03 Jakub Jelinek <jakub@redhat.com>
3099
85ec4feb
JJ
3100 Update copyright years.
3101
65e6aea3
JJ
3102 * libgomp.texi: Bump @copying's copyright year.
3103
60bf575c
TV
31042017-12-30 Tom de Vries <tom@codesourcery.com>
3105
3106 PR libgomp/83046
3107 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3108 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3109
7ec16b79
TV
31102017-12-27 Tom de Vries <tom@codesourcery.com>
3111
3112 PR c++/83046
3113 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3114 (test_nonstatic): Fix return type to workaround PR83046.
3115
ac550b9a
JJ
31162017-12-05 Jakub Jelinek <jakub@redhat.com>
3117
3118 PR testsuite/83281
3119 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3120 j suffix instead of i.
3121 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3122 Likewise.
3123
ebdc83f0
CP
31242017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3125
3126 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3127 call to acc_wait (1).
3128
3b3e6283
JJ
31292017-11-24 Jakub Jelinek <jakub@redhat.com>
3130
3131 PR fortran/81304
3132 * testsuite/libgomp.fortran/pr81304.f90: New test.
3133
3b575376
JJ
31342017-11-23 Jakub Jelinek <jakub@redhat.com>
3135
3136 PR fortran/81841
3137 * libgomp.fortran/pr81841.f90: New test.
3138
b13547d8
JJ
31392017-11-22 Jakub Jelinek <jakub@redhat.com>
3140
3141 PR libgomp/83106
3142 * target.c (gomp_target_init): Compute lengths just once and
3143 use them in both malloc size and subsequent copying.
3144
efe33ced
IT
31452017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3146
3147 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3148 * acinclude.m4: Add cet.m4.
3149 * configure: Regenerate.
3150 * Makefile.in: Likewise.
3151 * testsuite/Makefile.in: Likewise.
3152
a7cf2612
TV
31532017-11-15 Tom de Vries <tom@codesourcery.com>
3154
3155 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3156 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3157 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3158 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3159 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3160 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3161
dde76623
TV
31622017-11-14 Tom de Vries <tom@codesourcery.com>
3163
3164 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3165 non-nvidia devices.
3166
4dbeb716
JJ
31672017-11-07 Jakub Jelinek <jakub@redhat.com>
3168
3169 PR c++/82835
3170 * testsuite/libgomp.c++/pr82835.C: New test.
3171
454f8b2b
ML
31722017-11-06 Martin Liska <mliska@suse.cz>
3173
3174 * testsuite/libgomp.c++/loop-2.C: Return a value
3175 for functions with non-void return type, or change type to void,
3176 or add -Wno-return-type for test.
3177 * testsuite/libgomp.c++/loop-4.C: Likewise.
3178 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3179 * testsuite/libgomp.c++/shared-1.C: Likewise.
3180 * testsuite/libgomp.c++/single-1.C: Likewise.
3181 * testsuite/libgomp.c++/single-2.C: Likewise.
3182
12e9c8ce
TV
31832017-10-31 Tom de Vries <tom@codesourcery.com>
3184
3185 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3186 "do {} while (false)".
3187 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3188 after HSA_DEBUG call.
3189
7324369a
JJ
31902017-10-28 Jakub Jelinek <jakub@redhat.com>
3191
3192 * target.c (struct gomp_coalesce_buf): New type.
3193 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3194 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3195 (gomp_copy_host2dev): Add CBUF argument, if copying into
3196 the cached ranges, memcpy into buffer instead of copying
3197 into device.
3198 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3199 Add CBUF argument, pass it through to other calls.
3200 (gomp_map_vars): Aggregate copies from host to device if small enough
3201 and with small enough gaps in between into memcpy into a buffer and
3202 fewer host to device copies from the buffer.
3203 (gomp_update): Adjust gomp_copy_host2dev caller.
3204
933ab0e6
TS
32052017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3206
3207 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3208 run" directive.
3209 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3210 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3211 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3212 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3213
92d5d01a
TV
32142017-10-16 Tom de Vries <tom@codesourcery.com>
3215
3216 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3217 openacc_nvidia_accel_selected.
3218 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3219 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3220 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3221 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3222 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3223 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3224 openacc_nvidia_accel_selected. Skip for shared memory device.
3225 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3226 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3227
191411e4
MJ
32282017-10-09 Martin Jambor <mjambor@suse.cz>
3229
3230 PR hsa/82416
3231 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3232
e923330e
TV
32332017-10-07 Tom de Vries <tom@codesourcery.com>
3234
3235 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3236 Remove acc_device_nvidia references.
3237 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3238 Same.
3239
8fe3ed4c
TV
32402017-10-05 Tom de Vries <tom@codesourcery.com>
3241
3242 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3243 vector_length(32) clause from acc parallel directive.
3244 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3245
26596ee5
TV
32462017-10-04 Tom de Vries <tom@codesourcery.com>
3247
3248 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3249 (main): Reduce sum of arr elements. Assert that hres is exactly
3250 representable in 32-bit floating point.
3251 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3252 (main): Reduce sum of arr elements. Assert that hres and hmres are
3253 exactly representable in 32-bit floating point.
3254 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3255
5c561fa9
TV
32562017-09-28 Tom de Vries <tom@codesourcery.com>
3257
3258 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3259 setting.
3260 * testsuite/libgomp.c++/pr69393.C: Same.
3261 * testsuite/libgomp.c++/taskloop-1.C: Same.
3262 * testsuite/libgomp.c++/taskloop-3.C: Same.
3263 * testsuite/libgomp.c++/taskloop-4.C: Same.
3264 * testsuite/libgomp.c/for-4.c: Same.
3265 * testsuite/libgomp.c/pr66199-3.c: Same.
3266 * testsuite/libgomp.c/pr66199-4.c: Same.
3267 * testsuite/libgomp.c/pr66199-6.c: Same.
3268 * testsuite/libgomp.c/taskloop-1.c: Same.
3269 * testsuite/libgomp.c/taskloop-3.c: Same.
3270 * testsuite/libgomp.c/taskloop-4.c: Same.
3271 * testsuite/libgomp.fortran/aligned1.f03: Same.
3272 * testsuite/libgomp.fortran/condinc1.f: Same.
3273 * testsuite/libgomp.fortran/condinc3.f90: Same.
3274 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3275 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3276 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3277 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3278 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3279 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3280 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3281 * testsuite/libgomp.fortran/recursion1.f90: Same.
3282 * testsuite/libgomp.fortran/target2.f90: Same.
3283 * testsuite/libgomp.fortran/target5.f90: Same.
3284 * testsuite/libgomp.fortran/task3.f90: Same.
3285
7d6206fe
TV
32862017-09-28 Tom de Vries <tom@codesourcery.com>
3287
3288 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3289 vector_length(32) clause from acc parallel directive.
3290 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3291
84c8627c
TV
32922017-09-27 Tom de Vries <tom@codesourcery.com>
3293
3294 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3295 Remove acc_device_nvidia references.
3296
ebc6a85e
TV
32972017-09-16 Tom de Vries <tom@codesourcery.com>
3298
3299 PR c/81875
3300 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3301
82419efb
TV
33022017-09-14 Tom de Vries <tom@codesourcery.com>
3303
3304 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3305 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3306 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3307 * testsuite/libgomp.c/c.exp: Include test-cases from
3308 libgomp.c-c++-common.
3309 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3310 files.
3311
8b586510
JJ
33122017-09-14 Jakub Jelinek <jakub@redhat.com>
3313
3314 PR c++/81314
3315 * testsuite/libgomp.c++/pr81314.C: New test.
3316
9651fbaf
GP
33172017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3318
3319 * libgomp.texi (Top): www.openacc.org now uses https.
3320 (Enabling OpenACC): Ditto.
3321 (acc_get_num_devices): Ditto.
3322 (acc_set_device_type): Ditto.
3323 (acc_get_device_type): Ditto.
3324 (acc_set_device_num): Ditto.
3325 (acc_get_device_num): Ditto.
3326 (acc_async_test): Ditto.
3327 (acc_async_test_all): Ditto.
3328 (acc_wait): Ditto.
3329 (acc_wait_all): Ditto.
3330 (acc_wait_all_async): Ditto.
3331 (acc_wait_async): Ditto.
3332 (acc_init): Ditto.
3333 (acc_shutdown): Ditto.
3334 (acc_on_device): Ditto.
3335 (acc_malloc): Ditto.
3336 (acc_free): Ditto.
3337 (acc_copyin): Ditto.
3338 (acc_present_or_copyin): Ditto.
3339 (acc_create): Ditto.
3340 (acc_present_or_create): Ditto.
3341 (acc_copyout): Ditto.
3342 (acc_delete): Ditto.
3343 (acc_update_device): Ditto.
3344 (acc_update_self): Ditto.
3345 (acc_map_data): Ditto.
3346 (acc_unmap_data): Ditto.
3347 (acc_deviceptr): Ditto.
3348 (acc_hostptr): Ditto.
3349 (acc_is_present): Ditto.
3350 (acc_memcpy_to_device): Ditto.
3351 (acc_memcpy_from_device): Ditto.
3352 (acc_get_current_cuda_device): Ditto.
3353 (acc_get_current_cuda_context): Ditto.
3354 (acc_get_cuda_stream): Ditto.
3355 (acc_set_cuda_stream): Ditto.
3356 (ACC_DEVICE_TYPE): Ditto.
3357 (ACC_DEVICE_NUM): Ditto.
3358 (OpenACC Library Interoperability): Ditto.
3359
50aa16c3
JJ
33602017-08-09 Jakub Jelinek <jakub@redhat.com>
3361
3362 PR c/81687
3363 * testsuite/libgomp.c/pr81687-1.c: New test.
3364 * testsuite/libgomp.c/pr81687-2.c: New test.
3365
56b5041c
JJ
33662017-08-07 Jakub Jelinek <jakub@redhat.com>
3367
3368 PR c/69389
3369 * testsuite/libgomp.c/pr69389.c: New test.
3370 * testsuite/libgomp.c++/pr69389.C: New test.
3371
f4c222c0
TV
33722017-08-07 Tom de Vries <tom@codesourcery.com>
3373
3374 PR middle-end/78266
3375 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3376 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3377
a40ff0ae
JJ
33782017-07-27 Jakub Jelinek <jakub@redhat.com>
3379
3380 PR c/45784
3381 * testsuite/libgomp.c/pr45784.c: New test.
3382 * testsuite/libgomp.c++/pr45784.C: New test.
3383
3717fbe3
TV
33842017-07-19 Tom de Vries <tom@codesourcery.com>
3385
3386 * testsuite/libgomp.oacc-c/vec.c: New test.
3387
9607b014
TV
33882017-07-03 Tom de Vries <tom@codesourcery.com>
3389
3390 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3391
dfb15f6b
TV
33922017-06-27 Tom de Vries <tom@codesourcery.com>
3393
3394 * plugin/plugin-nvptx.c (notify_var): New function.
3395 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3396
22f1a037
TV
33972017-06-27 Tom de Vries <tom@codesourcery.com>
3398
3399 * env.c (parse_unsigned_long_1): Factor out of ...
3400 (parse_unsigned_long): ... here.
3401 (parse_int_1): Factor out of ...
3402 (parse_int): ... here.
3403 (parse_int_secure): New function.
3404 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3405 * secure_getenv.h: Factor out of ...
3406 * plugin/plugin-hsa.c: ... here.
3407 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3408
d54d1fc3
JJ
34092017-06-21 Jakub Jelinek <jakub@redhat.com>
3410
3411 PR c++/81130
3412 * testsuite/libgomp.c++/pr81130.C: New test.
3413
4f4b0ab8
RO
34142017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3415
3416 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3417 default args.
3418 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3419 dg-xfail-run-if default args.
3420
40ffd95f
BE
34212017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3422
3423 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3424 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3425
01275e1e
JJ
34262017-05-30 Jakub Jelinek <jakub@redhat.com>
3427
3428 PR libgomp/80822
3429 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3430 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3431 sibling lists, depending on level just pick up what CPUs to put
3432 together into a place vs. whether add multiple ordered places.
3433
78672bd8
TS
34342017-05-24 Thomas Schwinge <thomas@codesourcery.com>
3435
7ce64403
TS
3436 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3437 * libgomp.map (OACC_2.0.1): Add these.
3438 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3439 for "acc_wait", and "acc_wait_all", respectively.
3440 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3441 for "acc_wait", and "acc_wait_all", respectively.
3442 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3443 * libgomp.texi (acc_wait, acc_wait_all): Update.
3444 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3445 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3446 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3447
318686c2
TS
3448 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3449 acc_present_or_copyin and acc_present_or_create procedures,
3450 respectively.
3451 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3452 generally different variants of OpenACC Runtime Library functions.
3453 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3454
a6745534
TS
3455 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3456 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3457
9b94fbc7
TS
3458 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3459 of preprocessor definitions.
3460 * libgomp.h (strong_alias): Guard by "#ifdef
3461 HAVE_ATTRIBUTE_ALIAS".
3462 * oacc-mem.c: Provide "acc_pcreate" as alias for
3463 "acc_present_or_create", and "acc_pcopyin" as alias for
3464 "acc_present_or_copyin".
3465 * libgomp.map: New version "OACC_2.0.1".
3466 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3467 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3468 its content into...
3469 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3470 Extend testing.
3471
78672bd8
TS
3472 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3473 when disabling nvptx offloading.
3474
0c36d0d5
TS
34752017-05-23 Thomas Schwinge <thomas@codesourcery.com>
3476
fd71a9a2
TS
3477 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3478 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3479 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3480
0c36d0d5
TS
3481 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3482 * testsuite/lib/libgomp.exp
3483 (check_effective_target_openacc_nvidia_accel_configured): New
3484 proc.
3485 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3486 (check_effective_target_c++): New procs.
3487 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3488 (check_effective_target_c++): Likewise.
3489
c24783c4
JJ
34902017-05-22 Jakub Jelinek <jakub@redhat.com>
3491
655e5265
JJ
3492 PR middle-end/80809
3493 * testsuite/libgomp.c/pr80809-2.c: New test.
3494 * testsuite/libgomp.c/pr80809-3.c: New test.
3495
e9e2ef9f
JJ
3496 PR middle-end/80809
3497 * testsuite/libgomp.c/pr80809-1.c: New test.
3498
c24783c4
JJ
3499 PR middle-end/80853
3500 * testsuite/libgomp.c/pr80853.c: New test.
3501
0da2f96a
TS
35022017-05-19 Thomas Schwinge <thomas@codesourcery.com>
3503
7fd549d2
TS
3504 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3505 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3506 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3507 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3508 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3509
0da2f96a
TS
3510 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3511 Debug output for failure.
3512
62ffe920
RO
35132017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3514
3515 * testsuite/lib/libgomp.exp: Load scanlang.exp.
3516
f49215b1
JJ
35172017-04-27 Jakub Jelinek <jakub@redhat.com>
3518
3519 PR bootstrap/80531
3520 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3521 bootstrap compare failures.
3522
2260d19d
AM
35232017-04-20 Alexander Monakov <amonakov@ispras.ru>
3524
3525 * testsuite/libgomp.c/target-36.c: New testcase.
3526
19929ba9
JJ
35272017-04-13 Jakub Jelinek <jakub@redhat.com>
3528
3529 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3530 instead of char.
3531
fbc698e0
JJ
35322017-04-11 Jakub Jelinek <jakub@redhat.com>
3533
3534 PR libgomp/80394
3535 * testsuite/libgomp.c/pr80394.c: New test.
3536
c4060df4
JJ
35372017-04-04 Jakub Jelinek <jakub@redhat.com>
3538
3539 PR libgomp/79876
3540 * config/posix/thread-stacksize.h: New file.
3541 * config/darwin/thread-stacksize.h: New file.
3542 * config/nvptx/thread-stacksize.h: New file.
3543 * env.c: Include thread-stacksize.h.
3544 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3545 instead of 0. Call pthread_attr_setstacksize even if
3546 GOMP_DEFAULT_STACKSIZE is non-zero.
3547
e02d868a
JJ
35482017-03-30 Jakub Jelinek <jakub@redhat.com>
3549
3550 * env.c (initialize_env): Initialize stacksize to 0.
3551
7ba8651e
CP
35522017-03-22 Cesar Philippidis <cesar@codesourcery.com>
3553
3554 PR c++/80029
3555 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3556
eebc5e2d
JJ
35572017-03-08 Jakub Jelinek <jakub@redhat.com>
3558
3559 PR c/79940
3560 * testsuite/libgomp.c/pr79940.c: New test.
3561
1eb08f52
RO
35622017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3563
3564 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3565 targets.
3566 Add __float128 options.
3567
b0f78ff3
JDA
35682017-02-11 John David Anglin <danglin@gcc.gnu.org>
3569
3570 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3571 hppa*-*-* dg-skip-if directive.
3572
1bbe0d8f
JJ
35732017-02-09 Jakub Jelinek <jakub@redhat.com>
3574
3575 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3576 dg-skip-if directive into a comment.
3577
02889d23
CLT
35782017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3579 Chung-Lin Tang <cltang@codesourcery.com>
3580
3581 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3582 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3583 add additional case.
3584 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3585 "openacc_nvidia_accel_selected".
3586 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3587 Add num_workers(8) clause.
3588
5896a41d
JDA
35892017-02-08 John David Anglin <danglin@gcc.gnu.org>
3590
3591 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3592 hppa*-*-*.
3593 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3594 include complex.h on hppa*-*-hpux*.
3595 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3596
345a8c17
TS
35972017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3598
e70ab10d
TS
3599 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3600
345a8c17
TS
3601 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3602 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3603 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3604 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3605 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3606 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3607 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3608 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3609 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3610 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3611
dced339c
TS
36122017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3613
3614 * libgomp-plugin.h: #include <stdbool.h>.
3615 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3616 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3617 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3618 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3619 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3620 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3621 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3622 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3623 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3624 (GOMP_OFFLOAD_openacc_async_test)
3625 (GOMP_OFFLOAD_openacc_async_test_all)
3626 (GOMP_OFFLOAD_openacc_async_wait)
3627 (GOMP_OFFLOAD_openacc_async_wait_async)
3628 (GOMP_OFFLOAD_openacc_async_wait_all)
3629 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3630 (GOMP_OFFLOAD_openacc_async_set_async)
3631 (GOMP_OFFLOAD_openacc_create_thread_data)
3632 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3633 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3634 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3635 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3636 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3637 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3638 these.
3639 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3640 (GOMP_OFFLOAD_unload_image): Fix argument types.
3641
23749904
JJ
36422017-01-26 Jakub Jelinek <jakub@redhat.com>
3643
c1cadde1
JJ
3644 * testsuite/lib/libgomp.exp
3645 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3646 check_compile invocation. Fix up removal of executable. Drop
3647 bogus "2>&1" argument.
3648
23749904
JJ
3649 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3650 directive.
3651
36522017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3653 Martin Jambor <mjambor@suse.cz>
3654
3655 * plugin/hsa.h: Moved to top level include.
3656 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3657
73aa401e
JJ
36582017-01-21 Jakub Jelinek <jakub@redhat.com>
3659
3660 PR other/79046
3661 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3662 of cat to get version from BASE-VER file.
3663 * testsuite/Makefile.in: Regenerated.
3664
b32e85fa
JJ
36652017-01-19 Jakub Jelinek <jakub@redhat.com>
3666
3667 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3668 for _WIN64.
3669
3c36aa6b
JJ
36702017-01-17 Jakub Jelinek <jakub@redhat.com>
3671
d190d5c0
JJ
3672 * plugin/hsa.h: Add GCC runtime library exception.
3673 * plugin/hsa_ext_finalize.h: Likewise.
3674
2393d337
JJ
3675 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3676 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3677 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3678 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3679 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3680 library to link ptx plugin against.
3681 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3682 (CUDA_CALLS): Define.
3683 (cuda_lib, cuda_lib_inited): New variables.
3684 (init_cuda_lib): New function.
3685 (CUDA_CALL_PREFIX): Define.
3686 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3687 (CUDA_CALL): Use FN instead of (FN).
3688 (CUDA_CALL_NOCHECK): Define.
3689 (cuda_error, fini_streams_for_device, select_stream_for_async,
3690 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3691 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3692 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3693 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3694 CUDA_CALL_NOCHECK.
3695 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3696 CUDA_CALL_NOCHECK.
3697 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3698 Use CUDA_CALL_NOCHECK.
3699 * plugin/cuda/cuda.h: New file.
3700 * config.h.in: Regenerated.
3701 * configure: Regenerated.
3702
3c36aa6b
JJ
3703 PR other/79046
3704 * configure.ac: Add GCC_BASE_VER.
3705 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3706 get version from BASE-VER file.
3707 * testsuite/Makefile.in: Regenerated.
3708 * configure: Regenerated.
3709 * Makefile.in: Regenerated.
3710
c508bc2d
FXC
37112017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3712
3713 PR libgomp/60670
3714 * Makefile.am: Make fincludedir multilib-aware.
3715 * Makefile.in: Regenerate.
3716
c1a9c369
JJ
37172017-01-01 Jakub Jelinek <jakub@redhat.com>
3718
cbe34bb5
JJ
3719 Update copyright years.
3720
c1a9c369
JJ
3721 * libgomp.texi: Bump @copying's copyright year.
3722
e7a7f4be
SH
37232016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3724
3725 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3726 pthread_spinlock_t instead of gomp_mutex_t lock.
3727 (gomp_get_thread_pool): Likewise.
3728 (gomp_release_thread_pool): Likewise.
3729 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3730 Likewise.
3731
d313d52c
SH
37322016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3733
3734 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3735 thread pool in case nthreads == 1.
3736
630e3c3a
AM
37372016-11-30 Alexander Monakov <amonakov@ispras.ru>
3738
3739 * config/nvptx/env.c: Delete.
3740 * icv.c: Move definitions of ICV variables back ...
3741 * env.c: ...here. Do not compile environment-related functionality if
3742 LIBGOMP_OFFLOADED_ONLY is set.
3743
9e38af5c
AM
37442016-11-30 Alexander Monakov <amonakov@ispras.ru>
3745
3746 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3747 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3748 * configure: Regenerate.
3749 * config.h.in: Likewise.
3750
f96b7f1f
AM
37512016-11-30 Alexander Monakov <amonakov@ispras.ru>
3752
3753 * Makefile.in: Regenerate with automake-1.11.6.
3754 * aclocal.m4: Likewise.
3755 * configure: Likewise.
3756 * testsuite/Makefile.in: Likewise.
3757
6a6951b1
AM
37582016-11-28 Alexander Monakov <amonakov@ispras.ru>
3759
3760 * config/nvptx/critical.c: Delete to use generic implementation.
3761
c7ac071f
JH
37622016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3763
3764 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3765 ../../affinity.c as fallback.
3766 * config/nvptx/affinity.c: Delete to use fallback implementation.
3767
6103184e 37682016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3769 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3770 Dmitry Melnik <dm@ispras.ru>
3771
3772 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3773 * Makefile.in. Regenerate.
3774 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3775 (LIBGOMP_USE_PTHREADS): ...here; new define.
3776 * configure: Regenerate.
3777 * config.h.in: Likewise.
3778 * config/posix/affinity.c: Move to...
3779 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3780 interface by LIBGOMP_USE_PTHREADS.
3781 * critical.c: Split out GOMP_atomic_{start,end} into...
3782 * atomic.c: ...here (new file).
3783 * env.c: Split out ICV definitions into...
3784 * icv.c: ...here (new file) and...
3785 * icv-device.c: ...here. New file.
3786 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3787 (gomp_destroy_lock_30): Ditto.
3788 (gomp_set_lock_30): Ditto.
3789 (gomp_unset_lock_30): Ditto.
3790 (gomp_test_lock_30): Ditto.
3791 (gomp_init_nest_lock_30): Ditto.
3792 (gomp_destroy_nest_lock_30): Ditto.
3793 (gomp_set_nest_lock_30): Ditto.
3794 (gomp_unset_nest_lock_30): Ditto.
3795 (gomp_test_nest_lock_30): Ditto.
3796 * lock.c: New.
3797 * config/nvptx/lock.c: New.
3798 * config/nvptx/bar.c: New.
3799 * config/nvptx/bar.h: New.
3800 * config/nvptx/doacross.h: New.
3801 * config/nvptx/error.c: New.
3802 * config/nvptx/icv-device.c: New.
3803 * config/nvptx/mutex.h: New.
3804 * config/nvptx/pool.h: New.
3805 * config/nvptx/proc.c: New.
3806 * config/nvptx/ptrlock.h: New.
3807 * config/nvptx/sem.h: New.
3808 * config/nvptx/simple-bar.h: New.
3809 * config/nvptx/target.c: New.
3810 * config/nvptx/task.c: New.
3811 * config/nvptx/team.c: New.
3812 * config/nvptx/time.c: New.
3813 * config/posix/simple-bar.h: New.
3814 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3815 (gomp_num_teams_var): Declare.
3816 (struct gomp_thread_pool): Change threads_dock member to
3817 gomp_simple_barrier_t.
3818 [__nvptx__] (gomp_thread): New implementation.
3819 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3820 (gomp_thread_destructor): Ditto.
3821 (gomp_init_thread_affinity): Ditto.
3822 * team.c: Guard uses of Pthreads-specific interfaces by
3823 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3824 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3825 * config/nvptx/alloc.c: Delete.
3826 * config/nvptx/barrier.c: Ditto.
3827 * config/nvptx/fortran.c: Ditto.
3828 * config/nvptx/iter.c: Ditto.
3829 * config/nvptx/iter_ull.c: Ditto.
3830 * config/nvptx/loop.c: Ditto.
3831 * config/nvptx/loop_ull.c: Ditto.
3832 * config/nvptx/ordered.c: Ditto.
3833 * config/nvptx/parallel.c: Ditto.
3834 * config/nvptx/priority_queue.c: Ditto.
3835 * config/nvptx/sections.c: Ditto.
3836 * config/nvptx/single.c: Ditto.
3837 * config/nvptx/splay-tree.c: Ditto.
3838 * config/nvptx/work.c: Ditto.
3839 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3840 -foffload=-lgfortran in addition to -lgfortran.
3841 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3842 * plugin/plugin-nvptx.c: Include <limits.h>.
3843 (struct targ_fn_descriptor): Add new fields.
3844 (struct ptx_device): Ditto. Set them...
3845 (nvptx_open_device): ...here.
3846 (nvptx_adjust_launch_bounds): New.
3847 (nvptx_host2dev): Allow NULL 'nvthd'.
3848 (nvptx_dev2host): Ditto.
3849 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3850 (link_ptx): Adjust log sizes.
3851 (nvptx_host2dev): Allow NULL 'nvthd'.
3852 (nvptx_dev2host): Ditto.
3853 (nvptx_set_clocktick): New. Use it...
3854 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3855 fields.
3856 (GOMP_OFFLOAD_dev2dev): New.
3857 (nvptx_adjust_launch_bounds): New.
3858 (nvptx_stacks_size): New.
3859 (nvptx_stacks_alloc): New.
3860 (nvptx_stacks_free): New.
3861 (GOMP_OFFLOAD_run): New.
3862 (GOMP_OFFLOAD_async_run): New (stub).
3863
56b1c60e
MJ
38642016-11-23 Martin Jambor <mjambor@suse.cz>
3865
3866 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3867 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3868 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3869
b8d89b03 38702016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3871 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3872
3873 * plugin/hsa.h: New file.
3874 * plugin/hsa_ext_finalize.h: New file.
3875 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3876 header file unistd.h, and functions secure_getenv, __secure_getenv,
3877 getuid, geteuid, getgid and getegid.
3878 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3879 -D_GNU_SOURCE.
3880 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3881 Handle various cases of secure_getenv presence, add an implementation
3882 when we can test effective UID and GID.
3883 (struct hsa_runtime_fn_info): New structure.
3884 (hsa_runtime_fn_info hsa_fns): New variable.
3885 (hsa_runtime_lib): Likewise.
3886 (support_cpu_devices): Likewise.
3887 (init_enviroment_variables): Load newly introduced ENV
3888 variables.
3889 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3890 (hsa_fatal): Likewise.
3891 (DLSYM_FN): New macro.
3892 (init_hsa_runtime_functions): New function.
3893 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3894 structure. Depending on environment, also allow CPU devices.
3895 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3896 (get_kernarg_memory_region): Likewise.
3897 (GOMP_OFFLOAD_init_device): Likewise.
3898 (destroy_hsa_program): Likewise.
3899 (init_basic_kernel_info): New function.
3900 (GOMP_OFFLOAD_load_image): Use it.
3901 (create_and_finalize_hsa_program): Call hsa run-time functions via
3902 hsa_fns structure.
3903 (create_single_kernel_dispatch): Likewise.
3904 (release_kernel_dispatch): Likewise.
3905 (init_single_kernel): Likewise.
3906 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3907 (get_group_size): New function.
3908 (run_kernel): Likewise.
3909 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3910 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3911 structure.
3912 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3913 * testsuite/libgomp-test-support.exp.in: Likewise.
3914 * Makefile.in: Regenerated.
3915 * aclocal.m4: Likewise.
3916 * config.h.in: Likewise.
3917 * configure: Likewise.
3918 * testsuite/Makefile.in: Likewise.
3919
18d2ada8 39202016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 3921 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
3922
3923 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3924 mapping clauses to target constructs.
3925 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3926
84c1b9d3
MK
39272016-11-15 Matthias Klose <doko@ubuntu.com>
3928
3929 * configure: Regenerate.
3930
b4c3a85b
JJ
39312016-11-10 Jakub Jelinek <jakub@redhat.com>
3932
8ebd1b31
JJ
3933 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3934 * omp_lib.h.in (openmp_version): Likewise.
3935 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3936 of 201307.
3937 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3938
b4c3a85b
JJ
3939 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3940 (fib_wrapper): Add map(from: x) clause.
3941 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3942 (e_53_2): Likewise.
3943 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3944 (accum): Add map(tmp) clause.
3945 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3946 (accum): Add map(tofrom: tmp) clause.
3947 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3948 (gramSchmidt): Likewise.
3949 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3950 map(tofrom: sum) clause.
3951 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3952 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3953 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3954 only allowed on the loop iterator.
3955 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3956 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3957 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3958 * testsuite/libgomp.fortran/doacross1.f90: New test.
3959 * testsuite/libgomp.fortran/doacross3.f90: New test.
3960 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3961 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3962 * testsuite/libgomp.fortran/doacross2.f90: New test.
3963 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3964 #pragma omp atomic read.
3965 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3966 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3967
6668eb45
CP
39682016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3969 Nathan Sidwell <nathan@acm.org>
3970
3971 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3972 to determine default geometry.
3973 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3974 dimension.
3975
f10e37a1
JJ
39762016-11-01 Jakub Jelinek <jakub@redhat.com>
3977
3978 * hashtab.h: Use standard GPLv3 with runtime exception
3979 boilerplate.
3980
015c7760
AH
39812016-10-27 Aldy Hernandez <aldyh@redhat.com>
3982
3983 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3984 size when allocating new thread.
3985
20a1e5b8
MP
39862016-09-14 Marek Polacek <polacek@redhat.com>
3987
3988 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3989
1cad9284
JJ
39902016-08-19 Jakub Jelinek <jakub@redhat.com>
3991
3992 PR fortran/71014
3993 * testsuite/libgomp.fortran/pr71014.f90: New test.
3994
2c71d454
CLT
39952016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3996
3997 PR middle-end/70895
3998 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3999 firstprivate clauses.
4000 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4001 copy clauses.
4002 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4004 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4006 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4008 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4010 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4012 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4013 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4014
7c713714
CLT
40152016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4016
4017 PR fortran/70598
4018 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4019
5c934396
JJ
40202016-08-08 Jakub Jelinek <jakub@redhat.com>
4021
4022 PR c++/58706
4023 * testsuite/libgomp.c++/pr58706.C: New test.
4024
9ef64248
TS
40252016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4026
bbc79c0e
TS
4027 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4028 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4029 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4030 Likewise.
4031 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4032 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4033 Likewise.
4034 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4035
9ef64248
TS
4036 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4037 test, and don't hardcode -O0.
4038
c1311c86
NS
40392016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4040
4041 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4042
b1c9c068
CP
40432016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4044
4045 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4046 test.
4047
b4410f63
L
40482016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4049
4050 PR middle-end/71734
4051 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4052 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4053
a8dbab92
JJ
40542016-07-01 Jakub Jelinek <jakub@redhat.com>
4055
4056 PR fortran/71717
4057 * testsuite/libgomp.fortran/associate3.f90: New test.
4058
9b6a8d0f
JJ
40592016-06-17 Jakub Jelinek <jakub@redhat.com>
4060
4061 * testsuite/libgomp.c++/target-21.C: New test.
4062
283635f9
JJ
40632016-06-16 Jakub Jelinek <jakub@redhat.com>
4064
4065 * testsuite/libgomp.c++/target-20.C: New test.
4066
27d6ba88
TS
40672016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4068 Cesar Philippidis <cesar@codesourcery.com>
4069
4070 PR middle-end/71373
4071 * libgomp.oacc-c/nested-function-1.c: New file.
4072 * libgomp.oacc-c/nested-function-2.c: Likewise.
4073 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4074 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4075 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4076
4b1ffdb1
TS
40772016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4078
4079 PR c/71381
4080 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4081 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4082 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4083
d821b794
CLT
40842016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4085
4086 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4087 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4088
3616a8c5
CP
40892016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4090
4091 PR c/70688
5eed9a88 4092 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4093
7211a097
JJ
40942016-05-26 Jakub Jelinek <jakub@redhat.com>
4095
4096 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4097 instead of invalid schedule(static, 0).
4098 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4099
b4557008
CLT
41002016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4101
4102 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4103 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4104 parameter, use to set async stream around call to gomp_unmap_vars,
4105 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4106 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4107 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4108 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4109 (event_add): Add int parameter, initialize 'val' field when
4110 adding new ptx_event struct.
4111 (nvptx_evec): Adjust event_add() call arguments.
4112 (nvptx_host2dev): Likewise.
4113 (nvptx_dev2host): Likewise.
4114 (nvptx_wait_async): Likewise.
4115 (nvptx_wait_all_async): Likewise.
4116 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4117 pass to event_add() call.
4118 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4119 parameter.
4120 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4121 call openacc.register_async_cleanup_func() hook.
4122 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4123 * target.c (gomp_copy_from_async): Delete function.
4124 (gomp_map_vars): Remove async_refcount.
4125 (gomp_unmap_vars): Likewise.
4126 (gomp_load_image_to_device): Likewise.
4127 (omp_target_associate_ptr): Likewise.
4128 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4129 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4130 (gomp_copy_from_async): Remove.
4131
6ce13072
CLT
41322016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4133
4134 * target.c (gomp_device_copy): New function.
4135 (gomp_copy_host2dev): Likewise.
4136 (gomp_copy_dev2host): Likewise.
4137 (gomp_free_device_memory): Likewise.
4138 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4139 (gomp_map_pointer): Likewise.
4140 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4141 NULL value from alloc_func plugin hook.
4142 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4143 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4144 (gomp_unmap_vars): Likewise.
4145 (gomp_update): Adjust to call gomp_copy_dev2host and
4146 gomp_copy_host2dev functions.
4147 (gomp_unload_image_from_device): Handle false value from
4148 unload_image_func plugin hook.
4149 (gomp_init_device): Handle false value from init_device_func
4150 plugin hook.
4151 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4152 (omp_target_free): Adjust to call gomp_free_device_memory.
4153 (omp_target_memcpy): Handle return values from host2dev_func,
4154 dev2host_func, and dev2dev_func plugin hooks.
4155 (omp_target_memcpy_rect_worker): Likewise.
4156 (gomp_target_fini): Handle false value from fini_device_func
4157 plugin hook.
4158 * libgomp.h (struct gomp_device_descr): Adjust return type of
4159 init_device_func, fini_device_func, unload_image_func, free_func,
4160 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4161 * oacc-init.c (acc_shutdown_1): Handle false value from
4162 fini_device_func plugin hook.
4163 * oacc-host.c (host_init_device): Change return type to bool.
4164 (host_fini_device): Likewise.
4165 (host_unload_image): Likewise.
4166 (host_free): Likewise.
4167 (host_dev2host): Likewise.
4168 (host_host2dev): Likewise.
4169 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4170 (acc_memcpy_to_device): Likewise.
4171 (acc_memcpy_from_device): Likewise.
4172 (delete_copyout): Add libfnname parameter, handle free_func
4173 hook fatal error case.
4174 (acc_delete): Adjust delete_copyout call.
4175 (acc_copyout): Likewise.
4176 (update_dev_host): Move gomp_mutex_unlock to after
4177 host2dev/dev2host hook calls.
4178
4179 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4180 to 'hsa_error_msg', for clarity.
4181 (hsa_fatal): Likewise.
4182 (hsa_error): New function.
4183 (init_hsa_context): Change return type to bool, adjust to return
4184 false on error.
4185 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4186 return value.
4187 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4188 return false on error.
4189 (get_agent_info): Adjust to return NULL on error.
4190 (destroy_hsa_program): Change return type to bool, adjust to
4191 return false on error.
4192 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4193 (destroy_module): Change return type to bool, adjust to
4194 return false on error.
4195 (GOMP_OFFLOAD_unload_image): Likewise.
4196 (GOMP_OFFLOAD_fini_device): Likewise.
4197 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4198 (GOMP_OFFLOAD_free): Change to return false when called.
4199 (GOMP_OFFLOAD_dev2host): Likewise.
4200 (GOMP_OFFLOAD_host2dev): Likewise.
4201 (GOMP_OFFLOAD_dev2dev): Likewise.
4202
4203 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4204 (CUDA_CALL): Likewise.
4205 (CUDA_CALL_ASSERT): Likewise.
4206 (map_init): Change return type to bool, use CUDA_CALL* macros.
4207 (map_fini): Likewise.
4208 (init_streams_for_device): Change return type to bool, adjust
4209 call to map_init.
4210 (fini_streams_for_device): Change return type to bool, adjust
4211 call to map_fini.
4212 (select_stream_for_async): Release stream_lock before calls to
4213 GOMP_PLUGIN_fatal, adjust call to map_init.
4214 (nvptx_init): Use CUDA_CALL* macros.
4215 (nvptx_attach_host_thread_to_device): Change return type to bool,
4216 use CUDA_CALL* macros.
4217 (nvptx_open_device): Use CUDA_CALL* macros.
4218 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4219 macros.
4220 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4221 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4222 (nvptx_exec): Use CUDA_CALL* macros.
4223 (nvptx_alloc): Use CUDA_CALL* macros.
4224 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4225 (nvptx_host2dev): Likewise.
4226 (nvptx_dev2host): Likewise.
4227 (nvptx_wait): Use CUDA_CALL* macros.
4228 (nvptx_wait_async): Likewise.
4229 (nvptx_wait_all): Likewise.
4230 (nvptx_wait_all_async): Likewise.
4231 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4232 use CUDA_CALL* macros, adjust call to map_fini.
4233 (GOMP_OFFLOAD_init_device): Change return type to bool,
4234 adjust code accordingly.
4235 (GOMP_OFFLOAD_fini_device): Likewise.
4236 (GOMP_OFFLOAD_load_image): Adjust calls to
4237 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4238 use CUDA_CALL* macros.
4239 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4240 return code.
4241 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4242 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4243 handle error return.
4244 (GOMP_OFFLOAD_dev2host): Likewise.
4245 (GOMP_OFFLOAD_host2dev): Likewise.
4246 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4247 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4248
e46c7770
CP
42492016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4250
4251 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4252 (acc_free): Likewise.
4253 (acc_memcpy_to_device): Likewise.
4254 (acc_memcpy_from_device): Likewise.
4255 (acc_deviceptr): Likewise.
4256 (acc_hostptr): Likewise.
4257 (acc_is_present): Likewise.
4258 (acc_map_data): Likewise.
4259 (acc_unmap_data): Likewise.
4260 (present_create_copy): Likewise.
4261 (delete_copyout): Likewise.
4262 (update_dev_host): Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4264 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4265 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4266 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4268 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4269 it only runs on nvptx targets.
4270 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4276 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4277 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4278 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4279 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4281 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4282 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4286 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4287 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4293
a5057543
MJ
42942016-05-23 Martin Jambor <mjambor@suse.cz>
4295
4296 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4297
e37288a6
CLT
42982016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4299
4300 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4301 to gomp_init_targets_once.
4302 (acc_set_device_type): Remove !cached_base_dev condition on call to
4303 gomp_init_targets_once, move call to before acc_device_lock acquire,
4304 to avoid deadlock.
4305 (acc_get_device_num): Remove !cached_base_dev condition on call to
4306 gomp_init_targets_once.
4307 (acc_set_device_num): Likewise.
4308
51d9ed48
MJ
43092016-05-16 Martin Jambor <mjambor@suse.cz>
4310
92a285c1 4311 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 4312
5b37e866
NS
43132016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4314
4315 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4316 expected partitioning.
4317
e7ff0319
CP
43182016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4319
4320 PR middle-end/70626
4321 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4322 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4323 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4324
c2bd3b69
AM
43252016-04-21 Alexander Monakov <amonakov@ispras.ru>
4326
4327 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4328 non-fatal.
4329
84311083
JJ
43302016-04-19 Jakub Jelinek <jakub@redhat.com>
4331
4332 PR middle-end/70680
4333 * testsuite/libgomp.c/pr70680-1.c: New test.
4334 * testsuite/libgomp.c/pr70680-2.c: New test.
4335
aadc043f
CP
43362016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4337
4338 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4339 pass parameter variables to subroutines.
4340
e387fc64
CP
43412016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4342
4343 PR middle-end/70643
4344 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4345
10c3c424
CP
43462016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4347
4348 PR testsuite/68242
4349 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4350 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4351
27f9add3
TS
43522016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4353
58d32aeb
TS
4354 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4355 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4356 GOACC_declare prototype.
4357
d97633ef
TS
4358 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4359 Merge this file, and...
4360 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4361 ... this file, and...
4362 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4363 ... this file, and...
4364 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4365 ... this file, and...
4366 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4367 ... this file, and...
4368 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4369 ... this file, and...
4370 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4371 ... this file, and...
4372 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4373 ... this file, and...
4374 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4375 ... this file, and...
4376 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4377 ... this file, and...
4378 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4379 ... this file, and...
4380 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4381 ... this file, and...
4382 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4383 ... this file into...
4384 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4385 file.
4386
27f9add3
TS
4387 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4388 Make failure observable.
4389
21f3a236
JJ
43902016-04-12 Jakub Jelinek <jakub@redhat.com>
4391
4392 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4393 field.
4394 * target.c (gomp_target_fallback_firstprivate,
4395 gomp_target_unshare_firstprivate): Removed.
4396 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4397 before waiting for dependencies.
4398 (gomp_target_task_fn): Don't copy firstprivate vars here.
4399 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4400 firstprivate_copies here.
4401 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4402 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4403 explicit/implicit firstprivate.
4404
c42cfb5c
CP
44052016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4406
4407 PR lto/70289
4408 PR ipa/70348
4409 PR tree-optimization/70373
4410 PR middle-end/70533
4411 PR middle-end/70534
4412 PR middle-end/70535
4413 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4414 test.
4415 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4416 test.
4417 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4418 test.
4419 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4420 test.
4421 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4422 test.
4423 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4424 test.
4425 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4426 test.
4427 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4428 test.
4429 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4430 test.
4431 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4432 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4433 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4434 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4435 test.
4436 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4437 test.
4438 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4439 test.
4440 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4441 test.
4442 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4443 coverage.
4444 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4445 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4446 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4447 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4448 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4449 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4450 coverage.
4451 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4453 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4454 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4455 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4456 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4457 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4458 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4459 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4460 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4461 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4462 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4463 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4464 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4465 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4466
2620c80d
TS
44672016-03-30 Thomas Schwinge <thomas@codesourcery.com>
4468 James Norris <jnorris@codesourcery.com>
4469 Nathan Sidwell <nathan@codesourcery.com>
4470 Julian Brown <julian@codesourcery.com>
4471 Cesar Philippidis <cesar@codesourcery.com>
4472 Chung-Lin Tang <cltang@codesourcery.com>
4473 Tom de Vries <tom@codesourcery.com>
4474
4475 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4476 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4477 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4478 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4479 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4480 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4481 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4482 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4483 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4484 XFAIL.
4485 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4486 Incorporate...
4487 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4488 file.
4489 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4490 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4491 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4492 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4493 Likewise.
4494 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4495 Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4497 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4498 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4499 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4500 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4501 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4502 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4503 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4504 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4505 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4506 Likewise.
4507 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4508 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4510 file...
4511 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4512 file into...
4513 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4514 file. Update.
4515 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4516 file.
4517 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4518 Likewise.
4519 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4520 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4521 ... this new file. Update.
4522 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4523 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4524 ... this new file. Update.
4525 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4526 file. Incorporate...
4527 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4528 file, and...
4529 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4530 file, and...
4531 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4532 file.
4533 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4534
ce83104b
TS
45352016-03-29 Thomas Schwinge <thomas@codesourcery.com>
4536
4537 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4538 set-torture-options.
4539
6e0df3b7
TS
45402016-03-24 Thomas Schwinge <thomas@codesourcery.com>
4541
4542 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4543 gcc-dg-runtest.
4544 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4545 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4546 -fno-builtin-acc_on_device instead of -O0.
4547 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4548 -O0.
4549 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4550 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4551 Likewise.
4552 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4553 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4554 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4555 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4558 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4559 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4560 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4561 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4562 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4563 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4564 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4565 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4566 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4567 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4568 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4569 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4570 Don't specify -O2.
4571 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4572 Likewise.
4573 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4574 Likewise.
4575
f9c8babb
ML
45762016-03-24 Martin Liska <mliska@suse.cz>
4577
4578 * plugin/plugin-hsa.c (packet_store_release): New function
4579 that is taken from the HSA runtime manual.
4580 (GOMP_OFFLOAD_run): Use the function.
4581
04833609
JJ
45822016-03-23 Jakub Jelinek <jakub@redhat.com>
4583
4584 PR c++/70376
4585 * testsuite/libgomp.c++/pr70376.C: New test.
4586
d79ee524
TV
45872016-03-23 Tom de Vries <tom@codesourcery.com>
4588
4589 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4590 initialization of lresult and lvresult.
4591 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4592
b6d1f2b5
JN
45932016-03-23 James Norris <jnorris@codesourcery.com>
4594 Daichi Fukuoka <dc-fukuoka@sgi.com>
4595
4596 PR libgomp/69414
4597 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4598 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4599 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4600 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4601
7397fce2
ML
46022016-03-23 Martin Liska <mliska@suse.cz>
4603
4604 PR hsa/70337
4605 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4606 argument just in case a dispatched kernel uses that argument.
4607
ee2e7d51
TS
46082016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4609
4610 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4611 -ftree-parallelize-loops/-fopenacc changes.
4612 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4613 Likewise.
4614 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4615 Likewise.
4616 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4617 Likewise.
4618 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4619 Likewise.
4620 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4621 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4622
be9f7143
TS
46232016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4624
4625 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4626 always_ld_library_path the path to libgcc_s.
4627
f6c1032d
CP
46282016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4629
4630 PR testsuite/70009
4631 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4632
5a6452e6
TV
46332016-03-09 Tom de Vries <tom@codesourcery.com>
4634
4635 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4636 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4637 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4638 Same.
4639 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4640 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4641 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4642 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4643
96a71bd5
MJ
46442016-03-07 Martin Jambor <mjambor@suse.cz>
4645
4646 * testsuite/lib/libgomp.exp
4647 (check_effective_target_hsa_offloading_selected_nocache): New.
4648 (check_effective_target_hsa_offloading_selected): Likewise.
4649 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4650 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4651 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4652 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4653 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4654 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4655 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4656 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4657 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4658 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4659 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4660 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4661 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4662 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4663 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4664 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4665 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4666
02e0b5b2
MJ
46672016-03-07 Martin Jambor <mjambor@suse.cz>
4668
4669 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4670 non-shared memory accelerators.
4671 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4672 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4673 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4674 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4675 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4676 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4677 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4678 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4679 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4680
45548f30
MJ
46812016-03-07 Martin Jambor <mjambor@suse.cz>
4682
4683 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4684 ALWAYS_CFLAGS.
4685
da3d46cb
JJ
46862016-03-02 Jakub Jelinek <jakub@redhat.com>
4687
4688 PR libgomp/69555
4689 * testsuite/libgomp.c++/pr69555-1.C: New test.
4690 * testsuite/libgomp.c++/pr69555-2.C: New test.
4691
622174b2
KM
46922016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4693 Martin Jambor <mjambor@suse.cz>
4694
4695 * testsuite/lib/libgomp.exp
4696 (check_effective_target_offload_device_shared_as): New proc.
4697 * testsuite/libgomp.c++/declare_target-1.C: New test.
4698
e6861a99
IV
46992016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4700
4701 PR driver/68463
4702 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4703
f99c3557
TS
47042016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4705
4706 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4707 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4708 dims.
4709 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4710 -ftree-parallelize-loops/-fopenacc changes.
4711 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4712 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4713 Likewise.
4714 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4715 Likewise.
4716 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4717 Likewise.
4718 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4719 Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4721 Likewise.
4722 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4723 Likewise.
4724 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4725 Likewise.
4726 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4728 Likewise.
4729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4730 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4731 Likewise.
4732 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4733 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4734 Likewise.
4735
d5ace3b5
CP
47362016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4737
4738 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4739
f3609a89
JJ
47402016-02-19 Jakub Jelinek <jakub@redhat.com>
4741
4742 PR driver/69805
4743 * testsuite/libgomp.c/pr69805.c: New test.
4744
2175df99
TV
47452016-02-16 Tom de Vries <tom@codesourcery.com>
4746
4747 PR lto/67709
4748 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4749
17b6426c
TV
47502016-02-09 Tom de Vries <tom@codesourcery.com>
4751
4752 PR tree-optimization/69599
4753 * testsuite/libgomp.c/omp-nested-3.c: New test.
4754 * testsuite/libgomp.c/pr46032-2.c: New test.
4755 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4756 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4757
34df756c
TV
47582016-02-09 Tom de Vries <tom@codesourcery.com>
4759
4760 PR lto/69707
4761 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4762
5854ee30
AM
47632016-02-02 Alexander Monakov <amonakov@ispras.ru>
4764
4765 * testsuite/libgomp.c/target-31.c: Fix testcase.
4766
e70b6ad7
AM
47672016-02-02 Alexander Monakov <amonakov@ispras.ru>
4768
4769 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4770 clause.
4771 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4772 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4773 reduction and map clauses.
4774 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4775
bd78a45f
JN
47762016-02-02 James Norris <jnorris@codesourcery.com>
4777
4778 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4779
41d809d3
TS
47802016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4781
18f60146
TS
4782 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4783 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4784
1a06f5e6
TS
4785 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4786 cases.
4787
033ff3d1
TS
4788 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4789 variables.
4790 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4791 (hsa_kmt_lib): Set variables.
4792 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4793 always_ld_library_path.
4794 * Makefile.in: Regenerate.
4795 * configure: Likewise.
4796 * testsuite/Makefile.in: Likewise.
4797
4a88d9b7
TS
4798 * plugin/configfrag.ac (offload_additional_options)
4799 (offload_additional_lib_paths): Don't amend for hsa offloading.
4800 * configure: Regenerate.
4801
41d809d3
TS
4802 * plugin/configfrag.ac: Don't configure for offloading target if
4803 we don't build the corresponding plugin.
4804 * configure: Regenerate.
4805
b6adbb9f
NS
48062016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4807
4808 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4809 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4810
8dfdb419
TV
48112016-01-26 Tom de Vries <tom@codesourcery.com>
4812
4813 PR tree-optimization/69110
4814 * testsuite/libgomp.c/pr69110.c: New test.
4815
02ef53f2
RB
48162016-01-25 Richard Biener <rguenther@suse.de>
4817
4818 PR lto/69393
4819 * testsuite/libgomp.c++/pr69393.C: New testcase.
4820
eb4048f2
IV
48212016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4822
4823 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4824 function wasn't mapped to the device with non-shared memory.
4825
b235cdd5
IV
48262016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4827
4828 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4829
b2b40051
MJ
48302016-01-19 Martin Jambor <mjambor@suse.cz>
4831 Martin Liska <mliska@suse.cz>
4832
4833 * plugin/Makefrag.am: Add HSA plugin requirements.
4834 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4835 (HSA_RUNTIME_LIB): Likewise.
4836 (HSA_RUNTIME_CPPFLAGS): Likewise.
4837 (HSA_RUNTIME_INCLUDE): New substitution.
4838 (HSA_RUNTIME_LIB): Likewise.
4839 (HSA_RUNTIME_LDFLAGS): Likewise.
4840 (hsa-runtime): New configure option.
4841 (hsa-runtime-include): Likewise.
4842 (hsa-runtime-lib): Likewise.
4843 (PLUGIN_HSA): New substitution variable.
4844 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4845 configure options.
4846 (PLUGIN_HSA_CPPFLAGS): Likewise.
4847 (PLUGIN_HSA_LDFLAGS): Likewise.
4848 (PLUGIN_HSA_LIBS): Likewise.
4849 Check that we have access to HSA run-time.
4850 * libgomp-plugin.h (offload_target_type): New element
4851 OFFLOAD_TARGET_TYPE_HSA.
4852 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4853 args.
4854 (bool gomp_create_target_task): Updated.
4855 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4856 new field can_run_func.
4857 * libgomp_g.h (GOMP_target_ext): Update prototype.
4858 * oacc-host.c (host_run): Added a new parameter args.
4859 * target.c (calculate_firstprivate_requirements): New function.
4860 (copy_firstprivate_data): Likewise.
4861 (gomp_target_fallback_firstprivate): Use them.
4862 (gomp_target_unshare_firstprivate): New function.
4863 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4864 devices.
4865 (GOMP_target): Do host fallback for all shared memory devices. Do not
4866 pass any args to plugins.
4867 (GOMP_target_ext): Introduce device-specific argument parameter args.
4868 Allow host fallback if device shares memory. Do not remap data if
4869 device has shared memory.
4870 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4871 like host fallback for mappings.
4872 (GOMP_target_data): Treat shared memory devices like host fallback.
4873 (GOMP_target_data_ext): Likewise.
4874 (GOMP_target_update): Likewise.
4875 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4876 gomp_create_target_task.
4877 (GOMP_target_enter_exit_data): Likewise.
4878 (omp_target_alloc): Treat shared memory devices like host fallback.
4879 (omp_target_free): Likewise.
4880 (omp_target_is_present): Likewise.
4881 (omp_target_memcpy): Likewise.
4882 (omp_target_memcpy_rect): Likewise.
4883 (omp_target_associate_ptr): Likewise.
4884 (gomp_load_plugin_for_device): Also load can_run.
4885 * task.c (GOMP_PLUGIN_target_task_completion): Free
4886 firstprivate_copies.
4887 (gomp_create_target_task): Accept new argument args and store it to
4888 ttask.
4889 * plugin/plugin-hsa.c: New file.
4890
5d7804a9
TV
48912016-01-18 Tom de Vries <tom@codesourcery.com>
4892
4893 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4894 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4895 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4896 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4897 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4898 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4899 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4900 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4904 Same.
4905 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4906 Same.
4907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4908 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4910 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4911 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4913 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4914 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4915 Same.
4916 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4917
cb11f3cf
JJ
49182016-01-15 Jakub Jelinek <jakub@redhat.com>
4919
4920 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4921
33a126a6
CP
49222016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4923
4924 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4925
cdf6119d
JN
49262016-01-12 James Norris <jnorris@codesourcery.com>
4927
4928 * libgomp.texi: Updates for OpenACC.
4929
0d58938e
AM
49302016-01-11 Alexander Monakov <amonakov@ispras.ru>
4931
4932 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4933
95918b49
L
49342016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4935
4936 PR fortran/66680
4937 * testsuite/libgomp.fortran/pr66680.f90: New test.
4938
8fc708b7
JJ
49392016-01-07 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR middle-end/68960
4942 * testsuite/libgomp.c/pr68960.c: New test.
4943
e9b596c1
NS
49442016-01-06 Nathan Sidwell <nathan@acm.org>
4945
1a14faf2 4946 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
4947 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4948
21fa2a29
JJ
49492016-01-04 Jakub Jelinek <jakub@redhat.com>
4950
818ab71a
JJ
4951 Update copyright years.
4952
21fa2a29
JJ
4953 * libgomp.texi: Bump @copying's copyright year.
4954
9310efbc
NS
49552015-12-31 Nathan Sidwell <nathan@acm.org>
4956
4957 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4958 dg-additional-options syntax.
4959 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4960 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4961 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4962 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4963 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4964 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4965 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4966 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4967 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4968 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4969 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4970 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4971 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4972 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4973 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4974 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4975 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4976 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4977
4a38b02b
IV
49782015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4979
4980 * libgomp.h (REFCOUNT_LINK): Define.
4981 (struct splay_tree_key_s): Add link_key.
4982 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4983 Replace target address of the pointer with target address of newly
4984 mapped object in the splay tree. Set link pointer on target to the
4985 device address of the mapped object.
4986 (gomp_unmap_vars): Restore target address of the pointer in the splay
4987 tree for REFCOUNT_LINK objects after unmapping.
4988 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4989 declare target link" objects.
4990 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4991 "omp declare target link" objects, which were mapped for the image.
4992 (gomp_exit_data): Restore target address of the pointer in the splay
4993 tree for REFCOUNT_LINK objects after unmapping.
4994 * testsuite/libgomp.c/target-link-1.c: New file.
4995
d84ffc0a
IV
49962015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4997
4998 * libgomp.h (gomp_device_state): New enum.
4999 (struct gomp_device_descr): Replace is_initialized with state.
5000 (gomp_fini_device): Remove declaration.
5001 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5002 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5003 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5004 (acc_set_device_type): Use state instead of is_initialized.
5005 (acc_set_device_num): Likewise.
5006 * target.c (resolve_device): Use state instead of is_initialized.
5007 Do not initialize finalized device.
5008 (gomp_map_vars): Do nothing if device is finalized.
5009 (gomp_unmap_vars): Likewise.
5010 (gomp_update): Likewise.
5011 (GOMP_offload_register_ver): Use state instead of is_initialized.
5012 (GOMP_offload_unregister_ver): Likewise.
5013 (gomp_init_device): Likewise.
5014 (gomp_unload_device): Likewise.
5015 (gomp_fini_device): Remove.
5016 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5017 (GOMP_target): Go to host fallback if device is finalized.
5018 (GOMP_target_ext): Likewise.
5019 (gomp_exit_data): Do nothing if device is finalized.
5020 (gomp_target_task_fn): Go to host fallback if device is finalized.
5021 (gomp_target_fini): New static function.
5022 (gomp_target_init): Use state instead of is_initialized.
5023 Call gomp_target_fini at exit.
5024
76680678
TV
50252015-12-09 Tom de Vries <tom@codesourcery.com>
5026
5027 PR tree-optimization/68716
5028 * testsuite/libgomp.c/omp-nested-2.c: New test.
5029
ff7a55bf
TS
50302015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5031
5032 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5033 target openacc_nvidia_accel_selected.
5034 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5035 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5036 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5037 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5038
37d5ad46
JB
50392015-12-01 Julian Brown <julian@codesourcery.com>
5040 James Norris <James_Norris@mentor.com>
5041
5042 * oacc-parallel.c (GOACC_host_data): New function.
5043 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5044 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5045 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5046 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5047 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5048 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5049 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5050
db941d7e
CP
50512015-11-30 James Norris <jnorris@codesourcery.com>
5052 Cesar Philippidis <cesar@codesourcery.com>
5053
5054 libgomp/
5055 * libgomp.oacc-fortran/routine-5.f90: New test.
5056 * libgomp.oacc-fortran/routine-7.f90: New test.
5057 * libgomp.oacc-fortran/routine-9.f90: New test.
5058
e0ca27c5
TV
50592015-11-30 Tom de Vries <tom@codesourcery.com>
5060
5061 PR tree-optimization/46032
5062 * testsuite/libgomp.c/pr46032.c: New test.
5063
aec17bfe
JJ
50642015-11-27 Jakub Jelinek <jakub@redhat.com>
5065
8e4e4719
JJ
5066 PR libgomp/68579
5067 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5068 (gomp_create_target_task): Call it before freeing
5069 GOMP_TARGET_TASK_DATA tasks.
5070
aec17bfe
JJ
5071 PR c/63326
5072 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5073 in between case label and OpenMP standalone directives.
5074 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5075
6cfe90e6
DE
50762015-11-26 David Edelsohn <dje.gcc@gmail.com>
5077
5078 * configure: Regenerate.
5079
0e65fd7d
JJ
50802015-11-26 Jakub Jelinek <jakub@redhat.com>
5081
5082 * testsuite/libgomp.c/target-35.c: New test.
5083
dc7a8b4b
JN
50842015-11-22 James Norris <jnorris@codesourcery.com>
5085 Cesar Philippidis <cesar@codesourcery.com>
5086
5087 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5088 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5089 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5090 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5091 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5092
48a78aee
JJ
50932015-11-20 Jakub Jelinek <jakub@redhat.com>
5094
5095 PR middle-end/68221
5096 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5097 * testsuite/libgomp.c/reduction-12.c: Likewise.
5098 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5099 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5100
2d256816
NS
51012015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5102
5103 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5104 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5105 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5106 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5107 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5108 and fix.
5109 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5110 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5111
33f47f42
NS
51122015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5113
5114 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5115 worker & gang cases.
5116 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5117
3d7bfee0
CP
51182015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5119
5120 * config/nvptx/priority_queue.c: New file.
5121
00b9bd52
JJ
51222015-11-14 Jakub Jelinek <jakub@redhat.com>
5123
5124 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5125 sections.
5126
e4606348
JJ
51272015-11-14 Jakub Jelinek <jakub@redhat.com>
5128 Aldy Hernandez <aldyh@redhat.com>
5129 Ilya Verbin <ilya.verbin@intel.com>
5130
5131 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5132 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5133 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5134 iterators or IV by chunk size.
5135 * parallel.c (gomp_resolve_num_threads): Don't assume that
5136 if thr->ts.team is non-NULL, then pool must be non-NULL.
5137 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5138 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5139 GOMP_PLUGIN_target_task_completion.
5140 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5141 * Makefile.in: Regenerate.
5142 * libgomp.h: Shuffle prototypes and forward definitions around so
5143 priority queues can be defined.
5144 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5145 (enum gomp_target_task_state): New enum.
5146 (struct gomp_target_task): Add state, tgt, task and team fields.
5147 (gomp_create_target_task): Change return type to bool, add
5148 state argument.
5149 (gomp_target_task_fn): Change return type to bool.
5150 (struct gomp_device_descr): Add async_run_func.
5151 (struct gomp_task): Remove children, next_child, prev_child,
5152 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5153 Add pnode field.
5154 (struct gomp_taskgroup): Remove children.
5155 Add taskgroup_queue.
5156 (struct gomp_team): Change task_queue type to a priority queue.
5157 (splay_compare): Define inline.
5158 (priority_queue_offset): New.
5159 (priority_node_to_task): New.
5160 (task_to_priority_node): New.
5161 * oacc-mem.c: Do not include splay-tree.h.
5162 * priority_queue.c: New file.
5163 * priority_queue.h: New file.
5164 * splay-tree.c: Do not include splay-tree.h.
5165 (splay_tree_foreach_internal): New.
5166 (splay_tree_foreach): New.
5167 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5168 (splay_tree_callback): Define typedef.
5169 * target.c (splay_compare): Move to libgomp.h.
5170 (GOMP_target): Don't adjust *thr in any way around running offloaded
5171 task.
5172 (GOMP_target_ext): Likewise. Handle target nowait.
5173 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5174 return value from gomp_create_target_task, if false, fallthrough
5175 as if no dependencies exist.
5176 (gomp_target_task_fn): Change return type to bool, return true
5177 if the task should have another part scheduled later. Handle
5178 target nowait.
5179 (gomp_load_plugin_for_device): Initialize async_run.
5180 * task.c (gomp_init_task): Initialize children_queue.
5181 (gomp_clear_parent_in_list): New.
5182 (gomp_clear_parent_in_tree): New.
5183 (gomp_clear_parent): Handle priorities.
5184 (GOMP_task): Likewise.
5185 (priority_queue_move_task_first,
5186 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5187 New functions.
5188 (gomp_create_target_task): Use priority queues. Change return type
5189 to bool, add state argument, return false if for async
5190 {{enter,exit} data,update} constructs no dependencies need to be
5191 waited for, handle target nowait. Set task->fn to NULL instead of
5192 gomp_target_task_fn.
5193 (verify_children_queue): Remove.
5194 (priority_list_upgrade_task): New.
5195 (priority_queue_upgrade_task): New.
5196 (verify_task_queue): Remove.
5197 (priority_list_downgrade_task): New.
5198 (priority_queue_downgrade_task): New.
5199 (gomp_task_run_pre): Use priority queues.
5200 Abstract code out to priority_queue_downgrade_task.
5201 (gomp_task_run_post_handle_dependers): Use priority queues.
5202 (gomp_task_run_post_remove_parent): Likewise.
5203 (gomp_task_run_post_remove_taskgroup): Likewise.
5204 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5205 tasks specially.
5206 (GOMP_taskwait): Likewise.
5207 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5208 priority-queue_upgrade_task.
5209 (GOMP_taskgroup_start): Use priority queues.
5210 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5211 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5212 barrier.
5213 * taskloop.c (GOMP_taskloop): Handle priorities.
5214 * team.c (gomp_new_team): Call priority_queue_init.
5215 (free_team): Call priority_queue_free.
5216 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5217 team created for target nowait in implicit parallel region.
5218 (gomp_team_start): For nested check, test thr->ts.level instead of
5219 thr->ts.team != NULL.
5220 * testsuite/libgomp.c/doacross-3.c: New test.
5221 * testsuite/libgomp.c/ordered-5.c: New test.
5222 * testsuite/libgomp.c/priority.c: New test.
5223 * testsuite/libgomp.c/target-31.c: New test.
5224 * testsuite/libgomp.c/target-32.c: New test.
5225 * testsuite/libgomp.c/target-33.c: New test.
5226 * testsuite/libgomp.c/target-34.c: New test.
5227
1d1ab74f
NS
52282015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5229
c5a64cfe
NS
5230 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5231
1d1ab74f
NS
5232 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5233 loop is sequential.
5234
dd3c1b14
NS
52352015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5236
5237 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5238 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5239
6e232ba4
JN
52402015-11-12 James Norris <jnorris@codesourcery.com>
5241 Joseph Myers <joseph@codesourcery.com>
5242
5243 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5244 * oacc-parallel.c (GOACC_declare): New function.
5245 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5246 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5247 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5248 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5249 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5250
fffeedeb
NS
52512015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5252
5253 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5254
182190f2
NS
52552015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5256
5257 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5258 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5259
36fa0f5f
NS
52602015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5261
d350c40c
NS
5262 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5263 inadvertent commit.
5264
52652015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5266
36fa0f5f
NS
5267 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5268 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5269 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5270 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5271 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5272
66a5f0b4
TS
52732015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5274
5275 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5276 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5277
e01d41e5
JJ
52782015-11-05 Jakub Jelinek <jakub@redhat.com>
5279 Ilya Verbin <ilya.verbin@intel.com>
5280
5281 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5282 GOMP_loop_nonmonotonic_dynamic_start,
5283 GOMP_loop_nonmonotonic_guided_next,
5284 GOMP_loop_nonmonotonic_guided_start,
5285 GOMP_loop_ull_nonmonotonic_dynamic_next,
5286 GOMP_loop_ull_nonmonotonic_dynamic_start,
5287 GOMP_loop_ull_nonmonotonic_guided_next,
5288 GOMP_loop_ull_nonmonotonic_guided_start,
5289 GOMP_parallel_loop_nonmonotonic_dynamic,
5290 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5291 (GOMP_target_41): Renamed to ...
5292 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5293 arguments.
5294 (GOMP_target_data_41): Renamed to ...
5295 (GOMP_target_data_ext): ... this.
5296 (GOMP_target_update_41): Renamed to ...
5297 (GOMP_target_update_ext): ... this.
5298 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5299 GOMP_target_data_ext and GOMP_target_update_ext instead of
5300 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5301 Export GOMP_loop_nonmonotonic_dynamic_next,
5302 GOMP_loop_nonmonotonic_dynamic_start,
5303 GOMP_loop_nonmonotonic_guided_next,
5304 GOMP_loop_nonmonotonic_guided_start,
5305 GOMP_loop_ull_nonmonotonic_dynamic_next,
5306 GOMP_loop_ull_nonmonotonic_dynamic_start,
5307 GOMP_loop_ull_nonmonotonic_guided_next,
5308 GOMP_loop_ull_nonmonotonic_guided_start,
5309 GOMP_parallel_loop_nonmonotonic_dynamic and
5310 GOMP_parallel_loop_nonmonotonic_guided.
5311 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5312 GOMP_parallel_loop_nonmonotonic_guided,
5313 GOMP_loop_nonmonotonic_dynamic_start,
5314 GOMP_loop_nonmonotonic_guided_start,
5315 GOMP_loop_nonmonotonic_dynamic_next,
5316 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5317 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5318 GOMP_loop_ull_nonmonotonic_guided_start,
5319 GOMP_loop_ull_nonmonotonic_dynamic_next,
5320 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5321 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5322 functions.
5323 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5324 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5325 Use gomp_map_val function.
5326 (gomp_target_fallback_firstprivate): New static function.
5327 (GOMP_target_41): Renamed to ...
5328 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5329 arguments. Move firstprivate fallback handling into a new
5330 function.
5331 (GOMP_target_data_41): Renamed to ...
5332 (GOMP_target_data_ext): ... this.
5333 (GOMP_target_update_41): Renamed to ...
5334 (GOMP_target_update_ext): ... this.
5335 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5336 gomp_map_0len_lookup instead of gomp_map_lookup.
5337 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5338 gomp_map_lookup.
5339 * testsuite/libgomp.c/target-28.c: Likewise.
5340 * testsuite/libgomp.c/monotonic-1.c: New test.
5341 * testsuite/libgomp.c/monotonic-2.c: New test.
5342 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5343 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5344 * testsuite/libgomp.c/pr66199-5.c: New test.
5345 * testsuite/libgomp.c/pr66199-6.c: New test.
5346 * testsuite/libgomp.c/pr66199-7.c: New test.
5347 * testsuite/libgomp.c/pr66199-8.c: New test.
5348 * testsuite/libgomp.c/pr66199-9.c: New test.
5349 * testsuite/libgomp.c/reduction-11.c: New test.
5350 * testsuite/libgomp.c/reduction-12.c: New test.
5351 * testsuite/libgomp.c/reduction-13.c: New test.
5352 * testsuite/libgomp.c/reduction-14.c: New test.
5353 * testsuite/libgomp.c/reduction-15.c: New test.
5354 * testsuite/libgomp.c/target-12.c (main): Adjust for
5355 omp_target_is_present change for one-past-last element.
5356 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5357 the same var is both mapped and privatized.
5358 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5359 handling of zero-length array sections.
5360 * testsuite/libgomp.c/target-28.c: New test.
5361 * testsuite/libgomp.c/target-29.c: New test.
5362 * testsuite/libgomp.c/target-30.c: New test.
5363 * testsuite/libgomp.c/target-teams-1.c: New test.
5364 * testsuite/libgomp.c++/member-6.C: New test.
5365 * testsuite/libgomp.c++/member-7.C: New test.
5366 * testsuite/libgomp.c++/monotonic-1.C: New test.
5367 * testsuite/libgomp.c++/monotonic-2.C: New test.
5368 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5369 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5370 * testsuite/libgomp.c++/pr66199-3.C: New test.
5371 * testsuite/libgomp.c++/pr66199-4.C: New test.
5372 * testsuite/libgomp.c++/pr66199-5.C: New test.
5373 * testsuite/libgomp.c++/pr66199-6.C: New test.
5374 * testsuite/libgomp.c++/pr66199-7.C: New test.
5375 * testsuite/libgomp.c++/pr66199-8.C: New test.
5376 * testsuite/libgomp.c++/pr66199-9.C: New test.
5377 * testsuite/libgomp.c++/reduction-11.C: New test.
5378 * testsuite/libgomp.c++/reduction-12.C: New test.
5379 * testsuite/libgomp.c++/target-13.C: New test.
5380 * testsuite/libgomp.c++/target-14.C: New test.
5381 * testsuite/libgomp.c++/target-15.C: New test.
5382 * testsuite/libgomp.c++/target-16.C: New test.
5383 * testsuite/libgomp.c++/target-17.C: New test.
5384 * testsuite/libgomp.c++/target-18.C: New test.
5385 * testsuite/libgomp.c++/target-19.C: New test.
5386
ccc8282b
NS
53872015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5388
5389 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5390 and reduction copy.
5391 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5392 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5393 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5394 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5395 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5396 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5397 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5398 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5399 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5400 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5401 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5402 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5403 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5404 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5405
5d6823a2
NS
54062015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5407
5408 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5409 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5410 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5411 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5412 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5413 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5414 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5415 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5416
5c06742f
NS
54172015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5418
5419 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5420 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5421 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5422 * oacc-host.c (host_openacc_exec): Likewise.
5423 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5424
4bf9e5a8
TS
54252015-11-03 Julian Brown <julian@codesourcery.com>
5426 Thomas Schwinge <thomas@codesourcery.com>
5427
5428 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5429 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5430 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5431 Likewise.
5432 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5433 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5434
54352015-11-03 James Norris <jnorris@codesourcery.com>
5436
5437 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5438 file.
5439 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5440 Likewise.
5441 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5442 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5443 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5444 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5445 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5446
a0e701d8
NS
54472015-10-29 Nathan Sidwell <nathan@codesourcery.com>
5448
5449 * openacc.h (enum acc_device_t): Reformat. Ensure layout
5450 compatibility.
5451 (enum acc_async_t): Reformat.
5452 (acc_on_device): Declare compatible with builtin and provide C++
5453 wrapper.
5454 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5455
41e977ac
TS
54562015-10-29 Thomas Schwinge <thomas@codesourcery.com>
5457 Cesar Philippidis <cesar@codesourcery.com>
5458
5459 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5460 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5461 ... this. Add a description of the test at the top of the file.
5462 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5463 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5464 ... this. Add a description of the test at the top of the file.
5465
e3091406
NS
54662015-10-28 Nathan Sidwell <nathan@codesourcery.com>
5467
5468 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5469 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5470 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5471 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5472 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5473 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5474
a1c1908b
NS
54752015-10-27 Nathan Sidwell <nathan@codesourcery.com>
5476
5477 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5478 dimensions.
5479
b3962a4a
TS
54802015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5481
5482 PR testsuite/68063
5483 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5484
88bae6f4
TS
54852015-10-27 James Norris <jnorris@codesourcery.com>
5486
5487 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5488 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5489
8baa7864
TS
54902015-10-26 Thomas Schwinge <thomas@codesourcery.com>
5491
bdeb752c
TS
5492 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5493 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5494
ecd4fd43
TS
5495 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5496 acc_device_nvidia usage.
5497 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5498 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5499 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5500
aa8b7d30
TS
5501 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5502 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5503
7c8f138d
TS
5504 PR libgomp/66518
5505 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5506
8baa7864
TS
5507 PR libgomp/65437
5508 PR libgomp/66518
5509 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5510 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5511
88ebcde5
TV
55122015-10-23 Tom de Vries <tom@codesourcery.com>
5513
5514 PR testsuite/68063
5515 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5516
9ef83c04
NS
55172015-10-20 Nathan Sidwell <nathan@codesourcery.com>
5518
5519 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5520 vector_length.
5521 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5522
3837c6d6
IV
55232015-10-14 Ilya Verbin <ilya.verbin@intel.com>
5524 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
5525
5526 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5527 to 0 when mapnum is 0.
5528
ac8a1965
SH
55292015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
5530
5531 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5532 Cast to int from int32_t.
5533
d9a6bd32
JJ
55342015-10-13 Jakub Jelinek <jakub@redhat.com>
5535 Aldy Hernandez <aldyh@redhat.com>
5536 Ilya Verbin <ilya.verbin@intel.com>
5537
5538 * config/linux/affinity.c (omp_get_place_num_procs,
5539 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5540 * config/linux/doacross.h: New file.
5541 * config/posix/affinity.c (omp_get_place_num_procs,
5542 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5543 * config/posix/doacross.h: New file.
5544 * env.c: Include gomp-constants.h.
5545 (struct gomp_task_icv): Rename run_sched_modifier to
5546 run_sched_chunk_size.
5547 (gomp_max_task_priority_var): New variable.
5548 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5549 (handle_omp_display_env): Change _OPENMP value from 201307 to
5550 201511. Print OMP_MAX_TASK_PRIORITY.
5551 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5552 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5553 chunk_size and run_sched_modifier to run_sched_chunk_size.
5554 (omp_get_max_task_priority, omp_get_initial_device,
5555 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5556 omp_get_partition_place_nums): New functions.
5557 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5558 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5559 to chunk_size.
5560 (omp_get_num_places_, omp_get_place_num_procs_,
5561 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5562 omp_get_place_proc_ids_8_, omp_get_place_num_,
5563 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5564 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5565 omp_get_max_task_priority_): New functions.
5566 * libgomp_g.h (GOMP_loop_doacross_static_start,
5567 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5568 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5569 GOMP_loop_ull_doacross_dynamic_start,
5570 GOMP_loop_ull_doacross_guided_start,
5571 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5572 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5573 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5574 GOMP_target_data_41, GOMP_target_update_41,
5575 GOMP_target_enter_exit_data): New prototypes.
5576 (GOMP_task): Add prototype argument.
5577 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5578 (struct gomp_doacross_work_share): New type.
5579 (struct gomp_work_share): Add doacross field.
5580 (struct gomp_task_icv): Rename run_sched_modifier to
5581 run_sched_chunk_size.
5582 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5583 GOMP_TASK_UNDEFERRED. Add comments.
5584 (struct gomp_task_depend_entry): Add comments.
5585 (struct gomp_task): Likewise.
5586 (struct gomp_taskgroup): Likewise.
5587 (struct gomp_target_task): New type.
5588 (struct gomp_team): Add comment.
5589 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5590 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5591 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5592 (struct target_var_desc): New type.
5593 (struct target_mem_desc): Adjust comment. Use struct
5594 target_var_desc instead of splay_tree_key for list.
5595 (REFCOUNT_INFINITY): Define.
5596 (struct splay_tree_key_s): Remove copy_from field.
5597 (struct gomp_device_descr): Add dev2dev_func field.
5598 (enum gomp_map_vars_kind): New enum.
5599 (gomp_map_vars): Add one argument.
5600 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5601 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5602 omp_get_place_num_procs, omp_get_place_num_procs_,
5603 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5604 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5605 omp_get_place_num_, omp_get_partition_num_places,
5606 omp_get_partition_num_places_, omp_get_partition_place_nums,
5607 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5608 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5609 omp_target_free, omp_target_is_present, omp_target_memcpy,
5610 omp_target_memcpy_rect, omp_target_associate_ptr and
5611 omp_target_disassociate_ptr.
5612 (GOMP_4.0.2): Renamed to ...
5613 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5614 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5615 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5616 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5617 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5618 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5619 GOMP_loop_ull_doacross_guided_start,
5620 GOMP_loop_ull_doacross_runtime_start,
5621 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5622 GOMP_doacross_ull_wait.
5623 * libgomp.texi: Document omp_get_max_task_priority.
5624 Rename modifier argument to chunk_size for omp_set_schedule and
5625 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5626 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5627 to run_sched_chunk_size renaming.
5628 (GOMP_loop_ordered_runtime_start): Likewise.
5629 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5630 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5631 GOMP_parallel_loop_runtime_start): New functions.
5632 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5633 to run_sched_chunk_size renaming.
5634 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5635 GOMP_loop_doacross_guided_start): New functions or aliases.
5636 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5637 run_sched_modifier to run_sched_chunk_size renaming.
5638 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5639 (gomp_loop_ull_doacross_static_start,
5640 gomp_loop_ull_doacross_dynamic_start,
5641 gomp_loop_ull_doacross_guided_start,
5642 GOMP_loop_ull_doacross_runtime_start): New functions.
5643 (GOMP_loop_ull_doacross_static_start,
5644 GOMP_loop_ull_doacross_dynamic_start,
5645 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5646 * oacc-mem.c (acc_map_data, present_create_copy,
5647 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5648 to gomp_map_vars.
5649 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5650 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5651 instead of false to gomp_map_vars.
5652 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5653 * omp.h.in (omp_lock_hint_t): New type.
5654 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5655 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5656 omp_get_place_num, omp_get_partition_num_places,
5657 omp_get_partition_place_nums, omp_get_initial_device,
5658 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5659 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5660 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5661 prototypes.
5662 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5663 (omp_lock_hint_none, omp_lock_hint_uncontended,
5664 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5665 omp_lock_hint_speculative): New parameters.
5666 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5667 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5668 omp_get_place_num, omp_get_partition_num_places,
5669 omp_get_partition_place_nums, omp_get_initial_device,
5670 omp_get_max_task_priority): New interfaces.
5671 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5672 to chunk_size.
5673 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5674 (omp_lock_hint_none, omp_lock_hint_uncontended,
5675 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5676 omp_lock_hint_speculative): New parameters.
5677 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5678 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5679 omp_get_place_num, omp_get_partition_num_places,
5680 omp_get_partition_place_nums, omp_get_initial_device,
5681 omp_get_max_task_priority): New functions and subroutines.
5682 * ordered.c: Include stdarg.h and string.h.
5683 (MAX_COLLAPSED_BITS): Define.
5684 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5685 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5686 GOMP_doacross_ull_wait): New functions.
5687 * target.c: Include errno.h.
5688 (resolve_device): If device is not initialized, call
5689 gomp_init_device on it.
5690 (gomp_map_lookup): New function.
5691 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5692 Don't bump refcount if REFCOUNT_INFINITY. Handle
5693 GOMP_MAP_ALWAYS_TO_P.
5694 (get_kind): Rename is_openacc argument to short_mapkind.
5695 (gomp_map_pointer): Use gomp_map_lookup.
5696 (gomp_map_fields_existing): New function.
5697 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5698 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5699 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5700 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5701 Adjust for tgt->list changed type and copy_from living in there.
5702 (gomp_copy_from_async): Adjust for tgt->list changed type and
5703 copy_from living in there.
5704 (gomp_unmap_vars): Likewise.
5705 (gomp_update): Likewise. Rename is_openacc argument to
5706 short_mapkind. Don't fail if object is not mapped.
5707 (gomp_load_image_to_device): Initialize refcount to
5708 REFCOUNT_INFINITY.
5709 (gomp_target_fallback): New function.
5710 (gomp_get_target_fn_addr): Likewise.
5711 (GOMP_target): Adjust gomp_map_vars caller, use
5712 gomp_get_target_fn_addr and gomp_target_fallback.
5713 (GOMP_target_41): New function.
5714 (gomp_target_data_fallback): New function.
5715 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5716 (GOMP_target_data_41): New function.
5717 (GOMP_target_update): Adjust gomp_update caller.
5718 (GOMP_target_update_41): New function.
5719 (gomp_exit_data, GOMP_target_enter_exit_data,
5720 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5721 omp_target_is_present, omp_target_memcpy,
5722 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5723 omp_target_associate_ptr, omp_target_disassociate_ptr,
5724 gomp_load_plugin_for_device): New functions.
5725 * task.c: Include gomp-constants.h. Include taskloop.c
5726 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5727 (gomp_task_handle_depend): New function.
5728 (GOMP_task): Use it. Add priority argument. Use
5729 gomp-constant.h constants instead of hardcoded numbers.
5730 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5731 (gomp_create_target_task): New function.
5732 (verify_children_queue, verify_taskgroup_queue,
5733 verify_task_queue): New functions.
5734 (gomp_task_run_pre): Call verify_*_queue functions.
5735 If an upcoming tied task is about to leave the sibling or
5736 taskgroup queues in an invalid state, adjust appropriately.
5737 Remove taskgroup argument. Add comments.
5738 (gomp_task_run_post_handle_dependers): Add comments.
5739 (gomp_task_run_post_remove_parent): Likewise.
5740 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5741 (GOMP_taskwait): Likewise. Add comments.
5742 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5743 problem such that the first non parent_depends_on task does not
5744 end up at the end of the children queue.
5745 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5746 GOMP_TASK_UNDEFERRED.
5747 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5748 * taskloop.c: New file.
5749 * testsuite/lib/libgomp.exp
5750 (check_effective_target_offload_device_nonshared_as): New proc.
5751 * testsuite/libgomp.c/affinity-2.c: New test.
5752 * testsuite/libgomp.c/doacross-1.c: New test.
5753 * testsuite/libgomp.c/doacross-2.c: New test.
5754 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5755 Add map clause to target.
5756 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5757 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5758 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5759 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5760 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5761 Likewise.
5762 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5763 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5764 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5765 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5766 not defined. Use those where needed.
5767 * testsuite/libgomp.c/for-4.c: New test.
5768 * testsuite/libgomp.c/for-5.c: New test.
5769 * testsuite/libgomp.c/for-6.c: New test.
5770 * testsuite/libgomp.c/linear-1.c: New test.
5771 * testsuite/libgomp.c/ordered-4.c: New test.
5772 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5773 only allowed on the loop iterator.
5774 * testsuite/libgomp.c/pr66199-3.c: New test.
5775 * testsuite/libgomp.c/pr66199-4.c: New test.
5776 * testsuite/libgomp.c/reduction-7.c: New test.
5777 * testsuite/libgomp.c/reduction-8.c: New test.
5778 * testsuite/libgomp.c/reduction-9.c: New test.
5779 * testsuite/libgomp.c/reduction-10.c: New test.
5780 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5781 map(tofrom:s).
5782 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5783 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5784 * testsuite/libgomp.c/target-11.c: New test.
5785 * testsuite/libgomp.c/target-12.c: New test.
5786 * testsuite/libgomp.c/target-13.c: New test.
5787 * testsuite/libgomp.c/target-14.c: New test.
5788 * testsuite/libgomp.c/target-15.c: New test.
5789 * testsuite/libgomp.c/target-16.c: New test.
5790 * testsuite/libgomp.c/target-17.c: New test.
5791 * testsuite/libgomp.c/target-18.c: New test.
5792 * testsuite/libgomp.c/target-19.c: New test.
5793 * testsuite/libgomp.c/target-20.c: New test.
5794 * testsuite/libgomp.c/target-21.c: New test.
5795 * testsuite/libgomp.c/target-22.c: New test.
5796 * testsuite/libgomp.c/target-23.c: New test.
5797 * testsuite/libgomp.c/target-24.c: New test.
5798 * testsuite/libgomp.c/target-25.c: New test.
5799 * testsuite/libgomp.c/target-26.c: New test.
5800 * testsuite/libgomp.c/target-27.c: New test.
5801 * testsuite/libgomp.c/taskloop-1.c: New test.
5802 * testsuite/libgomp.c/taskloop-2.c: New test.
5803 * testsuite/libgomp.c/taskloop-3.c: New test.
5804 * testsuite/libgomp.c/taskloop-4.c: New test.
5805 * testsuite/libgomp.c++/ctor-13.C: New test.
5806 * testsuite/libgomp.c++/doacross-1.C: New test.
5807 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5808 Replace offload_device with offload_device_nonshared_as.
5809 * testsuite/libgomp.c++/for-12.C: New test.
5810 * testsuite/libgomp.c++/for-13.C: New test.
5811 * testsuite/libgomp.c++/for-14.C: New test.
5812 * testsuite/libgomp.c++/linear-1.C: New test.
5813 * testsuite/libgomp.c++/member-1.C: New test.
5814 * testsuite/libgomp.c++/member-2.C: New test.
5815 * testsuite/libgomp.c++/member-3.C: New test.
5816 * testsuite/libgomp.c++/member-4.C: New test.
5817 * testsuite/libgomp.c++/member-5.C: New test.
5818 * testsuite/libgomp.c++/ordered-1.C: New test.
5819 * testsuite/libgomp.c++/reduction-5.C: New test.
5820 * testsuite/libgomp.c++/reduction-6.C: New test.
5821 * testsuite/libgomp.c++/reduction-7.C: New test.
5822 * testsuite/libgomp.c++/reduction-8.C: New test.
5823 * testsuite/libgomp.c++/reduction-9.C: New test.
5824 * testsuite/libgomp.c++/reduction-10.C: New test.
5825 * testsuite/libgomp.c++/reference-1.C: New test.
5826 * testsuite/libgomp.c++/simd14.C: New test.
5827 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5828 * testsuite/libgomp.c++/target-5.C: New test.
5829 * testsuite/libgomp.c++/target-6.C: New test.
5830 * testsuite/libgomp.c++/target-7.C: New test.
5831 * testsuite/libgomp.c++/target-8.C: New test.
5832 * testsuite/libgomp.c++/target-9.C: New test.
5833 * testsuite/libgomp.c++/target-10.C: New test.
5834 * testsuite/libgomp.c++/target-11.C: New test.
5835 * testsuite/libgomp.c++/target-12.C: New test.
5836 * testsuite/libgomp.c++/taskloop-1.C: New test.
5837 * testsuite/libgomp.c++/taskloop-2.C: New test.
5838 * testsuite/libgomp.c++/taskloop-3.C: New test.
5839 * testsuite/libgomp.c++/taskloop-4.C: New test.
5840 * testsuite/libgomp.c++/taskloop-5.C: New test.
5841 * testsuite/libgomp.c++/taskloop-6.C: New test.
5842 * testsuite/libgomp.c++/taskloop-7.C: New test.
5843 * testsuite/libgomp.c++/taskloop-8.C: New test.
5844 * testsuite/libgomp.c++/taskloop-9.C: New test.
5845 * testsuite/libgomp.fortran/affinity1.f90: New test.
5846 * testsuite/libgomp.fortran/affinity2.f90: New test.
5847
1f600fea
TV
58482015-10-13 Tom de Vries <tom@codesourcery.com>
5849
5850 PR tree-optimization/67476
5851 * testsuite/libgomp.c/autopar-3.c: New test.
5852 * testsuite/libgomp.c/autopar-4.c: New test.
5853 * testsuite/libgomp.c/autopar-5.c: New test.
5854 * testsuite/libgomp.c/autopar-6.c: New test.
5855 * testsuite/libgomp.c/autopar-7.c: New test.
5856 * testsuite/libgomp.c/autopar-8.c: New test.
5857
058a654b
JN
58582015-10-12 James Norris <jnorris@codesourcery.com>
5859
5860 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5861 initializer.
5862
9e531d37
DM
58632015-10-09 David Malcolm <dmalcolm@redhat.com>
5864
5865 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5866 using load_gcc_lib.
5867
113020dc
TS
58682015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5869
5870 * oacc-ptx.h: Remove file, moving its content into...
5871 * config/nvptx/fortran.c: ... here...
5872 * config/nvptx/oacc-init.c: ..., here...
5873 * config/nvptx/oacc-parallel.c: ..., and here.
5874 * config/nvptx/openacc.f90: New file.
5875 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5876 (link_ptx): Don't link in predefined bits of PTX code.
5877
cc3cd79b
NS
58782015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5879 Bernd Schmidt <bernds@codesourcery.com>
5880
5881 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5882 (struct targ_ptx_obj): New.
5883 (nvptx_tdata): Move earlier, change data format.
5884 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5885 objects.
5886 (GOMP_OFFLOAD_load_image): Adjust.
5887
4e2a5450
TS
58882015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5889
5890 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5891 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5892 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5893 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5894 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5895 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5896 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5897 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5898 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5899 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5900 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5901 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5902 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5903 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5904 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5905 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5906 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5907 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5908 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5909 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5910 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5911 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5912 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5913 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5915 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5917 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5918 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5919 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5921 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5923 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5924 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5925 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5926 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5927 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5928 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5929 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5930 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5931 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5932 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5933 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5934 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5935 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5936 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5937 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5938 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5939 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5940 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5941 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5942 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5943 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5944 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5945 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5946 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5947 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5948 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5949 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5950 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5951 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5952 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5953
164453bb
NS
59542015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5955
5956 * oacc-init.c (acc_on_device): Force optimization level.
5957
a12a0437
NS
59582015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5959
5960 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5961 (cuda_errlist): Delete.
5962 (cuda_error): Reimplement.
5963
3e32ee19
NS
59642015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5965
5966 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5967 array.
5968 * libgomp.map (GOACC_parallel_keyed): New.
5969 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5970 all callers.
5971 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5972 and take keyed varargs list. Adjust call to exec_func.
5973 (GOACC_parallel): Force host fallback.
5974 * libgomp_g.h (GOACC_parallel): Remove.
5975 (GOACC_parallel_keyed): Declare.
5976 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5977 (stuct targ_gn_descriptor): Replace name field with launch field.
5978 (nvptx_exec): Lose separate geometry args, take array. Process
5979 dynamic dimensions and adjust.
5980 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5981 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5982 data.
5983 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5984 passing.
5985 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5986 passing.
5987
6bb4c3e2
CLT
59882015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5989
5990 PR libgomp/67141
5991 * oacc-int.h (goacc_host_init): Add declaration.
5992 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5993 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5994
74032f47 59952015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 5996 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
5997
5998 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5999 match o/p.
6000 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6001 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6002 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6003 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6004 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6005
97875f4a
JJ
60062015-09-03 Jakub Jelinek <jakub@redhat.com>
6007
6008 * configure.tgt: Add missing ;; in between nvptx and rtems
6009 snippets.
6010
06441dd5
SH
60112015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6012
6013 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6014 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6015 (gomp_thread_pool_reservoir): Add priority member.
6016 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6017 priority.
6018 (parse_thread_pools): Likewise.
6019 * team.c (gomp_team_start): Call configuration provided
6020 gomp_adjust_thread_attr(). Destroy thread attributes if
6021 necessary.
6022 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6023
66c59f92
SH
60242015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6025
6026 * config/posix/pool.h: New.
6027 * config/rtems/pool.h: Likewise.
6028 * config/rtems/proc.c: Likewise.
6029 * libgomp.h (gomp_thread_destructor): Declare.
6030 * team.c: Include configuration provided "pool.h".
6031 (gomp_get_thread_pool): Define in configuration.
6032 (gomp_team_end): Call configuration defined
6033 gomp_release_thread_pool().
6034
13c41b2e
SH
60352015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6036
6037 * config/rtems/bar.c: New.
6038 * config/rtems/bar.h: Likewise.
6039 * config/rtems/mutex.c: Likewise.
6040 * config/rtems/mutex.h: Likewise.
6041 * config/rtems/sem.c: Likewise.
6042 * config/rtems/sem.h: Likewise.
6043 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6044 <sys/lock.h> header file.
6045 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6046 supported by Newlib.
6047 * configure: Regenerate.
6048
7892ec67
SH
60492015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6050
6051 * team.c (gomp_new_thread_pool): Delete and move content to ...
6052 (gomp_get_thread_pool): ... new function. Allocate and
6053 initialize thread pool on demand.
6054 (get_last_team): Use gomp_get_thread_pool().
6055 (gomp_team_start): Delete thread pool initialization.
6056
1b96e9a4
TV
60572015-09-03 Tom de Vries <tom@codesourcery.com>
6058
6059 PR tree-optimization/65637
6060 * testsuite/libgomp.c/autopar-2.c: New test.
6061
3ff2d74e
TV
60622015-08-29 Tom de Vries <tom@codesourcery.com>
6063
6064 PR tree-optimization/46193
6065 * testsuite/libgomp.c/pr46193.c: New test.
6066
2a21ff19
NS
60672015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6068
6069 libgomp/
6070 * libgomp.map: Add 4.0.2 version.
6071 * target.c (offload_image_descr): Add version field.
6072 (gomp_load_image_to_device): Add version argument. Adjust plugin
6073 call. Improve load mismatch diagnostic.
6074 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6075 call.
6076 (GOMP_offload_regster): Make stub function, move bulk to ...
6077 (GOMP_offload_register_ver): ... here. Process version argument.
6078 (GOMP_offload_unregister): Make stub function, move bulk to ...
6079 (GOMP_offload_unregister_ver): ... here. Process version argument.
6080 (gomp_init_device): Process version field.
6081 (gomp_unload_device): Process version field.
6082 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6083 macros. Check plugin version.
6084 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6085 loader and unloader types.
6086 * oacc-host.c: Include gomp-constants.h.
6087 (host_version): New.
6088 (host_load_image, host_unload_image): Adjust.
6089 (host_dispatch): Add host_version.
6090 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6091 (GOMP_OFFLOAD_version): New.
6092 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6093 (GOMP_OFFLOAD_unload_image): Likewise.
6094 * plugin/plugin-host.c: Include gomp-constants.h.
6095 (GOMP_OFFLOAD_version): New.
6096 (GOMP_OFFLOAD_load_image): Add version arg.
6097 (GOMP_OFFLOAD_unload_image): Likewise.
6098
1358a747
TV
60992015-08-24 Tom de Vries <tom@codesourcery.com>
6100
6101 PR tree-optimization/65468
6102 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6103
6be5c241
TV
61042015-08-24 Tom de Vries <tom@codesourcery.com>
6105
6106 PR tree-optimization/65468
6107 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6108
bfe7ac89
JV
61092015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6110
6111 PR libgomp/66761
6112 PR libgomp/67303
6113 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6114 (gomp_iter_guided_next): Idem.
6115 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6116 (gomp_iter_ull_guided_next): Idem.
6117 * config/linux/wait.h (do_spin): Idem.
6118
b97e78b7
TS
61192015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6120
6121 * libgomp-plugin.h (enum offload_target_type): Remove
6122 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6123 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6124 * openacc.h (enum acc_device_t): Likewise.
6125 * openacc_lib.h: Likewise.
6126 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6127 (acc_on_device): Just use __builtin_acc_on_device.
6128 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6129 of acc_on_device builtin.
6130 * plugin/plugin-host.h: Remove file.
6131 * plugin/plugin-host.c: Likewise, but salvage some content into...
6132 * oacc-host.c: ... this file.
6133 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6134 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6135 * Makefile.in: Regenerate.
6136 * configure: Likewise.
6137 * testsuite/lib/libgomp.exp
6138 (check_effective_target_openacc_host_nonshm_selected): Remove.
6139 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6140 ACC_DEVICE_TYPE=host_nonshm.
6141 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6142 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6144 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6145 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6146 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6147
44a7d18d
TS
61482015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6149 Jakub Jelinek <jakub@redhat.com>
6150
6151 * config/nvptx/affinity.c: New file.
6152 * config/nvptx/alloc.c: Likewise.
6153 * config/nvptx/bar.c: Likewise.
6154 * config/nvptx/barrier.c: Likewise.
6155 * config/nvptx/critical.c: Likewise.
6156 * config/nvptx/env.c: Likewise.
6157 * config/nvptx/error.c: Likewise.
6158 * config/nvptx/fortran.c: Likewise.
6159 * config/nvptx/iter.c: Likewise.
6160 * config/nvptx/iter_ull.c: Likewise.
6161 * config/nvptx/libgomp-plugin.c: Likewise.
6162 * config/nvptx/lock.c: Likewise.
6163 * config/nvptx/loop.c: Likewise.
6164 * config/nvptx/loop_ull.c: Likewise.
6165 * config/nvptx/mutex.c: Likewise.
6166 * config/nvptx/oacc-async.c: Likewise.
6167 * config/nvptx/oacc-cuda.c: Likewise.
6168 * config/nvptx/oacc-host.c: Likewise.
6169 * config/nvptx/oacc-init.c: Likewise.
6170 * config/nvptx/oacc-mem.c: Likewise.
6171 * config/nvptx/oacc-parallel.c: Likewise.
6172 * config/nvptx/oacc-plugin.c: Likewise.
6173 * config/nvptx/omp-lock.h: Likewise.
6174 * config/nvptx/ordered.c: Likewise.
6175 * config/nvptx/parallel.c: Likewise.
6176 * config/nvptx/proc.c: Likewise.
6177 * config/nvptx/ptrlock.c: Likewise.
6178 * config/nvptx/sections.c: Likewise.
6179 * config/nvptx/sem.c: Likewise.
6180 * config/nvptx/single.c: Likewise.
6181 * config/nvptx/splay-tree.c: Likewise.
6182 * config/nvptx/target.c: Likewise.
6183 * config/nvptx/task.c: Likewise.
6184 * config/nvptx/team.c: Likewise.
6185 * config/nvptx/time.c: Likewise.
6186 * config/nvptx/work.c: Likewise.
6187 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6188 * configure: Regenerate.
6189 * configure.tgt (config_path): Set to "nvptx" for target
6190 nvptx*-*-*.
6191
96a2d174
TS
61922015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6193
6194 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6195
9ebddeb0
NS
61962015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6197
6198 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6199 (cuda_errlist): Constify.
6200 (errmsg): Move into ...
6201 (cuda_error): ... here. Make smaller.
6202 (_XSTR, _STR): Delete.
6203 (cuda_synames): Delete.
6204 (verify_device_library): Delete.
6205 (nvptx_init): Don't call it.
6206
12efb1d7
TV
62072015-07-28 Tom de Vries <tom@codesourcery.com>
6208
6209 * testsuite/libgomp.c/uns-outer-4.c: New test.
6210
710ee218
CP
62112015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6212
6213 * testsuite/libgomp.c/pr66714.c: New test.
6214
27c4ac7d
MB
62152015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6216
6217 PR libgomp/66950
6218 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6219 (fib_ref): New function.
6220 (fib): Correct corner cases in the recursion.
6221 (main): Replace the non-simd loop with fib_ref call.
6222 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6223 subroutine.
6224 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6225 for the last array element value. Replace the non-simd loop with
6226 fib_ref call. Remove redundant b_ref array. Remove the comparison
6227 of the last array element with according Fibonacci sequence element.
6228 (fib): Correct corner cases in the recursion.
6229
22be2349
NS
62302015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6231
6232 * target.c (gomp_offload_image_to_device): Rename to ...
6233 (gomp_load_image_to_device): ... here.
6234 (GOMP_offload_register): Adjust call.
6235 (gomp_init_device): Likewise.
6236 (gomp_unload_image_from_device): New. Broken out of ...
6237 (GOMP_offload_unregister): ... here. Call it.
6238 (gomp_unload_device): New.
6239 * libgomp.h (gomp_unload_device): Declare.
6240 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6241 mem maps.
6242
f3e9a059
NS
62432015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6244
a091118d
NS
6245 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6246 wait=-specific if.
6247 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6248 !=0 condition.
6249 (goacc_waits): Move !num_waits handling to ...
6250 (GOACC_wait): ... here, the only caller that might have zero waits.
6251
f3e9a059
NS
6252 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6253 (struct ptx_image_data): Move earlier, add fns field.
6254 (struct ptx_device): Add images and image_lock fields.
6255 (ptx_images, ptx_image_lock): Delete.
6256 (nvptx_open_device): Initialize images and image_lock fields.
6257 (nvptx_close_device): Destroy image_lock.
6258 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6259 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6260 fields.
6261
afb2d80b
NS
62622015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6263
896c28a7
NS
6264 * target.c (GOMP_offload_register): Use int for device type arg.
6265 (GOMP_offload_unregister): Likewise.
6266
ebe4a560
NS
6267 * target.c (struct_offload_image_descr): Constify host_table.
6268 (gomp_offload_image_to_device): Likewise.
6269 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6270
afb2d80b
NS
6271 * libgomp.h (gomp_device_descr): Constify target data arguments.
6272 * target.c (struct offload_image_descr): Constify target_data.
6273 (gomp_offload_image_to_device): Likewise.
6274 (GOMP_offload_register): Likewise.
6275 (GOMP_offload_unrefister): Likewise.
6276 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6277 GOMP_OFFLOAD_unload_image): Constify target data.
6278 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6279 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6280
a4cb876d
NS
62812015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6282
6283 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6284 Workaround driver library const error.
6285 (struct nvptx_tdata, nvptx_tdata_t): New.
6286 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6287 type.
6288
28ef6a27
MB
62892015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6290
6291 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6292 of EPS parameter from integer to real.
6293 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6294 type of EPS parameter from integer to real.
6295
6dba0113
SH
62962015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6297
6298 * team.c (get_last_team): New.
6299 (gomp_new_team): Recycle last non-nested team if possible.
6300 (gomp_team_end): Move team work share list free lock destruction
6301 to ...
6302 (free_team): ... here.
6303
4c1cb4da
MB
63042015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6305
6306 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6307 and ref from int to double. Replaced their comparison with
6308 an inequality of their difference and EPS.
6309 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6310 comparison of pri and a reference number with an inequality of their
6311 difference and EPS.
6312 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6313 the comparison of sum and sum_ref with an inequality of their
6314 difference and EPS.
6315 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6316 the comparison of pri and a reference number with an inequality of
6317 their difference and EPS.
6318
343587dc
MB
63192015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6320
6321 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6322 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6323 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6324 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6325 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6326 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6327 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6328 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6329 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6330 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6331 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6332 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6333 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6334 variables.
6335 (vec_mult): Likewise. Add #pragma omp taskwait.
6336 (main): Adjust caller.
6337 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6338 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6339 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6340 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6341 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6342 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6343 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6344 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6345 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6346 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6347 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6348 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6349 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6350 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6351 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6352 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6353 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6354 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6355 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6356 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6357 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6358 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6359 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6360 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6361 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6362 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6363 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6364 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6365 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6366 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6367 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6368 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6369 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6370 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6371 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6372 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6373 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6374 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6375 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6376 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6377 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6378 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6379 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6380 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6381 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6382 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6383 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6384 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6385 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6386 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6387 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6388 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6389 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6390 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6391 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6392 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6393 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6394 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6395 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6396 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6397 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6398 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6399 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6400 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6401 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6402 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6403 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6404 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6405 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6406 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6407 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6408 (vec_mult): Add !$omp taskwait.
6409 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6410 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6411 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6412 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6413 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6414 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6415 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6416 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6417 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6418 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6419 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6420 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6421 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6422 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6423 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6424 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6425 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6426 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6427 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6428 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6429 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6430 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6431 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6432 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6433 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6434 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6435 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6436 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6437 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6438 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6439 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6440 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6441 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6442 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6443 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6444 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6445 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6446 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6447 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6448 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6449 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6450 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6451 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6452 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6453 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6454 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6455 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6456 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6457 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6458 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6459 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6460 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6461 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6462 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6463 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6464 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6465 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6466 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6467 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6468 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6469 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6470 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6471 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6472 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6473 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6474 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6475 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6476
9f620bf1
TV
64772015-07-10 Tom de Vries <tom@codesourcery.com>
6478
6479 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6480 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6481
a92defda
TS
64822015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6483
6484 PR libgomp/65099
6485 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6486 in a 64-bit configuration.
6487 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6488 offloading testing if no such device is available.
6489 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6490 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6491
cadb53a5
TV
64922015-07-08 Tom de Vries <tom@codesourcery.com>
6493
6494 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6495 second call to f.
6496 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6497
712cb0bb
TV
64982015-07-07 Tom de Vries <tom@codesourcery.com>
6499
6500 PR tree-optimization/66642
6501 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6502 iteration count case.
6503 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6504 function, factor out of ...
6505 (main): ... here. Test low iteration count case.
6506
e5210c77
SH
65072015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
6508
6509 * libgomp.h (gomp_thread_pool): Comment last_team field.
6510
f70360e7
UB
65112015-07-02 Uros Bizjak <ubizjak@gmail.com>
6512
6513 * testsuite/libgomp.c++/pr66702-1.C: Require
6514 vect_simd_clones effective target.
6515 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6516
b451c271
TV
65172015-06-30 Tom de Vries <tom@codesourcery.com>
6518
6519 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6520 already set. Use DEFAULT_CFLAGS in dg-runtest.
6521 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6522 "-O2".
6523
f8e89d9f
TV
65242015-06-30 Tom de Vries <tom@codesourcery.com>
6525
6526 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6527 already set. Use DEFAULT_CFLAGS in dg-runtest.
6528 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6529 * testsuite/libgomp.c++/pr64824.C: Same.
6530 * testsuite/libgomp.c++/pr64868.C: Same.
6531 * testsuite/libgomp.c++/pr66199-1.C: Same.
6532 * testsuite/libgomp.c++/pr66199-2.C: Same.
6533 * testsuite/libgomp.c++/target-2.C: Same.
6534 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6535 -std=<standard> option.
6536 * testsuite/libgomp.c++/udr-11.C: Same.
6537 * testsuite/libgomp.c++/udr-12.C: Same.
6538 * testsuite/libgomp.c++/udr-13.C: Same.
6539 * testsuite/libgomp.c++/udr-14.C: Same.
6540 * testsuite/libgomp.c++/udr-15.C: Same.
6541 * testsuite/libgomp.c++/udr-16.C: Same.
6542 * testsuite/libgomp.c++/udr-17.C: Same.
6543 * testsuite/libgomp.c++/udr-18.C: Same.
6544 * testsuite/libgomp.c++/udr-19.C: Same.
6545 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6546 * testsuite/libgomp.c++/simd-1.C: Same.
6547 * testsuite/libgomp.c++/simd-2.C: Same.
6548 * testsuite/libgomp.c++/simd-3.C: Same.
6549 * testsuite/libgomp.c++/simd-4.C: Same.
6550 * testsuite/libgomp.c++/simd-5.C: Same.
6551 * testsuite/libgomp.c++/simd-6.C: Same.
6552 * testsuite/libgomp.c++/simd-7.C: Same.
6553 * testsuite/libgomp.c++/simd-8.C: Same.
6554 * testsuite/libgomp.c++/simd-9.C: Same.
6555 * testsuite/libgomp.c++/simd10.C: Same.
6556 * testsuite/libgomp.c++/simd11.C: Same.
6557 * testsuite/libgomp.c++/simd12.C: Same.
6558 * testsuite/libgomp.c++/simd13.C: Same.
6559
3446fe48
JJ
65602015-06-30 Jakub Jelinek <jakub@redhat.com>
6561
6562 PR middle-end/66702
6563 * testsuite/libgomp.c++/pr66702-1.C: New test.
6564 * testsuite/libgomp.c++/pr66702-2.C: New test.
6565
8a36714a
TV
65662015-06-30 Tom de Vries <tom@codesourcery.com>
6567
6568 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6569 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6570 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6571 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6572
4f75d608
TV
65732015-06-30 Tom de Vries <tom@codesourcery.com>
6574
6575 PR tree-optimization/66652
6576 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6577 using restrict pointers.
6578 (main): Add arguments to calls to f.
6579 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6580
6d9d1eeb
AT
65812015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6582
6583 * configure.ac: Fix check for header <sys/sysctl.h>.
6584 * configure: Regenerate.
6585 * config.h.in: Likewise.
6586
1222f22b
TV
65872015-06-23 Tom de Vries <tom@codesourcery.com>
6588
6589 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6590 abort.
6591 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6592
d7efbbf6
TS
65932015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6594
bfcd036f
TS
6595 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6596 acc_device_nvidia.
6597
d7efbbf6
TS
6598 PR libgomp/66518
6599 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6600 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6601
d7bfc710
TV
66022015-06-15 Tom de Vries <tom@codesourcery.com>
6603
6604 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6605 dg-additional-options for any remaining options.
6606 * testsuite/libgomp.c/atomic-2.c: Same.
6607 * testsuite/libgomp.c/atomic-4.c: Same.
6608 * testsuite/libgomp.c/atomic-5.c: Same.
6609 * testsuite/libgomp.c/atomic-6.c: Same.
6610 * testsuite/libgomp.c/autopar-1.c: Same.
6611 * testsuite/libgomp.c/copyin-1.c: Same.
6612 * testsuite/libgomp.c/copyin-2.c: Same.
6613 * testsuite/libgomp.c/copyin-3.c: Same.
6614 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6615 * testsuite/libgomp.c/nestedfn-5.c: Same.
6616 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6617 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6618 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6619 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6620 * testsuite/libgomp.c/pr32362-1.c: Same.
6621 * testsuite/libgomp.c/pr32362-2.c: Same.
6622 * testsuite/libgomp.c/pr32362-3.c: Same.
6623 * testsuite/libgomp.c/pr39591-1.c: Same.
6624 * testsuite/libgomp.c/pr39591-2.c: Same.
6625 * testsuite/libgomp.c/pr39591-3.c: Same.
6626 * testsuite/libgomp.c/pr58392.c: Same.
6627 * testsuite/libgomp.c/pr58756.c: Same.
6628 * testsuite/libgomp.c/simd-1.c: Same.
6629 * testsuite/libgomp.c/simd-10.c: Same.
6630 * testsuite/libgomp.c/simd-11.c: Same.
6631 * testsuite/libgomp.c/simd-12.c: Same.
6632 * testsuite/libgomp.c/simd-13.c: Same.
6633 * testsuite/libgomp.c/simd-14.c: Same.
6634 * testsuite/libgomp.c/simd-15.c: Same.
6635 * testsuite/libgomp.c/simd-2.c: Same.
6636 * testsuite/libgomp.c/simd-3.c: Same.
6637 * testsuite/libgomp.c/simd-4.c: Same.
6638 * testsuite/libgomp.c/simd-5.c: Same.
6639 * testsuite/libgomp.c/simd-6.c: Same.
6640 * testsuite/libgomp.c/simd-7.c: Same.
6641 * testsuite/libgomp.c/simd-8.c: Same.
6642 * testsuite/libgomp.c/simd-9.c: Same.
6643
fb5b5352
TV
66442015-06-15 Tom de Vries <tom@codesourcery.com>
6645
6646 * testsuite/libgomp.c/pr35625.c: Fix typo.
6647
ca431bef
TV
66482015-06-15 Tom de Vries <tom@codesourcery.com>
6649
6650 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6651 in dg-options.
6652 * testsuite/libgomp.c/atomic-3.c: Same.
6653 * testsuite/libgomp.c/debug-1.c: Same.
6654 * testsuite/libgomp.c/nqueens-1.c: Same.
6655 * testsuite/libgomp.c/pr26171.c: Same.
6656 * testsuite/libgomp.c/pr48591.c: Same.
6657 * testsuite/libgomp.c/pr64824.c: Same.
6658 * testsuite/libgomp.c/pr64868.c: Same.
6659 * testsuite/libgomp.c/pr66133.c: Same.
6660 * testsuite/libgomp.c/pr66199-1.c: Same.
6661 * testsuite/libgomp.c/pr66199-2.c: Same.
6662 * testsuite/libgomp.c/target-8.c: Same.
6663
0d8a9e20
TV
66642015-06-15 Tom de Vries <tom@codesourcery.com>
6665
6666 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6667 -std={gnu99,c99}.
6668 * testsuite/libgomp.c/for-1.c: Same.
6669 * testsuite/libgomp.c/for-2.c: Same.
6670 * testsuite/libgomp.c/for-3.c: Same.
6671 * testsuite/libgomp.c/pr35625.c: Same.
6672 * testsuite/libgomp.c/pr39154.c: Same.
6673 * testsuite/libgomp.c/simd-16.c: Same.
6674 * testsuite/libgomp.c/simd-17.c: Same.
6675
a6860be9
TV
66762015-06-13 Tom de Vries <tom@codesourcery.com>
6677
6678 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6679
ab3306d2
TV
66802015-06-13 Tom de Vries <tom@codesourcery.com>
6681
6682 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6683 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6684 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6685 (N): Define.
6686 (main): Use N instead of hardcoded constants.
6687
7c82d827
TV
66882015-06-05 Tom de Vries <tom@codesourcery.com>
6689
6690 merge from gomp4 branch:
6691 2015-05-28 Tom de Vries <tom@codesourcery.com>
6692
6693 PR tree-optimization/65443
6694 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6695 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6696 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6697
c469078d
BRF
66982015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6699
6700 * testsuite/libgomp.graphite/bounds.c: Adjust for
6701 cleanup-tree-dump removal.
6702 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6703 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6704 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6705 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6706 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6707 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6708 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6709 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6710 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6711 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6712
bb3caa35
UB
67132015-05-28 Uros Bizjak <ubizjak@gmail.com>
6714
6715 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6716 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6717 (futex_wake) [!__x86_64__]: Ditto.
6718
9fb5fd44
JB
67192015-05-28 Julian Brown <julian@codesourcery.com>
6720
6721 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6722 function comment. Only call gomp_fatal if new argument is true.
6723 (acc_dev_num_out_of_range): New function.
6724 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6725 acc_dev_num_out_of_range as appropriate.
6726 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6727 (acc_get_device_num, acc_set_device_num): Update calls to
6728 resolve_device.
9fb5fd44
JB
6729 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6730 output.
6731
32eaed93
JB
67322015-05-28 Julian Brown <julian@codesourcery.com>
6733
6734 PR libgomp/65742
32eaed93
JB
6735 * oacc-init.c (plugin/plugin-host.h): Include.
6736 (acc_on_device): Check whether we're in an offloaded region for
6737 host_nonshm
6738 plugin. Don't use __builtin_acc_on_device.
6739 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6740 nonshm_exec flag in thread-local data.
6741 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6742 data for host_nonshm plugin.
6743 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6744 for host_nonshm plugin.
6745 * plugin/plugin-host.h: New.
6746
ea023bcf
UB
67472015-05-27 Uros Bizjak <ubizjak@gmail.com>
6748
8ed501f1
UB
6749 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6750
67512015-05-27 Uros Bizjak <ubizjak@gmail.com>
6752
6753 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6754 Declare as int.
6755 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6756 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6757 Declare as int.
6758
67592015-05-27 Uros Bizjak <ubizjak@gmail.com>
6760
bb3caa35 6761 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6762
1716efeb
CLT
67632015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6764
6765 * target.c (gomp_map_pointer): New function abstracting out
6766 GOMP_MAP_POINTER handling.
6767 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6768 gomp_map_pointer().
6769
41b37d5e
JJ
67702015-05-19 Jakub Jelinek <jakub@redhat.com>
6771
6772 PR middle-end/66199
6773 * testsuite/libgomp.c/pr66199-1.c: New test.
6774 * testsuite/libgomp.c/pr66199-2.c: New test.
6775 * testsuite/libgomp.c++/pr66199-1.C: New test.
6776 * testsuite/libgomp.c++/pr66199-2.C: New test.
6777 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6778 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6779
c8319826
JB
67802015-05-19 Julian Brown <julian@codesourcery.com>
6781
6782 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6783 on cuInit failure.
6784
b37dddbc
JJ
67852015-05-13 Jakub Jelinek <jakub@redhat.com>
6786
6787 PR middle-end/66133
6788 * testsuite/libgomp.c/pr66133.c: New test.
6789
55fba601
MH
67902015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6791
6792 * Makefile.in: Regenerated with automake-1.11.6.
6793 * aclocal.m4: Likewise.
6794 * config.h.in: Likewise.
6795 * configure: Likewise.
6796 * testsuite/Makefile.in: Likewise.
6797
1be0899d
JM
67982015-05-08 Jason Merrill <jason@redhat.com>
6799
6800 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6801 _Complex.
6802
6803 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6804
d2463960
JB
68052015-05-06 Julian Brown <julian@codesourcery.com>
6806
6807 * oacc-init.c (acc_device_lock): Add explanatory comment.
6808 (resolve_device): Add comment about locking requirement.
6809 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6810 gomp_init_device and gomp_fini_device calls.
6811 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6812 (acc_get_device_num, acc_set_device_num): Add locking around
6813 resolve_device and gomp_init_device calls.
6814
e38fdba4
JB
68152015-05-06 Julian Brown <julian@codesourcery.com>
6816
6817 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6818 goacc_thread_lock on error paths.
6819 * oacc-mem.c (lookup_host): Remove locking from function. Note
6820 locking requirement for caller in function comment.
6821 (lookup_dev): Likewise.
6822 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6823 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6824 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6825 Add locking.
6826
ae8ffbbb
TS
68272015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6828
6829 PR testsuite/65205
6830 PR libgomp/65993
6831 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6832 don't expect "0x" prefix for "%p" format specifier, don't expect
6833 "(nil)" for NULL pointer.
6834 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6852 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6857 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6858 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6859 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6862 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6863 accurately specify what we're looking for.
6864 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6865 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6866 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6867 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6868 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6869
1309f1d2
JN
68702015-04-30 James Norris <jnorris@codesourcery.com>
6871
6872 PR testsuite/65205
6873 * testsuite/lib/libgomp.exp
6874 (check_effective_target_openacc_host_selected)
6875 (check_effective_target_openacc_host_nonshm_selected): New
6876 procedures.
6877 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6878 dg-shouldfail.
6879 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6880 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6881 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6882 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6883 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6884 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6885 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6886 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6887 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6888 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6889 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6890 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6891 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6892 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6893 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6894 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6895 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6896 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6897 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6898 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6899 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6900 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6901 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6902 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6903 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6904 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6905 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6906 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6907 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6908 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6909 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6910 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6911 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6912 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6913 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6914 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6915 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6916 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6917 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6918 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6919 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6920 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6921 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6922
d93bdab5
JB
69232015-04-08 Julian Brown <julian@codesourcery.com>
6924
6925 * libgomp.h (target_mem_desc: Remove mem_map field.
6926 (acc_dispatch_t): Remove open_device_func, close_device_func,
6927 get_device_num_func, set_device_num_func, target_data members.
6928 Change create_thread_data_func argument to device number instead of
6929 generic pointer.
6930 * oacc-async.c (assert.h): Include.
6931 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6932 (acc_wait_all, acc_wait_all_async): Use current host thread's
6933 active device, not base_dev.
6934 * oacc-cuda.c (acc_get_current_cuda_device)
6935 (acc_get_current_cuda_context, acc_get_cuda_stream)
6936 (acc_set_cuda_stream): Likewise.
6937 * oacc-host.c (host_dispatch): Don't set open_device_func,
6938 close_device_func, get_device_num_func or set_device_num_func.
6939 * oacc-init.c (base_dev, init_key): Remove.
6940 (cached_base_dev): New.
6941 (name_of_acc_device_t): New.
6942 (acc_init_1): Initialise default-numbered device, not zeroth.
6943 (acc_shutdown_1): Close all devices of a given type.
6944 (goacc_destroy_thread): Don't use base_dev.
6945 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6946 (goacc_attach_host_thread_to_device): New.
6947 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6948 (acc_get_num_devices): Don't use base_dev.
6949 (acc_set_device_type): Reimplement.
6950 (acc_get_device_type): Don't use base_dev.
6951 (acc_get_device_num): Tweak logic.
6952 (acc_set_device_num): Likewise.
6953 (acc_on_device): Use acc_get_device_type.
6954 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6955 (goacc_lazy_initialize): Reimplement with acc_init and
6956 goacc_attach_host_thread_to_device.
6957 * oacc-int.h (goacc_thread): Add base_dev field.
6958 (base_dev): Remove extern declaration.
6959 (goacc_attach_host_thread_to_device): Add prototype.
6960 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6961 base_dev.
6962 (acc_free): Likewise.
6963 (acc_memcpy_to_device): Likewise.
6964 (acc_memcpy_from_device): Likewise.
6965 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6966 goacc_lazy_initialize (throughout).
6967 (GOACC_parallel): Use tgt_offset to locate target functions.
6968 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6969 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6970 (gomp_load_plugin_for_device): Remove open_device, close_device,
6971 get_device_num, set_device_num openacc hook initialisation. Don't set
6972 openacc.target_data.
6973 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6974 (GOMP_OFFLOAD_openacc_close_device)
6975 (GOMP_OFFLOAD_openacc_get_device_num)
6976 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6977 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6978 to int.
6979 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6980 (instantiated_devices, ptx_dev_lock): New.
6981 (struct ptx_image_data): New.
6982 (ptx_devices, ptx_images, ptx_image_lock): New.
6983 (fini_streams_for_device): Reorder cuStreamDestroy call.
6984 (nvptx_get_num_devices): Remove forward declaration.
6985 (nvptx_init): Change return type to bool.
6986 (nvptx_fini): Remove.
6987 (nvptx_attach_host_thread_to_device): New.
6988 (nvptx_open_device): Return struct ptx_device* instead of void*.
6989 (nvptx_close_device): Change argument type to struct ptx_device*,
6990 return type to void.
6991 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6992 (kernel_target_data, kernel_host_table): Remove static globals.
6993 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6994 (GOMP_OFFLOAD_init_device): Reimplement.
6995 (GOMP_OFFLOAD_fini_device): Likewise.
6996 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6997 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6998 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6999 (GOMP_OFFLOAD_openacc_open_device)
7000 (GOMP_OFFLOAD_openacc_close_device)
7001 (GOMP_OFFLOAD_openacc_set_device_num)
7002 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7003 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7004 (device number).
7005
7006 testsuite/
7007 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7008
a51df54e
IV
70092015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7010
7011 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7012 * libgomp.h (struct gomp_memory_mapping): Remove.
7013 (struct target_mem_desc): Change type of mem_map from
7014 gomp_memory_mapping * to splay_tree_s *.
7015 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7016 Add load_image_func, unload_image_func.
7017 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7018 Remove offload_regions_registered.
7019 (gomp_init_tables): Remove.
7020 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7021 to splay_tree_s *.
7022 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7023 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7024 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7025 offload_regions_registered.
7026 Initialize load_image_func, unload_image_func, mem_map.root.
7027 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7028 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7029 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7030 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7031 gomp_memory_mapping *. Use dev's lock and splay_tree.
7032 (lookup_dev): Use dev's lock.
7033 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7034 (acc_is_present): Likewise.
7035 (acc_map_data): Likewise.
7036 (acc_unmap_data): Likewise. Use dev's lock.
7037 (present_create_copy): Likewise.
7038 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7039 (update_dev_host): Likewise.
7040 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7041 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7042 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7043 (GOMP_OFFLOAD_get_table): Remove
7044 (GOMP_OFFLOAD_load_image): New function.
7045 (GOMP_OFFLOAD_unload_image): New function.
7046 * target.c (register_lock): New mutex for offload image registration.
7047 (num_devices): Do not guard with PLUGIN_SUPPORT.
7048 (gomp_realloc_unlock): New static function.
7049 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7050 before gomp_fatal.
7051 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7052 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7053 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7054 mem_map's.
7055 (gomp_unmap_vars): Likewise.
7056 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7057 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7058 (gomp_offload_image_to_device): New static function.
7059 (GOMP_offload_register): Add mutex lock.
7060 Call gomp_offload_image_to_device for all initialized devices.
7061 Replace gomp_realloc with gomp_realloc_unlock.
7062 (GOMP_offload_unregister): New function.
7063 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7064 get_table_func from the plugin with calls to init_device_func and
7065 gomp_offload_image_to_device.
7066 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7067 to splay_tree_s *.
7068 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7069 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7070 (GOMP_target_data): Do not call gomp_init_tables.
7071 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7072 (gomp_load_plugin_for_device): Replace register_image and get_table
7073 with load_image and unload_image in DLSYM ().
7074 (gomp_register_images_for_device): Remove function.
7075 (gomp_target_init): Do not initialize current_device.mem_map.*,
7076 current_device.offload_regions_registered.
7077 Remove call to gomp_register_images_for_device.
7078 Do not free offload_images and num_offload_images.
7079
6c384511
JJ
70802015-03-30 Jakub Jelinek <jakub@redhat.com>
7081
7082 PR fortran/65597
7083 * testsuite/libgomp.fortran/pr65597.f90: New test.
7084
3e8165a5
TV
70852015-03-27 Tom de Vries <tom@codesourcery.com>
7086
7087 PR testsuite/65594
7088 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7089 (init, check): New function.
7090 (foo): Change return type to void.
7091 (main): Call init and check.
7092
4d688c9a
TV
70932015-03-27 Tom de Vries <tom@codesourcery.com>
7094
7095 PR testsuite/65594
7096 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7097 (foo): Use M for non-inner loops to scale down test-case.
7098
01c0b3b0
KT
70992015-03-25 Kai Tietz <ktietz@redhat.com>
7100
7101 PR libgomp/64972
7102 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7103 (GOACC_data_start): Likewise.
7104 * target.c (gomp_map_vars): Likewise.
7105
844d9a76
JDA
71062015-03-21 John David Anglin <danglin@gcc.gnu.org>
7107
7108 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7109 hppa*-*-hpux*.
7110
9b65e171
JJ
71112015-03-19 Jakub Jelinek <jakub@redhat.com>
7112
7113 * testsuite/libgomp.c/target-10.c: New test.
7114 * testsuite/libgomp.c++/target-4.C: New test.
7115
db397e2e
IV
71162015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7117
7118 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7119 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7120
cd93945d
SH
71212015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7122
7123 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7124 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7125 (pthread.h): Check for this header file.
7126 * configure: Regenerate.
7127
05deba9f
TV
71282015-02-25 Tom de Vries <tom@codesourcery.com>
7129
7130 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7131 (check_reduction_op, check_reduction_macro, max, min):
7132 Declare.
7133 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7134 function.
7135 (main): Use new functions.
7136
196904d8
IT
71372015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7138
7139 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7140 char * for variables holding dlerror return values.
7141 (DLSYM_OPT): Ditto.
7142
a2818955
TS
71432015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7144
7145 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7146
26f93312
TS
71472015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7148 Cesar Philippidis <cesar@codesourcery.com>
7149
7150 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7151 GOACC_ctaid, and GOACC_nctaid routines.
7152
fa01ffcc
JJ
71532015-02-11 Jakub Jelinek <jakub@redhat.com>
7154
7155 PR c/64824
7156 * testsuite/libgomp.c/atomic-18.c: New test.
7157 * testsuite/libgomp.c++/atomic-16.C: New test.
7158
4886ec8e
JJ
71592015-02-04 Jakub Jelinek <jakub@redhat.com>
7160
7161 PR c/64824
7162 PR c/64868
7163 * testsuite/libgomp.c/pr64824.c: New test.
7164 * testsuite/libgomp.c/pr64868.c: New test.
7165 * testsuite/libgomp.c++/pr64824.C: New test.
7166 * testsuite/libgomp.c++/pr64868.C: New test.
7167
02d3e45e
DE
71682015-02-01 David Edelsohn <dje.gcc@gmail.com>
7169
7170 PR libgomp/64635
7171 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7172 Link with -lpthread.
7173 * config/aix/plugin-suffix.h: Delete.
7174
b5f7a6ca
JH
71752015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7176
7177 PR libgomp/64635
7178 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7179 (*-*-darwin*): Use config_path "bsd darwin posix".
7180 (*-*-hpux*): Use config_path "hpux posix".
7181 * target.c: Add include of plugin-suffix.h and use
7182 SONAME_SUFFIX macro.
7183 * config/aix/plugin-suffix.h: New file.
7184 * config/darwin/plugin-suffix.h: New file.
7185 * config/hpux/plugin-suffix.h: New file.
7186 * config/posix/plugin-suffix.h: New file.
7187
b8910447
JJ
71882015-01-23 Jakub Jelinek <jakub@redhat.com>
7189
7190 PR middle-end/64734
7191 * libgomp.c/pr64734.c: New test.
7192
a0c88d06
TV
71932015-01-23 Tom de Vries <tom@codesourcery.com>
7194
7195 PR libgomp/64672
7196 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7197
1506ae0e
TV
71982015-01-23 Tom de Vries <tom@codesourcery.com>
7199
7200 PR libgomp/64707
7201 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7202 dg-options.
7203
128b26dc
TS
72042015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7205
bed62c21 7206 PR libgomp/64625
128b26dc
TS
7207 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7208 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7209 formal parameter. Update all users.
7210 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7211 Document unused formal parameter.
7212
6e36114c
TS
72132015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7214
7215 * oacc-parallel.c: Don't include <alloca.h>.
7216 (GOACC_parallel): Use gomp_alloca instead of alloca.
7217
973e9808
GP
72182015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7219
7220 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7221
41dbbb37
TS
72222015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7223 James Norris <jnorris@codesourcery.com>
7224 Tom de Vries <tom@codesourcery.com>
7225 Julian Brown <julian@codesourcery.com>
7226 Cesar Philippidis <cesar@codesourcery.com>
7227 Nathan Sidwell <nathan@codesourcery.com>
7228 Tobias Burnus <burnus@net-b.de>
7229
7230 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7231 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7232 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7233 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7234 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7235 Include $(top_srcdir)/plugin/Makefrag.am.
7236 (nodist_libsubinclude_HEADERS): Add openacc.h.
7237 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7238 openacc.f90, openacc.mod, openacc_kinds.mod.
7239 (omp_lib.mod): Generalize into...
7240 (%.mod): ... this new rule.
7241 (openacc_kinds.mod, openacc.mod): New rules.
7242 * plugin/configfrag.ac: New file.
7243 * configure.ac: Move plugin/offloading support into it. Include
7244 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7245 * plugin/Makefrag.am: New file.
7246 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7247 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7248 export.
7249 (libgomp-test-support.exp): New rule.
7250 (all-local): Depend on it.
7251 * Makefile.in: Regenerate.
7252 * testsuite/Makefile.in: Regenerate.
7253 * config.h.in: Likewise.
7254 * configure: Likewise.
7255 * configure.tgt: Harden shell syntax.
7256 * env.c: Include "oacc-int.h".
7257 (parse_acc_device_type): New function.
7258 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7259 variables.
7260 (initialize_env): Initialize those. Call
7261 goacc_runtime_initialize.
7262 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7263 (gomp_fatal): Call gomp_vfatal.
7264 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7265 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7266 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7267 (splay_tree_node, splay_tree, splay_tree_key)
7268 (struct target_mem_desc, struct splay_tree_key_s)
7269 (struct gomp_memory_mapping, struct acc_dispatch_t)
7270 (struct gomp_device_descr, gomp_acc_insert_pointer)
7271 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7272 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7273 (gomp_free_memmap, gomp_fini_device): New declarations.
7274 (gomp_vdebug, gomp_debug): New macros.
7275 Include "splay-tree.h".
7276 * libgomp.map (OACC_2.0): New symbol version. Use for
7277 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7278 acc_set_device_type_h_, acc_get_device_type,
7279 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7280 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7281 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7282 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7283 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7284 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7285 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7286 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7287 acc_copyin_array_h_, acc_present_or_copyin,
7288 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7289 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7290 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7291 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7292 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7293 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7294 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7295 acc_update_device, acc_update_device_32_h_,
7296 acc_update_device_64_h_, acc_update_device_array_h_,
7297 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7298 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7299 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7300 acc_is_present_64_h_, acc_is_present_array_h_,
7301 acc_memcpy_to_device, acc_memcpy_from_device,
7302 acc_get_current_cuda_device, acc_get_current_cuda_context,
7303 acc_get_cuda_stream, acc_set_cuda_stream.
7304 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7305 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7306 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7307 GOACC_get_num_threads.
7308 (GOMP_PLUGIN_1.0): New symbol version. Use for
7309 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7310 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7311 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7312 GOMP_PLUGIN_acc_thread.
7313 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7314 environment variable.
7315 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7316 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7317 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7318 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7319 (splay_tree_remove): New declarations.
7320 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7321 (splay_tree_remove, splay_tree_lookup): Move into...
7322 * splay-tree.c: ... this new file.
7323 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7324 (splay_tree_node, splay_tree, splay_tree_key)
7325 (struct target_mem_desc, struct splay_tree_key_s)
7326 (struct gomp_device_descr): Don't declare.
7327 (num_devices_openmp): New variable.
7328 (gomp_get_num_devices ): Use it.
7329 (gomp_init_targets_once): New function.
7330 (gomp_get_num_devices ): Use it.
7331 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7332 (gomp_fini_device, gomp_register_image_for_device): New functions.
7333 (gomp_map_vars): Add devaddrs parameter.
7334 (gomp_update): Add mm parameter.
7335 (gomp_init_device): Move most of it into...
7336 (gomp_init_tables): ... this new function.
7337 (gomp_register_images_for_device): Remove function.
7338 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7339 Make them hidden instead of static.
7340 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7341 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7342 (GOMP_target_end_data, GOMP_target_update)
7343 (gomp_load_plugin_for_device, gomp_target_init): Update for
7344 OpenACC changes.
7345 * oacc-async.c: New file.
7346 * oacc-cuda.c: Likewise.
7347 * oacc-host.c: Likewise.
7348 * oacc-init.c: Likewise.
7349 * oacc-int.h: Likewise.
7350 * oacc-mem.c: Likewise.
7351 * oacc-parallel.c: Likewise.
7352 * oacc-plugin.c: Likewise.
7353 * oacc-plugin.h: Likewise.
7354 * oacc-ptx.h: Likewise.
7355 * openacc.f90: Likewise.
7356 * openacc.h: Likewise.
7357 * openacc_lib.h: Likewise.
7358 * plugin/plugin-host.c: Likewise.
7359 * plugin/plugin-nvptx.c: Likewise.
7360 * libgomp-plugin.c: Likewise.
7361 * libgomp-plugin.h: Likewise.
7362 * libgomp_target.h: Remove file after merging content into the
7363 former file. Update all users.
7364 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7365 (offload_targets_s, offload_targets_s_openacc): New variables.
7366 (check_effective_target_openacc_nvidia_accel_present)
7367 (check_effective_target_openacc_nvidia_accel_selected): New
7368 procedures.
7369 (libgomp_init): Update for OpenACC changes.
7370 * testsuite/libgomp-test-support.exp.in: New file.
7371 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7372 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7373 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7374 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7375 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7376 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7377 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7378 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7379 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7380 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7381 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7382 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7383 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7384 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7385 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7386 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7387 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7388 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7389 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7390 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7391 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7392 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7393 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7394 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7395 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7396 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7397 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7398 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7399 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7400 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7401 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7402 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7403 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7404 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7405 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7406 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7407 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7408 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7409 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7410 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7411 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7412 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7413 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7414 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7415 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7416 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7417 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7418 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7419 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7420 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7421 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7422 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7423 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7424 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7425 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7426 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7427 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7428 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7429 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7430 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7431 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7432 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7433 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7434 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7435 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7436 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7437 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7438 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7439 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7440 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7441 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7442 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7443 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7444 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7445 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7446 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7447 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7448 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7449 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7450 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7451 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7452 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7453 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7454 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7455 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7457 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7458 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7459 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7460 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7461 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7462 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7463 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7464 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7465 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7466 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7467 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7468 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7469 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7470 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7471 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7472 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7473 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7474 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7475 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7476 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7477 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7478 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7479 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7480 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7481 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7482 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7483 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7484 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7486 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7490 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7492 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7494 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7496 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7498 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7503 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7504 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7506 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7507 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7508 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7509 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7510 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7511 Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7514 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7515 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7516 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7517 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7518 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7519 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7520 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7521 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7522 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7523 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7524 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7525 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7526 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7527 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7528 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7529 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7530 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7531 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7532 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7533 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7534 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7535 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7536 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7537 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7538 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7539 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7540 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7541 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7542 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7543 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7544 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7545 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7546 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7547 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7548 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7549 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7550 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7551 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7552 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7553 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7554 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7555 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7556 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7557 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7558 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7559 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7560 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7561 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7562 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7563 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7564 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7565 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7566 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7567 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7568 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7569 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7570 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7571 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7572
f1f3453e
TS
75732015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7574 Julian Brown <julian@codesourcery.com>
7575 David Malcolm <dmalcolm@redhat.com>
7576
7577 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7578 to "GNU Offloading and Multi Processing Runtime Library". Change
7579 all users.
7580 * configure: Regenerate.
7581 * libgomp.texi: Update.
7582
f9a0eca4
TS
75832015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7584
b335ef4e
TS
7585 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7586 "$tgt_dir/lib32".
7587 * configure: Regenerate.
7588
f9a0eca4
TS
7589 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7590 "intelmic" in $offload_targets.
7591
b67cd4e3
JJ
75922015-01-05 Jakub Jelinek <jakub@redhat.com>
7593
5624e564
JJ
7594 Update copyright years.
7595
b67cd4e3
JJ
7596 * libgomp.texi: Bump @copying's copyright year.
7597
3b41b583
KT
75982014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7599
7600 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7601 Move load of target-supportes.exp earlier.
7602
2354caec
IV
76032014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7604
7605 * testsuite/libgomp.c/target-9.c: New test.
7606
f50eecba
VR
76072014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7608
7609 * config.h.in: Regenerate.
7610 * configure: Regenerate.
7611 * configure.ac: Add GCC_CHECK_EMUTLS.
7612 * libgomp.h: Add check for USE_EMUTLS: this case
7613 is equal to HAVE_TLS.
7614 * team.c: Likewise.
7615
68bc9270
UB
76162014-12-03 Uros Bizjak <ubizjak@gmail.com>
7617
7618 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7619
476ff787
AT
76202014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7621 Ilya Verbin <ilya.verbin@intel.com>
7622
7623 * testsuite/libgomp.c/target-critical-1.c: New test.
7624
31a30e62
JJ
76252014-11-26 Jakub Jelinek <jakub@redhat.com>
7626
7627 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 7628 to dg-options unless expensive testing is on.
31a30e62
JJ
7629 (TESTITERS): Define to N if not defined.
7630 (main): Use TESTITERS instead of N.
7631 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7632 dg-additional-options depending on whether expensive testing is on.
7633 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7634 Decrease N to 100000 and CHUNKSZ to 10000.
7635
3f9e8f13
JJ
76362014-11-24 Jakub Jelinek <jakub@redhat.com>
7637
7638 PR fortran/63938
31a30e62
JJ
7639 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7640 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 7641
c8451a46
SE
76422014-11-21 Steve Ellcey <sellcey@imgtec.com>
7643
7644 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7645
a699d672
L
76462014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7647
7648 PR bootstrap/63784
7649 * configure: Regenerated.
7650
4a19f719
UB
76512014-11-19 Uros Bizjak <ubizjak@gmail.com>
7652
7653 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7654 vect_simd_clones effective target.
7655 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7656
b1bf6c52
JJ
76572014-11-14 Jakub Jelinek <jakub@redhat.com>
7658
7659 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7660 of 32 as block_size.
7661 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7662 instead of 32 as block_size.
7663
d64ae614
AT
76642014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7665 Ilya Verbin <ilya.verbin@intel.com>
7666
7667 * Makefile.in: Regenerate.
7668 * configure: Regenerate.
7669 * configure.ac: Set up offload_additional_options,
7670 offload_additional_lib_paths and offload_targets.
7671 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7672 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7673 * testsuite/Makefile.in: Regenerate.
7674 * testsuite/lib/libgomp.exp (libgomp_init): Append
7675 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7676 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7677 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7678
122d7303
AT
76792014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7680 Ilya Verbin <ilya.verbin@intel.com>
7681 Kirill Yukhin <kirill.yukhin@intel.com>
7682 Ilya Tocar <ilya.tocar@intel.com>
7683
7684 * testsuite/lib/libgomp.exp
7685 (check_effective_target_offload_device): New.
7686 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7687 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7688 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7689 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7690 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7691 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7692 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7693 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7694 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7695 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7696 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7697 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7698 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7699 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7700 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7701 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7702 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7703 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7704 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7705 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7706 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7707 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7708 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7709 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7710 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7711 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7712 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7713 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7714 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7715 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7716 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7717 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7718 * testsuite/libgomp.c/target-7.c: Fix test.
7719 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7720 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7721 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7722 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7723 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7724 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7725 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7726 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7727 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7728 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7729 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7730 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7731 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7732 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7733 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7734 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7735 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7736 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7737 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7738 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7739 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7740 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7741 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7742 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7743 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7744 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7745 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7746 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7747 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7748 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7749 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7750
1df3f842
JJ
77512014-11-13 Jakub Jelinek <jakub@redhat.com>
7752 Ilya Verbin <ilya.verbin@intel.com>
7753 Thomas Schwinge <thomas@codesourcery.com>
7754 Andrey Turetskiy <andrey.turetskiy@intel.com>
7755
7756 * libgomp.map (GOMP_4.0.1): New symbol version.
7757 Add GOMP_offload_register.
7758 * libgomp_target.h: New file.
7759 * splay-tree.h: New file.
7760 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7761 (gomp_target_init): New forward declaration.
7762 (gomp_is_initialized): New static variable.
7763 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7764 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7765 New structures.
7766 (offload_images, num_offload_images, devices, num_devices): New static
7767 variables.
7768 (splay_compare): New static function.
7769 (struct gomp_device_descr): New structure.
7770 (gomp_get_num_devices): Call gomp_target_init.
7771 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7772 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7773 (GOMP_offload_register): New function.
7774 (GOMP_target): Arrange for host callback to be performed in a separate
7775 initial thread and contention group, inheriting ICVs from
7776 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7777 Add device initialization and lookup for target function in splay tree.
7778 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7779 (GOMP_target_end_data): Call gomp_unmap_vars.
7780 (GOMP_target_update): Add device initialization and call gomp_update.
7781 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7782 (gomp_target_init): New static functions.
7783
85c64bbe
BS
77842014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7785 Thomas Schwinge <thomas@codesourcery.com>
7786 Ilya Verbin <ilya.verbin@intel.com>
7787 Andrey Turetskiy <andrey.turetskiy@intel.com>
7788
7789 * config.h.in: Regenerate.
7790 * configure: Regenerate.
7791 * configure.ac: Check for libdl, required for plugin support.
7792 (PLUGIN_SUPPORT): Define if plugins are supported.
7793 (enable_offload_targets): Support Intel MIC targets.
7794 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7795
ebf6d33b
FXC
77962014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7797
7798 PR target/63610
7799 * configure: Regenerate.
7800
8c768629
RO
78012014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7802
7803 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7804
c1d62412
MP
78052014-10-06 Marek Polacek <polacek@redhat.com>
7806
7807 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7808 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7809 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7810 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7811
44a0c6cb
MP
78122014-10-06 Marek Polacek <polacek@redhat.com>
7813
7814 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7815 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7816 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7817 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7818 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7819 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7820 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7821 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7822 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7823 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7824 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7825 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7826 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7827 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7828 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7829 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7830 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7831 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7832 declarations.
7833
5771c391
JJ
78342014-10-03 Jakub Jelinek <jakub@redhat.com>
7835
7836 PR libgomp/61200
7837 * testsuite/libgomp.c/pr61200.c: New test.
7838
bce16b88
JJ
78392014-09-18 Jakub Jelinek <jakub@redhat.com>
7840
7841 PR c++/63248
7842 * testsuite/libgomp.c++/pr63248.C: New test.
7843
3696163c
JJ
78442014-08-04 Jakub Jelinek <jakub@redhat.com>
7845
7846 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7847 is not zero, but taskgroup->children is NULL and there are
7848 any task->children, schedule those instead of waiting.
7849 * testsuite/libgomp.c/depend-6.c: New test.
7850 * testsuite/libgomp.c/depend-7.c: New test.
7851 * testsuite/libgomp.c/depend-8.c: New test.
7852 * testsuite/libgomp.c/depend-9.c: New test.
7853 * testsuite/libgomp.c/depend-10.c: New test.
7854
0494285a
JJ
78552014-08-01 Jakub Jelinek <jakub@redhat.com>
7856
7857 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7858 (struct gomp_taskwait): New type.
7859 (struct gomp_task): Add taskwait and parent_depends_on, remove
7860 in_taskwait and taskwait_sem fields.
7861 (gomp_finish_task): Don't destroy taskwait_sem.
7862 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7863 taskwait and parent_depends_on.
7864 (GOMP_task): For if (0) tasks with depend clause that depend on
7865 earlier tasks don't defer them, instead call
7866 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7867 Initialize redundant_out field, for redundant out entries just
7868 move them at the end of linked list instead of removing them
7869 completely, and set redundant_out flag instead of redundant.
7870 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7871 that task.
7872 (gomp_task_run_post_handle_dependers): If parent is in
7873 gomp_task_maybe_wait_for_dependencies and newly runnable task
7874 is not parent_depends_on, queue it in parent->children linked
7875 list after all runnable tasks with parent_depends_on set.
7876 Adjust for addition of taskwait indirection.
7877 (gomp_task_run_post_remove_parent): If parent is in
7878 gomp_task_maybe_wait_for_dependencies and task to be removed
7879 is parent_depends_on, decrement n_depend and if needed awake
7880 parent. Adjust for addition of taskwait indirection.
7881 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7882 (gomp_task_maybe_wait_for_dependencies): New function.
7883 * testsuite/libgomp.c/depend-5.c: New test.
7884
60ab4b44
TB
78852014-07-13 Tobias Burnus <burnus@net-b.de>
7886
7887 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7888 with TS 18508/Fortran 2015.
60ab4b44 7889
773ec47f
MP
78902014-07-06 Marek Polacek <polacek@redhat.com>
7891
7892 PR c/6940
7893 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7894
f707da16
JJ
78952014-07-03 Jakub Jelinek <jakub@redhat.com>
7896
7897 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7898 matches regex $lang_source_re, add $lang_include_flags to options.
7899 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7900 * testsuite/libgomp.c++/c++.exp: Likewise.
7901 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7902 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7903 ALWAYS_CFLAGS.
7904 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7905
07b6c044
TS
79062014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7907
7908 * testsuite/libgomp.fortran/fortran.exp: Explain
7909 gfortran-dg-runtest usage.
7910
da6f124d
JJ
79112014-06-25 Jakub Jelinek <jakub@redhat.com>
7912
7913 * testsuite/libgomp.fortran/simd5.f90: New test.
7914 * testsuite/libgomp.fortran/simd6.f90: New test.
7915 * testsuite/libgomp.fortran/simd7.f90: New test.
7916
b46ebd6c
JJ
79172014-06-24 Jakub Jelinek <jakub@redhat.com>
7918
56ad0e38
JJ
7919 * testsuite/libgomp.c/for-2.c: Define SC to static for
7920 #pragma omp for simd testing.
7921 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7922 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7923 SC macro.
7924 * testsuite/libgomp.c/simd-14.c: New test.
7925 * testsuite/libgomp.c/simd-15.c: New test.
7926 * testsuite/libgomp.c/simd-16.c: New test.
7927 * testsuite/libgomp.c/simd-17.c: New test.
7928 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7929 #pragma omp for simd testing.
7930 * testsuite/libgomp.c++/simd10.C: New test.
7931 * testsuite/libgomp.c++/simd11.C: New test.
7932 * testsuite/libgomp.c++/simd12.C: New test.
7933 * testsuite/libgomp.c++/simd13.C: New test.
7934
b46ebd6c
JJ
7935 * testsuite/libgomp.fortran/aligned1.f03: New test.
7936 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7937 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7938 tasks with !$omp parallel !$omp single.
7939 * testsuite/libgomp.fortran/target8.f90: New test.
7940 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7941 not to use trim in the combiner, instead call elemental function.
7942 (fn): New elemental function.
7943 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7944 Make elemental.
7945 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7946 omp_in): Likewise.
7947 * testsuite/libgomp.fortran/udr12.f90: New test.
7948 * testsuite/libgomp.fortran/udr13.f90: New test.
7949 * testsuite/libgomp.fortran/udr14.f90: New test.
7950 * testsuite/libgomp.fortran/udr15.f90: New test.
7951
f014c653
JJ
79522014-06-18 Jakub Jelinek <jakub@redhat.com>
7953
7954 * omp_lib.f90.in (openmp_version): Set to 201307.
7955 * omp_lib.h.in (openmp_version): Likewise.
7956 * testsuite/libgomp.c/target-8.c: New test.
7957 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7958 and inbranch clauses.
7959 * testsuite/libgomp.fortran/depend-3.f90: New test.
7960 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7961 openmp_version.
7962 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7963 * testsuite/libgomp.fortran/target1.f90: New test.
7964 * testsuite/libgomp.fortran/target2.f90: New test.
7965 * testsuite/libgomp.fortran/target3.f90: New test.
7966 * testsuite/libgomp.fortran/target4.f90: New test.
7967 * testsuite/libgomp.fortran/target5.f90: New test.
7968 * testsuite/libgomp.fortran/target6.f90: New test.
7969 * testsuite/libgomp.fortran/target7.f90: New test.
7970
92d28cbb
JJ
79712014-06-10 Jakub Jelinek <jakub@redhat.com>
7972
7973 PR fortran/60928
7974 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7975 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7976 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7977 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7978 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7979 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7980 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7981 * testsuite/libgomp.fortran/associate1.f90: New test.
7982 * testsuite/libgomp.fortran/associate2.f90: New test.
7983 * testsuite/libgomp.fortran/procptr1.f90: New test.
7984
5f23671d
JJ
79852014-06-06 Jakub Jelinek <jakub@redhat.com>
7986
7987 * testsuite/libgomp.fortran/simd1.f90: New test.
7988 * testsuite/libgomp.fortran/udr1.f90: New test.
7989 * testsuite/libgomp.fortran/udr2.f90: New test.
7990 * testsuite/libgomp.fortran/udr3.f90: New test.
7991 * testsuite/libgomp.fortran/udr4.f90: New test.
7992 * testsuite/libgomp.fortran/udr5.f90: New test.
7993 * testsuite/libgomp.fortran/udr6.f90: New test.
7994 * testsuite/libgomp.fortran/udr7.f90: New test.
7995 * testsuite/libgomp.fortran/udr8.f90: New test.
7996 * testsuite/libgomp.fortran/udr9.f90: New test.
7997 * testsuite/libgomp.fortran/udr10.f90: New test.
7998 * testsuite/libgomp.fortran/udr11.f90: New test.
7999
0389fbb5
UB
80002014-05-27 Uros Bizjak <ubizjak@gmail.com>
8001
8002 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8003 vect_simd_clones effective target.
8004 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8005
decaaec8
JJ
80062014-05-21 Jakub Jelinek <jakub@redhat.com>
8007
8008 PR middle-end/61252
8009 * testsuite/libgomp.c++/simd-9.C: New test.
8010
72832460
UB
80112014-05-18 Uros Bizjak <ubizjak@gmail.com>
8012
8013 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8014 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8015 texts according to their @menu entry positions.
8016
dd2fc525
JJ
80172014-05-11 Jakub Jelinek <jakub@redhat.com>
8018
8019 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8020 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8021 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8022 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8023 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8024 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8025 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8026 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8027 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8028 * testsuite/libgomp.fortran/depend-1.f90: New test.
8029 * testsuite/libgomp.fortran/depend-2.f90: New test.
8030 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8031 * testsuite/libgomp.fortran/simd1.f90: New test.
8032 * testsuite/libgomp.fortran/simd2.f90: New test.
8033 * testsuite/libgomp.fortran/simd3.f90: New test.
8034 * testsuite/libgomp.fortran/simd4.f90: New test.
8035 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8036
95782571
JJ
80372014-05-02 Jakub Jelinek <jakub@redhat.com>
8038
8039 * testsuite/libgomp.c/simd-10.c: New test.
8040 * testsuite/libgomp.c/simd-11.c: New test.
8041 * testsuite/libgomp.c/simd-12.c: New test.
8042 * testsuite/libgomp.c/simd-13.c: New test.
8043
f7468577
JJ
80442014-04-24 Jakub Jelinek <jakub@redhat.com>
8045
42056eac
JJ
8046 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8047 atomic type clauses in any order and optional comma in between.
8048 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8049 * testsuite/libgomp.c/atomic-17.c: Likewise.
8050
f7468577
JJ
8051 * testsuite/libgomp.c/simd-7.c: New test.
8052 * testsuite/libgomp.c/simd-8.c: New test.
8053 * testsuite/libgomp.c/simd-9.c: New test.
8054 * testsuite/libgomp.c/loop-16.c: New test.
8055
ab18f2f5
RH
80562014-04-02 Richard Henderson <rth@redhat.com>
8057
8058 * config/linux/futex.h (futex_wait): Get error value from errno.
8059 (futex_wake): Likewise.
8060
8bcc90b0
JJ
80612014-03-25 Jakub Jelinek <jakub@redhat.com>
8062
8063 PR c++/60331
8064 * testsuite/libgomp.c++/udr-11.C: New test.
8065 * testsuite/libgomp.c++/udr-12.C: New test.
8066 * testsuite/libgomp.c++/udr-13.C: New test.
8067 * testsuite/libgomp.c++/udr-14.C: New test.
8068 * testsuite/libgomp.c++/udr-15.C: New test.
8069 * testsuite/libgomp.c++/udr-16.C: New test.
8070 * testsuite/libgomp.c++/udr-17.C: New test.
8071 * testsuite/libgomp.c++/udr-18.C: New test.
8072 * testsuite/libgomp.c++/udr-19.C: New test.
8073
18d73c7f
RS
80742014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8075
8076 Update copyright years
8077
f9030485
RS
80782014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8079
8080 * hashtab.h: Use the standard form for the copyright notice.
8081
98db73df
TB
80822014-01-02 Tobias Burnus <burnus@net-b.de>
8083
8084 * libgomp.texi: Bump @copying's copyright year.
8085
ae246f7f
AT
80862013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8087
8088 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8089 alloca () with __builtin_alloca ().
8090 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8091 * testsuite/libgomp.c/lock-3.c: Likewise.
8092 * testsuite/libgomp.c/pr48591.c: Likewise.
8093
fa00a5fe
JJ
80942013-12-17 Jakub Jelinek <jakub@redhat.com>
8095
8096 PR testsuite/59534
8097 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8098 comparisons.
8099
e9792e1d
JJ
81002013-12-16 Jakub Jelinek <jakub@redhat.com>
8101
8102 PR libgomp/58756
8103 * testsuite/libgomp.c/pr58756.c: New test.
8104
cab37c89
JJ
81052013-12-12 Jakub Jelinek <jakub@redhat.com>
8106
8107 PR libgomp/59467
8108 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8109 !$omp parallel.
8110
de14871c
TS
81112013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8112
1707a5de
TS
8113 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8114 ALWAYS_CFLAGS.
8115 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8116 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8117 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8118 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8119 Likewise.
8120
70f05c43
TS
8121 * libgomp_g.h: Include <stddef.h> for size_t.
8122
de14871c
TS
8123 * libgomp.spec.in: Update comment about libgomp's dependencies.
8124 * configure.ac: Likewise.
8125 * configure: Regenerate.
8126
83fd6c5b
TB
81272013-10-16 Tobias Burnus <burnus@net-b.de>
8128
8129 * libgomp.texi: (Runtime Library Routines): Update references for
8130 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8131 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8132 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8133 (Environment Variables): Update references for OpenMP 4.0. Add
8134 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8135 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8136 order.
8137
c8673881
JJ
81382013-10-14 Jakub Jelinek <jakub@redhat.com>
8139
8140 * env.c (parse_bind_var): Initialize value to avoid
8141 (false positive) warning.
8142
f89163fd
JJ
81432013-10-12 Jakub Jelinek <jakub@redhat.com>
8144
8145 PR libgomp/58691
8146 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8147 to check variable.
8148 (gomp_init_num_threads): Move i variable declaration into
8149 #ifdef CPU_ALLOC_SIZE block.
8150 * config/linux/affinity.c (gomp_affinity_init_level): Test
8151 gomp_places_list_len == 0 rather than gomp_places_list == 0
8152 when checking for topology reading error.
8153 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8154 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8155 gomp_places_list, only parse env var and always return false.
8156 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8157 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8158 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8159 and either of these variables were parsed correctly into a places
8160 list.
8161
1d340638
TS
81622013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8163 Jakub Jelinek <jakub@redhat.com>
8164
8165 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8166 of 5 loopfn matches.
8167 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8168 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8169 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8170 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8171 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8172 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8173 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8174 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8175
71a81c21
TS
81762013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8177
bd87f731
TS
8178 * Makefile.am (omp_lib.mod): Streamline rule.
8179 * Makefile.in: Regenerate.
8180
f5745bed
TS
8181 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8182 exceptions.
8183
b5512c66
TS
8184 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8185 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8186 * testsuite/libgomp.fortran/lib2.f: Likewise.
8187 * testsuite/libgomp.fortran/lib3.f: Likewise.
8188
451c19c4
TS
8189 * configure.ac: Typo fix.
8190 * configure: Regenerate.
8191
86a6016d
TS
8192 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8193 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8194
71a81c21
TS
8195 * omp.h.in: Don't touch the user's namespace.
8196
acf0174b
JJ
81972013-10-11 Jakub Jelinek <jakub@redhat.com>
8198 Tobias Burnus <burnus@net-b.de>
8199 Richard Henderson <rth@redhat.com>
8200
8201 * target.c: New file.
8202 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8203 * Makefile.in: Regenerated.
8204 * libgomp_g.h (GOMP_task): Add depend argument.
8205 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8206 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8207 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8208 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8209 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8210 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8211 GOMP_taskgroup_start, GOMP_taskgroup_end,
8212 GOMP_parallel_sections): New prototypes.
8213 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8214 (omp_is_initial_device_): New function.
8215 (ULP, STR1, STR2, ialias_redirect): Removed.
8216 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8217 omp_set_default_device_8_, omp_get_default_device_,
8218 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8219 functions.
8220 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8221 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8222 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8223 @@GOMP_4.0.
8224 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8225 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8226 omp_set_default_device, omp_set_default_device_,
8227 omp_set_default_device_8_, omp_get_default_device,
8228 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8229 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8230 omp_get_team_num_): Export @@OMP_4.0.
8231 * team.c (struct gomp_thread_start_data): Add place field.
8232 (gomp_thread_start): Clear thr->thread_pool and
8233 thr->task before returning. Use gomp_team_barrier_wait_final
8234 instead of gomp_team_barrier_wait. Initialize thr->place.
8235 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8236 team_cancelled and task_queued_count fields.
8237 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8238 before calling pthread_exit.
8239 (gomp_free_thread): No longer static. Use
8240 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8241 (gomp_team_start): Add flags argument. Set
8242 thr->thread_pool->threads_busy to nthreads immediately after creating
8243 new pool. Use gomp_managed_threads_lock instead of
8244 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8245 (gomp_team_end): Use gomp_managed_threads_lock instead of
8246 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8247 of gomp_team_barrier_wait. If team->team_cancelled, call
8248 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8249 rather than thr->ts.work_share.
8250 (initialize_team): Don't call gomp_sem_init here.
8251 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8252 caller.
8253 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8254 * env.c (gomp_global_icv): Add default_device_var, target_data and
8255 bind_var initializers.
8256 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8257 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8258 gomp_places_list_len): New variables.
8259 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8260 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8261 sized places.
8262 (gomp_cancel_var): New global variable.
8263 (parse_int): New function.
8264 (handle_omp_display_env): New function.
8265 (initialize_env): Use it. Initialize default_device_var.
8266 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8267 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8268 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8269 been successfully parsed (and call gomp_init_affinity in that case).
8270 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8271 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8272 omp_get_team_num, omp_is_initial_device): New functions.
8273 * libgomp.h: Include stdlib.h.
8274 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8275 Define.
8276 (struct target_mem_desc): Forward declare.
8277 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8278 and thread_limit_var fields.
8279 (gomp_get_num_devices): New prototype.
8280 (gomp_cancel_var): New extern decl.
8281 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8282 team_cancelled and task_queued_count fields. Add comments about
8283 task_{,queued_,running_}count.
8284 (gomp_cancel_kind): New enum.
8285 (gomp_work_share_end_cancel): New prototype.
8286 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8287 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8288 and depend fields.
8289 (struct gomp_taskgroup): New type.
8290 (struct gomp_task_depend_entry,
8291 struct gomp_dependers_vec): New types.
8292 (gomp_finish_task): Free depend_hash if non-NULL.
8293 (struct gomp_team_state): Add place_partition_off
8294 and place_partition_len fields.
8295 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8296 gomp_places_list_len): New extern decls.
8297 (struct gomp_thread): Add place field.
8298 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8299 (gomp_init_thread_affinity): Add place argument.
8300 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8301 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8302 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8303 gomp_affinity_init_level, gomp_affinity_print_place): New
8304 prototypes.
8305 (gomp_team_start): Add flags argument.
8306 (gomp_thread_limit_var, gomp_remaining_threads_count,
8307 gomp_remaining_threads_lock): Remove.
8308 (gomp_managed_threads_lock): New variable.
8309 (struct gomp_thread_pool): Add threads_busy field.
8310 (gomp_free_thread): New prototype.
8311 * task.c: Include hashtab.h.
8312 (hash_entry_type): New typedef.
8313 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8314 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8315 copy_ctors_done and taskgroup fields.
8316 (GOMP_task): Add depend argument, handle depend clauses. If
8317 gomp_team_barrier_cancelled or if it's taskgroup has been
8318 cancelled, don't queue or start new tasks. Set copy_ctors_done
8319 field if needed. Initialize taskgroup field. If copy_ctors_done
8320 and already cancelled, don't discard the task. If taskgroup is
8321 non-NULL, enqueue the task into taskgroup queue. Increment
8322 num_children field in taskgroup. Increment task_queued_count.
8323 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8324 gomp_task_run_post_remove_taskgroup): New inline functions.
8325 (gomp_task_run_post_handle_depend_hash,
8326 gomp_task_run_post_handle_dependers,
8327 gomp_task_run_post_handle_depend): New functions.
8328 (GOMP_taskwait): Use them. If more than one new tasks
8329 have been queued, wake other threads if needed.
8330 (gomp_barrier_handle_tasks): Likewise. If
8331 gomp_team_barrier_cancelled, don't start any new tasks, just free
8332 all tasks.
8333 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8334 * omp_lib.f90.in
8335 (omp_proc_bind_kind, omp_proc_bind_false,
8336 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8337 omp_proc_bind_spread): New params.
8338 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8339 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8340 omp_get_team_num, omp_is_initial_device): New interfaces.
8341 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8342 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8343 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8344 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8345 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8346 useless use omp_lib_kinds.
8347 * omp.h.in (omp_proc_bind_t): New typedef.
8348 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8349 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8350 omp_get_team_num, omp_is_initial_device): New prototypes.
8351 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8352 through to gomp_team_start.
8353 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8354 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8355 Adjust gomp_parallel_loop_start callers.
8356 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8357 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8358 GOMP_loop_end_cancel): New functions.
8359 (GOMP_parallel_end): Add ialias_redirect.
8360 * hashtab.h: New file.
8361 * libgomp.texi (Environment Variables): Minor cleanup,
8362 update section refs to OpenMP 4.0rc2.
8363 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8364 environment variables.
8365 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8366 team->work_shares_to_free to thr->ts.work_share before calling
8367 free_work_share.
8368 (gomp_work_share_end_cancel): New function.
8369 * config/linux/proc.c: Include errno.h.
8370 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8371 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8372 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8373 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8374 gomp_cpuset_size is sizeof (cpu_set_t).
8375 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8376 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8377 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8378 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8379 contain any logical CPUs.
8380 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8381 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8382 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8383 pthread_getaffinity_np. Check gomp_places_list instead of
8384 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8385 * config/linux/bar.c (gomp_barrier_wait_end,
8386 gomp_barrier_wait_last): Use BAR_* defines.
8387 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8388 from state where needed. Set work_share_cancelled to 0 on last
8389 thread.
8390 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8391 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8392 functions.
8393 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8394 Add cpusetsize argument.
8395 (gomp_cpuset_size, gomp_cpusetp): Declare.
8396 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8397 (affinity_counter): Remove.
8398 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8399 if CPU_ALLOC_SIZE isn't defined.
8400 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8401 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8402 bind current thread to the first place.
8403 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8404 pthread_setaffinity_np to gomp_places_list[place].
8405 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8406 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8407 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8408 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8409 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8410 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8411 (gomp_barrier_t): Add awaited_final field.
8412 (gomp_barrier_init): Initialize awaited_final field.
8413 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8414 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8415 prototypes.
8416 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8417 defines.
8418 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8419 gomp_team_barrier_cancelled): New inline functions.
8420 (gomp_barrier_last_thread,
8421 gomp_team_barrier_set_task_pending,
8422 gomp_team_barrier_clear_task_pending,
8423 gomp_team_barrier_set_waiting_for_tasks,
8424 gomp_team_barrier_waiting_for_tasks,
8425 gomp_team_barrier_done): Use BAR_* defines.
8426 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8427 (gomp_barrier_wait_end): Use BAR_* defines.
8428 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8429 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8430 Use BAR_* defines.
8431 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8432 gomp_team_barrier_cancel): New functions.
8433 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8434 argument.
8435 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8436 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8437 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8438 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8439 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8440 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8441 (gomp_barrier_t): Add cancellable field.
8442 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8443 gomp_team_barrier_cancel): New prototypes.
8444 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8445 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8446 gomp_team_barrier_cancelled): New inline functions.
8447 (gomp_barrier_wait_start, gomp_barrier_last_thread,
8448 gomp_team_barrier_set_task_pending,
8449 gomp_team_barrier_clear_task_pending,
8450 gomp_team_barrier_set_waiting_for_tasks,
8451 gomp_team_barrier_waiting_for_tasks,
8452 gomp_team_barrier_done): Use BAR_* defines.
8453 * barrier.c (GOMP_barrier_cancel): New function.
8454 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8455 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8456 omp_proc_bind_spread): New params.
8457 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8458 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8459 omp_get_team_num, omp_is_initial_device): New externals.
8460 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8461 New functions.
8462 (gomp_resolve_num_threads): Adjust for thread_limit now being in
8463 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8464 infinity. If not nested, just return minimum of max_num_threads
8465 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8466 to the returned value. Otherwise, don't update atomically
8467 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8468 (GOMP_parallel_end): Adjust for thread_limit now being in
8469 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8470 infinity. Adjust threads_busy in the pool rather than
8471 gomp_remaining_threads_count. Remember team->nthreads and call
8472 gomp_team_end before adjusting threads_busy, if not nested
8473 afterwards, just set it to 1 non-atomically. Add ialias.
8474 (GOMP_parallel_start): Adjust gomp_team_start caller.
8475 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8476 * testsuite/libgomp.c/affinity-1.c: New test.
8477 * testsuite/libgomp.c/atomic-15.c: New test.
8478 * testsuite/libgomp.c/atomic-16.c: New test.
8479 * testsuite/libgomp.c/atomic-17.c: New test.
8480 * testsuite/libgomp.c/cancel-for-1.c: New test.
8481 * testsuite/libgomp.c/cancel-for-2.c: New test.
8482 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8483 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8484 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8485 * testsuite/libgomp.c/cancel-sections-1.c: New test.
8486 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8487 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8488 * testsuite/libgomp.c/depend-1.c: New test.
8489 * testsuite/libgomp.c/depend-2.c: New test.
8490 * testsuite/libgomp.c/depend-3.c: New test.
8491 * testsuite/libgomp.c/depend-4.c: New test.
8492 * testsuite/libgomp.c/for-1.c: New test.
8493 * testsuite/libgomp.c/for-1.h: New file.
8494 * testsuite/libgomp.c/for-2.c: New test.
8495 * testsuite/libgomp.c/for-2.h: New file.
8496 * testsuite/libgomp.c/for-3.c: New test.
8497 * testsuite/libgomp.c/pr58392.c: New test.
8498 * testsuite/libgomp.c/simd-1.c: New test.
8499 * testsuite/libgomp.c/simd-2.c: New test.
8500 * testsuite/libgomp.c/simd-3.c: New test.
8501 * testsuite/libgomp.c/simd-4.c: New test.
8502 * testsuite/libgomp.c/simd-5.c: New test.
8503 * testsuite/libgomp.c/simd-6.c: New test.
8504 * testsuite/libgomp.c/target-1.c: New test.
8505 * testsuite/libgomp.c/target-2.c: New test.
8506 * testsuite/libgomp.c/target-3.c: New test.
8507 * testsuite/libgomp.c/target-4.c: New test.
8508 * testsuite/libgomp.c/target-5.c: New test.
8509 * testsuite/libgomp.c/target-6.c: New test.
8510 * testsuite/libgomp.c/target-7.c: New test.
8511 * testsuite/libgomp.c/taskgroup-1.c: New test.
8512 * testsuite/libgomp.c/thread-limit-1.c: New test.
8513 * testsuite/libgomp.c/thread-limit-2.c: New test.
8514 * testsuite/libgomp.c/thread-limit-3.c: New test.
8515 * testsuite/libgomp.c/udr-1.c: New test.
8516 * testsuite/libgomp.c/udr-2.c: New test.
8517 * testsuite/libgomp.c/udr-3.c: New test.
8518 * testsuite/libgomp.c++/affinity-1.C: New test.
8519 * testsuite/libgomp.c++/atomic-10.C: New test.
8520 * testsuite/libgomp.c++/atomic-11.C: New test.
8521 * testsuite/libgomp.c++/atomic-12.C: New test.
8522 * testsuite/libgomp.c++/atomic-13.C: New test.
8523 * testsuite/libgomp.c++/atomic-14.C: New test.
8524 * testsuite/libgomp.c++/atomic-15.C: New test.
8525 * testsuite/libgomp.c++/cancel-for-1.C: New test.
8526 * testsuite/libgomp.c++/cancel-for-2.C: New test.
8527 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8528 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8529 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8530 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8531 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8532 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8533 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8534 * testsuite/libgomp.c++/cancel-test.h: New file.
8535 * testsuite/libgomp.c++/for-9.C: New test.
8536 * testsuite/libgomp.c++/for-10.C: New test.
8537 * testsuite/libgomp.c++/for-11.C: New test.
8538 * testsuite/libgomp.c++/simd-1.C: New test.
8539 * testsuite/libgomp.c++/simd-2.C: New test.
8540 * testsuite/libgomp.c++/simd-3.C: New test.
8541 * testsuite/libgomp.c++/simd-4.C: New test.
8542 * testsuite/libgomp.c++/simd-5.C: New test.
8543 * testsuite/libgomp.c++/simd-6.C: New test.
8544 * testsuite/libgomp.c++/simd-7.C: New test.
8545 * testsuite/libgomp.c++/simd-8.C: New test.
8546 * testsuite/libgomp.c++/target-1.C: New test.
8547 * testsuite/libgomp.c++/target-2.C: New test.
8548 * testsuite/libgomp.c++/target-2-aux.cc: New file.
8549 * testsuite/libgomp.c++/target-3.C: New test.
8550 * testsuite/libgomp.c++/taskgroup-1.C: New test.
8551 * testsuite/libgomp.c++/udr-1.C: New test.
8552 * testsuite/libgomp.c++/udr-2.C: New test.
8553 * testsuite/libgomp.c++/udr-3.C: New test.
8554 * testsuite/libgomp.c++/udr-4.C: New test.
8555 * testsuite/libgomp.c++/udr-5.C: New test.
8556 * testsuite/libgomp.c++/udr-6.C: New test.
8557 * testsuite/libgomp.c++/udr-7.C: New test.
8558 * testsuite/libgomp.c++/udr-8.C: New test.
8559 * testsuite/libgomp.c++/udr-9.C: New test.
8560
bd599dea
JJ
85612013-09-20 Jakub Jelinek <jakub@redhat.com>
8562
8563 PR testsuite/57605
8564 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8565 ALWAYS_CFLAGS.
8566
3cbe17f7
AM
85672013-09-20 Alan Modra <amodra@gmail.com>
8568
8569 * configure: Regenerate.
8570
4befd127
JJ
85712013-09-19 Jakub Jelinek <jakub@redhat.com>
8572
8573 * testsuite/libgomp.c/sections-2.c: New test.
8574
946c8f7b
MS
85752013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8576
8577 * testsuite/libgomp.fortran/strassen.f90:
8578 Add dg-skip-if aarch64_tiny.
8579
1ef3b58e
IS
85802013-06-20 Iain Sandoe <iain@codesourcery.com>
8581 Cesar Philippidis <cesar@codesourcery.com>
8582
8583 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8584 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8585 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8586 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8587 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8588 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8589 Use dg-runtest rather than gfortran-dg-runtest.
8590
9275f73a
TS
85912013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8592
8593 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8594 Linux-based x86 systems to cover all GNU systems.
8595 * testsuite/libgomp.c/lock-3.c: Likewise.
8596 * testsuite/libgomp.c/pr48591.c: Likewise.
8597
492992e2
TS
85982013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8599
48df3acb
TS
8600 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8601 GNU/Hurd, as done for Linux-based systems.
8602
492992e2
TS
8603 * config/posix/ptrlock.h: Fix comment.
8604
4fed6b25
TB
86052013-05-27 Tobias Burnus <burnus@net-b.de>
8606
8607 PR fortran/57423
8608 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8609 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8610 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8611 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8612 omp_destroy_nest_lock): Correct arguments to match the one in
8613 the OpenMP spec.
8614 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8615 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8616 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8617 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8618
5a0f4dd3
JJ
86192013-05-16 Jakub Jelinek <jakub@redhat.com>
8620
8621 * testsuite/libgomp.c/loop-13.c: New test.
8622 * testsuite/libgomp.c/loop-14.c: New test.
8623 * testsuite/libgomp.c/loop-15.c: New test.
8624 * testsuite/libgomp.c++/loop-13.C: New test.
8625 * testsuite/libgomp.c++/loop-14.C: New test.
8626 * testsuite/libgomp.c++/loop-15.C: New test.
8627
6d840d99
JJ
86282013-02-06 Jakub Jelinek <jakub@redhat.com>
8629
8630 PR middle-end/56217
8631 * testsuite/libgomp.c++/pr56217.C: New test.
8632
bed8d8a6
AM
86332013-02-01 Alan Modra <amodra@gmail.com>
8634
8635 * task.c (GOMP_task, GOMP_taskwait): Comment.
8636
3b35cd04
DV
86372013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8638 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8639
8640 PR libgomp/55561
8641 * config/linux/wait.h (do_spin): Use atomic load for addr.
8642 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8643 for intptr and ptrlock.
8644 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8645 for ptrlock.
8646
9a647288
AM
86472013-01-22 Alan Modra <amodra@gmail.com>
8648
8649 PR libgomp/51376
8650 PR libgomp/56073
8651 * task.c (GOMP_task): Revert 2011-12-09 change.
8652 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8653 barrier to read task->children..
8654 (gomp_barrier_handle_tasks): ..and matching atomic store with
8655 release barrier here when setting parent->children to NULL.
8656
f34dea03
JJ
86572013-01-16 Jakub Jelinek <jakub@redhat.com>
8658 Tobias Burnus <burnus@net-b.de>
8659
8660 PR driver/55884
8661 * testsuite/libgomp.fortran/fortran.exp: Use
8662 -fintrinsic-modules-path= instead of
8663 -fintrinsic-modules-path.
8664
8129609c
RS
86652013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8666
8667 Update copyright years.
8668
aa86bf1e
TB
86692012-12-19 Tobias Burnus <burnus@net-b.de>
8670
8671 * testsuite/libgomp.fortran/fortran.exp: Set
8672 -fintrinsic-modules-path.
8673
2865ea66
TB
86742012-12-19 Tobias Burnus <burnus@net-b.de>
8675
8676 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8677 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8678
4c5ba8d0
JJ
86792012-11-21 Jakub Jelinek <jakub@redhat.com>
8680
8681 PR libgomp/55411
8682 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8683 if pool had any threads_used.
8684
e9f958c2
JH
86852012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8686
8687 * testsuite/libgomp.c++/pr24455.C: Use
8688 -Wl,-undefined,dynamic_lookup on darwin.
8689
a57d75dc
DE
86902012-11-07 David Edelsohn <dje.gcc@gmail.com>
8691
8692 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8693
c6c08485
DH
86942012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8695
8696 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8697
c1f37c00
IB
86982012-10-23 Ian Bolton <ian.bolton@arm.com>
8699 Jim MacArthur <jim.macarthur@arm.com>
8700 Marcus Shawcroft <marcus.shawcroft@arm.com>
8701 Nigel Stephens <nigel.stephens@arm.com>
8702 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8703 Richard Earnshaw <rearnsha@arm.com>
8704 Sofiane Naci <sofiane.naci@arm.com>
8705 Stephen Thomas <stephen.thomas@arm.com>
8706 Tejas Belagod <tejas.belagod@arm.com>
8707 Yufeng Zhang <yufeng.zhang@arm.com>
8708
8709 * configure.tgt: Add AArch64.
8710
7c424acd
JM
87112012-10-04 Jason Merrill <jason@redhat.com>
8712
8713 * testsuite/libgomp.c++/tls-init1.C: New.
8714
6608378b
DE
87152012-09-14 David Edelsohn <dje.gcc@gmail.com>
8716
8717 * configure: Regenerated.
8718
c24dbebb
CLT
87192012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8720
8721 * config/linux/mips/futex.h (sys_futex0): Change to static
8722 function with noinline, nomips16 attributes under MIPS16. Adjust
8723 asm statement to place 'li v0,SYS_futex' immediately before
8724 syscall insn.
8725
3d3949df
SL
87262012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8727
8728 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8729 conflict with index.html on case-insensitive file systems.
8730
68a12ef3
UB
87312012-07-03 Uros Bizjak <ubizjak@gmail.com>
8732
8733 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8734 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8735
33ad93b9 87362012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8737 Michael Matz <matz@suse.de>
8738 Tobias Grosser <tobias@grosser.es>
8739 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8740
8741 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8742 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8743 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8744 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8745
e6fdc918
AS
87462012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8747
8748 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8749
62e0a1ed
RG
87502012-06-22 Richard Guenther <rguenther@suse.de>
8751
8752 Merge from graphite branch
8753 2012-01-13 Tobias Grosser <tobias@grosser.es>
8754
8755 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8756 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8757
26127932
JJ
87582012-06-07 Jakub Jelinek <jakub@redhat.com>
8759
8760 PR middle-end/53580
8761 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8762 use GOMP_barrier () call instead.
8763 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8764 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8765 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8766 call GOMP_barrier instead.
8767 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8768
43fa5db5
JJ
87692012-06-06 Jakub Jelinek <jakub@redhat.com>
8770
8771 PR libgomp/52993
8772 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8773 argument to memset call.
8774
e6d5f8c9
L
87752012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8776
8777 * configure: Regenerated.
8778
559d990c
MLI
87792012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8780
8781 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8782
b9c23a61
L
87832012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8784
8785 PR bootstrap/52812
8786 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8787
c140ddf3
JJ
87882012-03-22 Jakub Jelinek <jakub@redhat.com>
8789
8790 PR middle-end/52547
8791 * testsuite/libgomp.c/pr52547.c: New test.
8792
6a26a74d
BRF
87932012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8794
8795 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8796
b24513a1
RO
87972012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8798
8799 * configure.tgt (mips-sgi-irix6*): Remove.
8800
5c30094f
RO
88012012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8802
8803 * configure.tgt (alpha*-dec-osf*): Remove.
8804
8805 * config/osf/sem.h: Remove.
8806 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8807
a339c9d6
EB
88082012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8809
8810 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8811
cc2de92d
RO
88122012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8813
8814 PR libstdc++/52188
8815 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8816 Remove ENABLE_SYMVERS_SOL2.
8817 * configure: Regenerate.
8818 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8819 (PREPROCESS): New variable.
8820 (libgomp.ver): New target.
8821 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8822 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8823 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8824 Use libgomp.ver.
8825 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8826 * Makefile.in: Regenerate.
8827
dd552284
WL
88282012-02-14 Walter Lee <walt@tilera.com>
8829
8830 * configure.tgt: Handle tilegx and tilepro.
8831 * config/linux/tile/futex.h: New file.
8832
31432e21
RG
88332012-02-08 Richard Guenther <rguenther@suse.de>
8834
8835 PR tree-optimization/46886
8836 * testsuite/libgomp.c/pr46886.c: New testcase.
8837
b9264b5f
MK
88382012-01-25 Matthias Klose <doko@ubuntu.com>
8839
8840 * config/linux/arm: Remove empty directory.
8841 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8842
fbf7be80
AM
88432011-12-09 Alan Modra <amodra@gmail.com>
8844
8845 PR libgomp/51376
8846 * task.c (GOMP_taskwait): Don't access task->children outside of
8847 task_lock mutex region.
8848 (GOMP_task): Likewise.
8849
5de62d00
JJ
88502011-12-06 Jakub Jelinek <jakub@redhat.com>
8851
8852 PR libgomp/51132
8853 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8854 to file scope.
8855 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8856 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8857 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8858 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8859 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8860
45608a43
AM
88612011-12-02 Alan Modra <amodra@gmail.com>
8862
8863 * config/linux/affinity.c: Use atomic rather than sync builtin.
8864 * config/linux/lock.c: Likewise.
8865 * config/linux/ptrlock.h: Likewise.
8866 * config/linux/ptrlock.c: Likewise.
8867 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8868 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8869 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8870 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8871 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8872 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8873 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8874 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8875 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8876 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8877
ab6dd406
AM
88782011-11-30 Alan Modra <amodra@gmail.com>
8879
8880 PR libgomp/51298
8881 * config/linux/bar.h: Use atomic rather than sync builtins.
8882 * config/linux/bar.c: Likewise. Add missing acquire
8883 synchronisation on generation field.
8884 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8885 double unlock.
8886
b40c885f
AM
88872011-11-30 Alan Modra <amodra@gmail.com>
8888
8889 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8890 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8891 * config/linux/mutex.h: Use atomic rather than sync builtins.
8892 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8893 * config/linux/omp-lock.h: Comment fix.
8894 * config/linux/arm/mutex.h: Delete.
8895 * config/linux/powerpc/mutex.h: Delete.
8896 * config/linux/ia64/mutex.h: Delete.
8897 * config/linux/mips/mutex.h: Delete.
8898
3e348fcc
AM
88992011-11-30 Alan Modra <amodra@gmail.com>
8900
8901 PR libgomp/51249
8902 * config/linux/sem.h: Rewrite.
8903 * config/linux/sem.c: Rewrite.
8904
cef86eb2
RH
89052011-11-28 Richard Henderson <rth@redhat.com>
8906
8907 * libgomp.h (enum memmodel): New.
8908
c6084f68
AT
89092011-11-21 Andreas Tobler <andreast@fgznet.ch>
8910
8911 * configure: Regenerate.
8912
06fe026c
MK
89132011-10-10 Matthias Klose <doko@ubuntu.com>
8914
8915 * config/posix95: Remove empty directory.
8916
a6c975bd
JJ
89172011-08-26 Jakub Jelinek <jakub@redhat.com>
8918
8919 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8920
c26dffff
JJ
89212011-08-19 Jakub Jelinek <jakub@redhat.com>
8922
8923 PR fortran/49792
8924 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8925 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8926
ddaad3c8
RO
89272011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8928
8929 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8930
98d03683
RO
89312011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8932
8933 PR libgomp/49965
8934 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8935
e0b23d9f
UB
89362011-08-03 Uros Bizjak <ubizjak@gmail.com>
8937
8938 * config/linux/proc.h: New.
8939 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8940 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8941 (gomp_init_num_threads): Update call to cpuset_popcount.
8942 (get_num_procs): Ditto.
8943 * config/linux/affinity.c (gomp_init_affinity): Call
8944 gomp_cpuset_popcount.
8945
20906c66
JJ
89462011-08-02 Jakub Jelinek <jakub@redhat.com>
8947
8948 PR fortran/42041
8949 PR fortran/46752
8950 * omp.h.in (omp_in_final): New prototype.
8951 * omp_lib.f90.in (omp_in_final): New interface.
8952 (omp_integer_kind, omp_logical_kind): Remove
8953 and replace all its uses in the module with 4.
8954 (openmp_version): Change to 201107.
8955 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8956 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8957 kind for the parameters.
8958 (omp_in_final): New external.
8959 (openmp_version): Change to 201107.
8960 * task.c (omp_in_final): New function.
8961 (gomp_init_task): Initialize final_task.
8962 (GOMP_task): Remove unused attribute from flags. Handle final
8963 tasks.
8964 (GOMP_taskyield): New function.
8965 (omp_in_final): Return true if if (false) or final (true) task
8966 or descendant of final (true).
8967 * fortran.c (omp_in_final_): New function.
8968 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8969 (GOMP_3.0): Export GOMP_taskyield.
8970 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8971 variables.
8972 (parse_unsigned_long_list): New function.
8973 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8974 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8975 even if parse_affinity returned false.
8976 * config/linux/affinity.c (gomp_init_affinity): Handle
8977 gomp_cpu_affinity_len == 0.
8978 * libgomp_g.h (GOMP_taskyield): New prototype.
8979 * libgomp.h (struct gomp_task): Add final_task field.
8980 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8981 * team.c (gomp_team_start): Override new task's nthreads_var icv
8982 if list form OMP_NUM_THREADS has been used and it has value for
8983 the new nesting level.
8984
8985 * testsuite/libgomp.c/atomic-11.c: New test.
8986 * testsuite/libgomp.c/atomic-12.c: New test.
8987 * testsuite/libgomp.c/atomic-13.c: New test.
8988 * testsuite/libgomp.c/atomic-14.c: New test.
8989 * testsuite/libgomp.c/reduction-6.c: New test.
8990 * testsuite/libgomp.c/task-5.c: New test.
8991 * testsuite/libgomp.c++/atomic-2.C: New test.
8992 * testsuite/libgomp.c++/atomic-3.C: New test.
8993 * testsuite/libgomp.c++/atomic-4.C: New test.
8994 * testsuite/libgomp.c++/atomic-5.C: New test.
8995 * testsuite/libgomp.c++/atomic-6.C: New test.
8996 * testsuite/libgomp.c++/atomic-7.C: New test.
8997 * testsuite/libgomp.c++/atomic-8.C: New test.
8998 * testsuite/libgomp.c++/atomic-9.C: New test.
8999 * testsuite/libgomp.c++/task-8.C: New test.
9000 * testsuite/libgomp.c++/reduction-4.C: New test.
9001 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9002 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9003 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9004 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9005 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9006 * testsuite/libgomp.fortran/pointer1.f90: New test.
9007 * testsuite/libgomp.fortran/pointer2.f90: New test.
9008 * testsuite/libgomp.fortran/task4.f90: New test.
9009
90102011-08-02 Tobias Burnus <burnus@net-b.de>
9011
9012 * libgomp.texi: Update OpenMP spec references to 3.1.
9013 (omp_in_final,OMP_PROC_BIND): New sections.
9014 (OMP_NUM_THREADS): Document that the value can be now a list.
9015 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9016
c01ecafc
L
90172011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9018
9019 * config/linux/x86/futex.h: Check __x86_64__ instead of
9020 __LP64__.
9021
25142650
JJ
90222011-07-29 Jakub Jelinek <jakub@redhat.com>
9023
9024 PR middle-end/49897
9025 PR middle-end/49898
9026 * testsuite/libgomp.c/pr49897-1.c: New test.
9027 * testsuite/libgomp.c/pr49897-2.c: New test.
9028 * testsuite/libgomp.c/pr49898-1.c: New test.
9029 * testsuite/libgomp.c/pr49898-2.c: New test.
9030
f53d712f
L
90312011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9032
9033 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9034 for ia32 instead of ilp32.
9035
9036 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9037 * testsuite/libgomp.c/atomic-6.c: Likewise.
9038
3689198d
SP
90392011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9040
9041 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9042 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9043
1a79cb73
RO
90442011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9045
9046 PR libgomp/45351
9047 * config/osf/sem.h: New file.
9048 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9049
c1f51484
RO
90502011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9051
9052 PR target/49541
9053 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9054 ldflags.
9055
bfee0724
JJ
90562011-07-15 Jakub Jelinek <jakub@redhat.com>
9057
9058 * config/linux/wait.h (do_spin): New inline, largely copied
9059 from do_wait, just don't do futex_wait here, instead return true if
9060 it should be done.
9061 (do_wait): Implement using do_spin.
9062 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9063 to prototype.
9064 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9065 __sync_bool_compare_and_swap, pass the oldval to
9066 gomp_mutex_lock_slow.
9067 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9068 If all mutex contenders are just spinning and not sleeping, don't
9069 change state to 2 unnecessarily. Optimize the loop when state has
9070 already become 2 to use just one atomic operation per loop instead
9071 of two.
9072 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9073 to prototype.
9074 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9075 __sync_bool_compare_and_swap, pass the oldval to
9076 gomp_mutex_lock_slow.
9077
fb79f500
JJ
90782011-06-22 Jakub Jelinek <jakub@redhat.com>
9079
9080 PR libgomp/49490
9081 * iter.c (gomp_iter_static_next): For chunk size 0
9082 only use n ceil/ nthreads size for the first
9083 n % nthreads threads in the team instead of
9084 all threads except for the last few ones which
9085 get less work or none at all.
9086 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9087 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9088 chunk argument, set run_sched_modifier to 0 for static
9089 resp. 1 for other kinds. If chunk argument is 0
9090 and not static, set value to 1.
9091
4577f730
JJ
90922011-05-19 Jakub Jelinek <jakub@redhat.com>
9093
ea93a47b
JJ
9094 PR c++/49043
9095 * testsuite/libgomp.c++/pr49043.C: New test.
9096
4577f730
JJ
9097 PR c++/48869
9098 * testsuite/libgomp.c++/pr48869.C: New test.
9099
e7385332
JJ
91002011-05-06 Jakub Jelinek <jakub@redhat.com>
9101
9102 PR fortran/48894
9103 * fortran.c: Include limits.h.
9104 (TO_INT): Define.
9105 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9106 *set.
9107 (omp_set_num_threads_8_, omp_set_schedule_8_,
9108 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9109 omp_get_team_size_8_): Use TO_INT macro.
9110 * testsuite/libgomp.fortran/pr48894.f90: New test.
9111
20790697
JJ
91122011-04-13 Jakub Jelinek <jakub@redhat.com>
9113
9114 PR middle-end/48591
9115 * testsuite/libgomp.c/pr48591.c: New test.
9116
bf382f5f
RO
91172011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9118
9119 PR bootstrap/48135
9120 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9121 * configure: Regenerate.
9122
113a53c1
JJ
91232011-02-27 Jakub Jelinek <jakub@redhat.com>
9124
9125 PR fortran/47886
9126 * testsuite/libgomp.fortran/task3.f90: New test.
9127
0024f1af
TB
91282011-02-24 Tobias Burnus <burnus@net-b.de>
9129
9130 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9131
21e1e594
JJ
91322011-02-23 Jakub Jelinek <jakub@redhat.com>
9133
9134 PR libgomp/47854
9135 * libgomp.texi (omp_get_wtime): Don't say time in the past
9136 must be Unix Epoch.
9137
67962076
JJ
91382011-02-18 Jakub Jelinek <jakub@redhat.com>
9139
9140 PR libgomp/47804
9141 * testsuite/libgomp.fortran/fortran.exp: Check for both
9142 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9143 but $blddir != "", still append ${blddir}/${lang_library_path}
9144 to ld_library_path.
9145
3808007c
TB
91462011-02-16 Tobias Burnus <burnus@net-b.de>
9147
9148 PR libgomp/47758
9149 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9150 of libquadmath.a before adding its libpath to ldflags.
9151
53b4d41d
JJ
91522011-02-14 Jakub Jelinek <jakub@redhat.com>
9153
9154 PR libgomp/47731
9155 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9156 to FUTEX_WAIT futex syscall.
9157 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9158
029c8f3e
RW
91592011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9160
9161 * configure: Regenerate.
9162
bddd6626
BK
91632011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9164
9165 PR libstdc++/36104
9166 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9167
f1d4ab26
GP
91682011-01-16 Gerald Pfeifer
9169
9170 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9171
2b503136
JJ
91722010-12-14 Jakub Jelinek <jakub@redhat.com>
9173
9174 PR fortran/46874
9175 * libgomp.fortran/allocatable6.f90: New test.
9176
c0f9d583
RO
91772010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9178
9179 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9180 * configure: Regenerate.
9181
7de6ba7a
DK
91822010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9183
9184 PR target/40125
9185 PR lto/46695
9186 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9187 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9188 * aclocal.m4: Regenerate.
9189 * configure: Regenerate.
9190 * Makefile.in: Regenerate.
9191 * testsuite/Makefile.in: Regenerate.
9192
b7516041
JJ
91932010-12-02 Jakub Jelinek <jakub@redhat.com>
9194
edaadf74
JJ
9195 PR fortran/46753
9196 * libgomp.fortran/pr46753.f90: New test.
9197
4c698cf8
JJ
9198 PR libgomp/43706
9199 * env.c (initialize_env): Default to spin count 300000
9200 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9201 is specified.
9202
b7516041
JJ
9203 PR libgomp/45240
9204 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9205 at the end if sync builtins aren't supported.
9206
6b43a34c
RO
92072010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9208
9209 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9210
950691fa
RO
92112010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9212
9213 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9214
fb9041ea
IS
92152010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9216
9217 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9218
1ec601bf
FXC
92192010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9220 Tobias Burnus <burnus@net-b.de>
9221
9222 PR fortran/32049
3e348fcc 9223 * configure.ac:
1ec601bf
FXC
9224 * configure: Regenerate.
9225
d213e92e
MS
92262010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9227
9228 * config/linux/futex.h: New.
9229 * config/linux/arm/mutex.h: New.
9230 * configure.tgt (arm*-*-linux*): Add config path.
9231
89d5c66f
SP
92322010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9233
9234 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9235
87350d4a
TB
92362010-09-23 Tobias Burnus <burnus@net-b.de>
9237
9238 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9239 Change Fortran datatype to LOGICAL.
9240 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9241 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9242
75bc9e5e
RW
92432010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9244
9245 * configure: Regenerate.
9246
acb5c916
JJ
92472010-07-26 Jakub Jelinek <jakub@redhat.com>
9248
9249 * libgomp.texi: Add function keyword to a couple of Fortran
9250 interfaces, use integer instead of int for Fortran.
9251
6a2ba183
AH
92522010-07-26 Aldy Hernandez <aldyh@redhat.com>
9253
9254 * libgomp.texi: Fix spelling and pasto problems throughout.
9255 Adjust prototypes to match code.
9256
df161b69
TB
92572010-07-24 Tobias Burnus <burnus@net-b.de>
9258
9259 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9260 silence -fwhole-file warning.
9261
16c9d3b1
RO
92622010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9263
9264 * configure.tgt (*-*-solaris2.[56]*): Removed.
9265
6d28b933
RO
92662010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9267
9268 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9269 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9270 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9271 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9272 targetting solaris2*.
9273 * configure: Regenerate.
9274 * config.h.in: Regenerate.
9275
9276 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9277 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9278 Add libgomp_version_dep.
9279 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9280 versioning.
9281 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9282 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9283 * Makefile.in: Regenerate.
9284
9285 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9286 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9287 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9288 to common block, protected by
9289 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9290
07a67d6a
GP
92912010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9292
9293 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9294
dbd34b89
IS
92952010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9296
9297 PR bootstrap/43170
9298 * configure: Regenerate.
9299
13917ae3
RW
93002010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9301
9302 PR other/43620
9303 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9304 * configure: Regenerate.
9305 * Makefile.in: Regenerate.
9306 * testsuite/Makefile.in: Regenerate.
9307
b83a701b
JJ
93082010-04-26 Jakub Jelinek <jakub@redhat.com>
9309
9310 PR c/43893
9311 * testsuite/libgomp.c/pr43893.c: New test.
9312 * testsuite/libgomp.c++/pr43893.C: New test.
9313
78db7d92
JJ
93142010-04-21 Jakub Jelinek <jakub@redhat.com>
9315
9316 PR middle-end/43570
9317 * testsuite/libgomp.fortran/vla8.f90: New test.
9318
5221d7a9
JJ
93192010-04-20 Jakub Jelinek <jakub@redhat.com>
9320
e4ba7a60
JJ
9321 PR libgomp/43706
9322 * config/linux/affinity.c (gomp_init_affinity): Decrease
9323 gomp_available_cpus if affinity mask confines the process to fewer
9324 CPUs.
9325 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9326 non-NULL, just return gomp_available_cpus.
9327
5221d7a9
JJ
9328 PR libgomp/43569
9329 * sections.c (gomp_sections_init): Initialize ws->mode.
9330
289a9f86
UB
93312010-04-14 Uros Bizjak <ubizjak@gmail.com>
9332
9333 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9334 not unused bar variable.
9335 * configure: Regenerate.
9336
4d9e8446
RW
93372010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9338
9339 * Makefile.in: Regenerate.
9340 * aclocal.m4: Regenerate.
9341 * testsuite/Makefile.in: Regenerate.
9342
80f046cc
JJ
93432010-03-22 Jakub Jelinek <jakub@redhat.com>
9344
9345 PR libgomp/42942
9346 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9347 (initialize_env): Adjust callers.
9348 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9349 when the argument is 0.
9350
9351 * testsuite/libgomp.c/pr42942.c: New test.
9352
b58543c3
SP
93532010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9354
9355 PR middle-end/42644
9356 PR middle-end/42130
9357 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9358 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9359
41d1138f
RO
93602010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9361
9362 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9363 * testsuite/libgomp.c++/task-6.C: Likewise.
9364
6684eb28
SE
93652010-01-28 Steve Ellcey <sje@cup.hp.com>
9366
9367 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9368
2122aa97
PB
93692010-01-26 Paolo Bonzini <bonzini@gnu.org>
9370
9371 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9372 * configure: Regenerate.
9373
057dd91d
JJ
93742010-01-26 Jakub Jelinek <jakub@redhat.com>
9375
9376 PR fortran/42866
9377 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9378
d0709b6a
PB
93792010-01-20 Paolo Bonzini <bonzini@gnu.org>
9380
9381 * configure.ac: Test for executability of GFORTRAN.
9382 * configure: Regenerate.
9383
b9497ab5
RO
93842010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9385
9386 * configure: Regenerate.
9387
45de5648
L
93882010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9389
9390 PR libgomp/42602
9391 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9392
e74003a1
RG
93932010-01-03 Richard Guenther <rguenther@suse.de>
9394
9395 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9396
1b3abda8
SP
93972009-12-23 Sebastian Pop <sebpop@gmail.com>
9398
9399 * testsuite/libgomp.graphite/pr4118.c: New.
9400
e19977d3
IS
94012009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9402
9403 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9404 for darwin, protect the test with require-effective-target tls_runtime.
9405 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9406
1d32a772
IS
94072009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9408
9409 PR target/41605
9410 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9411 link spec %s substitutions for static libraries.
9412
deb109b2
JH
94132009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9414
9415 PR testsuite/42135
9416 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9417
43e02a8a
RW
94182009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9419
9420 * Makefile.in: Regenerate.
9421 * configure: Regenerate.
9422 * testsuite/Makefile.in: Regenerate.
9423
17f35e23
DK
94242009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9425
9426 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9427 settings for LC_ALL and LANG.
9428
281e33e1
JJ
94292009-11-25 Jakub Jelinek <jakub@redhat.com>
9430
9431 PR fortran/42162
9432 * testsuite/libgomp.fortran/pr42162.f90: New test.
9433
2b32c27d
JJ
94342009-11-13 Jakub Jelinek <jakub@redhat.com>
9435
9436 PR middle-end/42029
281e33e1 9437 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 9438
89c74f4a
JJ
94392009-10-26 Jakub Jelinek <jakub@redhat.com>
9440
9441 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9442 *s. Accept ld version without text in ()s.
9443 * configure: Regenerated.
9444
7e06c3d6
EB
94452009-10-22 Razya Ladelsky <razya@il.ibm.com>
9446
9447 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9448
0046b1a7
RW
94492009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9450
9451 PR libgomp/41418
9452 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9453 or a hyphen (happens with fortran language disabled).
9454 * configure: Regenerate.
9455
c82852f7
RW
94562009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9457
9458 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9459 use sed script portable to Solaris /bin/sed for extracting ld
9460 version.
9461 * configure: Regenerate.
9462
98f3eb1f
AM
94632009-09-17 Alexander Monakov <amonakov@ispras.ru>
9464
9465 * testsuite/libgomp.graphite/bounds.c: New test.
9466
878f62e5
RW
94672009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9468
9469 * Makefile.am (libgomp_la_LINK): New.
9470 * Makefile.in: Regenerate.
9471
df58e648
RW
94722009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9473
9474 * configure.ac (AC_PREREQ): Bump to 2.64.
9475
5213506e
RW
94762009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9477
70fa0efa
RW
9478 * Makefile.am (install-html, install-pdf): Remove.
9479 * Makefile.in: Regenerate.
9480
5213506e
RW
9481 * Makefile.in: Regenerate.
9482 * aclocal.m4: Regenerate.
9483 * config.h.in: Regenerate.
9484 * configure: Regenerate.
9485 * testsuite/Makefile.in: Regenerate.
9486
84fec8a5
RW
94872009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9488
9489 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9490 * Makefile.in: Regenerate.
9491
197c68cc
DK
94922009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
9493
9494 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9495 * Makefile.in: Regenerate.
9496
693d54f2
TB
94972009-08-19 Tobias Burnus <burnus@net-b.de>
9498
9499 PR fortran/41102
9500 omp_lib.h.in: Fix -std=f95 errors.
9501
8cac884c
DE
95022009-08-14 David Edelsohn <edelsohn@gnu.org>
9503
9504 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9505 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9506 * testsuite/libgomp.graphite/graphite.exp: New.
9507
78729ee2
AT
95082009-08-05 Andreas Tobler <a.tobler@schweiz.org>
9509
9510 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9511 only build.
9512
b13b7f39
DD
95132009-08-04 David Daney <ddaney@caviumnetworks.com>
9514
9515 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9516 needed memory barrier semantics.
9517 * config/linux/mips/mutex.h: New file.
9518
1b3b24c2
RW
95192009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9520
9521 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9522
396b7fa4
JM
95232009-07-16 Joseph Myers <joseph@codesourcery.com>
9524
9525 * configure: Regenerate.
9526
33cde516
RS
95272009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
9528
9529 PR testsuite/40699
9530 PR testsuite/40707
9531 PR testsuite/40709
9532 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9533 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9534 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9535
bc21bfa5
RS
95362009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
9537
9538 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9539 options when choosing a multilib.
9540
b30bfd40
RS
95412009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
9542
9543 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9544 ld_library_path. Use add_path. Add just find_libgcc_s to
9545 ld_library_path, not every libgcc multilib directory.
9546 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9547 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9548 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9549 Use add_path.
9550 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9551
479c15c2
NF
95522009-06-09 Nathan Froyd <froydnj@codesourcery.com>
9553
9554 * Makefile.am (LTLDFLAGS): Define.
9555 (LINK): Define.
9556 * Makefile.in: Regenerate.
9557
667e6f89
JB
95582009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9559
9560 PR fortran/39718
9561 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9562 libgfortranbegin, check existence of libgfortran.a instead of
9563 libgfortranbegin.a.
9564
6dea8e99
JJ
95652009-05-20 Jakub Jelinek <jakub@redhat.com>
9566
9567 PR libgomp/40174
9568 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9569 (gomp_free_pool_helper): Likewise.
9570
34d01e1d
VL
95712009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9572 Jakub Jelinek <jakub@redhat.com>
9573
9574 PR fortran/35423
9575 * testsuite/libgomp.fortran/workshare2.f90: New test.
9576
748086b7
JJ
95772009-04-09 Nick Clifton <nickc@redhat.com>
9578
9579 * iter.c: Change copyright header to refer to version 3 of the
9580 GNU General Public License with version 3.1 of the GCC Runtime
9581 Library Exception and to point readers at the COPYING3 and
9582 COPYING3.RUNTIME files and the FSF's license web page.
9583 * alloc.c: Likewise.
9584 * barrier.c: Likewise.
9585 * config/bsd/proc.c: Likewise.
9586 * config/linux/affinity.c: Likewise.
9587 * config/linux/alpha/futex.h: Likewise.
9588 * config/linux/bar.c: Likewise.
9589 * config/linux/bar.h: Likewise.
9590 * config/linux/ia64/futex.h: Likewise.
9591 * config/linux/ia64/mutex.h: Likewise.
9592 * config/linux/lock.c: Likewise.
9593 * config/linux/mips/futex.h: Likewise.
9594 * config/linux/mutex.c: Likewise.
9595 * config/linux/mutex.h: Likewise.
9596 * config/linux/powerpc/futex.h: Likewise.
9597 * config/linux/proc.c: Likewise.
9598 * config/linux/ptrlock.c: Likewise.
9599 * config/linux/ptrlock.h: Likewise.
9600 * config/linux/s390/futex.h: Likewise.
9601 * config/linux/sem.c: Likewise.
9602 * config/linux/sem.h: Likewise.
9603 * config/linux/sparc/futex.h: Likewise.
9604 * config/linux/wait.h: Likewise.
9605 * config/linux/x86/futex.h: Likewise.
9606 * config/mingw32/proc.c: Likewise.
9607 * config/mingw32/time.c: Likewise.
9608 * config/posix/affinity.c: Likewise.
9609 * config/posix/bar.c: Likewise.
9610 * config/posix/bar.h: Likewise.
9611 * config/posix/lock.c: Likewise.
9612 * config/posix/mutex.h: Likewise.
9613 * config/posix/proc.c: Likewise.
9614 * config/posix/ptrlock.h: Likewise.
9615 * config/posix/sem.c: Likewise.
9616 * config/posix/sem.h: Likewise.
9617 * config/posix/time.c: Likewise.
9618 * config/posix95/lock.c: Likewise.
9619 * critical.c: Likewise.
9620 * env.c: Likewise.
9621 * error.c: Likewise.
9622 * fortran.c: Likewise.
9623 * iter_ull.c: Likewise.
9624 * libgomp.h: Likewise.
9625 * libgomp_f.h.in: Likewise.
9626 * libgomp_g.h: Likewise.
9627 * loop.c: Likewise.
9628 * loop_ull.c: Likewise.
9629 * omp.h.in: Likewise.
9630 * omp_lib.f90.in: Likewise.
9631 * omp_lib.h.in: Likewise.
9632 * ordered.c: Likewise.
9633 * parallel.c: Likewise.
9634 * sections.c: Likewise.
9635 * single.c: Likewise.
9636 * task.c: Likewise.
9637 * team.c: Likewise.
9638 * work.c: Likewise.
9639
96402009-04-09 Jakub Jelinek <jakub@redhat.com>
9641
9642 * testsuite/config/default.exp: Change copyright header to refer to
9643 version 3 of the GNU General Public License and to point readers
9644 at the COPYING3 file and the FSF's license web page.
9645
4f0ae266
JJ
96462009-04-08 Jakub Jelinek <jakub@redhat.com>
9647
9648 PR middle-end/39573
9649 * libgomp.c++/pr39573.C: New test.
9650
03742a9b
JJ
96512009-04-01 Jakub Jelinek <jakub@redhat.com>
9652
9653 PR other/39591
9654 * testsuite/libgomp.c/pr39591-1.c: New test.
9655 * testsuite/libgomp.c/pr39591-2.c: New test.
9656 * testsuite/libgomp.c/pr39591-3.c: New test.
9657
e50ea10b
UB
96582009-03-25 Uros Bizjak <ubizjak@gmail.com>
9659
9660 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9661 * testsuite/libgomp.c/atomic-6.c: Ditto.
9662
c5cdb03f
JJ
96632009-03-23 Jakub Jelinek <jakub@redhat.com>
9664
9665 PR c/39495
9666 * testsuite/libgomp.c/loop-12.c: New test.
9667 * testsuite/libgomp.c/loop-11.c: New test.
9668 * testsuite/libgomp.c++/loop-11.C: New test.
9669 * testsuite/libgomp.c++/loop-12.C: New test.
9670 * testsuite/libgomp.c++/for-8.C: New test.
9671
7a9d3fe8
RW
96722009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9673
9674 * configure: Regenerate.
9675
3ad6b266
JJ
96762009-02-11 Jakub Jelinek <jakub@redhat.com>
9677
9678 PR middle-end/39154
9679 * testsuite/libgomp.c/pr39154.c: New test.
9680
b39dea08
ILT
96812009-01-30 Ian Lance Taylor <iant@google.com>
9682
9683 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9684 libgomp_ld_is_gold. Get gold version number.
9685 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9686 * configure: Rebuild.
9687
72c66596
IS
96882009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9689
e50ea10b 9690 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9691 use libgfortran.a%s in their specs.
9692
876080ff
JJ
96932009-01-07 Jakub Jelinek <jakub@redhat.com>
9694
9695 PR libgomp/38086
9696 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9697 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9698 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9699 * configure: Regenerated.
9700 * config.h.in: Likewise.
9701
e4ebaef3
JJ
97022008-12-28 Jakub Jelinek <jakub@redhat.com>
9703
9704 PR c++/38650
9705 * testsuite/libgomp.c/pr38650.c: New test.
9706 * testsuite/libgomp.c++/pr38650.C: New test.
9707
382017a6
JJ
97082008-12-27 Jakub Jelinek <jakub@redhat.com>
9709
9710 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9711
79644b27
UB
97122008-12-26 Uros Bizjak <ubizjak@gmail.com>
9713
9714 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9715
baafc534
RW
97162008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9717
9718 * configure: Regenerate.
9719
d9c194cb
JJ
97202008-12-08 Jakub Jelinek <jakub@redhat.com>
9721
9722 PR middle-end/36802
9723 * testsuite/libgomp.c/pr36802-1.c: New test.
9724 * testsuite/libgomp.c/pr36802-2.c: New test.
9725 * testsuite/libgomp.c/pr36802-3.c: New test.
9726
86a182bf
JJ
97272008-12-01 Janis Johnson <janis187@us.ibm.com>
9728
9729 PR libgomp/38270
9730 * config/linux/powerpc/mutex.h: New.
9731
956adfaf
JJ
97322008-12-01 Jakub Jelinek <jakub@redhat.com>
9733
a2d4cdc9
JJ
9734 PR c++/38257
9735 * testsuite/libgomp.c++/for-7.C: New test.
9736
956adfaf
JJ
9737 PR c++/38348
9738 * testsuite/libgomp.c++/for-6.C: New test.
9739
d4038ca2
JJ
97402008-11-26 Janis Johnson <janis187@us.ibm.com>
9741
9742 PR testsuite/28870
9743 * testsuite/lib/libgomp.exp: Include new timeout library files.
9744 (libgomp_target_compile): Set timeout value from new proc.
9745
8b159eea
SE
97462008-11-13 Steve Ellcey <sje@cup.hp.com>
9747
9748 PR libgomp/37938
9749 * config/linux/ia64/mutex.h: New.
9750
5c6ed53a
TB
97512008-11-04 Tobias Burnus <burnus@net-b.de>
9752
9753 PR libgomp/37935
9754 * libgomp.texi (Runtime library routines, environment variables):
9755 Update for OpenMP version 3.0.
9756
6b4a97ed
PG
97572008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9758 Steve Ellcey <sje@cup.hp.com>
9759
9760 * configure: Regenerate for new libtool.
9761 * Makefile.in: Ditto.
9762 * testsuite/Makefile.in: Ditto.
9763
e2b34106
JJ
97642008-09-19 Jakub Jelinek <jakub@redhat.com>
9765 Andreas Tobler <a.tobler@schweiz.org>
9766
9767 * config/bsd/proc.c: New file.
8c3b3600 9768 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9769 * configure.ac: Check for header <sys/sysctl.h>
9770 * configure: Regenerate.
9771 * config.h.in: Likewise.
9772
3606b8bf
JJ
97732008-09-05 Janis Johnson <janis187@us.ibm.com>
9774
9775 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9776
6528b88d
AL
97772008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9778
9779 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9780 * Makefile.in: Regenerated.
9781 * testsuite/Makefile.in: Regenerated.
9782
d9b14b12 97832008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9784
a16b68bb 9785 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9786 depend on blddir if blddir exists.
9787 (libgomp_target_compile): Likewise.
9788 * testsuite/libgomp.c++/c++.exp: Likewise.
9789 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9790
70b1e376
RW
97912008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9792
9793 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9794 Do not list GPL as Invariant Section.
9795
318e8c3f
IG
97962008-07-28 Ilie Garbacea <ilie@mips.com>
9797 Chao-ying Fu <fu@mips.com>
9798
9799 * configure.tgt: Enable futex for MIPS.
9800 * config/linux/mips/futex.h: New file.
9801
4db72361
JJ
98022008-07-16 Jakub Jelinek <jakub@redhat.com>
9803
9804 * team.c (gomp_team_end): Free team immediately if it has
9805 just one thread.
9806
87bd23b8
DE
98072008-07-08 David Edelsohn <edelsohn@gnu.org>
9808
9809 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9810 * testsuite/libgomp.fortran/fortran.exp: Same.
9811 * testsuite/libgomp.c/c.exp: Same.
9812 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9813 directory to library path first.
9814
323ff903
KW
98152008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9816
9817 * env.c (parse_stacksize): Add cast to avoid warning.
9818 (parse_spincount): Likewise.
9819
b357f682
JJ
98202008-06-27 Jakub Jelinek <jakub@redhat.com>
9821
ca2b1311
JJ
9822 * testsuite/libgomp.c/loop-10.c: New test.
9823 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9824 * libgomp.c++/loop-6.C (main): Likewise.
9825
b357f682
JJ
9826 PR debug/36617
9827 * testsuite/libgomp.c/debug-1.c: New test.
9828
09a46078
JJ
98292008-06-19 Jakub Jelinek <jakub@redhat.com>
9830
9831 * testsuite/libgomp.c/nqueens-1.c: New test.
9832
2368a460
JJ
9833 PR c++/36523
9834 * testsuite/libgomp.c++/task-7.C: New function.
9835
18c04407
RW
98362008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9837
9838 * configure: Regenerate.
9839
9c4e59e0
JDA
98402008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9841
9842 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9843 mutex when HAVE_SYNC_BUILTINS isn't defined.
9844
6ccde948
RW
98452008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9846
9847 * libgomp.texi (omp_test_lock): Fix typo.
9848
b896f9fd
TB
98492008-06-12 Tobias Burnus <burnus@net-b.de>
9850
9851 * omp_lib.f90.in: Add "implicit none".
9852
c34938a8
JJ
98532008-06-12 Jakub Jelinek <jakub@redhat.com>
9854
9855 PR middle-end/36506
9856 * testsuite/libgomp.c/reduction-5.c: New test.
9857
976e44e3
JJ
98582008-06-11 Jakub Jelinek <jakub@redhat.com>
9859
5f836cbb
JJ
9860 * libgomp.h (struct gomp_task): Add in_tied_task field.
9861 * task.c (gomp_init_task): Initialize it.
9862 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9863 unconditionally. Don't call gomp_team_barrier_wake if
9864 current task is implicit or if(0) from implicit and number of
9865 running tasks is equal to nthreads - 1.
9866
01501fc8
JJ
9867 PR libgomp/36471
9868 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9869 omp_get_team_size_8): Fix pastos.
9870
976e44e3
JJ
9871 PR libgomp/36469
9872 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9873 * configure: Regenerated.
9874 * config.h.in: Regenerated.
9875 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9876 defined.
9877
e919209b
AT
98782008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9879
9880 PR bootstrap/36452
9881 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9882 (GOMP_loop_ull_dynamic_start): Likewise.
9883 (GOMP_loop_ull_guided_start): Likewise.
9884 (GOMP_loop_ull_ordered_static_start): Likewise.
9885 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9886 (GOMP_loop_ull_ordered_guided_start): Likewise.
9887
a68ab351
JJ
98882008-06-06 Jakub Jelinek <jakub@redhat.com>
9889 Richard Henderson <rth@redhat.com>
9890 Ulrich Drepper <drepper@redhat.com>
9891 Jakob Blomer <jakob.blomer@ira.uka.de>
9892
9893 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9894 Substitute also OMP_*LOCK_25*.
9895 * configure: Regenerated.
9896 * config.h.in: Regenerated.
9897 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9898 ptrlock.c and task.c.
9899 * Makefile.in: Regenerated.
9900 * testsuite/Makefile.in: Regenerated.
9901 * task.c: New file.
9902 * loop_ull.c: New file.
9903 * iter_ull.c: New file.
9904 * libgomp.h: Include ptrlock.h.
9905 (enum gomp_task_kind): New type.
9906 (struct gomp_team): Add task_lock, task_queue, task_count,
9907 task_running_count, single_count fields. Add
9908 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9909 Remove work_share_lock, generation_mask,
9910 oldest_live_gen, num_live_gen and init_work_shares fields, add
9911 work work_share_list_alloc, work_share_list_free and work_share_chunk
9912 fields. Change work_shares from pointer to pointers into an array.
9913 Change ordered_release field into gomp_sem_t ** from flexible array
9914 member. Add implicit_task and initial_work_shares fields.
9915 Move close to the end of the struct.
9916 (struct gomp_team_state): Add single_count, last_work_share,
9917 active_level and level fields, remove work_share_generation.
9918 (gomp_barrier_handle_tasks): New prototype.
9919 (gomp_finish_task): New inline function.
9920 (struct gomp_work_share): Move chunk_size, end, incr into
9921 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9922 next_ll fields. Reshuffle fields. Add next_alloc,
9923 next_ws, next_free and inline_ordered_team_ids fields, change
9924 ordered_team_ids into pointer from flexible array member.
9925 Add mode field. Put lock and next into a different cache line
9926 from most of the write-once fields.
9927 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9928 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9929 gomp_iter_ull_guided_next): New prototypes.
9930 (gomp_new_icv): New prototype.
9931 (struct gomp_thread): Add thread_pool and task fields.
9932 (struct gomp_thread_pool): New type.
9933 (gomp_new_team): New prototype.
9934 (gomp_team_start): Change type of last argument.
9935 (gomp_new_work_share): Removed.
9936 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9937 (gomp_work_share_init_done): New static inline.
9938 (gomp_throttled_spin_count_var, gomp_available_cpus,
9939 gomp_managed_threads): New extern decls.
9940 (gomp_init_task): New prototype.
9941 (gomp_spin_count_var): New extern var decl.
9942 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9943 or no alias support, or if not PIC.
9944 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9945 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9946 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9947 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9948 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9949 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9950 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9951 gomp_test_nest_lock_25): New prototypes.
9952 (omp_lock_symver, strong_alias): Define.
9953 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9954 decls.
9955 (gomp_end_task): New.
9956 (struct gomp_task_icv, gomp_global_icv): New.
9957 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9958 (struct gomp_task): New.
9959 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9960 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9961 (gomp_icv): New.
9962 (gomp_schedule_type): Reorder enum to match
9963 omp_sched_t.
9964 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9965 fields.
9966 (gomp_thread_start): Add gomp_team_barrier_wait call.
9967 For non-nested case remove clearing of docked thread thr fields.
9968 Use pool fields instead of global gomp_* variables. Use
9969 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9970 Create tasks for each member thread.
9971 (free_team): Only destroy team barrier, task_lock here and free it.
9972 (gomp_free_thread): Free last_team if non-NULL.
9973 (gomp_team_end): Call gomp_team_barrier_wait instead of
9974 gomp_barrier_wait. For nested case call one extra
9975 gomp_barrier_wait. Move here some destruction from free_team.
9976 Call free_team on pool->last_team if any, rather than freeing
9977 current team. Destroy work_share_list_free_lock ifndef
9978 HAVE_SYNC_BUILTINS.
9979 (gomp_new_icv): New function.
9980 (gomp_threads, gomp_threads_size, gomp_threads_used,
9981 gomp_threads_dock): Removed.
9982 (gomp_thread_destructor): New variable.
9983 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9984 functions.
9985 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 9986 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
9987 Initialize thread_pool field for new threads. Clear single_count.
9988 Change last argument from ws to team, don't create
9989 new team, set ts.work_share to &team->work_shares[0] and clear
9990 ts.last_work_share. Don't clear ts.work_share_generation.
9991 If number of threads changed, adjust atomically gomp_managed_threads.
9992 Use gomp_init_task instead of gomp_new_task,
9993 set thr->task to the corresponding implicit_task array entry.
9994 Create tasks for each member thread. Initialize ts.level.
9995 (initialize_team): Call pthread_key_create on
9996 gomp_thread_destructor.
9997 (team_destructor): New function.
9998 (new_team): Removed.
9999 (gomp_new_team): New function.
10000 (free_team): Free gomp_work_share blocks chained through next_alloc,
10001 instead of freeing work_shares and destroying work_share_lock.
10002 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10003 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10004 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10005 of gomp_barrier_wait.
10006 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10007 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10008 if gomp_work_share_start returned true. Don't unlock ws->lock.
10009 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10010 of gomp_barrier_wait.
10011 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10012 gomp_work_share_init_done if gomp_work_share_start returned true.
10013 Don't unlock ws->lock.
10014 * work.c: Include stddef.h.
10015 (free_work_share): Use work_share_list_free_lock instead
10016 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10017 Call gomp_fini_work_share and then either free ws if orphaned, or
10018 put it into work_share_list_free list of the current team.
10019 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10020 functions.
10021 (gomp_work_share_start, gomp_work_share_end,
10022 gomp_work_share_end_nowait): Rewritten.
10023 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10024 (openmp_version): Set to 200805.
10025 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10026 omp_sched_guided, omp_sched_auto): New parameters.
10027 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10028 omp_set_max_active_levels, omp_get_max_active_levels,
10029 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10030 omp_get_active_level): New interfaces.
10031 * omp_lib.h.in (openmp_version): Set to 200805.
10032 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10033 omp_sched_guided, omp_sched_auto): New parameters.
10034 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10035 omp_set_max_active_levels, omp_get_max_active_levels,
10036 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10037 omp_get_active_level): New externals.
10038 * loop.c: Include limits.h.
10039 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10040 GFS_AUTO.
10041 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10042 Likewise. Use gomp_icv.
10043 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10044 ts.static_trip here.
10045 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10046 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10047 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10048 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10049 don't unlock ws->lock, otherwise lock it.
10050 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10051 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10052 (gomp_parallel_loop_start): Call gomp_new_team instead of
10053 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10054 Adjust gomp_team_start caller. Pass 0 as second argument to
10055 gomp_resolve_num_threads.
10056 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10057 If adding ws->chunk_size nthreads + 1 times after end won't
10058 overflow, set ws->mode to 1.
10059 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10060 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10061 GOMP_loop_ull_ordered_static_start,
10062 GOMP_loop_ull_ordered_dynamic_start,
10063 GOMP_loop_ull_ordered_guided_start,
10064 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10065 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10066 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10067 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10068 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10069 prototypes.
10070 * libgomp.map: Export lock routines also @@OMP_2.0.
10071 (GOMP_loop_ordered_dynamic_first,
10072 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10073 GOMP_loop_ordered_static_first): Remove.
10074 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10075 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10076 GOMP_loop_ull_ordered_dynamic_next,
10077 GOMP_loop_ull_ordered_dynamic_start,
10078 GOMP_loop_ull_ordered_guided_next,
10079 GOMP_loop_ull_ordered_guided_start,
10080 GOMP_loop_ull_ordered_runtime_next,
10081 GOMP_loop_ull_ordered_runtime_start,
10082 GOMP_loop_ull_ordered_static_next,
10083 GOMP_loop_ull_ordered_static_start,
10084 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10085 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10086 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10087 (omp_set_schedule, omp_get_schedule,
10088 omp_get_thread_limit, omp_set_max_active_levels,
10089 omp_get_max_active_levels, omp_get_level,
10090 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10091 omp_set_schedule_, omp_set_schedule_8_,
10092 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10093 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10094 omp_get_max_active_levels_, omp_get_level_,
10095 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10096 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10097 New exports @@OMP_3.0.
10098 * omp.h.in (omp_sched_t): New type.
10099 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10100 omp_set_max_active_levels, omp_get_max_active_levels,
10101 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10102 omp_get_active_level): New prototypes.
10103 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10104 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10105 gomp_thread_limit_var, gomp_remaining_threads_count,
10106 gomp_remaining_threads_lock): New variables.
10107 (parse_spincount): New function.
10108 (initialize_env): Call gomp_init_num_threads unconditionally.
10109 Initialize gomp_available_cpus. Call parse_spincount,
10110 initialize gomp_{,throttled_}spin_count_var
10111 depending on presence and value of OMP_WAIT_POLICY and
10112 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10113 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10114 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10115 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10116 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10117 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10118 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10119 (gomp_global_icv): New.
10120 (parse_schedule): Use it. Parse "auto".
10121 (omp_set_num_threads): Use gomp_icv.
10122 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10123 Likewise.
10124 (omp_get_max_threads): Move from parallel.c.
10125 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10126 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10127 add ialias.
10128 (parse_stacksize, parse_wait_policy): New functions.
10129 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10130 both wrappers for compatibility and new locks.
10131 (omp_set_schedule, omp_get_schedule,
10132 omp_get_thread_limit, omp_set_max_active_levels,
10133 omp_get_max_active_levels, omp_get_level,
10134 omp_get_ancestor_thread_num, omp_get_team_size,
10135 omp_get_active_level): New ialias_redirect.
10136 (omp_set_schedule_, omp_set_schedule_8_,
10137 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10138 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10139 omp_get_max_active_levels_, omp_get_level_,
10140 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10141 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10142 New functions.
10143 * parallel.c: Include limits.h.
10144 (gomp_resolve_num_threads): Add count argument. Rewritten.
10145 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10146 argument to gomp_team_start. Pass 0 as second argument to
10147 gomp_resolve_num_threads.
10148 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10149 if gomp_thread_limit_var != ULONG_MAX.
10150 (omp_in_parallel): Implement using ts.active_level.
10151 (omp_get_max_threads): Move to env.c.
10152 (omp_get_level, omp_get_ancestor_thread_num,
10153 omp_get_team_size, omp_get_active_level): New functions,
10154 add ialias.
10155 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10156 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10157 gomp_iter_dynamic_next instead of the _locked variant and don't take
10158 lock around it, otherwise acquire it before calling
10159 gomp_iter_dynamic_next_locked.
10160 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10161 gomp_iter_dynamic_next instead of the _locked variant and don't take
10162 lock around it.
10163 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10164 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10165 Adjust gomp_team_start caller. Pass count as second argument to
10166 gomp_resolve_num_threads, don't adjust num_threads after the call.
10167 Use gomp_icv.
10168 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10169 ws->chunk_size by incr.
10170 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10171 code.
10172 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10173 types.
10174 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10175 (omp_check_defines): Check even the compat defines.
10176 * config/linux/ptrlock.c: New file.
10177 * config/linux/ptrlock.h: New file.
10178 * config/linux/wait.h: New file.
10179 * config/posix/ptrlock.c: New file.
10180 * config/posix/ptrlock.h: New file.
10181 * config/linux/bar.h (gomp_team_barrier_wait,
10182 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10183 (gomp_team_barrier_set_task_pending,
10184 gomp_team_barrier_clear_task_pending,
10185 gomp_team_barrier_set_waiting_for_tasks,
10186 gomp_team_barrier_waiting_for_tasks,
10187 gomp_team_barrier_done): New inlines.
10188 (gomp_barrier_t): Rewritten.
10189 (gomp_barrier_state_t): New typedef.
10190 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10191 gomp_barrier_wait_start): Rewritten.
10192 (gomp_barrier_wait_end): Change second argument to
10193 gomp_barrier_state_t.
10194 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10195 inlines.
10196 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10197 futex.h.
10198 (gomp_barrier_wait_end): Rewritten.
10199 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10200 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10201 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10202 (gomp_barrier_state_t): New typedef.
10203 (gomp_team_barrier_wait,
10204 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10205 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10206 into the return value. Return gomp_barrier_state_t.
10207 (gomp_team_barrier_set_task_pending,
10208 gomp_team_barrier_clear_task_pending,
10209 gomp_team_barrier_set_waiting_for_tasks,
10210 gomp_team_barrier_waiting_for_tasks,
10211 gomp_team_barrier_done): New inlines.
10212 (gomp_barrier_wait_end): Change second argument to
10213 gomp_barrier_state_t.
10214 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10215 inlines.
10216 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10217 (gomp_barrier_wait_end): Change second argument to
3e348fcc 10218 gomp_barrier_state_t.
a68ab351
JJ
10219 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10220 gomp_team_barrier_wake): New functions.
10221 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10222 futex.h.
10223 (gomp_futex_wake, gomp_futex_wait): New variables.
10224 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10225 * config/linux/lock.c: Rewrite to make locks task owned,
10226 for backwards compatibility provide the old entrypoints
10227 if symbol versioning. Include wait.h instead of libgomp.h and
10228 futex.h.
10229 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10230 * config/posix95/lock.c: Rewrite to make locks task owned,
10231 for backwards compatibility provide the old entrypoints
10232 if symbol versioning.
10233 * config/posix/lock.c: Rewrite to make locks task owned,
10234 for backwards compatibility provide the old entrypoints
10235 if symbol versioning.
10236 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10237 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10238 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10239 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10240 (sys_futex0): Return error code.
10241 (futex_wake, futex_wait): If ENOSYS was returned, clear
10242 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10243 (cpu_relax, atomic_write_barrier): New static inlines.
10244 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10245 (futex_wake, futex_wait): If ENOSYS was returned, clear
10246 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10247 (cpu_relax, atomic_write_barrier): New static inlines.
10248 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10249 (sys_futex0): Return error code.
10250 (futex_wake, futex_wait): If ENOSYS was returned, clear
10251 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10252 (cpu_relax, atomic_write_barrier): New static inlines.
10253 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10254 (sys_futex0): Return error code.
10255 (futex_wake, futex_wait): If ENOSYS was returned, clear
10256 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10257 (cpu_relax, atomic_write_barrier): New static inlines.
10258 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10259 (sys_futex0): Return error code.
10260 (futex_wake, futex_wait): If ENOSYS was returned, clear
10261 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10262 (cpu_relax, atomic_write_barrier): New static inlines.
10263 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10264 (sys_futex0): Return error code.
10265 (futex_wake, futex_wait): If ENOSYS was returned, clear
10266 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10267 (cpu_relax, atomic_write_barrier): New static inlines.
10268 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10269 futex.h.
10270 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10271 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10272 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10273 types.
10274 (omp_nest_lock_t): Change owner into void *, add lock field.
10275 * config/posix95/omp-lock.h: Include semaphore.h.
10276 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10277 (omp_lock_t): Use sem_t instead of mutex if semaphores
10278 aren't broken.
10279 (omp_nest_lock_t): Likewise. Change owner to void *.
10280 * config/posix/omp-lock.h: Include semaphore.h.
10281 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10282 (omp_lock_t): Use sem_t instead of mutex if semaphores
10283 aren't broken.
10284 (omp_nest_lock_t): Likewise. Add owner field.
10285
102862008-06-06 Jakub Jelinek <jakub@redhat.com>
10287
10288 * testsuite/libgomp.c/collapse-1.c: New test.
10289 * testsuite/libgomp.c/collapse-2.c: New test.
10290 * testsuite/libgomp.c/collapse-3.c: New test.
10291 * testsuite/libgomp.c/icv-1.c: New test.
10292 * testsuite/libgomp.c/icv-2.c: New test.
10293 * testsuite/libgomp.c/lib-2.c: New test.
10294 * testsuite/libgomp.c/lock-1.c: New test.
10295 * testsuite/libgomp.c/lock-2.c: New test.
10296 * testsuite/libgomp.c/lock-3.c: New test.
10297 * testsuite/libgomp.c/loop-4.c: New test.
10298 * testsuite/libgomp.c/loop-5.c: New test.
10299 * testsuite/libgomp.c/loop-6.c: New test.
10300 * testsuite/libgomp.c/loop-7.c: New test.
10301 * testsuite/libgomp.c/loop-8.c: New test.
10302 * testsuite/libgomp.c/loop-9.c: New test.
10303 * testsuite/libgomp.c/nested-3.c: New test.
10304 * testsuite/libgomp.c/nestedfn-6.c: New test.
10305 * testsuite/libgomp.c/sort-1.c: New test.
10306 * testsuite/libgomp.c/task-1.c: New test.
10307 * testsuite/libgomp.c/task-2.c: New test.
10308 * testsuite/libgomp.c/task-3.c: New test.
10309 * testsuite/libgomp.c/task-4.c: New test.
10310 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10311 to C++ testsuite default compiler options.
10312 * testsuite/libgomp.c++/collapse-1.C: New test.
10313 * testsuite/libgomp.c++/collapse-2.C: New test.
10314 * testsuite/libgomp.c++/ctor-10.C: New test.
10315 * testsuite/libgomp.c++/for-1.C: New test.
10316 * testsuite/libgomp.c++/for-2.C: New test.
10317 * testsuite/libgomp.c++/for-3.C: New test.
10318 * testsuite/libgomp.c++/for-4.C: New test.
10319 * testsuite/libgomp.c++/for-5.C: New test.
10320 * testsuite/libgomp.c++/loop-8.C: New test.
10321 * testsuite/libgomp.c++/loop-9.C: New test.
10322 * testsuite/libgomp.c++/loop-10.C: New test.
10323 * testsuite/libgomp.c++/task-1.C: New test.
10324 * testsuite/libgomp.c++/task-2.C: New test.
10325 * testsuite/libgomp.c++/task-3.C: New test.
10326 * testsuite/libgomp.c++/task-4.C: New test.
10327 * testsuite/libgomp.c++/task-5.C: New test.
10328 * testsuite/libgomp.c++/task-6.C: New test.
10329 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10330 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10331 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10332 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10333 * testsuite/libgomp.fortran/collapse1.f90: New test.
10334 * testsuite/libgomp.fortran/collapse2.f90: New test.
10335 * testsuite/libgomp.fortran/collapse3.f90: New test.
10336 * testsuite/libgomp.fortran/collapse4.f90: New test.
10337 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10338 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10339 * testsuite/libgomp.fortran/lib4.f90: New test.
10340 * testsuite/libgomp.fortran/lock-1.f90: New test.
10341 * testsuite/libgomp.fortran/lock-2.f90: New test.
10342 * testsuite/libgomp.fortran/nested1.f90: New test.
10343 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10344 * testsuite/libgomp.fortran/strassen.f90: New test.
10345 * testsuite/libgomp.fortran/tabs1.f90: New test.
10346 * testsuite/libgomp.fortran/tabs2.f: New test.
10347 * testsuite/libgomp.fortran/task1.f90: New test.
10348 * testsuite/libgomp.fortran/task2.f90: New test.
10349 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10350 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10351 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10352 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10353 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10354
7a0112e7
JJ
103552008-05-23 Jakub Jelinek <jakub@redhat.com>
10356
10357 PR c++/36308
10358 * testsuite/libgomp.c++/ctor-11.C: New test.
10359 * testsuite/libgomp.c++/ctor-12.C: New test.
10360
91a5b394
JJ
103612008-05-15 Janis Johnson <janis187@us.ibm.com>
10362
10363 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10364
c18c98c0
JJ
103652008-05-07 Jakub Jelinek <jakub@redhat.com>
10366
10367 PR middle-end/36106
10368 * testsuite/libgomp.c/atomic-5.c: New test.
10369 * testsuite/libgomp.c/atomic-6.c: New test.
10370 * testsuite/libgomp.c/autopar-1.c: New test.
10371
6d26724a
RW
103722008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10373
10374 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10375 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10376 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10377 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10378 * configure: Regenerate.
10379 * Makefile.in, testsuite/Makefile.in: Likewise.
10380
deb984e6
PB
103812008-04-18 Paolo Bonzini <bonzini@gnu.org>
10382
10383 PR bootstrap/35457
10384 * aclocal.m4: Regenerate.
10385 * configure: Regenerate.
10386
9e775963
JJ
103872008-03-18 Jakub Jelinek <jakub@redhat.com>
10388
8119fc93
JJ
10389 PR middle-end/35611
10390 * testsuite/libgomp.c/atomic-4.c: New test.
10391
9e775963
JJ
10392 PR libgomp/35625
10393 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10394 (gomp_iter_guided_next): Likewise.
10395 * testsuite/libgomp.c/pr35625.c: New test.
10396
38d24731
RW
103972008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10398
10399 * aclocal.m4: Regenerate.
10400 * configure: Likewise.
10401 * Makefile.in: Likewise.
10402 * testsuite/Makefile.in: Likewise.
10403
d0fb20be
JJ
104042008-03-13 Jakub Jelinek <jakub@redhat.com>
10405
10406 PR middle-end/35185
10407 * testsuite/libgomp.c++/pr35185.C: New test.
10408
7c8f7639
JJ
104092008-03-12 Jakub Jelinek <jakub@redhat.com>
10410
10411 PR middle-end/35549
10412 * testsuite/libgomp.c/pr35549.c: New test.
10413
251923f5
JJ
104142008-03-06 Jakub Jelinek <jakub@redhat.com>
10415
10416 * testsuite/libgomp.c/atomic-3.c: New test.
10417
f489fba1
FXC
104182008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10419
10420 PR fortran/33197
251923f5 10421 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
10422 .F08 file suffixes.
10423
a1b25e49
PG
104242008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10425
10426 PR libgomp/33131
10427 * configure.ac: Add ACX_HEADER_STRING.
10428 * env.c: Include strings.h.
10429 * aclocal.m4: Regenerate.
10430 * config.h.in: Regenerate.
10431 * configure: Regenerate.
10432 * Makefile.in: Regenerate.
10433 * testsuite/Makefile.in: Regenerate.
10434
6837b3b8
JJ
104352008-02-15 Jakub Jelinek <jakub@redhat.com>
10436
ac84c062
JJ
10437 PR middle-end/35196
10438 * testsuite/libgomp.c/pr35196.c: New test.
10439
6837b3b8
JJ
10440 PR middle-end/35130
10441 * testsuite/libgomp.fortran/pr35130.f90: New test.
10442 * testsuite/libgomp.c/pr35130.c: New test.
10443
c256730c
JJ
104442008-01-25 Jakub Jelinek <jakub@redhat.com>
10445
10446 PR middle-end/33880
10447 * testsuite/libgomp.c/pr33880.c: New test.
10448 * testsuite/libgomp.fortran/pr33880.f90: New test.
10449
c8e95542 104502008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
10451
10452 * configure: Regenerate.
10453
0f3e711e
JJ
104542008-01-08 Jakub Jelinek <jakub@redhat.com>
10455
10456 * configure.ac: Move futex checking into ../config/futex.m4.
10457 * configure: Rebuilt.
10458 * aclocal.m4: Rebuilt.
10459 * Makefile.in: Rebuilt.
10460
10461 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10462 2007-10-15 ../config/tls.m4 change.
10463
5259c813
JJ
104642007-12-19 Jakub Jelinek <jakub@redhat.com>
10465
10466 PR c++/34513
10467 * testsuite/libgomp.c/pr34513.c: New test.
10468 * testsuite/libgomp.c++/pr34513.C: New test.
10469
ae8d8879
JH
104702007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
10471
10472 PR target/32765
10473 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10474
2b4cf991
JJ
104752007-12-04 Jakub Jelinek <jakub@redhat.com>
10476
10477 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
10478
d2dda7fe
JJ
104792007-12-03 Jakub Jelinek <jakub@redhat.com>
10480
10481 * testsuite/libgomp.c/private-1.c: New test.
10482
d683ec81
PB
104832007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
10484 Paolo Bonzini <bonzini@gnu.org>
10485
10486 * Makefile.am: Use space as vpath separator. Use 'vpath %'
10487 instead of 'VPATH ='.
10488 * Makefile.in: Regenerate.
10489
a7415017
MK
104902007-11-23 Matthias Klose <doko@ubuntu.com>
10491
10492 * configure.ac: Adjust makeinfo version check.
10493 * configure: Regenerate.
10494
78e47463
JJ
104952007-11-10 Jakub Jelinek <jakub@redhat.com>
10496
10497 PR fortran/34020
10498 * testsuite/libgomp.fortran/pr34020.f90: New test.
10499
239371f9
JJ
105002007-11-06 Jakub Jelinek <jakub@redhat.com>
10501
10502 PR c++/33894
10503 * testsuite/libgomp.c++/atomic-1.C: New test.
10504
98a5fa94
JJ
105052007-10-25 Jakub Jelinek <jakub@redhat.com>
10506
10507 PR libgomp/33275
10508 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10509 Make x and y integers rather than (implicit) reals. Add private (j)
10510 clause to the last omp parallel.
10511
3afcaaf4
MR
105122007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
10513
10514 * configure: Regenerate following changes to ../config/tls.m4.
10515
bd69daef
JJ
105162007-09-28 Jakub Jelinek <jakub@redhat.com>
10517
10518 * testsuite/libgomp.fortran/stack.f90: New test.
10519
1d0bd356
DS
105202007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
10521
10522 * config/mingw32/proc.c: New file.
10523
b3172cab
UB
105242007-09-05 Uros Bizjak <ubizjak@gmail.com>
10525
10526 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10527 (main): Use __get_cpuid to get i386 target fetaures.
10528 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10529 (main): Use __get_cpuid to get x86_64 target fetaures.
10530
6da17392
JH
105312007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
10532
10533 PR target/32765
10534 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10535 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10536
e1c82219
JJ
105372007-07-12 Jakub Jelinek <jakub@redhat.com>
10538
10539 PR fortran/32550
10540 * testsuite/libgomp.fortran/pr32550.f90: New test.
10541 * testsuite/libgomp.fortran/crayptr2.f90: New test.
10542
12a27363
L
105432007-07-05 H.J. Lu <hongjiu.lu@intel.com>
10544
10545 * aclocal.m4: Regenerated.
10546
5349080d
TB
105472007-07-05 Tobias Burnus <burnus@net-b.de>
10548
10549 PR fortran/32359
10550 * testsuite/libgomp.fortran/pr32359.f90: New.
10551
4f9c450c
JJ
105522007-07-02 Jakub Jelinek <jakub@redhat.com>
10553
10554 PR libgomp/32468
10555 * sections.c (GOMP_parallel_sections_start): Only decrease
10556 number of threads to COUNT if dyn_var is true.
10557 * testsuite/libgomp.c/pr32468.c: New test.
10558
28c67ed7
RO
105592007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10560
10561 PR libgomp/26308
10562 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10563
64964499
JJ
105642007-06-21 Jakub Jelinek <jakub@redhat.com>
10565
10566 PR middle-end/32362
10567 * testsuite/libgomp.c/pr32362-1.c: New test.
10568 * testsuite/libgomp.c/pr32362-2.c: New test.
10569 * testsuite/libgomp.c/pr32362-3.c: New test.
10570
46d8fbd1
JJ
105712007-06-07 Jakub Jelinek <jakub@redhat.com>
10572
10573 * team.c (gomp_team_start): Fix setting up thread_attr
10574 stack size.
10575
82a6cadf
PB
105762007-06-02 Paolo Bonzini <bonzini@gnu.org>
10577
10578 * configure: Regenerate.
10579
1cf3d07d
SE
105802007-05-23 Steve Ellcey <sje@cup.hp.com>
10581
10582 * Makefile.in: Regenerate.
10583 * configure: Regenerate.
10584 * aclocal.m4: Regenerate.
10585 * testsuite/Makefile.in: Regenerate.
10586
12aac30b
JJ
105872007-05-04 Jakub Jelinek <jakub@redhat.com>
10588
10589 * config/linux/proc.c: New file.
10590
f1028b02
JJ
10591 PR libgomp/28482
10592 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10593
06785a48
DF
105942007-04-19 Daniel Franke <franke.daniel@gmail.com>
10595
10596 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10597
b3b08ba0
MK
105982007-04-16 Matthias Klose <doko@debian.org>
10599
10600 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10601 flags if not building with -m64.
10602 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10603 flag for i?86-*-* targets, if current target matches -m64.
10604
6b2c5ce0
SE
106052007-04-14 Steve Ellcey <sje@cup.hp.com>
10606
10607 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10608 * Makefile.in: Regenerate.
10609
dd56fe7c
JDA
106102007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10611
10612 PR testsuite/31369
10613 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10614 ld_library_path.
10615 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10616
a0884cf0
JJ
106172007-04-04 Jakub Jelinek <jakub@redhat.com>
10618
10619 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10620 decls.
10621 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10622 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10623 (parse_affinity): New function.
10624 (initialize_env): Call it and gomp_init_affinity.
10625 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10626 create new pthread_attr_t and call gomp_init_thread_affinity
10627 on it for each thread before passing the attribute to pthread_create.
10628 * config/linux/affinity.c: New file.
10629 * config/posix/affinity.c: New file.
10630 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10631 * configure: Rebuilt.
10632 * config.h.in: Rebuilt.
10633 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10634 * Makefile.in: Rebuilt.
10635
1850744b
AT
106362007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10637
10638 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10639 *-*-darwin*.
10640 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10641 and use it if found.
10642
516f1ed8
UB
106432007-03-18 Uros Bizjak <ubizjak@gmail.com>
10644
10645 * testsuite/config/default.exp: New file.
10646 * testsuite/lib/libgomp.exp: New file.
10647 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10648 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10649 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10650 (libgomp_load): Remove.
10651 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10652 always_ld_library_path, not ld_library_path. Set additional_flags
10653 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10654 (target_compile): Do not call libgomp_init. Append lang_library_path
10655 and lang_link_flags to options.
10656 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10657 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10658 here.
10659 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10660 always_ld_library_path. Set LD_LIBRARY_PATH here.
10661 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10662 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10663 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10664 CX8 flag.
10665 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10666 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10667 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10668 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10669 * testsuite/libgomp.c/atomic-10.c: Ditto.
10670
2ada56f5
JJ
106712007-03-21 Jakub Jelinek <jakub@redhat.com>
10672
10673 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10674 dg-final cleanup-modules line.
10675 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10676 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10677 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10678 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10679 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10680 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10681 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10682
f210f1cd
AS
106832007-03-18 Andreas Schwab <schwab@suse.de>
10684
10685 * acinclude.m4: Adjust regular expression for ld version
10686 extraction.
10687 * configure: Regenerate.
10688
c4dc950d
BM
106892007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10690
10691 * Makefile.am: Add install-pdf target as copied from
10692 automake v1.10 rules.
10693 * Makefile.in: Regenerate
10694
e02a048f
JJ
106952007-02-07 Jakub Jelinek <jakub@redhat.com>
10696
78e075d4
JJ
10697 PR libgomp/28486
10698 * configure: Regenerate.
10699
e02a048f
JJ
10700 PR c++/30703
10701 * testsuite/libgomp.c++/pr30703.C: New test.
10702
60def7ed
JJ
107032007-02-02 Jakub Jelinek <jakub@redhat.com>
10704
10705 Revert:
10706 2006-07-05 Eric Christopher <echristo@apple.com>
10707 * configure.ac: Depend addition of -pthread on host OS.
10708 * configure: Regenerate.
10709
f1b0882e
RW
107102007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10711
10712 * libgomp.texi: Fix spacing after abbreviations.
10713
748b9d7c
DF
107142007-01-31 Daniel Franke <franke.daniel@gmail.com>
10715
10716 PR libgomp/30546
10717 * configure.ac: Add check for makeinfo
10718 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10719 if an appropiate version of makeinfo is found.
10720 * aclocal.m4: Regenerated.
10721 * configure: Regenerated.
10722 * Makefile.in: Regenerated.
10723 * testsuite/Makefile.in: Regenerated.
10724
14734fc7
DF
107252007-01-29 Daniel Franke <franke.daniel@gmail.com>
10726
10727 PR libgomp/30540
10728 * libgomp.texi: More about implementation-dependent settings.
10729
7befd5d2
TB
107302007-01-26 Tobias Burnus <burnus@net-b.de>
10731
10732 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10733
4288fea2
JJ
107342007-01-24 Jakub Jelinek <jakub@redhat.com>
10735
10736 PR middle-end/30494
10737 * testsuite/libgomp.c/pr30494.c: New test.
10738
627ab4b8
TT
107392007-01-15 Tom Tromey <tromey@redhat.com>
10740
10741 * configure: Rebuilt.
10742 * configure.ac: Fixed comment.
10743
7c2b7f45
DF
107442007-01-14 Daniel Franke <franke.daniel@gmail.com>
10745
10746 * libgomp.texi: Document implementation specific default values of
10747 environment variables.
10748
3721b9e1
DF
107492006-12-21 Daniel Franke <franke.daniel@gmail.com>
10750
10751 PR libgomp/28209
10752 * libgomp.texi: New file.
10753 * configure.ac: Add --enable-generated-files-in-srcdir option.
10754 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10755 files to srcdir.
10756 * Makefile.in: Regenerated.
10757 * config.h.in: Regenerated.
10758 * testsuite/Makefile.in: Regenerated.
10759 * NOTES: Removed.
10760
62bd6216
DF
107612006-12-04 Daniel Franke <franke.daniel@gmail.com>
10762
10763 PR libgomp/29949
10764 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10765
aad741f4
EB
107662006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10767
10768 * configure: Regenerate.
10769
22568cc6
JJ
107702006-12-04 Jakub Jelinek <jakub@redhat.com>
10771
10772 PR libgomp/29947
10773 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10774 start if there shouldn't be any loop iterations.
10775 (gomp_loop_ordered_static_start): Remove start == end test.
10776 * testsuite/libgomp.c/pr29947-1.c: New test.
10777 * testsuite/libgomp.c/pr29947-2.c: New test.
10778
a9690009
EB
107792006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10780
10781 * configure.tgt: Force initial-exec TLS model on Linux only.
10782
597c25e6
DJ
107832006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10784
10785 * configure: Regenerated.
10786
6acf0b38
UB
107872006-11-09 Uros Bizjak <ubizjak@gmail.com>
10788
10789 * env.c (parse_schedule): Reject out of range values.
10790 (parse_unsigned_long): Reject out of range, negative or zero values.
10791
a7a53ca5
JJ
107922006-10-29 Jakub Jelinek <jakub@redhat.com>
10793
10794 PR fortran/29629
10795 * testsuite/libgomp.fortran/pr29629.f90: New test.
10796
6d4d216a
EB
107972006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10798
10799 PR libgomp/29494
10800 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10801 * config/posix95: New directory.
10802 * config/posix95/omp-lock.h: New file.
10803 * config/posix95/lock.c: Likewise.
10804
5b043f08
GK
108052006-10-14 Geoffrey Keating <geoffk@apple.com>
10806
10807 * aclocal.m4: Regenerate.
10808 * configure: Regenerate.
10809
b50019f0
DS
108102006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10811
10812 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10813 '<' to '<='.
10814
8887708e
DS
108152006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10816
10817 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10818 test.
10819 * configure: Regenerate.
10820 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10821
9b9e4cd6
JJ
108222006-09-26 Jakub Jelinek <jakub@redhat.com>
10823
a70ad3bb
JJ
10824 PR middle-end/25261
10825 PR middle-end/28790
10826 * testsuite/libgomp.c/nestedfn-4.c: New test.
10827 * testsuite/libgomp.c/nestedfn-5.c: New test.
10828 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10829
9b9e4cd6
JJ
10830 PR fortran/29097
10831 * testsuite/libgomp.fortran/condinc1.f: New test.
10832 * testsuite/libgomp.fortran/condinc2.f: New test.
10833 * testsuite/libgomp.fortran/condinc3.f90: New test.
10834 * testsuite/libgomp.fortran/condinc4.f90: New test.
10835 * testsuite/libgomp.fortran/condinc1.inc: New file.
10836
2fb31455
TT
108372006-09-18 Tom Tromey <tromey@redhat.com>
10838
10839 * configure: Rebuilt.
10840
c663e301
JM
108412006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10842
10843 PR c/28768
10844 PR preprocessor/14634
10845 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10846 to AC_DEFINE.
10847 * configure: Regenerate.
10848
38371be9
SK
108492006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10850
10851 * testsuite/libgomp.fortran/reduction3.f90: Change
10852 -2147483648 to -huge(i)-1 to avoid overflow.
10853 * testsuite/libgomp.fortran/reduction4.f90: Change
10854 Z'ffffffff' to not(0) to avoid overflow.
10855
571d5ac5
JM
108562006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10857
10858 PR libgomp/25938
10859 * Makefile.am (libsubincludedir): New.
10860 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10861 * Makefile.in: Regenerate.
10862
89b3e3cd
JJ
108632006-08-17 Jakub Jelinek <jakub@redhat.com>
10864
10865 PR libgomp/28725
10866 * env.c: Include ctype.h.
10867 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10868 leading and/or trailing whitespace and compare strings case
10869 insensitively.
10870
742fae05
JJ
108712006-07-16 Jakub Jelinek <jakub@redhat.com>
10872
10873 PR fortran/28390
10874 * testsuite/libgomp.fortran/pr28390.f: New test.
10875
a1daed2d
EC
108762006-07-05 Eric Christopher <echristo@apple.com>
10877
10878 * configure.ac: Depend addition of -pthread on host OS.
10879 * configure: Regenerate.
10880
5d7b5199
JJ
108812006-06-21 Jakub Jelinek <jakub@redhat.com>
10882
10883 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10884 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10885 defined.
10886
fe5568e9
JJ
108872006-06-20 Jakub Jelinek <jakub@redhat.com>
10888
10889 PR libgomp/26175
10890 PR libgomp/26477
10891 * configure.ac: If neither --enable-linux-futex nor
10892 --disable-linux-futex is passed, determine the default by checking
10893 for compiling and/or running against NPTL. With --enable-linux-futex,
10894 check if SYS_gettid and SYS_futex are defined.
10895 * configure: Rebuilt.
10896
c3b11a40
RH
108972006-06-14 Richard Henderson <rth@redhat.com>
10898
10899 PR libgomp/28008
10900 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10901 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10902
d0d1b24d
RH
109032006-06-09 Richard Henderson <rth@redhat.com>
10904
10905 * env.c (gomp_nthreads_var): Change to unsigned long.
10906 (gomp_run_sched_chunk): Likewise.
10907 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10908 (initialize_env): Initialize gomp_thread_attr.
10909 * libgomp.h (gomp_nthreads_var): Update decl.
10910 (gomp_run_sched_chunk): Likewise.
10911 (gomp_thread_attr): Declare.
10912 * team.c (gomp_thread_attr): Export.
10913 (initialize_team): Don't initialize it.
10914
cd75853e
JJ
109152006-06-09 Jakub Jelinek <jakub@redhat.com>
10916
10917 PR fortran/27916
10918 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10919 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10920
33815e0c
FXC
109212006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10922
10923 * config/mingw32/time.c: New file.
10924 * configure.tgt: Use it.
10925
6667de0d
CD
109262006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10927
10928 * Makefile.am: Add install-html target. Add install-html to .PHONY
10929 * Makefile.in: Regenerate.
10930
e962c46b
JDA
109312006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10932
10933 PR libgomp/27612
10934 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10935 * testsuite/libgomp.c/critical-1.c: Likewise.
10936 * testsuite/libgomp.c/loop-1.c: Likewise.
10937 * testsuite/libgomp.c/loop-2.c: Likewise.
10938 * testsuite/libgomp.c/single-1.c: Likewise.
10939 * testsuite/libgomp.c/ordered-1.c: Likewise.
10940 * testsuite/libgomp.c/ordered-2.c: Likewise.
10941
eeb1d9e0
JJ
109422006-05-15 Jakub Jelinek <jakub@redhat.com>
10943
10944 PR middle-end/27416
10945 * libgomp.fortran/pr27416-1.f90: New test.
10946
693d710f
JJ
109472006-05-03 Jakub Jelinek <jakub@redhat.com>
10948
10949 PR fortran/27395
10950 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10951 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10952
8ca5b2a2
JJ
109532006-05-02 Jakub Jelinek <jakub@redhat.com>
10954
10955 PR c++/26943
10956 * testsuite/libgomp.c/pr26943-1.c: New test.
10957 * testsuite/libgomp.c/pr26943-2.c: New test.
10958 * testsuite/libgomp.c/pr26943-3.c: New test.
10959 * testsuite/libgomp.c/pr26943-4.c: New test.
10960 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10961 * testsuite/libgomp.c++/pr26943.C: New test.
10962
077b0dfb
JJ
109632006-05-02 Jakub Jelinek <jakub@redhat.com>
10964
10965 PR middle-end/27337
10966 * testsuite/libgomp.c++/pr27337.C: New test.
10967
91b6c26d
JJ
109682006-04-26 Jakub Jelinek <jakub@redhat.com>
10969
10970 PR c/26171
10971 * testsuite/libgomp.c/pr26171.c: New test.
10972
60e1758f
RH
109732006-04-25 Richard Henderson <rth@redhat.com>
10974
10975 PR libgomp/25865
10976 * configure.ac: Use GCC_CHECK_TLS.
10977 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10978 * Makefile.in, aclocal.m4, configure: Regenerate.
10979
615baed7
MK
109802006-04-10 Matthias Klose <doko@debian.org>
10981
10982 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10983 directory names containing underscores.
10984
fae2b46b
JJ
109852006-03-21 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR c++/26691
10988 * testsuite/libgomp.c++/pr26691.C: New test.
10989
11a5f608
JJ
109902006-03-13 Jakub Jelinek <jakub@redhat.com>
10991
10992 * testsuite/libgomp.fortran/retval2.f90: New test.
10993
1799e5d5
RH
109942006-03-09 Diego Novillo <dnovillo@redhat.com>
10995
10996 * testsuite/libgomp.c++: New directory.
10997
d349482e
AT
109982006-02-25 Shantonu Sen <ssen@opendarwin.org>
10999
11000 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11001 * config/posix/sem.c: Implement the above.
11002
110032006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11004
11005 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11006 define HAVE_BROKEN_POSIX_SEMAPHORES.
11007 * configure: Rebuilt.
11008 * config.h.in: Rebuilt.
11009
124452c9
FXC
110102006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11011
11012 PR bootstrap/26161
11013 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11014 for the other pthread check.
11015 * configure: Regenerate.
11016 * config.h.in: Regenerate.
11017
dd8d6dfe
JJ
110182006-02-15 Jakub Jelinek <jakub@redhat.com>
11019
11020 PR libgomp/25938
11021 PR libgomp/25984
11022 * Makefile.am (fincludedir): New variable.
11023 (nodist_include_HEADERS): Remove Fortran files.
11024 (nodist_finclude_HEADERS): New variable.
11025 * Makefile.in: Regenerated.
11026
6c7a4dfd
JJ
110272006-02-13 Jakub Jelinek <jakub@redhat.com>
11028
11029 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11030 Remove tests for returning assumed character length arrays.
11031
5142e08b
RS
110322006-02-12 Roger Sayle <roger@eyesopen.com>
11033 John David Anglin <dave@hiauly1.hia.nrc.ca>
11034
11035 PR libgomp/25936
11036 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11037
5821fba8
UW
110382006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11039
11040 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11041
cb2bbc67
EB
110422006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11043
11044 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11045 part of LD_LIBRARY_PATH manually.
11046
f05ee80c
L
110472006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11048
11049 PR libgomp/25852
11050 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11051 libgomp_init.
11052
03b8fe49
PB
110532005-01-25 Paolo Bonzini <bonzini@gnu.org>
11054
11055 PR libgomp/25884
f05ee80c
L
11056 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11057 * configure.ac (PERL): Don't set.
11058 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11059 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11060 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11061 * omp.h.in: Wrap the new configure substitutions with @ characters.
11062 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11063 * aclocal.m4, configure, Makefile.in: Regenerate.
11064 * mkomp_h.pl: Delete.
03b8fe49 11065
18cbfd85
PB
110662005-01-24 Paolo Bonzini <bonzini@gnu.org>
11067
11068 PR libgomp/25259
11069 * configure.ac: Use GCC_HEADER_STDINT.
11070 * libgomp.h: Include gstdint.h.
11071 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11072 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11073
c41303c6
RH
110742006-01-24 Richard Henderson <rth@redhat.com>
11075
11076 PR libgomp/25942
11077 * configure.ac: Add AM_MAINTAINER_MODE.
11078 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11079
149b9553
DN
110802006-01-24 Diego Novillo <dnovillo@redhat.com>
11081
11082 * Makefile.in: Regenerate.
11083 * testsuite/Makefile.in: Regenerate.
11084 * aclocal.m4: Regenerate.
11085
192a50ad
AT
110862006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11087
11088 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11089 Solaris.
11090 * configure.ac: Add check for loadavg.h.
11091 (link_gomp): Adjust comment.
11092 * configure: Regenerate.
11093 * config.h.in: Regenerate.
11094
a55b8e18
SE
110952006-01-21 Steve Ellcey <sje@cup.hp.com>
11096
11097 PR libgomp/25877
11098 * configure.ac: Remove check for alloca.h.
11099 * configure: Regenerate.
11100 * config.h.in: Regenerate.
11101 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11102 * team.c: Remove use of alloca.h.
11103 Call gomp_alloca instead of alloca.
11104
692eeb34
SE
111052006-01-20 Steve Ellcey <sje@cup.hp.com>
11106
11107 PR libgomp/25877
11108 * team.c: Add include of alloca.h.
11109 * configure.ac: Add check for alloca.h.
11110 * configure: Regenerate.
11111 * config.h.in: Regenerate.
11112
953ff289
DN
111132006-01-17 Jakub Jelinek <jakub@redhat.com>
11114
11115 PR fortran/25219
11116 * testsuite/libgomp.fortran/pr25219.f90: New test.
11117
111182005-12-05 Uros Bizjak <uros@kss-loka.si>
11119
11120 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11121 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11122 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11123 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11124 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11125 testsuite/libgomp.fortran/threadprivate1.f90,
11126 testsuite/libgomp.fortran/threadprivate2.f90,
11127 testsuite/libgomp.fortran/threadprivate3.f90,
11128 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11129 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11130 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11131 effective-target to TLS runtime.
11132
11133 * testsuite/libgomp.fortran/pr25162.f: Require
11134 effective-target TLS runtime.
11135
111362005-12-01 Jakub Jelinek <jakub@redhat.com>
11137
11138 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11139 * testsuite/libgomp.c/nestedfn-3.c: New test.
11140
111412005-11-30 Jakub Jelinek <jakub@redhat.com>
11142
11143 PR fortran/25162
11144 * testsuite/libgomp.fortran/pr25162.f: New test.
11145
111462005-11-28 Jakub Jelinek <jakub@redhat.com>
11147
11148 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11149 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11150
111512005-11-25 Jakub Jelinek <jakub@redhat.com>
11152
11153 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11154 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11155 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11156 single.c, team.c, work.c, config/linux/alpha/futex.h,
11157 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11158 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11159 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11160 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11161 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11162 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11163 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11164 FSF address.
11165
111662005-11-18 Jakub Jelinek <jakub@redhat.com>
11167
11168 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11169 to nodist_noinst_HEADERS.
11170 * Makefile.in: Rebuilt.
11171
11172 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11173 add integer count field.
11174 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11175 omp_nest_lock_t type change.
11176 (omp_init_nest_lock): Likewise. Initialize count to 0.
11177 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11178 Increment count.
11179 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11180 Decrement count.
11181 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11182 Increment count if successful and return the new nesting level.
11183 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11184 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11185 * testsuite/libgomp.c/lib-1.c: New test.
11186 * testsuite/libgomp.fortran/lib1.f90: New test.
11187 * testsuite/libgomp.fortran/lib2.f: New test.
11188 * testsuite/libgomp.fortran/lib3.f: New test.
11189
111902005-11-17 Richard Henderson <rth@redhat.com>
11191
11192 PR 24845
11193 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11194 * configure.ac (link_gomp): New. Substitute it.
11195 (AC_CONFIG_FILES): Add libgomp.spec.
11196 * libgomp.spec.in: New file.
11197 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11198 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11199
112002005-11-18 Jakub Jelinek <jakub@redhat.com>
11201
11202 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11203 reduction(-:var) behaving the same as reduction(+:var).
11204 * testsuite/libgomp.c/reduction-4.c: New test.
11205
112062005-11-15 Uros Bizjak <uros@kss-loka.si>
11207
11208 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11209 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11210 testsuite/libgomp.c/copyin-3.c,
11211 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11212 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11213 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11214 testsuite/libgomp.c++/pr24455.C,
11215 testsuite/libgomp.fortran/threadprivate1.f90,
11216 testsuite/libgomp.fortran/threadprivate2.f90,
11217 testsuite/libgomp.fortran/threadprivate3.f90,
11218 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11219 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11220 testsuite/libgomp.fortran/omp_parse3.f90: Require
11221 effective-target TLS.
11222
112232005-11-14 Diego Novillo <dnovillo@redhat.com>
11224
11225 * HEADER: Remove.
11226
112272005-11-13 Jakub Jelinek <jakub@redhat.com>
11228
11229 PR libgomp/24797
11230 * team.c (initialize_team): Pass NULL rather than free as
11231 pthread_key_create destructor. Initialize thread specific data
11232 pointer in initial thread to a static local variable rather than
11233 malloced memory.
11234
112352005-11-11 Uros Bizjak <uros@kss-loka.si>
11236
11237 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11238 its location to ld_library_path.
11239
112402005-11-10 Diego Novillo <dnovillo@redhat.com>
11241
11242 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11243
112442005-11-10 Diego Novillo <dnovillo@redhat.com>
11245
11246 * testsuite/libgomp.c: Rename from libgomp.dg.
11247
112482005-11-09 Diego Novillo <dnovillo@redhat.com>
11249
11250 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11251 threadprivate variable 'i'.
11252
112532005-11-09 Jakub Jelinek <jakub@redhat.com>
11254
11255 * config/linux/s390/futex.h: New file.
11256 * configure.tgt: Use it.
11257
11258 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11259 before the parallel.
11260
112612005-11-08 Jakub Jelinek <jakub@redhat.com>
11262
11263 PR c++/24734
11264 * testsuite/libgomp.c++/master-1.C: New test.
11265
112662005-11-07 Jakub Jelinek <jakub@redhat.com>
11267
11268 * testsuite/libgomp.dg/copyin-3.c: New test.
11269
112702005-11-07 Jakub Jelinek <jakub@redhat.com>
11271
11272 * testsuite/libgomp.fortran/retval1.f90: New test.
11273 * testsuite/libgomp.fortran/vla7.f90: New test.
11274
112752005-11-06 Jakub Jelinek <jakub@redhat.com>
11276
11277 * testsuite/libgomp.fortran/vla2.f90: New test.
11278 * testsuite/libgomp.fortran/vla3.f90: New test.
11279 * testsuite/libgomp.fortran/vla4.f90: New test.
11280 * testsuite/libgomp.fortran/vla5.f90: New test.
11281 * testsuite/libgomp.fortran/vla6.f90: New test.
11282
112832005-11-01 Jakub Jelinek <jakub@redhat.com>
11284
11285 * config/linux/sparc/futex.h: New file.
11286 * configure.tgt: Use it.
11287 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11288
11289 * critical.c: Include stdlib.h.
11290 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11291 ignoring return value.
11292 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11293 LIBGOMP_CHECK_SYNC_BUILTINS check.
11294 * configure: Rebuilt.
11295
112962005-10-31 Jakub Jelinek <jakub@redhat.com>
11297
11298 * testsuite/libgomp.fortran/vla1.f90: New test.
11299
113002005-10-31 Richard Henderson <rth@redhat.com>
11301
11302 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11303 setting 's' in different threads.
11304
113052005-10-31 Jakub Jelinek <jakub@redhat.com>
11306
11307 * libgomp.h (attribute_hidden, ialias): Define.
11308 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11309 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11310 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11311 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11312 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11313 omp_test_lock, omp_test_nest_lock): Likewise.
11314 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11315 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11316 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11317 omp_test_lock, omp_test_nest_lock): Likewise.
11318 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11319 omp_get_dynamic, omp_get_nested): Likewise.
11320 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11321 omp_get_thread_num, omp_in_parallel): Likewise.
11322 * fortran.c (ialias_redirect): Define.
11323 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11324 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11325 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11326 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11327 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11328 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11329 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11330 omp_get_wtime): Add ialias_redirect.
11331
113322005-10-30 Jakub Jelinek <jakub@redhat.com>
11333
11334 * fortran.c: Include stdlib.h.
11335
113362005-10-29 Jakub Jelinek <jakub@redhat.com>
11337
11338 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11339 * Makefile.in: Regenerated.
11340
113412005-10-28 Jakub Jelinek <jakub@redhat.com>
11342
11343 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11344 * libgomp_f.h.in (omp_check_defines): New function.
11345 * env.c: Include libgomp_f.h.
11346 (initialize_env): Call omp_check_defines.
11347
11348 * testsuite/libgomp.dg/copyin-2.c: New test.
11349 * testsuite/libgomp.c++/copyin-2.C: New test.
11350 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11351
11352 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11353 * testsuite/libgomp.fortran/sharing2.f90: New test.
11354
11355 * testsuite/libgomp.dg/copyin-1.c: New test.
11356 * testsuite/libgomp.c++/copyin-1.C: New test.
11357
113582005-10-26 Jakub Jelinek <jakub@redhat.com>
11359
11360 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11361
11362 * testsuite/libgomp.fortran/workshare1.f90: New test.
11363
11364 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11365 only test.
11366 * libgomp.fortran/sharing1.f90: New test.
11367
113682005-10-24 Jakub Jelinek <jakub@redhat.com>
11369
11370 PR c++/24502
11371 * testsuite/libgomp.c++/loop-7.C: New test.
11372
11373 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11374
11375 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11376 * testsuite/libgomp.fortran/reduction6.f90: New test.
11377 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11378
113792005-10-23 Richard Henderson <rth@redhat.com>
11380
11381 * testsuite/libgomp.c++/ctor-1.C: New.
11382 * testsuite/libgomp.c++/ctor-2.C: New.
11383 * testsuite/libgomp.c++/ctor-3.C: New.
11384 * testsuite/libgomp.c++/ctor-4.C: New.
11385 * testsuite/libgomp.c++/ctor-5.C: New.
11386 * testsuite/libgomp.c++/ctor-6.C: New.
11387 * testsuite/libgomp.c++/ctor-7.C: New.
11388 * testsuite/libgomp.c++/ctor-8.C: New.
11389 * testsuite/libgomp.c++/ctor-9.C: New.
11390
113912005-10-21 Diego Novillo <dnovillo@redhat.com>
11392
11393 PR 24455
11394 * testsuite/libgomp.c++/pr24455-1.C: New test.
11395 * testsuite/libgomp.c++/pr24455.C: New test.
11396 * testsuite/libgomp.dg/pr24455-1.c: New test.
11397 * testsuite/libgomp.dg/pr24455.c: New test.
11398
113992005-10-20 Richard Henderson <rth@redhat.com>
11400
11401 * testsuite/libgomp.c++/loop-6.C: New.
11402 * testsuite/libgomp.dg/loop-3.c: New.
11403
114042005-10-20 Jakub Jelinek <jakub@redhat.com>
11405
11406 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11407 explicitly private.
11408 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11409 explicitly shared.
11410
114112005-10-19 Diego Novillo <dnovillo@redhat.com>
11412
11413 * testsuite/libgomp.fortran/jacobi.f: New test.
11414
114152005-10-19 Richard Henderson <rth@redhat.com>
11416
11417 * configure.tgt (i?86-linux): Default to with_arch instead of
11418 CFLAGS. Add -mtune to match target_cpu.
11419 (x86_64-linux): Tune to i686.
11420
11421 * fortran.c (omp_test_nest_lock_): Fix typo.
11422
114232005-10-19 Jakub Jelinek <jakub@redhat.com>
11424
11425 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11426 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11427 * testsuite/libgomp.dg/ordered-3.c: New test.
11428
11429 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11430 Remove volatile keyword.
11431
11432 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11433 in COMMON block to avoid warnings on 64-bit targets.
11434
114352005-10-18 Diego Novillo <dnovillo@redhat.com>
11436
11437 * testsuite/libgomp.dg/shared-3.c: New test.
11438
114392005-10-18 Jakub Jelinek <jakub@redhat.com>
11440
11441 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11442 * testsuite/libgomp.fortran/reduction5.f90: New test.
11443
114442005-10-18 Jakub Jelinek <jakub@redhat.com>
11445
11446 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11447 dg-options.
11448 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
11449 flush loop now that __sync_synchronize has proper memory barrier.
11450 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11451 Add -ffixed-form to dg-options.
11452
114532005-10-17 Diego Novillo <dnovillo@redhat.com>
11454
11455 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11456 from subdirectories.
11457 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11458 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11459 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11460 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11461 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11462 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11463 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11464 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11465 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11466 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11467 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11468 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11469 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11470 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11471 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11472 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11473 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11474 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11475 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11476 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11477 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11478 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11479 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11480 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11481 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11482
114832005-10-17 Jakub Jelinek <jakub@redhat.com>
11484
11485 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11486 lang_library_path exists. Use find instead of glob to gather tests.
11487 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11488
114892005-10-17 Diego Novillo <dnovillo@redhat.com>
11490
11491 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11492 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11493 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11494 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11495 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11496 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11497 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11498 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11499 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11500 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11501 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11502 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11503 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11504
115052005-10-15 Jakub Jelinek <jakub@redhat.com>
11506
11507 * testsuite/libgomp.dg/vla-1.c: New test.
11508
11509 * testsuite/libgomp.fortran/reference2.f90: New test.
11510
11511 * testsuite/libgomp.fortran/character2.f90: Remove explicit
11512 declaration of omp_get_thread_num.
11513 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
11514 use omp_lib.
11515
11516 * testsuite/libgomp.fortran/reduction1.f90: New test.
11517 * testsuite/libgomp.fortran/reduction2.f90: New test.
11518 * testsuite/libgomp.fortran/reduction3.f90: New test.
11519 * testsuite/libgomp.fortran/reduction4.f90: New test.
11520
115212005-10-13 Richard Henderson <rth@redhat.com>
11522
11523 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11524 * Makefile.in: Regenerate.
11525 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11526 * libgomp.h: Include bar.h.
11527 (struct gomp_barrier): Remove.
11528 (struct gomp_team): Add barrier. Replace master_barrier with
11529 master_release. Replace threads with ordered_release.
11530 (struct gomp_thread): Replace barrier with release.
11531 * ordered.c (gomp_ordered_first): Update for ordered_release change.
11532 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11533 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11534 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11535 (GOMP_single_copy_end): Likewise.
11536 * team.c (gomp_threads_dock): New.
11537 (gomp_barrier_init, gomp_barrier_destroy): Remove.
11538 (gomp_thread_start): Use gomp_barrier_wait.
11539 (new_team, free_team): Update for gomp_team changes.
11540 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11541 (gomp_team_end): Use gomp_barrier_wait.
11542 (initialize_team): Update for gomp_thread changes.
11543 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11544 (gomp_work_share_end_nowait): Use atomic ops when available.
11545 * config/linux/bar.c, config/linux/bar.h: New files.
11546 * config/posix/bar.c, config/posix/bar.h: New files.
11547
115482005-10-13 Jakub Jelinek <jakub@redhat.com>
11549
11550 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11551 * testsuite/libgomp.dg/single-2.c: New test.
11552
11553 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11554 lang_link_flags): Unset, so that they aren't inherited from previously
11555 sourced *.exp.
11556
11557 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11558
115592005-10-12 Richard Henderson <rth@redhat.com>
11560
11561 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11562 (libgomp_init): Use lang_test_file, lang_library_path, and
11563 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11564
11565 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11566 (lang_test_file, lang_link_flags): New.
11567 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11568
11569 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11570 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11571 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11572 testsuite/libgomp.c++/parallel-1.C,
11573 testsuite/libgomp.c++/reduction-1.C,
11574 testsuite/libgomp.c++/reduction-2.C,
11575 testsuite/libgomp.c++/reduction-3.C,
11576 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11577 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11578 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11579 New files, largely cribbed from the C testsuite.
11580
115812005-10-12 Jakub Jelinek <jakub@redhat.com>
11582
11583 * testsuite/libgomp.fortran/character1.f90: New test.
11584 * testsuite/libgomp.fortran/character2.f90: New test.
11585
11586 * testsuite/libgomp.dg/nested-1.c: New test.
11587 * testsuite/libgomp.dg/nested-2.c: New test.
11588 * testsuite/libgomp.fortran/do1.f90: New test.
11589 * testsuite/libgomp.fortran/do2.f90: New test.
11590
11591 * testsuite/libgomp.fortran/reference1.f90: New test.
11592
115932005-10-11 Jakub Jelinek <jakub@redhat.com>
11594
11595 * testsuite/libgomp.dg/reduction-1.c: New test.
11596 * testsuite/libgomp.dg/reduction-2.c: New test.
11597 * testsuite/libgomp.dg/reduction-3.c: New test.
11598
115992005-10-10 Jakub Jelinek <jakub@redhat.com>
11600
11601 * testsuite/libgomp.dg/atomic-1.c: New test.
11602 * testsuite/libgomp.dg/atomic-2.c: New test.
11603
116042005-10-09 Richard Henderson <rth@redhat.com>
11605
11606 * critical.c (atomic_lock): New.
11607 (initialize_critical): Initialize it.
11608 (GOMP_atomic_start, GOMP_atomic_end): New.
11609 * libgomp.map: Export them.
11610 * libgomp_g.h: Declare them.
11611
11612 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11613
116142005-10-02 Richard Henderson <rth@redhat.com>
11615
11616 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11617 to XCFLAGS instead of CFLAGS.
11618
116192005-09-30 Richard Henderson <rth@redhat.com>
11620
11621 * configure.ac: Determine whether -pthread or -lpthread is needed.
11622 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11623 * Makefine.in, configure: Rebuild.
11624
116252005-09-28 Richard Henderson <rth@redhat.com>
11626
11627 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11628 * testsuite/libgomp.dg/omp-single-3.c: New test.
11629
116302005-09-28 Diego Novillo <dnovillo@redhat.com>
11631
11632 * testsuite/libgomp.dg/omp-single-2.c: New test.
11633 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11634
116352005-09-27 Richard Henderson <rth@redhat.com>
11636
11637 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11638 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11639
116402005-09-27 Jakub Jelinek <jakub@redhat.com>
11641
11642 * testsuite/libgomp.dg/omp-loop03.c: New test.
11643
116442005-09-27 Diego Novillo <dnovillo@redhat.com>
11645
11646 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11647
116482005-09-27 Diego Novillo <dnovillo@redhat.com>
11649
11650 * testsuite/libgomp.dg/omp-single-1.c: New test.
11651 * testsuite/libgomp.dg/shared-1.c: Return 0.
11652 Add prototype for abort.
11653 * testsuite/libgomp.dg/shared-2.c: Likewise.
11654
116552005-09-26 Jakub Jelinek <jakub@redhat.com>
11656
11657 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11658 constructs.
11659
116602005-09-26 Diego Novillo <dnovillo@redhat.com>
11661
11662 * testsuite/libgomp.dg/shared-1.c: New test.
11663 * testsuite/libgomp.dg/shared-2.c: New test.
11664
116652005-09-24 Richard Henderson <rth@redhat.com>
11666
11667 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11668
116692005-09-24 Richard Henderson <rth@redhat.com>
11670
11671 * iter.c (gomp_iter_static_next): Round up when computing number
11672 of iterations. Don't bother distributing a remainder equally.
11673
11674 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11675 Don't call srand. Zero b before testing.
11676 (main): New.
11677
116782005-09-24 Jakub Jelinek <jakub@redhat.com>
11679
11680 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11681 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11682
116832005-09-23 Jakub Jelinek <jakub@redhat.com>
11684
11685 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11686 without !$omp end do, followed immediately by subroutine end.
11687
116882005-09-23 Diego Novillo <dnovillo@redhat.com>
11689
11690 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11691
116922005-09-22 Richard Henderson <rth@redhat.com>
11693
11694 * critical.c (GOMP_critical_name_start): Change argument to void**.
11695 Reuse the pointer space if the mutex fits.
11696 (GOMP_critical_name_end): Likewise.
11697 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11698 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11699 (GOMP_critical_name_end): Likewise.
11700 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11701 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11702
117032005-09-20 Richard Henderson <rth@redhat.com>
11704
11705 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11706 (create_lock_lock): New.
11707 (initialize_critical): Initialize it.
11708 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11709 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11710
117112005-09-20 Diego Novillo <dnovillo@redhat.com>
11712
11713 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11714
117152005-09-20 Diego Novillo <dnovillo@redhat.com>
11716
11717 * testsuite/libgomp.dg/omp-loop01.c: New test.
11718 * testsuite/libgomp.dg/omp-loop02.c: New test.
11719
117202005-09-20 Jakub Jelinek <jakub@redhat.com>
11721
11722 * configure.ac (AC_PROG_FC): Add.
11723 (USE_FORTRAN): New automake conditional.
11724 * configure: Rebuilt.
11725 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11726 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11727 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11728 Add rules to build them.
11729 * Makefile.in: Rebuilt.
11730 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11731 OMP_NEST_LOCK_KIND.
11732 * libgomp.map: Add Fortran wrappers.
11733 * libgomp_f.h.in: New file.
11734 * omp_lib.h.in: New file.
11735 * omp_lib.f90.in: New file.
11736 * fortran.c: New file.
11737 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11738 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11739 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11740 libgfortran has been built.
11741 * testsuite/libgomp.fortran/fortran.exp: New file.
11742 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11743 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11744 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11745 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11746 * testsuite/libgomp.fortran/omp_hello.f: New test.
11747 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11748 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11749 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11750 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11751 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11752 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11753 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11754 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11755
117562005-08-30 Richard Henderson <rth@redhat.com>
11757
11758 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11759 function for when aliases are not usable.
11760 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11761 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11762 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11763 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11764 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11765 GOMP_loop_ordered_guided_next): Likewise.
11766 * ordered.c (GOMP_ordered_start): Likewise.
11767
117682005-08-01 Diego Novillo <dnovillo@redhat.com>
11769
11770 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11771 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11772 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11773 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11774 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11775 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11776 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11777 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11778 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11779
117802005-07-07 Eric Christopher <echristo@redhat.com>
11781 Diego Novillo <dnovillo@redhat.com>
11782
11783 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11784 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11785 up code.
11786 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11787 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11788 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11789 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11790 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11791 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11792 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11793
117942005-06-13 Diego Novillo <dnovillo@redhat.com>
11795
11796 * TOPLEVEL.patch: Remove.
11797
117982005-05-16 Richard Henderson <rth@redhat.com>
11799
11800 * configure.ac: Test for clock_gettime.
11801 * config.h.in, configure: Rebuild.
11802 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11803 (omp_get_wtime): Use clock_gettime if available.
11804 (omp_get_wtick): Use clock_getres if available.
11805
118062005-05-11 Richard Henderson <rth@redhat.com>
11807
11808 * config/linux/ia64/futex.h: New file.
11809 * configure.tgt: Use it.
11810
11811 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11812
118132005-05-07 Richard Henderson <rth@redhat.com>
11814
11815 * config/linux/powerpc/futex.h: New file.
11816 * configure.tgt: Use it.
11817
11818 * config/linux/i486/futex.h: Merge ...
11819 * config/linux/x86_64/futex.h: ... into ...
11820 * config/linux/x86/futex.h: ... here.
11821 * configure.tgt: Update to match.
11822
118232005-05-06 Richard Henderson <rth@redhat.com>
11824
11825 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11826 * config/linux/i486/futex.h: Likewise.
11827 * config/linux/x86_64/futex.h: Likewise.
11828
11829 * config/linux/lock.c: New file.
11830 * config/linux/omp-lock.h: New file.
11831
11832 * critical.c, env.h: Don't include omp.h
11833 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11834 * config/posix/time.c: Likewise.
11835 * config/posix/omp-lock.h: New file.
11836 * libgomp.h: Include omp-lock.h and omp.h.
11837 * Makefile.am (nodist_include_HEADERS): New.
11838 (omp.h): New rule.
11839 * configure.ac (PERL): New.
11840 * mkomp_h.pl: New file.
11841 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11842 with templates.
11843 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11844
11845 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11846 build directory. Re-add -march=i486 hack.
11847
11848 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11849 (libgomp_link_flags): Remove.
11850 (libgomp_initialized): Remove.
11851 (libgomp_init): Don't protect from reinitialization. Copy code
11852 from libstdc++ for getting the multilib set correctly.
11853
118542005-05-05 Richard Henderson <rth@redhat.com>
11855
11856 * config/linux/alpha/futex.h: New file.
11857 * configure.tgt (alpha*-*-linux*): Use it.
11858
11859 * config/posix/mutex.c: New file.
11860 * config/posix/sem.c: Use libgomp.h.
11861
11862 * configure.tgt (x86_64-linux): Also test CC for -m32.
11863 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11864
a1daed2d 11865 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11866 after $gccpath.
11867
11868 * Makefile.am (SUBDIRS): New.
11869 (libgomp_la_LDFLAGS): Add -lpthread.
11870 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11871 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11872
11873 * libgomp_g.h: New file.
11874 * libgomp.h: Split out all public declarations to libgomp_g.h.
11875 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11876 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11877 * config/linux/sem.h: Likewise.
11878 * config/posix/sem.h: Likewise.
11879
11880 * Makefile.am (AM_LDFLAGS): New.
11881 (libgomp_version_script): Split out from ...
11882 (libgomp_la_LDFLAGS): ... here.
11883 (libgomp_version_info): New.
11884 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11885 (LIBGOMP_ENABLE): New.
11886 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11887 (LIBGOMP_ENABLE_SYMVERS): New.
11888 * configure.ac (AC_INIT): Version 1.0.
11889 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11890 (enable-linux-futex): Likewise. Rename from enable-futex.
11891 (libtool_VERSION): New.
11892 (LIBGOMP_ENABLE_SYMVERS): Use it.
11893 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11894 * Makefile.in, aclocal.m4, configure: Rebuild.
11895
11896 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11897 (gomp_mutex_unlock_slow): Fix typo.
11898 * config/linux/sem.c: Similarly.
11899 (gomp_sem_post_slow): Fix typo.
11900 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11901 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11902 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11903
11904 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11905 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11906 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11907 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11908 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11909 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11910 LDFLAGS. Pull enable_futex check to top-level.
11911 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11912 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11913
11914 First attempt at real configury.
11915 * Makefile, config.h: Remove file.
11916 * Makefile.am, Makefile.in: New file.
11917 * acinclude.m4 aclocal.m4: New file.
11918 * configure.ac, configure.tgt, configure: New file.
11919
11920 * config/posix/lock.c: Rename from sys-lock.c.
11921 * config/posix/mutex.h: Rename from sys-mutex.h.
11922 * config/posix/sem.c: Rename from sys-sem.c.
11923 * config/posix/sem.h: Rename from sys-sem.h.
11924 * config/posix/proc.c: Rename from sys-proc.c.
11925 * config/posix/time.c: Rename from sys-proc.c.
11926
11927 * config/linux/mutex.c: New file.
11928 * config/linux/mutex.h: New file.
11929 * config/linux/sem.c: New file.
11930 * config/linux/sem.h: New file.
11931 * config/linux/i486/futex.h: New file.
11932 * config/linux/x86_64/futex.h: New file.
11933
119342005-05-04 Richard Henderson <rth@redhat.com>
11935
11936 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11937 * libgomp.h: Declare them.
11938 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11939 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11940
119412005-05-04 Richard Henderson <rth@redhat.com>
11942
11943 * libgomp-1 code drop
11944
119452005-05-04 Richard Henderson <rth@redhat.com>
11946
11947 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11948 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11949 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11950 (gomp_iter_static_next): Update.
11951 (gomp_ordered_static_next): Update.
11952 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11953 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11954 totally empty range.
11955 (gomp_loop_ordered_static_next): Refine test for calling
11956 gomp_ordered_static_next.
11957 * testsuite/ordered-1.c: Add case for more threads than iterations.
11958
11959 * iter.c (gomp_iter_runtime_next_locked): Remove.
11960 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 11961 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
11962 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11963 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11964 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11965 gomp_loop_ordered_guided_next): Downcase name, make static, add
11966 an external alias with the old name.
11967 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11968 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11969 switch and call one of the above static functions.
11970 * libgomp.h: Update.
11971
11972 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11973 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11974 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11975 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11976 GOMP_loop_ordered_guided_start): Update to match.
11977 * sections.c (GOMP_sections_start): Likewise.
11978 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11979
11980 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11981 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11982 Use bounds check instead of modulus.
11983 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11984 (gomp_ordered_last): Don't sync with ordered_owner here.
11985 (gomp_ordered_next): Likewise.
11986 (gomp_ordered_static_loop_next): Likewise.
11987 * loop.c, libgomp.h: Update to match.
11988
11989 * libgomp.h (GOMP_barrier): Declare.
11990
11991 * testsuite/barrier-1.c: New file.
11992 * testsuite/critical-1.c: New file.
11993 * testsuite/ordered-2.c: New file.
11994 * testsuite/ordered-1.c: New file.
11995 * testsuite/sections-1.c: New file.
11996 * testsuite/single-1.c: New file.
11997 * testsuite/Makefile (TESTS): Add them.
11998
119992005-05-04 Richard Henderson <rth@redhat.com>
12000
12001 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12002 * loop.c (GOMP_loop_static_start): If not the startup thread,
12003 acquire the mutex to wait for initialization complete.
12004 (GOMP_loop_ordered_static_start): Likewise.
12005 (GOMP_loop_ordered_runtime_start): Likewise.
12006 (GOMP_loop_ordered_static_first): Remove.
12007 (GOMP_loop_ordered_dynamic_first): Remove.
12008 (GOMP_loop_ordered_guided_first): Remove.
12009 (GOMP_loop_ordered_runtime_first): Remove.
12010 * ordered.c (gomp_ordered_loop_first): Post to own release when
12011 we're the first thread.
12012 (gomp_ordered_loop_last): Wait on release if not owner.
12013 (gomp_ordered_loop_next): Likewise.
12014 (gomp_ordered_static_loop_init): New.
12015 (gomp_ordered_static_loop_next): Use ordered_owner.
12016 (GOMP_ordered_start): Likewise.
12017 * work.c (gomp_new_work_share): Initialize ordered_owner.
12018
120192005-05-03 Richard Henderson <rth@redhat.com>
12020
12021 * Makefile (OPT): New.
12022 (CFLAGS): Use it.
12023
12024 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12025 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12026 * libgomp.h, libgomp.map, NOTES: Update to match.
12027
12028 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12029 Add initialized and thr members.
12030 (gomp_thread_start): Pause when initially spawned to wait for
12031 the whole team to be created.
12032 (gomp_team_start): Release team members at the end.
12033
12034 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12035 (f_foo_1): Use GOMP_loop_end.
12036 (f_foo_2): Use GOMP_loop_end_nowait.
12037
12038 * testsuite/loop-2.c: New file.
12039 * testsuite/Makefile (TESTS): Add it.
12040
120412005-05-03 Richard Henderson <rth@redhat.com>
12042
12043 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12044 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12045 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12046 initial work_share.
12047
12048 * testsuite/Makefile: New file.
12049 * testsuite/loop-1.c: New file.
12050
120512005-05-03 Richard Henderson <rth@redhat.com>
12052
12053 Initial implementation and checkin.
21fa2a29 12054\f
a5544970 12055Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12056
12057Copying and distribution of this file, with or without modification,
12058are permitted in any medium without royalty provided the copyright
12059notice and this notice are preserved.