]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Assert in 'libgomp/target.c:gomp_unmap_vars_internal' that we're not unmapping 'tgt...
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
2
3 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4 'gomp_remove_var'.
5
6 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7 like 'GOMP_MAP_FROM'.
8
9 PR libgomp/92726
10 PR libgomp/92970
11 PR libgomp/92984
12 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
13 fails.
14 (GOACC_enter_exit_data): Simplify accordingly.
15 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
16 subsuming...
17 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
18 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
19 file.
20 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
21 subsuming...
22 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
23 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
24 file.
25 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
26 subsuming...
27 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
28
29 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
30 'finalize' handling.
31
32 PR libgomp/92848
33 * oacc-mem.c (acc_map_data, present_create_copy)
34 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
35 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
36 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
37 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
38 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
39 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
40 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
41 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
42 Remove "XFAIL"s.
43
44 * target.c (gomp_unmap_tgt): Make it 'static'.
45 * libgomp.h (gomp_unmap_tgt): Remove.
46
47 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
48
49 PR middle-end/86416
50 * testsuite/libgomp.c/pr86416-1.c: New.
51 * testsuite/libgomp.c/pr86416-2.c: New.
52
53 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
54
55 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
56 all symbols as public except for the 'use …, only' imported symbol,
57 which is private.
58 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
59 all symbols from module openacc_kinds as PUBLIC
60 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
61 fix comment typo.
62 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
63
64 2019-12-13 Julian Brown <julian@codesourcery.com>
65
66 PR libgomp/92881
67
68 * libgomp.h (gomp_remove_var_async): Add prototype.
69 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
70 gomp_remove_var.
71 * target.c (gomp_unref_tgt): Change return type to bool, indicating
72 whether target_mem_desc was unmapped.
73 (gomp_unref_tgt_void): New.
74 (gomp_remove_var): Reimplement in terms of...
75 (gomp_remove_var_internal): ...this new helper function.
76 (gomp_remove_var_async): New, implemented using above helper function.
77 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
78 gomp_unref_tgt.
79
80 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
81
82 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
83 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
84 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
85 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
86 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
87 Likewise.
88 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
89 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
90
91 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
92
93 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
94 as public except for the 'use …, only' imported symbol, which is
95 private.
96 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
97 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
98 attributes for acc_copyout_finalize and acc_delete_finalize.
99
100 2019-12-11 Jakub Jelinek <jakub@redhat.com>
101
102 PR fortran/92899
103 * testsuite/libgomp.fortran/atomic1.f90: New test.
104
105 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
106
107 PR libgomp/92843
108 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
109 reference counting for structured 'REFCOUNT_INFINITY'. Add some
110 assertions.
111 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
112 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
113 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
114 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
115 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
116
117 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
118 * oacc-mem.c: ... here.
119 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
120 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
121 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
122 Remove.
123 * libgomp_g.h: Update.
124
125 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
126 * oacc-async.c: ... here.
127 * oacc-int.h (goacc_wait): Declare.
128 * libgomp_g.h: Update
129
130 PR libgomp/92854
131 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
132 New file.
133 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
134 Likewise.
135 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
136 Likewise.
137 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
138 Likewise.
139 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
140 Likewise.
141 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
142 Likewise.
143
144 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
145 Julian Brown <julian@codesourcery.com>
146
147 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
148 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
149
150 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
151
152 * omp_lib.h.in: Fix spelling of function declaration
153 omp_get_cancell(l)ation.
154 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
155 Fix typos.
156 * env.c: Fix comment typos.
157 * oacc-host.c: Likewise.
158 * ordered.c: Likewise.
159 * task.c: Likewise.
160 * team.c: Likewise.
161 * config/gcn/task.c: Likewise.
162 * config/gcn/team.c: Likewise.
163 * config/nvptx/task.c: Likewise.
164 * config/nvptx/team.c: Likewise.
165 * plugin/plugin-gcn.c: Likewise.
166 * testsuite/libgomp.fortran/jacobi.f: Likewise.
167 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
168 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
169
170 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
171
172 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
173 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
174 unnecessary 'dg-additional-options "-w"'.
175
176 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
177 Julian Brown <julian@codesourcery.com>
178
179 PR libgomp/92116
180 PR libgomp/92877
181
182 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
183 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
184 Adjust all users.
185 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
186 Remove XFAIL.
187 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
188 Likewise.
189 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
190
191 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
192
193 PR libgomp/92503
194 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
195 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
196 file.
197 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
198 Likewise.
199 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
200 Likewise.
201 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
202 Likewise.
203 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
204 Likewise.
205 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
206 Likewise.
207 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
208 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
209 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
210 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
211 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
212 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
213 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
214 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
215 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
216 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
217
218 PR libgomp/92840
219 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
220 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
221 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
222 New file.
223 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
224 Likewise.
225 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
226 Likewise.
227 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
228 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
229
230 PR libgomp/92511
231 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
232 this file...
233 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
234 this file...
235 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
236 file...
237 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
238 file...
239 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
240 ... with their content moved into, and extended in this new file.
241 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
242 New file.
243 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
244 Likewise.
245 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
246 Likewise.
247 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
248 Likewise.
249
250 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
251
252 PR libgomp/92854
253 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
254
255 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
256
257 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
258
259 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
260
261 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
262 unique.
263 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
264 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
265 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
266 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
267 Ditto.
268 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
269 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
270
271 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
272
273 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
274
275 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
276 Kwok Cheung Yeung <kcy@codesourcery.com>
277
278 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
279 if input it a NULL pointer.
280 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
281 diagnostic of NULL pointer.
282 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
283 * testsuite/libgomp.fortran/optional-map.f90: New.
284 * testsuite/libgomp.fortran/use_device_addr-1.f90
285 (test_dummy_opt_callee_1_absent): New.
286 (test_dummy_opt_call_1): Call it.
287 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
288 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
289 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
290 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
291 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
292 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
293 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
294 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
295 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
296 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
297 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
298 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
299 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
300 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
301 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
302 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
303
304 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
305
306 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
307 expect dg-output of 'Error termination.' for GCN.
308 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
309 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
310
311 2019-12-04 Jakub Jelinek <jakub@redhat.com>
312
313 PR fortran/92756
314 * testsuite/libgomp.fortran/teams1.f90: New test.
315 * testsuite/libgomp.fortran/teams2.f90: New test.
316
317 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
318
319 * oacc-init.c (acc_known_device_type): Add function.
320 (unknown_device_type_error): Add function.
321 (name_of_acc_device_t): Change to call unknown_device_type_error
322 on unknown type.
323 (resolve_device): Use acc_known_device_type.
324 (acc_init): Fail if acc_device_t argument is not valid.
325 (acc_shutdown): Likewise.
326 (acc_get_num_devices): Likewise.
327 (acc_set_device_type): Likewise.
328 (acc_get_device_num): Likewise.
329 (acc_set_device_num): Likewise.
330 (acc_on_device): Add comment that argument validity is not checked.
331
332 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
333
334 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
335 Recognize amdgcn.
336 (check_effective_target_openacc_amdgcn_accel_present): New proc.
337 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
338 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
339 * testsuite/libgomp.oacc-c/c.exp: Likewise.
340 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
341
342 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
343
344 PR libgomp/91938
345 * configure.tgt: Avoid IE tls on *-*-musl*.
346
347 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
348
349 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
350 adding a common-block test case.
351
352 2019-11-29 Jakub Jelinek <jakub@redhat.com>
353
354 PR c++/60228
355 * testsuite/libgomp.c++/udr-20.C: New test.
356 * testsuite/libgomp.c++/udr-21.C: New test.
357
358 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
359
360 * testsuite/lib/libgomp.exp
361 (check_effective_target_offload_target_nvptx): New proc.
362 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
363 'dg-skip-if'.
364 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
365 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
366 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
367
368 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
369
370 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
371 * testsuite/libgomp.c/pr39591-2.c: Likewise.
372 * testsuite/libgomp.c/pr39591-3.c: Likewise.
373 * testsuite/libgomp.c/private-1.c: Likewise.
374 * testsuite/libgomp.c/task-1.c: Likewise.
375 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
376
377 2019-11-20 Julian Brown <julian@codesourcery.com>
378
379 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
380 aq->mutex here.
381 (queue_push_launch): Lock aq->mutex before calling
382 wait_for_queue_nonfull.
383 (queue_push_callback): Likewise.
384 (queue_push_asyncwait): Likewise.
385 (queue_push_placeholder): Likewise.
386
387 2019-11-20 Julian Brown <julian@codesourcery.com>
388
389 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
390 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
391 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
392 return code.
393
394 2019-11-20 Julian Brown <julian@codesourcery.com>
395
396 PR libgomp/92511
397
398 * oacc-mem.c (present_create_copy): Fix device pointer return value in
399 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
400 in non-present/create case.
401 (delete_copyout): Change error condition to fail only on copies outside
402 of mapped block. Adjust error message accordingly.
403 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
404 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
405 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
406 message.
407 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
409 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
410
411 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
412
413 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
414 libatomic in build-tree testing.
415
416 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
417
418 * testsuite/Makefile.in: Regenerate.
419
420 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
421
422 * testsuite/libgomp.c/target-print-1.c: New file.
423 * testsuite/libgomp.fortran/target-print-1.f90: New file.
424 * testsuite/libgomp.oacc-c/print-1.c: New file.
425 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
426
427 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
428 Kwok Cheung Yeung <kcy@codesourcery.com>
429 Julian Brown <julian@codesourcery.com>
430 Tom de Vries <tom@codesourcery.com>
431
432 * plugin/Makefrag.am: Add amdgcn plugin support.
433 * plugin/configfrag.ac: Likewise.
434 * plugin/plugin-gcn.c: New file.
435 * configure: Regenerate.
436 * Makefile.in: Regenerate.
437 * testsuite/Makefile.in: Regenerate.
438
439 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
440
441 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
442 and use team_malloc variants.
443 (gomp_gcn_exit_kernel): Use team_free.
444 * libgomp.h (TEAM_ARENA_SIZE): Define.
445 (TEAM_ARENA_START): Define.
446 (TEAM_ARENA_FREE): Define.
447 (TEAM_ARENA_END): Define.
448 (team_malloc): New function.
449 (team_malloc_cleared): New function.
450 (team_free): New function.
451 * team.c (gomp_new_team): Initialize and use team_malloc.
452 (free_team): Use team_free.
453 (gomp_free_thread): Use team_free.
454 (gomp_pause_host): Use team_free.
455 * work.c (gomp_init_work_share): Use team_malloc.
456 (gomp_fini_work_share): Use team_free.
457
458 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
459 Kwok Cheung Yeung <kcy@codesourcery.com>
460 Julian Brown <julian@codesourcery.com>
461 Tom de Vries <tom@codesourcery.com>
462
463 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
464 * Makefile.in: Regenerate.
465 * config.h.in (PLUGIN_GCN): Add new undef.
466 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
467 * config/gcn/affinity-fmt.c: New file.
468 * config/gcn/bar.c: New file.
469 * config/gcn/bar.h: New file.
470 * config/gcn/doacross.h: New file.
471 * config/gcn/icv-device.c: New file.
472 * config/gcn/oacc-target.c: New file.
473 * config/gcn/simple-bar.h: New file.
474 * config/gcn/target.c: New file.
475 * config/gcn/task.c: New file.
476 * config/gcn/team.c: New file.
477 * config/gcn/time.c: New file.
478 * configure.ac: Add amdgcn*-*-*.
479 * configure: Regenerate.
480 * configure.tgt: Add amdgcn*-*-*.
481 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
482 * libgomp.h (gcn_thrs): Add amdgcn variant.
483 (set_gcn_thrs): Likewise.
484 (gomp_thread): Likewise.
485 * oacc-int.h (goacc_thread): Likewise.
486 * oacc-target.c: New file.
487 * openacc.f90 (acc_device_gcn): New parameter.
488 * openacc.h (acc_device_t): Add acc_device_gcn.
489 * team.c (gomp_free_pool_helper): Add amdgcn support.
490
491 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
492 Julian Brown <julian@codesourcery.com>
493
494 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
495 parameter.
496 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
497 queue constructor.
498 * oacc-host.c (host_openacc_async_construct): Add device parameter.
499 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
500 device parameter.
501
502 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
503
504 * configure.tgt (nvptx*-*-*): Add "accel" directory.
505 * config/nvptx/libgomp-plugin.c: Move ...
506 * config/accel/libgomp-plugin.c: ... to here.
507 * config/nvptx/lock.c: Move ...
508 * config/accel/lock.c: ... to here.
509 * config/nvptx/mutex.c: Move ...
510 * config/accel/mutex.c: ... to here.
511 * config/nvptx/mutex.h: Move ...
512 * config/accel/mutex.h: ... to here.
513 * config/nvptx/oacc-async.c: Move ...
514 * config/accel/oacc-async.c: ... to here.
515 * config/nvptx/oacc-cuda.c: Move ...
516 * config/accel/oacc-cuda.c: ... to here.
517 * config/nvptx/oacc-host.c: Move ...
518 * config/accel/oacc-host.c: ... to here.
519 * config/nvptx/oacc-init.c: Move ...
520 * config/accel/oacc-init.c: ... to here.
521 * config/nvptx/oacc-mem.c: Move ...
522 * config/accel/oacc-mem.c: ... to here.
523 * config/nvptx/oacc-plugin.c: Move ...
524 * config/accel/oacc-plugin.c: ... to here.
525 * config/nvptx/omp-lock.h: Move ...
526 * config/accel/omp-lock.h: ... to here.
527 * config/nvptx/openacc.f90: Move ...
528 * config/accel/openacc.f90: ... to here.
529 * config/nvptx/pool.h: Move ...
530 * config/accel/pool.h: ... to here.
531 * config/nvptx/proc.c: Move ...
532 * config/accel/proc.c: ... to here.
533 * config/nvptx/ptrlock.c: Move ...
534 * config/accel/ptrlock.c: ... to here.
535 * config/nvptx/ptrlock.h: Move ...
536 * config/accel/ptrlock.h: ... to here.
537 * config/nvptx/sem.c: Move ...
538 * config/accel/sem.c: ... to here.
539 * config/nvptx/sem.h: Move ...
540 * config/accel/sem.h: ... to here.
541 * config/nvptx/thread-stacksize.h: Move ...
542 * config/accel/thread-stacksize.h: ... to here.
543
544 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
545 Tobias Burnus <tobias@codesourcery.com>
546 Frederik Harwath <frederik@codesourcery.com>
547 Thomas Schwinge <thomas@codesourcery.com>
548
549 libgomp/
550 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
551 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
552 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
553
554 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
555 Kwok Cheung Yeung <kcy@codesourcery.com>
556
557 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
558 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
559
560 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
561
562 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
563
564 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
565 run'.
566 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
567 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
568
569 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
570
571 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
572 Add expected warnings about missing reduction clauses.
573 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
574 Likewise.
575 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
576 Likewise.
577 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
578 Likewise.
579
580 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
581
582 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
583 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
584 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
585 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
586 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
587 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
588
589 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
590
591 PR fortran/92305
592 * testsuite/libgomp.fortran/allocatable2.f90: Use
593 unique numbers with 'stop'.
594 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
595 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
596 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
597 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
598 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
599
600 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
601
602 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
603 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
604 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
605 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
606 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
607 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
608
609 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
610
611 * testsuite/libgomp.fortran/target9.f90: New.
612
613 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
614
615 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
616 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
617 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
618 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
619 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
620 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
621 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
622 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
623 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
624 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
625 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
626 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
627 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
628 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
629 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
630 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
631 * testsuite/libgomp.fortran/associate1.f90: Ditto.
632 * testsuite/libgomp.fortran/associate2.f90: Ditto.
633 * testsuite/libgomp.fortran/associate3.f90: Ditto.
634 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
635 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
636 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
637 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
638 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
639 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
640 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
641 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
642 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
643 * testsuite/libgomp.fortran/character1.f90: Ditto.
644 * testsuite/libgomp.fortran/character2.f90: Ditto.
645 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
646 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
647 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
648 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
649 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
650 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
651 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
652 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
653 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
654 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
655 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
656 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
657 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
658 * testsuite/libgomp.fortran/do1.f90: Ditto.
659 * testsuite/libgomp.fortran/do2.f90: Ditto.
660 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
661 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
662 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
663 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
664 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
665 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
666 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
667 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
668 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
669 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
670 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
671 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
672 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
673 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
674 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
675 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
676 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
677 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
678 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
679 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
680 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
681 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
682 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
683 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
684 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
685 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
686 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
687 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
688 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
689 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
690 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
691 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
692 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
693 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
694 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
695 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
696 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
697 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
698 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
699 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
700 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
701 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
702 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
703 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
704 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
705 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
706 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
707 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
708 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
709 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
710 * testsuite/libgomp.fortran/lib1.f90: Ditto.
711 * testsuite/libgomp.fortran/lib4.f90: Ditto.
712 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
713 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
714 * testsuite/libgomp.fortran/nested1.f90: Ditto.
715 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
716 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
717 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
718 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
719 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
720 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
721 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
722 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
723 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
724 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
725 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
726 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
727 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
728 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
729 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
730 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
731 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
732 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
733 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
734 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
735 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
736 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
737 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
738 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
739 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
740 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
741 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
742 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
743 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
744 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
745 * testsuite/libgomp.fortran/pr28390.f: Ditto.
746 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
747 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
748 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
749 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
750 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
751 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
752 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
753 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
754 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
755 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
756 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
757 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
758 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
759 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
760 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
761 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
762 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
763 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
764 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
765 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
766 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
767 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
768 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
769 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
770 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
771 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
772 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
773 * testsuite/libgomp.fortran/reference1.f90: Ditto.
774 * testsuite/libgomp.fortran/reference2.f90: Ditto.
775 * testsuite/libgomp.fortran/retval1.f90: Ditto.
776 * testsuite/libgomp.fortran/retval2.f90: Ditto.
777 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
778 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
779 * testsuite/libgomp.fortran/simd1.f90: Ditto.
780 * testsuite/libgomp.fortran/simd2.f90: Ditto.
781 * testsuite/libgomp.fortran/simd3.f90: Ditto.
782 * testsuite/libgomp.fortran/simd4.f90: Ditto.
783 * testsuite/libgomp.fortran/simd5.f90: Ditto.
784 * testsuite/libgomp.fortran/simd6.f90: Ditto.
785 * testsuite/libgomp.fortran/simd7.f90: Ditto.
786 * testsuite/libgomp.fortran/stack.f90: Ditto.
787 * testsuite/libgomp.fortran/strassen.f90: Ditto.
788 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
789 * testsuite/libgomp.fortran/tabs2.f: Ditto.
790 * testsuite/libgomp.fortran/target1.f90: Ditto.
791 * testsuite/libgomp.fortran/target2.f90: Ditto.
792 * testsuite/libgomp.fortran/target3.f90: Ditto.
793 * testsuite/libgomp.fortran/target4.f90: Ditto.
794 * testsuite/libgomp.fortran/target5.f90: Ditto.
795 * testsuite/libgomp.fortran/target6.f90: Ditto.
796 * testsuite/libgomp.fortran/target7.f90: Ditto.
797 * testsuite/libgomp.fortran/target8.f90: Ditto.
798 * testsuite/libgomp.fortran/task1.f90: Ditto.
799 * testsuite/libgomp.fortran/task2.f90: Ditto.
800 * testsuite/libgomp.fortran/task3.f90: Ditto.
801 * testsuite/libgomp.fortran/task4.f90: Ditto.
802 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
803 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
804 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
805 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
806 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
807 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
808 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
809 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
810 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
811 * testsuite/libgomp.fortran/udr1.f90: Ditto.
812 * testsuite/libgomp.fortran/udr10.f90: Ditto.
813 * testsuite/libgomp.fortran/udr11.f90: Ditto.
814 * testsuite/libgomp.fortran/udr12.f90: Ditto.
815 * testsuite/libgomp.fortran/udr13.f90: Ditto.
816 * testsuite/libgomp.fortran/udr14.f90: Ditto.
817 * testsuite/libgomp.fortran/udr15.f90: Ditto.
818 * testsuite/libgomp.fortran/udr2.f90: Ditto.
819 * testsuite/libgomp.fortran/udr3.f90: Ditto.
820 * testsuite/libgomp.fortran/udr4.f90: Ditto.
821 * testsuite/libgomp.fortran/udr5.f90: Ditto.
822 * testsuite/libgomp.fortran/udr6.f90: Ditto.
823 * testsuite/libgomp.fortran/udr7.f90: Ditto.
824 * testsuite/libgomp.fortran/udr8.f90: Ditto.
825 * testsuite/libgomp.fortran/udr9.f90: Ditto.
826 * testsuite/libgomp.fortran/vla1.f90: Ditto.
827 * testsuite/libgomp.fortran/vla2.f90: Ditto.
828 * testsuite/libgomp.fortran/vla3.f90: Ditto.
829 * testsuite/libgomp.fortran/vla4.f90: Ditto.
830 * testsuite/libgomp.fortran/vla5.f90: Ditto.
831 * testsuite/libgomp.fortran/vla6.f90: Ditto.
832 * testsuite/libgomp.fortran/vla7.f90: Ditto.
833 * testsuite/libgomp.fortran/vla8.f90: Ditto.
834 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
835 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
836
837 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
838
839 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
840 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
841 Ditto; add 'dg-do run' for torture testing.
842 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
843 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
844 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
845 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
846 * testsuite/libgomp.fortran/pr28390.f: Ditto.
847 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
848 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
849 * testsuite/libgomp.fortran/task2.f90: Ditto.
850 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
851 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
852 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
853 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
854 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
855 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
856
857 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
858
859 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
860 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
861 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
862 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
863 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
864 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
865 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
866 Use 'stop' not abort().
867 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
868 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
869 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
870 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
871 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
872 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
873 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
874 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
875 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
876 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
877 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
878 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
879 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
880 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
881 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
882 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
883 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
884 Ditto.
885 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
886 Ditto.
887 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
888 Ditto.
889 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
890 Ditto.
891 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
892 Ditto.
893 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
894 Ditto.
895 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
896 Ditto.
897 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
898 Ditto.
899 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
900 Ditto.
901 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
902 Ditto.
903 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
904 Ditto.
905 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
906 Ditto.
907 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
908 Ditto.
909 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
910 Ditto.
911 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
912 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
913 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
914 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
915 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
916 Likewise and also add 'dg-do run'.
917 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
918 Ditto.
919
920 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
921 Tobias Burnus <tobias@codesourcery.com>
922
923 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
924 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
925 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
926
927 2019-10-14 Jakub Jelinek <jakub@redhat.com>
928
929 PR libgomp/92081
930 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
931 than 0.
932
933 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
934
935 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
936 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
937
938 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
939
940 PR middle-end/92036
941 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
942 file.
943
944 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
945
946 PR testsuite/91884
947 * testsuite/libgomp.fortran/fortran.exp: Conditionally
948 add -lquadmath.
949 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
950
951 2019-10-09 Jakub Jelinek <jakub@redhat.com>
952
953 PR libgomp/92028
954 * target.c (gomp_map_vars_internal): Readd the previous
955 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
956 though do that just in the !not_found_cnt case.
957
958 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
959
960 * gfortran.dg/gomp/target-simd.f90: New.
961
962 2019-10-02 Julian Brown <julian@codesourcery.com>
963 Cesar Philippidis <cesar@codesourcery.com>
964
965 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
966 * target.c (FIELD_TGT_EMPTY): Define.
967 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
968 as switch instead of list of ifs.
969 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
970
971 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
972
973 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
974 include. Replace alloca () with __builtin_alloca ().
975 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
976
977 2019-10-01 Jakub Jelinek <jakub@redhat.com>
978
979 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
980 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
981 * oacc-parallel.c: Don't include "libgomp_g.h".
982 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
983 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
984 * aclocal.m4: Regenerated.
985 * config.h.in: Regenerated.
986 * configure: Regenerated.
987 * Makefile.in: Regenerated.
988
989 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
990
991 * libgomp_g.h: Include stdint.h instead of gstdint.h.
992
993 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
994
995 * configure: Regenerate.
996
997 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
998
999 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1000 string is initialized.
1001
1002 2019-09-06 Florian Weimer <fweimer@redhat.com>
1003
1004 * configure: Regenerate.
1005
1006 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1007
1008 PR other/79543
1009 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1010 scanning to conform to the GNU Coding Standards.
1011 * configure: Regenerate.
1012
1013 2019-08-28 Jakub Jelinek <jakub@redhat.com>
1014
1015 PR libgomp/91530
1016 * testsuite/libgomp.c/scan-21.c: New test.
1017 * testsuite/libgomp.c/scan-22.c: New test.
1018
1019 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1020
1021 PR libgomp/91530
1022 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1023 targets.
1024 * testsuite/libgomp.c/scan-12.c: Likewise.
1025 * testsuite/libgomp.c/scan-13.c: Likewise.
1026 * testsuite/libgomp.c/scan-14.c: Likewise.
1027 * testsuite/libgomp.c/scan-15.c: Likewise.
1028 * testsuite/libgomp.c/scan-16.c: Likewise.
1029 * testsuite/libgomp.c/scan-17.c: Likewise.
1030 * testsuite/libgomp.c/scan-18.c: Likewise.
1031 * testsuite/libgomp.c/scan-19.c: Likewise.
1032 * testsuite/libgomp.c/scan-20.c: Likewise.
1033 * testsuite/libgomp.c++/scan-9.C: Likewise.
1034 * testsuite/libgomp.c++/scan-10.C: Likewise.
1035 * testsuite/libgomp.c++/scan-11.C: Likewise.
1036 * testsuite/libgomp.c++/scan-12.C: Likewise.
1037 * testsuite/libgomp.c++/scan-14.C: Likewise.
1038 * testsuite/libgomp.c++/scan-15.C: Likewise.
1039 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1040 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1041 * testsuite/libgomp.c++/scan-16.C: Likewise.
1042
1043 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1044
1045 PR fortran/91473
1046 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1047 -std=legacy so invalid code in the test case is accepted.
1048
1049 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1050
1051 PR fortran/91422
1052 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1053 dimension.
1054
1055 2019-08-08 Jakub Jelinek <jakub@redhat.com>
1056
1057 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1058 perform the lookup in the first loop only if !not_found_cnt, otherwise
1059 perform lookups for it in the second loop guarded with
1060 if (not_found_cnt || has_firstprivate).
1061 * testsuite/libgomp.c/target-37.c: New test.
1062 * testsuite/libgomp.c++/target-22.C: New test.
1063
1064 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1065
1066 * testsuite/libgomp.c/target-18.c (struct S): New type.
1067 (foo): Use use_device_addr clause instead of use_device_ptr clause
1068 where required by OpenMP 5.0, add further tests for both use_device_ptr
1069 and use_device_addr clauses.
1070 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1071 (foo): Use use_device_addr clause instead of use_device_ptr clause
1072 where required by OpenMP 5.0, add further tests for both use_device_ptr
1073 and use_device_addr clauses. Add t and u arguments.
1074 (main): Adjust caller.
1075
1076 2019-08-06 Jakub Jelinek <jakub@redhat.com>
1077
1078 * testsuite/libgomp.c++/loop-13.C: New test.
1079 * testsuite/libgomp.c++/loop-14.C: New test.
1080 * testsuite/libgomp.c++/loop-15.C: New test.
1081
1082 2019-07-31 Jakub Jelinek <jakub@redhat.com>
1083
1084 PR middle-end/91301
1085 * testsuite/libgomp.c++/for-27.C: New test.
1086
1087 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1088
1089 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
1090 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1091
1092 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1093
1094 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1095
1096 2019-07-08 Jakub Jelinek <jakub@redhat.com>
1097
1098 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1099 * testsuite/libgomp.c++/scan-16.C: Likewise.
1100
1101 2019-07-06 Jakub Jelinek <jakub@redhat.com>
1102
1103 * testsuite/libgomp.c/scan-19.c: New test.
1104 * testsuite/libgomp.c/scan-20.c: New test.
1105
1106 * testsuite/libgomp.c/scan-11.c: New test.
1107 * testsuite/libgomp.c/scan-12.c: New test.
1108 * testsuite/libgomp.c/scan-13.c: New test.
1109 * testsuite/libgomp.c/scan-14.c: New test.
1110 * testsuite/libgomp.c/scan-15.c: New test.
1111 * testsuite/libgomp.c/scan-16.c: New test.
1112 * testsuite/libgomp.c/scan-17.c: New test.
1113 * testsuite/libgomp.c/scan-18.c: New test.
1114 * testsuite/libgomp.c++/scan-9.C: New test.
1115 * testsuite/libgomp.c++/scan-10.C: New test.
1116 * testsuite/libgomp.c++/scan-11.C: New test.
1117 * testsuite/libgomp.c++/scan-12.C: New test.
1118 * testsuite/libgomp.c++/scan-13.C: New test.
1119 * testsuite/libgomp.c++/scan-14.C: New test.
1120 * testsuite/libgomp.c++/scan-15.C: New test.
1121 * testsuite/libgomp.c++/scan-16.C: New test.
1122
1123 2019-07-04 Jakub Jelinek <jakub@redhat.com>
1124
1125 * testsuite/libgomp.c/scan-9.c: New test.
1126 * testsuite/libgomp.c/scan-10.c: New test.
1127
1128 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1129
1130 * testsuite/libgomp.c++/scan-1.C: New test.
1131 * testsuite/libgomp.c++/scan-2.C: New test.
1132 * testsuite/libgomp.c++/scan-3.C: New test.
1133 * testsuite/libgomp.c++/scan-4.C: New test.
1134 * testsuite/libgomp.c++/scan-5.C: New test.
1135 * testsuite/libgomp.c++/scan-6.C: New test.
1136 * testsuite/libgomp.c++/scan-7.C: New test.
1137 * testsuite/libgomp.c++/scan-8.C: New test.
1138 * testsuite/libgomp.c/scan-1.c: New test.
1139 * testsuite/libgomp.c/scan-2.c: New test.
1140 * testsuite/libgomp.c/scan-3.c: New test.
1141 * testsuite/libgomp.c/scan-4.c: New test.
1142 * testsuite/libgomp.c/scan-5.c: New test.
1143 * testsuite/libgomp.c/scan-6.c: New test.
1144 * testsuite/libgomp.c/scan-7.c: New test.
1145 * testsuite/libgomp.c/scan-8.c: New test.
1146
1147 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1148
1149 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1150 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1151 Likewise.
1152
1153 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1154 check.
1155
1156 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1157
1158 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1159 file.
1160
1161 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1162
1163 PR fortran/90743
1164 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1165 case.
1166 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1167 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1168 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1169 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1170
1171 PR testsuite/90861
1172 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1173
1174 PR middle-end/90862
1175 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1176
1177 2019-06-16 Tom de Vries <tdevries@suse.de>
1178
1179 PR tree-optimization/89376
1180 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1181
1182 2019-06-15 Tom de Vries <tdevries@suse.de>
1183
1184 PR tree-optimization/89713
1185 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1186 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1187
1188 2019-06-15 Jakub Jelinek <jakub@redhat.com>
1189
1190 PR middle-end/90779
1191 * testsuite/libgomp.c/pr90779.c: New test.
1192 * testsuite/libgomp.fortran/pr90779.f90: New test.
1193
1194 2019-06-15 Tom de Vries <tdevries@suse.de>
1195
1196 PR tree-optimization/90009
1197 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1198
1199 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1200
1201 PR tree-optimization/89713
1202 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1203
1204 2019-06-11 Jakub Jelinek <jakub@redhat.com>
1205
1206 PR target/90811
1207 * testsuite/libgomp.c/pr90811.c: New test.
1208
1209 2019-06-05 Jakub Jelinek <jakub@redhat.com>
1210
1211 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1212 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1213
1214 2019-06-04 Jakub Jelinek <jakub@redhat.com>
1215
1216 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1217 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1218 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1219 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1220
1221 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1222
1223 * configure.ac: Call AX_COUNT_CPUS.
1224 Substitute CPU_COUNT.
1225 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1226 count fallback.
1227 * aclocal.m4: Regenerate.
1228 * configure: Regenerate.
1229 * Makefile.in, testsuite/Makefile.in: Regenerate.
1230
1231 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1232
1233 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1234 to ...
1235 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1236 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1237 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1238
1239 2019-05-27 Jakub Jelinek <jakub@redhat.com>
1240
1241 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1242
1243 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1244
1245 PR libgomp/90641
1246 * work.c (gomp_init_work_share): Instead of aligning final ordered
1247 value to multiples of long long alignment, align to that the
1248 first part (ordered team ids) and if inline_ordered_team_ids
1249 is not on a long long alignment boundary within the structure,
1250 use __alignof__ (long long) - 1 pad size always.
1251 * loop.c (GOMP_loop_start): Fix *mem computation if
1252 inline_ordered_team_ids is not aligned on long long alignment boundary
1253 within the structure.
1254 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1255 * sections.c (GOMP_sections2_start): Likewise.
1256
1257 2019-05-24 Jakub Jelinek <jakub@redhat.com>
1258
1259 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1260 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1261
1262 PR libgomp/90585
1263 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1264 HAVE_INTTYPES_H is defined.
1265 (print_uint64_t): New typedef.
1266 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1267 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1268 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1269 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1270 before casting to void *.
1271 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1272 * oacc-mem.c: Don't include config.h nor stdint.h.
1273 * target.c: Don't include config.h.
1274 * oacc-cuda.c: Likewise.
1275 * oacc-host.c: Don't include stdint.h.
1276
1277 2019-05-20 Jakub Jelinek <jakub@redhat.com>
1278
1279 PR libgomp/90527
1280 * alloc.c (_GNU_SOURCE): Define.
1281
1282 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1283
1284 * acc_prof.h: New file.
1285 * oacc-profiling.c: Likewise.
1286 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1287 Add these, respectively.
1288 * Makefile.in: Regenerate.
1289 * env.c (initialize_env): Call goacc_profiling_initialize.
1290 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1291 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1292 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1293 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1294 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1295 acc_prof_register, acc_prof_unregister, and acc_register_library.
1296 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1297 GOMP_PLUGIN_goacc_thread.
1298 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1299 prof_callbacks_enabled members.
1300 (goacc_prof_enabled, goacc_profiling_initialize)
1301 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1302 (goacc_profiling_dispatch): Declare.
1303 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1304 (GOACC_PROFILING_SETUP_P): Define.
1305 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1306 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1307 OpenACC Profiling Interface.
1308 * oacc-cuda.c (acc_get_current_cuda_device)
1309 (acc_get_current_cuda_context, acc_get_cuda_stream)
1310 (acc_set_cuda_stream): Likewise.
1311 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1312 (acc_init, acc_set_device_type, acc_get_device_type)
1313 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1314 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1315 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1316 (acc_unmap_data, present_create_copy, delete_copyout)
1317 (update_dev_host): Likewise.
1318 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1319 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1320 Likewise.
1321 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1322 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1323 Likewise.
1324 * libgomp.texi: Update.
1325 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1326 file.
1327 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1329 Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1331 Likewise.
1332 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1333 Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1335 Likewise.
1336
1337 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1338
1339 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1340 (struct goacc_asyncqueue_list): Likewise.
1341 (goacc_aq): Likewise.
1342 (goacc_aq_list): Likewise.
1343 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1344 (GOMP_OFFLOAD_openacc_async_test): Remove.
1345 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1346 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1347 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1348 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1349 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1350 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1351 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1352 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1353 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1354 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1355 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1356 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1357 (GOMP_OFFLOAD_openacc_async_test): Declare.
1358 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1359 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1360 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1361 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1362 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1363
1364 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1365 (gomp_acc_insert_pointer): Adjust declaration.
1366 (gomp_copy_host2dev): New declaration.
1367 (gomp_copy_dev2host): Likewise.
1368 (gomp_map_vars_async): Likewise.
1369 (gomp_unmap_tgt): Likewise.
1370 (gomp_unmap_vars_async): Likewise.
1371 (gomp_fini_device): Likewise.
1372
1373 * oacc-async.c (get_goacc_thread): New function.
1374 (get_goacc_thread_device): New function.
1375 (lookup_goacc_asyncqueue): New function.
1376 (get_goacc_asyncqueue): New function.
1377 (acc_async_test): Adjust code to use new async design.
1378 (acc_async_test_all): Likewise.
1379 (acc_wait): Likewise.
1380 (acc_wait_async): Likewise.
1381 (acc_wait_all): Likewise.
1382 (acc_wait_all_async): Likewise.
1383 (goacc_async_free): New function.
1384 (goacc_init_asyncqueues): Likewise.
1385 (goacc_fini_asyncqueues): Likewise.
1386 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1387 design.
1388 (acc_set_cuda_stream): Likewise.
1389 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1390 (host_openacc_register_async_cleanup): Remove.
1391 (host_openacc_async_exec): New function.
1392 (host_openacc_async_test): Adjust parameters.
1393 (host_openacc_async_test_all): Remove.
1394 (host_openacc_async_wait): Remove.
1395 (host_openacc_async_wait_async): Remove.
1396 (host_openacc_async_wait_all): Remove.
1397 (host_openacc_async_wait_all_async): Remove.
1398 (host_openacc_async_set_async): Remove.
1399 (host_openacc_async_synchronize): New function.
1400 (host_openacc_async_serialize): New function.
1401 (host_openacc_async_host2dev): New function.
1402 (host_openacc_async_dev2host): New function.
1403 (host_openacc_async_queue_callback): New function.
1404 (host_openacc_async_construct): New function.
1405 (host_openacc_async_destruct): New function.
1406 (struct gomp_device_descr host_dispatch): Remove initialization of old
1407 interface, add initialization of new async sub-struct.
1408 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1409 (goacc_attach_host_thread_to_device): Remove old async code usage.
1410 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1411 (goacc_fini_asyncqueues): Likewise.
1412 (goacc_async_copyout_unmap_vars): Likewise.
1413 (goacc_async_free): Likewise.
1414 (get_goacc_asyncqueue): Likewise.
1415 (lookup_goacc_asyncqueue): Likewise.
1416 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1417 design.
1418 (present_create_copy): Adjust code to use new async design.
1419 (delete_copyout): Likewise.
1420 (update_dev_host): Likewise.
1421 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1422 async design.
1423 (gomp_acc_remove_pointer): Adjust code to use new async design.
1424 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1425 design.
1426 (GOACC_enter_exit_data): Likewise.
1427 (goacc_wait): Likewise.
1428 (GOACC_update): Likewise.
1429 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1430 when called, warn as obsolete in comment.
1431 * target.c (goacc_device_copy_async): New function.
1432 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1433 add goacc_device_copy_async case.
1434 (gomp_copy_dev2host): Likewise.
1435 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1436 (gomp_map_pointer): Likewise.
1437 (gomp_map_fields_existing): Likewise.
1438 (gomp_map_vars_internal): New always_inline function, renamed from
1439 gomp_map_vars.
1440 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1441 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1442 passing goacc_asyncqueue argument.
1443 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1444 (gomp_unref_tgt): New function.
1445 (gomp_unmap_vars_internal): New always_inline function, renamed from
1446 gomp_unmap_vars.
1447 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1448 (gomp_unmap_vars_async): Implement by calling
1449 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1450 (gomp_fini_device): New function.
1451 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1452 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1453 new async interface.
1454 (gomp_target_fini): Adjust code to call gomp_fini_device.
1455
1456 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1457 (struct ptx_stream): Remove.
1458 (struct nvptx_thread): Remove current_stream field.
1459 (cuda_map_create): Remove.
1460 (cuda_map_destroy): Remove.
1461 (map_init): Remove.
1462 (map_fini): Remove.
1463 (map_pop): Remove.
1464 (map_push): Remove.
1465 (struct goacc_asyncqueue): Define.
1466 (struct nvptx_callback): Define.
1467 (struct ptx_free_block): Define.
1468 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1469 stream_lock, and next fields.
1470 (enum ptx_event_type): Remove.
1471 (struct ptx_event): Remove.
1472 (ptx_event_lock): Remove.
1473 (ptx_events): Remove.
1474 (init_streams_for_device): Remove.
1475 (fini_streams_for_device): Remove.
1476 (select_stream_for_async): Remove.
1477 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1478 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1479 case.
1480 (nvptx_open_device): Add free_blocks initialization, remove
1481 init_streams_for_device call.
1482 (nvptx_close_device): Remove fini_streams_for_device call, add
1483 free_blocks destruct code.
1484 (event_gc): Remove.
1485 (event_add): Remove.
1486 (nvptx_exec): Adjust parameters and code.
1487 (nvptx_free): Likewise.
1488 (nvptx_host2dev): Remove.
1489 (nvptx_dev2host): Remove.
1490 (nvptx_set_async): Remove.
1491 (nvptx_async_test): Remove.
1492 (nvptx_async_test_all): Remove.
1493 (nvptx_wait): Remove.
1494 (nvptx_wait_async): Remove.
1495 (nvptx_wait_all): Remove.
1496 (nvptx_wait_all_async): Remove.
1497 (nvptx_get_cuda_stream): Remove.
1498 (nvptx_set_cuda_stream): Remove.
1499 (GOMP_OFFLOAD_alloc): Adjust code.
1500 (GOMP_OFFLOAD_free): Likewise.
1501 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1502 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1503 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1504 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1505 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1506 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1507 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1508 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1509 (cuda_free_argmem): New function.
1510 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1511 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1512 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1513 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1514 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1515 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1516 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1517 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1518 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1519 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1520 (cuda_callback_wrapper): New function.
1521 (cuda_memcpy_sanity_check): New function.
1522 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1523 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1524 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1525 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1526
1527 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1528
1529 PR target/87835
1530 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1531
1532 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1533
1534 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1535
1536 2019-03-27 Kevin Buettner <kevinb@redhat.com>
1537
1538 * team.c (gomp_team_start): Initialize pool->threads[0].
1539
1540 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1541
1542 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1543 "-foffload=$offload_target".
1544 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1545 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1546 * testsuite/lib/libgomp.exp
1547 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1548 as (conceptually) merged into
1549 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1550 users.
1551
1552 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1553 * testsuite/libgomp-test-support.exp.in: Adjust.
1554 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1555 openacc_device_types_s.
1556 (offload_target_to_openacc_device_type): New proc.
1557 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1558 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1559 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1560 * Makefile.in: Regenerate.
1561 * configure: Likewise.
1562 * testsuite/Makefile.in: Likewise.
1563
1564 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1565 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1566 instead of OFFLOAD_TARGETS.
1567 * target.c (gomp_target_init): Adjust.
1568 * testsuite/libgomp-test-support.exp.in: Likewise.
1569 * testsuite/lib/libgomp.exp: Likewise. Populate
1570 openacc_device_types_s instead of offload_targets_s_openacc.
1571 (check_effective_target_openacc_nvidia_accel_selected)
1572 (check_effective_target_openacc_host_selected): Adjust.
1573 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1574 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1575 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1576 * Makefile.in: Regenerate.
1577 * config.h.in: Likewise.
1578 * configure: Likewise.
1579 * testsuite/Makefile.in: Likewise.
1580
1581 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1582 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1583 "offloading: supported, but hardware not accessible".
1584 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1585 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1586
1587 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1588
1589 PR c/87924
1590 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1591 goacc_wait().
1592 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1593 and related adjustment.
1594
1595 2019-01-30 Jakub Jelinek <jakub@redhat.com>
1596
1597 PR c++/88988
1598 * testsuite/libgomp.c++/pr88988.C: New test.
1599
1600 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1601
1602 PR middle-end/89002
1603 * testsuite/libgomp.c/pr89002.c: New test.
1604
1605 2019-01-28 Richard Biener <rguenther@suse.de>
1606
1607 PR testsuite/89064
1608 PR tree-optimization/86865
1609 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1610
1611 2019-01-24 Tom de Vries <tdevries@suse.de>
1612
1613 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1614 once instantiated_devices drops to 0.
1615
1616 2019-01-23 Tom de Vries <tdevries@suse.de>
1617
1618 PR target/PR88946
1619 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1620 cuMemFree.
1621 (nvptx_exec): Don't call map_push if mapnum == 0.
1622 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1623
1624 2019-01-23 Tom de Vries <tdevries@suse.de>
1625
1626 PR target/88941
1627 PR target/88939
1628 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1629 (map_fini): Remove "assert (!s->map->active)".
1630 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1631
1632 2019-01-23 Tom de Vries <tdevries@suse.de>
1633
1634 PR target/87835
1635 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1636 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1637
1638 2019-01-15 Tom de Vries <tdevries@suse.de>
1639
1640 PR target/80547
1641 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1642 New test.
1643
1644 2019-01-12 Tom de Vries <tdevries@suse.de>
1645
1646 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1647 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1648 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1649 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1650
1651 2019-01-12 Tom de Vries <tdevries@suse.de>
1652
1653 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1654
1655 2019-01-12 Tom de Vries <tdevries@suse.de>
1656
1657 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1658 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1659 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1660
1661 2019-01-12 Tom de Vries <tdevries@suse.de>
1662
1663 PR target/85486
1664 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1665 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1666
1667 2019-01-12 Tom de Vries <tdevries@suse.de>
1668
1669 PR target/85381
1670 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1671 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1672
1673 2019-01-12 Tom de Vries <tdevries@suse.de>
1674
1675 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1676 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1677 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1678
1679 2019-01-12 Tom de Vries <tdevries@suse.de>
1680
1681 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1682 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1683 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1684
1685 2019-01-12 Tom de Vries <tdevries@suse.de>
1686
1687 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1688 resources diagnostic.
1689
1690 2019-01-12 Tom de Vries <tdevries@suse.de>
1691
1692 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1693 vector length to be 128.
1694 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1695 length 2097152 to be reduced to 1024 instead of 32.
1696
1697 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1698 James Norris <jnorris@codesourcery.com>
1699
1700 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1701 Library Routines", and "Environment Variables".
1702
1703 2019-01-11 Tom de Vries <tdevries@suse.de>
1704
1705 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1706 num_workers 16.
1707
1708 2019-01-11 Tom de Vries <tdevries@suse.de>
1709
1710 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1711 -foffload=-w.
1712 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1713 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1714 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1715 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1716
1717 2019-01-11 Tom de Vries <tdevries@suse.de>
1718
1719 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1720 test.
1721
1722 2019-01-10 Nathan Sidwell <nathan@acm.org>
1723 Julian Brown <julian@codesourcery.com>
1724
1725 PR lto/71959
1726 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1727 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1728
1729 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1730
1731 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1732 and paste code.
1733
1734 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1735
1736 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1737 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1738 write.
1739
1740 2019-01-09 Tom de Vries <tdevries@suse.de>
1741
1742 PR target/88756
1743 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1744 #define instead of "const int".
1745 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1746 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1747 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1748 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1749
1750 2019-01-09 Tom de Vries <tdevries@suse.de>
1751
1752 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1753 one worker.
1754
1755 2019-01-07 Tom de Vries <tdevries@suse.de>
1756
1757 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1758 GOMP_OPENACC_DIM argument.
1759
1760 2019-01-03 Tom de Vries <tdevries@suse.de>
1761
1762 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1763 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1764
1765 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1766
1767 Update copyright years.
1768
1769 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1770
1771 * libgomp.texi: Bump @copying's copyright year.
1772
1773 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1774
1775 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1776 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1777 (GOACC_declare): Redefine the "device" argument to "flags".
1778
1779 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1780 Cesar Philippidis <cesar@codesourcery.com>
1781
1782 * target.c (struct gomp_coalesce_chunk): New structure.
1783 (struct gomp_coalesce_buf): Update the chunks member to use that
1784 type. Adjust all users.
1785
1786 2018-12-19 Tom de Vries <tdevries@suse.de>
1787
1788 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1789 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1790 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1791
1792 2018-12-19 Tom de Vries <tdevries@suse.de>
1793
1794 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1795 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1796 gcc/testsuite/gcc.dg/goacc.
1797 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1798
1799 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1800 Chung-Lin Tang <cltang@codesourcery.com>
1801
1802 * oacc-mem.c (acc_present_or_create): Remove definition and change
1803 to alias of acc_create.
1804 (acc_present_or_copyin): Remove definition and change to alias of
1805 acc_copyin.
1806 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1807 of acc_present_or_create.
1808 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1809 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1810 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1811 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1812 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1813 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1814 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1815 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1816 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1817 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1818 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1819 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1820 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1821 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1822 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1823 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1824
1825 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1826
1827 PR libgomp/88495
1828 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1829 "identical parameters".
1830 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1831 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1832
1833 PR libgomp/88484
1834 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1835 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1836
1837 PR libgomp/88407
1838 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1839 (nvptx_wait_async): Unseen async-argument is a no-op.
1840 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1841 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1842 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1843 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1844 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1845 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1846 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1847 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1848 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1849
1850 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1851 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1852
1853 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1854
1855 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1856 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1857 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1858
1859 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1860
1861 PR libgomp/88370
1862 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1863 (acc_set_cuda_stream): Clarify.
1864 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1865 "async_valid_p".
1866 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1867 acc_async_sync".
1868 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1869 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1870 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1871 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1872
1873 2018-12-14 Tom de Vries <tdevries@suse.de>
1874
1875 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1876 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1877 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1878 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1879 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1880
1881 2018-12-13 Tom de Vries <tdevries@suse.de>
1882
1883 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1884 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1885 * fortran.c (omp_display_affinity_): ... here.
1886 * libgomp.h (gomp_print_string): Declare.
1887 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1888 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1889 write.
1890
1891 2018-12-13 Jakub Jelinek <jakub@redhat.com>
1892
1893 PR libgomp/88460
1894 * testsuite/libgomp.c++/for-24.C (results): Include it in
1895 omp declare target region.
1896 (main): Use map (always, tofrom: results) instead of
1897 map (tofrom: results).
1898
1899 2018-12-12 Jakub Jelinek <jakub@redhat.com>
1900
1901 PR fortran/88463
1902 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1903 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1904
1905 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1906
1907 2018-12-12 Andreas Schwab <schwab@suse.de>
1908
1909 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1910 clobbered.
1911
1912 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1913
1914 PR fortran/88411
1915 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1916
1917 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1918 Jakub Jelinek <jakub@redhat.com>
1919
1920 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1921 devicep->host2dev_func.
1922
1923 2018-12-08 Jakub Jelinek <jakub@redhat.com>
1924
1925 PR libgomp/87995
1926 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1927 tls_runtime effective target.
1928 (t): New threadprivate variable.
1929 (main): Set t in threads which execute iterations of the worksharing
1930 loop. Propagate that to the task after the loop and don't abort
1931 if the current taskgroup hasn't been cancelled.
1932
1933 2018-12-02 Jakub Jelinek <jakub@redhat.com>
1934
1935 * testsuite/libgomp.c/task-reduction-3.c: New test.
1936
1937 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1938
1939 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1940
1941 PR libgomp/88288
1942 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1943 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1944
1945 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1946
1947 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1948
1949 2018-10-19 Richard Biener <rguenther@suse.de>
1950
1951 PR tree-optimization/88182
1952 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1953
1954 2018-11-26 Jakub Jelinek <jakub@redhat.com>
1955
1956 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1957 (RUNTEST): Don't define.
1958 (RUNTESTDEFAULTFLAGS): Add.
1959 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1960 (distclean-am): Depend on distclean-DEJAGNU.
1961 (check-am): If -j% option is present in MFLAGS and if
1962 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1963 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1964 * testsuite/Makefile.in: Regenerated.
1965
1966 2018-11-26 Richard Biener <rguenther@suse.de>
1967
1968 PR tree-optimization/88182
1969 * testsuite/libgomp.c++/pr88182.C: New testcase.
1970
1971 2018-11-20 Jakub Jelinek <jakub@redhat.com>
1972
1973 PR bootstrap/88106
1974 * config/mingw32/affinity-fmt.c: New file.
1975
1976 2018-11-09 Jakub Jelinek <jakub@redhat.com>
1977
1978 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1979 (gomp_display_affinity): Use __builtin_choose_expr to handle
1980 properly handle argument having integral, or pointer or some other
1981 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1982 with uint64_t type instead of %llx and unsigned long long.
1983
1984 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1985 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1986
1987 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1988
1989 * affinity.c: Include <string.h>, <stdio.h>.
1990 (gomp_display_affinity_place): Remove cpusetp.
1991 * teams.c: Include <limits.h>.
1992
1993 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1994
1995 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1996 in_reduction clause for s[0].
1997
1998 * affinity.c (gomp_display_affinity_place): New function.
1999 * affinity-fmt.c: New file.
2000 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2001 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2002 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2003 Move these functions to ...
2004 * config/nvptx/teams.c: ... here. New file.
2005 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2006 New functions.
2007 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2008 functions.
2009 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2010 and _aligned_malloc.
2011 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2012 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2013 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2014 gomp_affinity_format_len): New variables.
2015 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2016 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2017 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2018 modifiers. Display (non-default) chunk sizes. Print
2019 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2020 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2021 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2022 * fortran.c: Include stdio.h and string.h.
2023 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2024 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2025 (omp_set_affinity_format_, omp_get_affinity_format_,
2026 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2027 omp_pause_resource_all_): New functions.
2028 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2029 switch.
2030 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2031 functions to ...
2032 * teams.c: ... here. New file.
2033 * libgomp_g.h: Include gstdint.h.
2034 (GOMP_loop_nonmonotonic_runtime_start,
2035 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2036 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2037 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2038 GOMP_parallel_loop_nonmonotonic_runtime,
2039 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2040 GOMP_loop_ull_nonmonotonic_runtime_start,
2041 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2042 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2043 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2044 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2045 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2046 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2047 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2048 GOMP_teams_reg): Declare.
2049 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2050 gomp_aligned_alloc uses fallback implementation.
2051 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2052 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2053 (struct gomp_doacross_work_share): Add extra field.
2054 (struct gomp_work_share): Add task_reductions field.
2055 (struct gomp_taskgroup): Add workshare and reductions fields.
2056 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2057 (gomp_thread_handle): New typedef.
2058 (gomp_display_affinity_place, gomp_set_affinity_format,
2059 gomp_display_string, gomp_display_affinity,
2060 gomp_display_affinity_thread): Declare.
2061 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2062 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2063 gomp_workshare_task_reduction_register): Declare.
2064 (gomp_team_start): Add taskgroup argument.
2065 (gomp_pause_host): Declare.
2066 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2067 to size_t.
2068 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2069 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2070 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2071 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2072 GOMP_loop_ull_doacross_start,
2073 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2074 GOMP_loop_maybe_nonmonotonic_runtime_next,
2075 GOMP_loop_maybe_nonmonotonic_runtime_start,
2076 GOMP_loop_nonmonotonic_runtime_next,
2077 GOMP_loop_nonmonotonic_runtime_start,
2078 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2079 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2080 GOMP_loop_ull_nonmonotonic_runtime_next,
2081 GOMP_loop_ull_nonmonotonic_runtime_start,
2082 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2083 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2084 GOMP_taskgroup_reduction_register,
2085 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2086 GOMP_teams_reg and GOMP_taskwait_depend.
2087 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2088 omp_{capture,display}_affinity{,_}, and
2089 omp_[gs]et_affinity_format{,_}.
2090 * loop.c: Include string.h.
2091 (GOMP_loop_runtime_next): Add ialias.
2092 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2093 (gomp_loop_static_start, gomp_loop_dynamic_start,
2094 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2095 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2096 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2097 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2098 or gomp_doacross_init callers.
2099 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2100 GOMP_loop_doacross_start): New functions.
2101 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2102 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2103 Mask off GFS_MONOTONIC bit.
2104 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2105 GOMP_loop_maybe_nonmonotonic_runtime_start,
2106 GOMP_loop_nonmonotonic_runtime_next,
2107 GOMP_loop_nonmonotonic_runtime_start,
2108 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2109 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2110 functions.
2111 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2112 gomp_team_start.
2113 * loop_ull.c: Include string.h.
2114 (GOMP_loop_ull_runtime_next): Add ialias.
2115 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2116 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2117 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2118 gomp_loop_ull_ordered_dynamic_start,
2119 gomp_loop_ull_ordered_guided_start,
2120 gomp_loop_ull_doacross_static_start,
2121 gomp_loop_ull_doacross_dynamic_start,
2122 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2123 and gomp_doacross_ull_init callers.
2124 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2125 GOMP_loop_ull_doacross_start): New functions.
2126 (GOMP_loop_ull_runtime_start,
2127 GOMP_loop_ull_ordered_runtime_start,
2128 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2129 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2130 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2131 GOMP_loop_ull_nonmonotonic_runtime_next,
2132 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2133 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2134 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2135 (omp_pause_resource_t, omp_depend_t): New typedefs.
2136 (enum omp_lock_hint_t): Renamed to ...
2137 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2138 enumerators using numbers and omp_lock_hint_* as their aliases.
2139 (omp_lock_hint_t): New typedef. Rename to ...
2140 (omp_sync_hint_t): ... this.
2141 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2142 omp_sync_hint_t instead of omp_lock_hint_t.
2143 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2144 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2145 Declare.
2146 (omp_target_is_present, omp_target_disassociate_ptr):
2147 Change first argument from void * to const void *.
2148 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2149 from void * to const void *.
2150 (omp_target_associate_ptr): Change first and second arguments from
2151 void * to const void *.
2152 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2153 omp_pause_hard): New parameters.
2154 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2155 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2156 New interfaces.
2157 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2158 omp_pause_hard): New parameters.
2159 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2160 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2161 New externals.
2162 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2163 EXTRA argument. If not needed to prepare array, if extra is 0,
2164 clear ws->doacross, otherwise allocate just doacross structure and
2165 extra payload. If array is needed, allocate also extra payload.
2166 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2167 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2168 doacross == NULL.
2169 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2170 gomp_team_start.
2171 (GOMP_parallel): Likewise. Formatting fix.
2172 (GOMP_parallel_reductions): New function.
2173 (GOMP_cancellation_point): If taskgroup has workshare
2174 flag set, check cancelled of prev taskgroup if any.
2175 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2176 on prev taskgroup if any.
2177 * sections.c: Include string.h.
2178 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2179 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2180 (GOMP_sections2_start): New function.
2181 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2182 Pass NULL as taskgroup to gomp_team_start.
2183 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2184 gomp_work_share_start callers.
2185 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2186 If taskgroup has workshare flag set, check cancelled on prev
2187 taskgroup if any. Guard all cancellation tests with
2188 gomp_cancel_var test.
2189 (omp_target_is_present, omp_target_disassociate_ptr):
2190 Change ptr argument from void * to const void *.
2191 (omp_target_memcpy): Change src argument from void * to const void *.
2192 (omp_target_memcpy_rect): Likewise.
2193 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2194 instead of char * where needed.
2195 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2196 from void * to const void *.
2197 (omp_pause_resource, omp_pause_resource_all): New functions.
2198 * task.c (gomp_task_handle_depend): Handle new depend array format
2199 in addition to the old. Handle mutexinoutset kinds the same as
2200 inout for now, handle unspecified kinds.
2201 (gomp_create_target_task): If taskgroup has workshare flag set, check
2202 cancelled on prev taskgroup if any. Guard all cancellation tests with
2203 gomp_cancel_var test. Handle new depend array format count in
2204 addition to the old.
2205 (GOMP_task): Likewise. Adjust function comment.
2206 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2207 cancelled on prev taskgroup if any. Guard all cancellation tests with
2208 gomp_cancel_var test.
2209 (GOMP_taskwait_depend): New function.
2210 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2211 format in addition to the old. Handle mutexinoutset kinds the same as
2212 inout for now, handle unspecified kinds. Fix a function comment typo.
2213 (gomp_taskgroup_init): New function.
2214 (GOMP_taskgroup_start): Use it.
2215 (gomp_reduction_register, gomp_create_artificial_team,
2216 GOMP_taskgroup_reduction_register,
2217 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2218 gomp_parallel_reduction_register,
2219 gomp_workshare_task_reduction_register,
2220 gomp_workshare_taskgroup_start,
2221 GOMP_workshare_task_reduction_unregister): New functions.
2222 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2223 check cancelled on prev taskgroup if any. Guard all cancellation
2224 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2225 by calling GOMP_taskgroup_reduction_register.
2226 * team.c (gomp_thread_attr): Remove comment.
2227 (struct gomp_thread_start_data): Add handle field.
2228 (gomp_thread_start): Call pthread_detach.
2229 (gomp_new_team): Adjust gomp_init_work_share caller.
2230 (gomp_free_pool_helper): Call pthread_detach.
2231 (gomp_team_start): Add taskgroup argument, initialize implicit
2232 tasks' taskgroup field to that. Don't call
2233 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2234 (gomp_team_end): Determine nesting by thr->ts.level != 0
2235 rather than thr->ts.team != NULL.
2236 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2237 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2238 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2239 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2240 if more than 1 allocate also extra payload at the end of array. Never
2241 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2242 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2243 return true instead of ws.
2244 * Makefile.in: Regenerated.
2245 * configure: Regenerated.
2246 * config.h.in: Regenerated.
2247 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2248 in some cases.
2249 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2250 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2251 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2252 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2253 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2254 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2255 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2256 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2257 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2258 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2259 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2260 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2261 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2262 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2263 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2264 define a different N(test), don't define N(f0) to N(f14), but instead
2265 define N(f20) to N(f34) using != comparisons.
2266 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2267 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2268 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2269 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2270 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2271 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2272 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2273 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2274 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2275 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2276 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2277 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2278 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2279 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2280 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2281 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2282 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2283 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2284 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2285 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2286 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2287 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2288 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2289 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2290 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2291 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2292 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2293 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2294 * testsuite/libgomp.c++/depend-1.C: New test.
2295 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2296 * testsuite/libgomp.c++/depobj-1.C: New test.
2297 * testsuite/libgomp.c++/for-16.C: New test.
2298 * testsuite/libgomp.c++/for-21.C: New test.
2299 * testsuite/libgomp.c++/for-22.C: New test.
2300 * testsuite/libgomp.c++/for-23.C: New test.
2301 * testsuite/libgomp.c++/for-24.C: New test.
2302 * testsuite/libgomp.c++/for-25.C: New test.
2303 * testsuite/libgomp.c++/for-26.C: New test.
2304 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2305 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2306 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2307 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2308 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2309 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2310 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2311 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2312 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2313 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2314 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2315 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2316 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2317 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2318 * testsuite/libgomp.c/task-reduction-1.c: New test.
2319 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2320 * testsuite/libgomp.c/task-reduction-2.c: New test.
2321 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2322 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2323 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2324 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2325 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2326 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2327 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2328 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2329 * testsuite/libgomp.c/teams-1.c: New test.
2330 * testsuite/libgomp.c/teams-2.c: New test.
2331 * testsuite/libgomp.c/thread-limit-4.c: New test.
2332 * testsuite/libgomp.c/thread-limit-5.c: New test.
2333 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2334
2335 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2336
2337 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2338 acc_memcpy_to/from_device functions, now with async parameter.
2339 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2340 (acc_memcpy_from_device): Likewise.
2341 (acc_memcpy_to_device_async): New API function.
2342 (acc_memcpy_from_device_async): Likewise.
2343 (present_create_copy): Add async parameter and async setting/unsetting.
2344 (acc_create): Adjust present_create_copy call.
2345 (acc_copyin): Likewise.
2346 (acc_present_or_create): Likewise.
2347 (acc_present_or_copyin): Likewise.
2348 (acc_create_async): New API function.
2349 (acc_copyin_async): New API function.
2350 (delete_copyout): Add async parameter and async setting/unsetting.
2351 (acc_delete): Adjust delete_copyout call.
2352 (acc_copyout): Likewise.
2353 (acc_delete_async): New API function.
2354 (acc_copyout_async): Likewise.
2355 (update_dev_host): Add async parameter and async setting/unsetting.
2356 (acc_update_device): Adjust update_dev_host call.
2357 (acc_update_self): Likewise.
2358 (acc_update_device_async): New API function.
2359 (acc_update_self_async): Likewise.
2360 * openacc.h (acc_copyin_async): Declare new API function.
2361 (acc_create_async): Likewise.
2362 (acc_copyout_async): Likewise.
2363 (acc_delete_async): Likewise.
2364 (acc_update_device_async): Likewise.
2365 (acc_update_self_async): Likewise.
2366 (acc_memcpy_to_device_async): Likewise.
2367 (acc_memcpy_from_device_async): Likewise.
2368 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2369 (acc_copyin_async_64_h): New subroutine.
2370 (acc_copyin_async_array_h): New subroutine.
2371 (acc_create_async_32_h): New subroutine.
2372 (acc_create_async_64_h): New subroutine.
2373 (acc_create_async_array_h): New subroutine.
2374 (acc_copyout_async_32_h): New subroutine.
2375 (acc_copyout_async_64_h): New subroutine.
2376 (acc_copyout_async_array_h): New subroutine.
2377 (acc_delete_async_32_h): New subroutine.
2378 (acc_delete_async_64_h): New subroutine.
2379 (acc_delete_async_array_h): New subroutine.
2380 (acc_update_device_async_32_h): New subroutine.
2381 (acc_update_device_async_64_h): New subroutine.
2382 (acc_update_device_async_array_h): New subroutine.
2383 (acc_update_self_async_32_h): New subroutine.
2384 (acc_update_self_async_64_h): New subroutine.
2385 (acc_update_self_async_array_h): New subroutine.
2386 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2387 (acc_copyin_async_64_h): New subroutine.
2388 (acc_copyin_async_array_h): New subroutine.
2389 (acc_create_async_32_h): New subroutine.
2390 (acc_create_async_64_h): New subroutine.
2391 (acc_create_async_array_h): New subroutine.
2392 (acc_copyout_async_32_h): New subroutine.
2393 (acc_copyout_async_64_h): New subroutine.
2394 (acc_copyout_async_array_h): New subroutine.
2395 (acc_delete_async_32_h): New subroutine.
2396 (acc_delete_async_64_h): New subroutine.
2397 (acc_delete_async_array_h): New subroutine.
2398 (acc_update_device_async_32_h): New subroutine.
2399 (acc_update_device_async_64_h): New subroutine.
2400 (acc_update_device_async_array_h): New subroutine.
2401 (acc_update_self_async_32_h): New subroutine.
2402 (acc_update_self_async_64_h): New subroutine.
2403 (acc_update_self_async_array_h): New subroutine.
2404 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2405 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2406 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2407 acc_memcpy_to_device_async*, acc_update_device_async*, and
2408 acc_update_self_async* entries.
2409 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2410 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2411 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2412
2413 2018-10-31 Joseph Myers <joseph@codesourcery.com>
2414
2415 PR bootstrap/82856
2416 * Makefile.am: Include multilib.am
2417 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2418 (CLEANFILES): Remove libgomp.info.
2419 * configure.ac: Remove AC_PREREQ.
2420 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2421 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2422 Regenerate.
2423
2424 2018-10-29 Joseph Myers <joseph@codesourcery.com>
2425 Julian Brown <julian@codesourcery.com>
2426
2427 * testsuite/libgomp.oacc-c++/this.C: New.
2428
2429 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2430
2431 * plugin/plugin-nvptx.c (struct cuda_map): New.
2432 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2433 h_tail with (cuda_map *) map.
2434 (cuda_map_create): New function.
2435 (cuda_map_destroy): New function.
2436 (map_init): Update to use a linked list of cuda_map objects.
2437 (map_fini): Likewise.
2438 (map_pop): Likewise.
2439 (map_push): Likewise. Return CUdeviceptr instead of void.
2440 (init_streams_for_device): Remove stales references to ptx_stream
2441 members.
2442 (select_stream_for_async): Likewise.
2443 (nvptx_exec): Update call to map_init.
2444
2445 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2446 Julian Brown <julian@codesourcery.com>
2447
2448 PR middle-end/86336
2449 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2450
2451 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2452 Thomas Koenig <tkoenig@gcc.gnu.org>
2453
2454 PR fortran/25829
2455 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2456 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2457 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2458 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2459 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2460 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2461 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2462
2463 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2464 Tom de Vries <tdevries@suse.de>
2465
2466 PR target/85590
2467 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2468 (cuOccupancyMaxPotentialBlockSize): Declare.
2469 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2470 CUDA_ONE_CALL_MAYBE_NULL.
2471 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2472 CUoccupancyB2DSize and declare
2473 cuOccupancyMaxPotentialBlockSize.
2474 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2475 default num_gangs and num_workers when the driver supports it.
2476
2477 2018-08-08 Tom de Vries <tdevries@suse.de>
2478
2479 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2480 CUDA_ONE_CALL_MAYBE_NULL.
2481 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2482 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2483 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2484 are not found.
2485
2486 2018-08-08 Tom de Vries <tdevries@suse.de>
2487
2488 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2489 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2490 present.
2491
2492 2018-08-08 Tom de Vries <tdevries@suse.de>
2493
2494 * plugin/plugin-nvptx.c
2495 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2496 (nvptx_open_device): Use
2497 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2498
2499 2018-08-08 Tom de Vries <tdevries@suse.de>
2500
2501 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2502 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2503
2504 2018-08-07 Tom de Vries <tdevries@suse.de>
2505
2506 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2507 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2508 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2509 corresponding call in CUDA_ONE_CALL. Add def/undef of
2510 CUDA_ONE_CALL_MAYBE_NULL.
2511 (CUDA_CALL_EXISTS): Define.
2512
2513 2018-08-07 Tom de Vries <tdevries@suse.de>
2514
2515 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2516 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2517 corresponding undefs right after.
2518
2519 2018-08-04 Tom de Vries <tdevries@suse.de>
2520
2521 * plugin/configfrag.ac: For --without-cuda-driver, set
2522 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2523 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2524 * configure: Regenerate.
2525
2526 2018-08-02 Tom de Vries <tdevries@suse.de>
2527
2528 PR target/86660
2529 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2530 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2531 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2532 Same.
2533 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2534 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2535 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2536
2537 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2538 Thomas Schwinge <thomas@codesourcery.com>
2539
2540 * config/nvptx/oacc-parallel.c: Truncate.
2541
2542 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2543 James Norris <jnorris@codesourcery.com>
2544
2545 * plugin/plugin-nvptx.c (struct map): Removed.
2546 (map_init, map_pop): Remove use of struct map.
2547 (map_push): Likewise and change argument list.
2548 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2549
2550 2018-08-01 Tom de Vries <tdevries@suse.de>
2551
2552 * plugin/cuda-lib.def: New file. Factor out of ...
2553 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2554 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2555 using CUDA_CALLS.
2556
2557 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2558
2559 Revert 'AsyncI/O patch committed'.
2560 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2561 Thomas Koenig <tkoenig@gcc.gnu.org>
2562
2563 PR fortran/25829
2564 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2565 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2566 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2567 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2568 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2569 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2570 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2571
2572 2018-07-30 Tom de Vries <tdevries@suse.de>
2573
2574 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2575 (nvptx_exec): Ensure worker and vector default dims don't exceed
2576 targ_fn->max_threads_per_block.
2577
2578 2018-07-30 Tom de Vries <tdevries@suse.de>
2579
2580 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2581 (nvptx_open_device): Init default_dims for device.
2582 (nvptx_exec): Use default_dims from device.
2583
2584 2018-07-26 Jakub Jelinek <jakub@redhat.com>
2585
2586 PR testsuite/86660
2587 * testsuite/libgomp.c++/for-15.C (results): Include it in
2588 omp declare target region.
2589 (main): Use map (always, tofrom: results) instead of
2590 map (tofrom: results).
2591
2592 PR middle-end/86660
2593 * testsuite/libgomp.c/pr86660.c: New test.
2594
2595 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2596 Tom de Vries <tdevries@suse.de>
2597
2598 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2599 sufficient resources to launch a kernel, and give a hint on how to fix
2600 it.
2601
2602 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2603 Tom de Vries <tdevries@suse.de>
2604
2605 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2606 max_threads_per_block and max_threads_per_multiprocessor fields.
2607 (nvptx_open_device): Initialize new fields.
2608 (nvptx_exec): Use num_sms, and new fields.
2609
2610 2018-07-26 Tom de Vries <tdevries@suse.de>
2611
2612 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2613 to correct locations. Remove xfail.
2614
2615 2018-07-26 Tom de Vries <tdevries@suse.de>
2616
2617 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2618 acc_wait. Move acc_async_test calls to correct locations. Remove
2619 xfail.
2620
2621 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2622 Thomas Koenig <tkoenig@gcc.gnu.org>
2623
2624 PR fortran/25829
2625 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2626 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2627 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2628 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2629 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2630 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2631 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2632
2633 2018-07-17 Jakub Jelinek <jakub@redhat.com>
2634
2635 PR middle-end/86542
2636 * testsuite/libgomp.c++/pr86542.C: New test.
2637
2638 PR middle-end/86539
2639 * testsuite/libgomp.c++/pr86539.C: New test.
2640
2641 2018-07-11 Jakub Jelinek <jakub@redhat.com>
2642
2643 PR c++/86443
2644 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2645 (results): Make sure the variable is not inside declare target region.
2646 (qux): Remove unused function.
2647
2648 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2649
2650 PR c++/86443
2651 * testsuite/libgomp.c++/for-15.C: New test.
2652
2653 2018-06-26 Jakub Jelinek <jakub@redhat.com>
2654
2655 PR c++/86291
2656 * testsuite/libgomp.c++/pr86291.C: New test.
2657
2658 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2659
2660 * libgomp.texi (Top): Move www.openmp.org to https.
2661 (Enabling OpenMP): Ditto.
2662 (omp_get_active_level): Ditto.
2663 (omp_get_ancestor_thread_num): Ditto.
2664 (omp_get_cancellation): Ditto.
2665 (omp_get_default_device): Ditto.
2666 (omp_get_dynamic): Ditto.
2667 (omp_get_level): Ditto.
2668 (omp_get_max_active_levels): Ditto.
2669 (omp_get_max_task_priority): Ditto.
2670 (omp_get_max_threads): Ditto.
2671 (omp_get_nested): Ditto.
2672 (omp_get_num_devices): Ditto.
2673 (omp_get_num_procs): Ditto.
2674 (omp_get_num_teams): Ditto.
2675 (omp_get_num_threads): Ditto.
2676 (omp_get_proc_bind): Ditto.
2677 (omp_get_schedule): Ditto.
2678 (omp_get_team_num): Ditto.
2679 (omp_get_team_size): Ditto.
2680 (omp_get_thread_limit): Ditto.
2681 (omp_get_thread_num): Ditto.
2682 (omp_in_parallel): Ditto.
2683 (omp_in_final): Ditto.
2684 (omp_is_initial_device): Ditto.
2685 (omp_set_default_device): Ditto.
2686 (omp_set_dynamic): Ditto.
2687 (omp_set_max_active_levels): Ditto.
2688 (omp_set_nested): Ditto.
2689 (omp_set_num_threads): Ditto.
2690 (omp_set_schedule): Ditto.
2691 (omp_init_lock): Ditto.
2692 (omp_set_lock): Ditto.
2693 (omp_test_lock): Ditto.
2694 (omp_unset_lock): Ditto.
2695 (omp_destroy_lock): Ditto.
2696 (omp_init_nest_lock): Ditto.
2697 (omp_set_nest_lock): Ditto.
2698 (omp_test_nest_lock): Ditto.
2699 (omp_unset_nest_lock): Ditto.
2700 (omp_destroy_nest_lock): Ditto.
2701 (omp_get_wtick): Ditto.
2702 (omp_get_wtime): Ditto.
2703 (OMP_CANCELLATION): Ditto.
2704 (OMP_DISPLAY_ENV): Ditto.
2705 (OMP_DEFAULT_DEVICE): Ditto.
2706 (OMP_DYNAMIC): Ditto.
2707 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2708 (OMP_MAX_TASK_PRIORITY): Ditto.
2709 (OMP_NESTED): Ditto.
2710 (OMP_NUM_THREADS): Ditto.
2711 (OMP_PROC_BIND): Ditto.
2712 (OMP_PLACES): Ditto.
2713 (OMP_STACKSIZE): Ditto.
2714 (OMP_SCHEDULE): Ditto.
2715 (OMP_THREAD_LIMIT): Ditto.
2716 (OMP_WAIT_POLICY): Ditto.
2717
2718 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2719 James Norris <jnorris@codesourcery.com>
2720 Julian Brown <julian@codesourcery.com>
2721 Thomas Schwinge <thomas@codesourcery.com>
2722 Tom de Vries <tom@codesourcery.com>
2723
2724 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2725 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2726 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2727 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2728 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2729 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2730 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2731 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2732 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2734 Likewise.
2735 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2736 Likewise.
2737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2738 Likewise.
2739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2740 Likewise.
2741 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2742 Likewise.
2743 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2744 Likewise.
2745 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2746 Likewise.
2747 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2748 Likewise.
2749 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2750 Likewise.
2751 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2752 Likewise.
2753 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2754 Likewise.
2755 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2756 Likewise.
2757 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2758 Likewise.
2759 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2760 Likewise.
2761 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2762 Likewise.
2763 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2764 Likewise.
2765 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2766 Likewise.
2767 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2768 Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2770 Likewise.
2771 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2772 Likewise.
2773 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2774 Likewise.
2775 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2776 Likewise.
2777 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2778 Likewise.
2779 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2780 Likewise.
2781 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2782 Likewise.
2783 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2784 Likewise.
2785 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2786 Likewise.
2787 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2788 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2789 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2790 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2791 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2792 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2793 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2794 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2795 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2796 Likewise.
2797 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2798 Likewise.
2799 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2800 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2801 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2802 Likewise.
2803 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2804 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2805 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2806 Likewise.
2807 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2808 Likewise.
2809 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2810 Likewise.
2811 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2812 Likewise.
2813 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2814 Likewise.
2815 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2816 Likewise.
2817 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2818 Likewise.
2819 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2820 Likewise.
2821 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2822 Likewise.
2823 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2824 Likewise.
2825 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2826 Likewise.
2827 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2828 Likewise.
2829 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2830 Likewise.
2831 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2832 Likewise.
2833 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2834 Likewise.
2835 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2836 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2837 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2838 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2839 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2840 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2841 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2842
2843 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2844 Thomas Schwinge <thomas@codesourcery.com>
2845 Cesar Philippidis <cesar@codesourcery.com>
2846
2847 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2848 (gomp_acc_remove_pointer): Update declaration.
2849 (gomp_acc_declare_allocate): Declare.
2850 (gomp_remove_var): Declare.
2851 * libgomp.map (OACC_2.5): Define.
2852 * oacc-mem.c (acc_map_data): Update refcount.
2853 (acc_unmap_data): Likewise.
2854 (present_create_copy): Likewise.
2855 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2856 (acc_copyin): Likewise.
2857 (FLAG_FINALIZE): Define.
2858 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2859 (acc_delete_finalize): New function.
2860 (acc_delete_finalize_async): New function.
2861 (acc_copyout_finalize): New function.
2862 (acc_copyout_finalize_async): New function.
2863 (gomp_acc_insert_pointer): Update refcounts.
2864 (gomp_acc_remove_pointer): Return if data is not present on the
2865 accelerator.
2866 * oacc-parallel.c (find_pset): Rename to find_pointer.
2867 (find_pointer): Add support for GOMP_MAP_POINTER.
2868 (handle_ftn_pointers): New function.
2869 (GOACC_parallel_keyed): Update refcounts of variables.
2870 (GOACC_enter_exit_data): Add support for finalized data mappings.
2871 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2872 of fortran arrays.
2873 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2874 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2875 for GOMP_MAP_FORCE_FROM.
2876 * openacc.f90 (module openacc_internal): Add
2877 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2878 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2879 acc_copyout_finalize and acc_delete_finalize.
2880 (acc_copyout_finalize_32_h): New subroutine.
2881 (acc_copyout_finalize_64_h): New subroutine.
2882 (acc_copyout_finalize_array_h): New subroutine.
2883 (acc_delete_finalize_32_h): New subroutine.
2884 (acc_delete_finalize_64_h): New subroutine.
2885 (acc_delete_finalize_array_h): New subroutine.
2886 * openacc.h (acc_copyout_finalize): Declare.
2887 (acc_copyout_finalize_async): Declare.
2888 (acc_delete_finalize): Declare.
2889 (acc_delete_finalize_async): Declare.
2890 * openacc_lib.h (acc_copyout_finalize): New interface.
2891 (acc_delete_finalize): New interface.
2892 * target.c (gomp_map_vars): Update dynamic_refcount.
2893 (gomp_remove_var): New function.
2894 (gomp_unmap_vars): Use it.
2895 (gomp_unload_image_from_device): Likewise.
2896 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2897 case to utilize OpenACC 2.5 data clause semantics.
2898 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2899 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2900 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2901 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2902 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2903 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2904 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2905 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2906 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2907 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2908 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2909 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2910 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2911 utilize OpenACC 2.5 data clause semantics.
2912 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2913 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2914 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2915 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2916 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2917 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2918 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2919 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2920 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2921
2922 2018-05-21 Janus Weil <janus@gcc.gnu.org>
2923
2924 PR fortran/85841
2925 PR testsuite/85865
2926 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2927 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2928 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2929 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2930 * testsuite/libgomp.fortran/task2.f90: Ditto.
2931 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2932 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2933 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2934 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2935 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2936 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2937 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2938 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2939 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2940
2941 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2942
2943 PR c++/85782
2944 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2945
2946 2018-05-09 Tom de Vries <tom@codesourcery.com>
2947
2948 PR libgomp/82901
2949 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2950 to GOACC_enter_exit_data.
2951
2952 2018-05-09 Tom de Vries <tom@codesourcery.com>
2953
2954 PR libgomp/83792
2955 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2956 (async_synchronous_p): New function.
2957 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2958 async_valid_p.
2959 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2960 async_valid_stream_id_p.
2961 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2962 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2963
2964 2018-05-07 Tom de Vries <tom@codesourcery.com>
2965
2966 PR testsuite/85677
2967 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2968 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2969
2970 2018-05-03 Tom de Vries <tom@codesourcery.com>
2971
2972 PR testsuite/85106
2973 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2974 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2975 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2976 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2977
2978 2018-05-02 Tom de Vries <tom@codesourcery.com>
2979
2980 PR libgomp/85411
2981 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2982 GOMP_OPENACC_DIM ...
2983 * env.c (parse_gomp_openacc_dim): ... here. New function.
2984 (initialize_env): Call parse_gomp_openacc_dim.
2985 (goacc_default_dims): Define.
2986 * libgomp.h (goacc_default_dims): Declare.
2987 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2988 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2989 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2990 GOMP_PLUGIN_acc_default_dim.
2991 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2992 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2993
2994 2018-05-02 Tom de Vries <tom@codesourcery.com>
2995
2996 PR testsuite/83791
2997 * testsuite/libgomp.c++/udr-9.C: Update.
2998 * testsuite/libgomp.c++/atomic-16.C: Remove.
2999 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3000 * testsuite/libgomp.c++/loop-13.C: Remove.
3001 * testsuite/libgomp.c++/loop-14.C: Remove.
3002 * testsuite/libgomp.c++/loop-15.C: Remove.
3003 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3004 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3005 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3006 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3007 * testsuite/libgomp.c++/ordered-1.C: Remove.
3008 * testsuite/libgomp.c++/pr45784.C: Remove.
3009 * testsuite/libgomp.c++/pr64824.C: Remove.
3010 * testsuite/libgomp.c++/pr64868.C: Remove.
3011 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3012 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3013 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3014 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3015 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3016 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3017 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3018 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3019 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3020 * testsuite/libgomp.c++/pr69389.C: Remove.
3021 * testsuite/libgomp.c++/simd10.C: Remove.
3022 * testsuite/libgomp.c++/simd11.C: Remove.
3023 * testsuite/libgomp.c++/simd12.C: Remove.
3024 * testsuite/libgomp.c++/simd13.C: Remove.
3025 * testsuite/libgomp.c++/target-1.C: Remove.
3026 * testsuite/libgomp.c++/target-3.C: Remove.
3027 * testsuite/libgomp.c++/target-4.C: Remove.
3028 * testsuite/libgomp.c++/target-5.C: Remove.
3029 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3030 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3031 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3032 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3033 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3034 * testsuite/libgomp.c++/udr-9.C: Remove.
3035 * testsuite/libgomp.c++/for-10.C: Remove.
3036 * testsuite/libgomp.c++/for-11.C: Remove.
3037 * testsuite/libgomp.c++/for-12.C: Remove.
3038 * testsuite/libgomp.c++/for-13.C: Remove.
3039 * testsuite/libgomp.c++/for-14.C: Remove.
3040 * testsuite/libgomp.c++/for-9.C: Remove.
3041 * testsuite/libgomp.c/atomic-18.c: Move ...
3042 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3043 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3044 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3045 * testsuite/libgomp.c/loop-13.c: Move ...
3046 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3047 * testsuite/libgomp.c/loop-14.c: Move ...
3048 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3049 * testsuite/libgomp.c/loop-15.c: Remove.
3050 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3051 * testsuite/libgomp.c/monotonic-1.c: Move ...
3052 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3053 * testsuite/libgomp.c/monotonic-2.c: Move ...
3054 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3055 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3056 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3057 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3058 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3059 * testsuite/libgomp.c/ordered-4.c: Move ...
3060 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3061 * testsuite/libgomp.c/pr45784.c: Move ...
3062 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3063 * testsuite/libgomp.c/pr64824.c: Move ...
3064 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3065 * testsuite/libgomp.c/pr64868.c: Move ...
3066 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3067 * testsuite/libgomp.c/pr66199-1.c: Move ...
3068 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3069 * testsuite/libgomp.c/pr66199-2.c: Move ...
3070 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3071 * testsuite/libgomp.c/pr66199-3.c: Move ...
3072 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3073 * testsuite/libgomp.c/pr66199-4.c: Move ...
3074 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3075 * testsuite/libgomp.c/pr66199-5.c: Move ...
3076 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3077 * testsuite/libgomp.c/pr66199-6.c: Move ...
3078 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3079 * testsuite/libgomp.c/pr66199-7.c: Move ...
3080 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3081 * testsuite/libgomp.c/pr66199-8.c: Move ...
3082 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3083 * testsuite/libgomp.c/pr66199-9.c: Move ...
3084 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3085 * testsuite/libgomp.c/pr69389.c: Move ...
3086 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3087 * testsuite/libgomp.c/simd-14.c: Move ...
3088 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3089 * testsuite/libgomp.c/simd-15.c: Move ...
3090 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3091 * testsuite/libgomp.c/simd-16.c: Move ...
3092 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3093 * testsuite/libgomp.c/simd-17.c: Move ...
3094 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3095 * testsuite/libgomp.c/target-1.c: Move ...
3096 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3097 * testsuite/libgomp.c/target-10.c: Move ...
3098 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3099 * testsuite/libgomp.c/target-13.c: Move ...
3100 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3101 * testsuite/libgomp.c/target-2.c: Move ...
3102 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3103 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3104 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3105 * testsuite/libgomp.c/taskloop-1.c: Move ...
3106 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3107 * testsuite/libgomp.c/taskloop-2.c: Move ...
3108 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3109 * testsuite/libgomp.c/taskloop-3.c: Move ...
3110 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3111 * testsuite/libgomp.c/taskloop-4.c: Move ...
3112 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3113 * testsuite/libgomp.c/udr-1.c: Move ...
3114 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3115 * testsuite/libgomp.c/for-1.c: Move ...
3116 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3117 * testsuite/libgomp.c/for-1.h: Move ...
3118 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3119 * testsuite/libgomp.c/for-2.c: Move ...
3120 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3121 * testsuite/libgomp.c/for-2.h: Move ...
3122 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3123 * testsuite/libgomp.c/for-3.c: Move ...
3124 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3125 * testsuite/libgomp.c/for-4.c: Move ...
3126 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3127 * testsuite/libgomp.c/for-5.c: Move ...
3128 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3129 * testsuite/libgomp.c/for-6.c: Move ...
3130 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3131
3132 2018-05-02 Tom de Vries <tom@codesourcery.com>
3133
3134 PR libgomp/82428
3135 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3136 __builtin_goacc_parlevel_{id,size}.
3137 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3138 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3139 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3140 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3141 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3142 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3143 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3144 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3145 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3146 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3147 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3148 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3149 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3150 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3151 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3152 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3153 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3154 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3155 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3156 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3157 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3158 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3159 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3160
3161 2018-05-02 Tom de Vries <tom@codesourcery.com>
3162
3163 PR testsuite/85106
3164 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3165
3166 2018-05-02 Tom de Vries <tom@codesourcery.com>
3167
3168 PR testsuite/85106
3169 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3170
3171 2018-04-29 Julian Brown <julian@codesourcery.com>
3172 Tom de Vries <tom@codesourcery.com>
3173
3174 PR testsuite/85527
3175 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3176 arbitrary order for iterations of atomic subtract check.
3177
3178 2018-04-28 Tom de Vries <tom@codesourcery.com>
3179
3180 PR testsuite/85527
3181 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3182 atomic capture results obtained in parallel loop to an array, instead of
3183 to a scalar.
3184
3185 2018-04-26 Tom de Vries <tom@codesourcery.com>
3186
3187 PR libgomp/84020
3188 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3189 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3190 (process_GOMP_NVPTX_JIT): New function.
3191 (link_ptx): Use process_GOMP_NVPTX_JIT.
3192
3193 2018-04-26 Richard Biener <rguenther@suse.de>
3194 Tom de Vries <tom@codesourcery.com>
3195
3196 PR lto/85422
3197 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3198
3199 2018-04-26 Tom de Vries <tom@codesourcery.com>
3200
3201 PR target/85519
3202 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3203 recursion depth from 25 to 23.
3204 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3205
3206 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3207
3208 * configure: Regenerated.
3209
3210 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3211 Tom de Vries <tom@codesourcery.com>
3212
3213 PR target/85445
3214 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3215
3216 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3217
3218 PR libgomp/85463
3219 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3220 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3221 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3222 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3223 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3224 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3225
3226 PR libfortran/85166
3227 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3228 abort".
3229 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3230
3231 2018-04-19 Jakub Jelinek <jakub@redhat.com>
3232
3233 * configure: Regenerated.
3234
3235 2018-04-18 David Malcolm <dmalcolm@redhat.com>
3236
3237 PR jit/85384
3238 * configure: Regenerate.
3239
3240 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3241 Tom de Vries <tom@codesourcery.com>
3242
3243 PR middle-end/84955
3244 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3245 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3246
3247 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3248
3249 PR fortran/83064
3250 PR testsuite/85346
3251 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3252 test from gfortran.dg to here.
3253
3254 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3255
3256 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3257 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3258
3259 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3260
3261 PR middle-end/84955
3262 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3263 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3264
3265 2018-04-05 Tom de Vries <tom@codesourcery.com>
3266
3267 PR target/85204
3268 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3269
3270 2018-03-26 Tom de Vries <tom@codesourcery.com>
3271
3272 PR tree-optimization/85063
3273 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3274 * testsuite/libgomp.c/switch-conversion.c: New test.
3275 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3276 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3277
3278 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3279
3280 PR fortran/84381
3281 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3282 call abort by STOP n.
3283 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3284 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3285 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3286 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3287 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3288 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3289 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3290 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3291 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3292 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3293 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3294 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3295 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3296 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3297 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3298 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3299 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3300 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3301 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3302 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3303 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3304 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3305 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3306 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3307 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3308 * testsuite/libgomp.fortran/character1.f90: Likewise.
3309 * testsuite/libgomp.fortran/character2.f90: Likewise.
3310 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3311 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3312 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3313 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3314 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3315 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3316 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3317 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3318 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3319 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3320 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3321 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3322 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3323 * testsuite/libgomp.fortran/do1.f90: Likewise.
3324 * testsuite/libgomp.fortran/do2.f90: Likewise.
3325 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3326 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3327 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3328 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3329 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3330 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3331 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3332 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3333 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3334 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3335 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3336 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3337 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3338 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3339 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3340 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3341 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3342 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3343 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3344 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3345 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3346 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3347 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3348 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3349 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3350 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3351 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3352 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3353 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3354 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3355 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3356 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3357 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3358 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3359 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3360 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3361 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3362 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3363 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3364 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3365 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3366 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3367 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3368 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3369 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3370 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3371 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3372 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3373 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3374 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3375 * testsuite/libgomp.fortran/lib2.f: Likewise.
3376 * testsuite/libgomp.fortran/lib3.f: Likewise.
3377 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3378 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3379 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3380 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3381 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3382 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3383 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3384 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3385 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3386 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3387 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3388 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3389 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3390 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3391 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3392 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3393 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3394 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3395 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3396 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3397 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3398 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3399 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3400 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3401 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3402 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3403 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3404 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3405 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3406 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3407 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3408 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3409 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3410 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3411 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3412 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3413 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3414 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3415 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3416 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3417 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3418 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3419 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3420 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3421 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3422 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3423 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3424 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3425 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3426 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3427 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3428 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3429 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3430 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3431 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3432 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3433 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3434 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3435 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3436 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3437 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3438 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3439 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3440 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3441 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3442 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3443 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3444 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3445 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3446 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3447 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3448 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3449 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3450 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3451 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3452 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3453 * testsuite/libgomp.fortran/stack.f90: Likewise.
3454 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3455 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3456 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3457 * testsuite/libgomp.fortran/target1.f90: Likewise.
3458 * testsuite/libgomp.fortran/target2.f90: Likewise.
3459 * testsuite/libgomp.fortran/target3.f90: Likewise.
3460 * testsuite/libgomp.fortran/target4.f90: Likewise.
3461 * testsuite/libgomp.fortran/target5.f90: Likewise.
3462 * testsuite/libgomp.fortran/target6.f90: Likewise.
3463 * testsuite/libgomp.fortran/target7.f90: Likewise.
3464 * testsuite/libgomp.fortran/target8.f90: Likewise.
3465 * testsuite/libgomp.fortran/task1.f90: Likewise.
3466 * testsuite/libgomp.fortran/task2.f90: Likewise.
3467 * testsuite/libgomp.fortran/task3.f90: Likewise.
3468 * testsuite/libgomp.fortran/task4.f90: Likewise.
3469 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3470 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3471 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3472 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3473 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3474 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3475 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3476 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3477 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3478 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3479 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3480 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3481 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3482 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3483 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3484 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3485 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3486 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3487 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3488 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3489 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3490 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3491 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3492 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3493 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3494 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3495 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3496 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3497 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3498 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3499 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3500 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3501 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3502 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3503 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3504 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3505 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3506 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3507 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3508 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3509 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3510 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3511 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3512 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3513 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3514 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3515 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3516 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3517 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3518 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3519 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3520 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3521 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3522 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3523 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3524 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3525 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3526 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3527 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3528 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3529 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3530 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3531 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3532 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3533 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3534 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3535 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3536 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3537 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3538 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3539 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3540 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3541 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3542 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3543 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3544 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3545 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3546 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3547 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3548 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3549 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3550 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3551 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3552 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3553 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3554 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3555 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3556 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3557 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3558 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3559 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3560 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3561 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3562 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3563 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3564 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3565 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3566 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3567 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3568 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3569 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3570 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3571 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3572 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3573 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3574 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3575 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3576 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3577 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3578 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3579 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3580 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3581 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3582 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3583 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3584 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3585 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3586 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3587 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3588 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3589 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3590 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3591 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3592 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3593 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3594 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3595
3596 2018-03-20 Richard Biener <rguenther@suse.de>
3597
3598 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3599 parallelizable loop.
3600
3601 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3602
3603 PR target/84148
3604 * configure: Regenerate.
3605
3606 2018-02-16 Jakub Jelinek <jakub@redhat.com>
3607
3608 PR fortran/84418
3609 * libgomp.fortran/pr84418-1.f90: New test.
3610 * libgomp.fortran/pr84418-2.f90: New test.
3611
3612 2018-02-14 Jakub Jelinek <jakub@redhat.com>
3613
3614 PR fortran/84313
3615 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3616 -std=f2003 -fall-intrinsics into dg-additional-options.
3617
3618 2018-02-08 Martin Jambor <mjambor@suse.cz>
3619
3620 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3621 clonable.
3622
3623 2018-02-08 Martin Jambor <mjambor@suse.cz>
3624
3625 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3626
3627 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3628
3629 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3630 [__cplusplus]: Declare extern "C".
3631
3632 2018-02-07 Tom de Vries <tom@codesourcery.com>
3633
3634 PR libgomp/84217
3635 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3636
3637 2018-01-29 Christoph Spiel <cspiel@freenet.de>
3638 Jakub Jelinek <jakub@redhat.com>
3639
3640 PR libgomp/84096
3641 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3642 instead of omp_lock_t.
3643
3644 2018-01-25 Tom de Vries <tom@codesourcery.com>
3645
3646 PR target/84028
3647 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3648
3649 2018-01-24 Tom de Vries <tom@codesourcery.com>
3650
3651 PR target/83589
3652 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3653
3654 2018-01-24 Tom de Vries <tom@codesourcery.com>
3655
3656 PR target/81352
3657 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3658
3659 2018-01-19 Tom de Vries <tom@codesourcery.com>
3660 Cesar Philippidis <cesar@codesourcery.com>
3661
3662 PR target/83920
3663 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3664 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3665
3666 2018-01-03 Jakub Jelinek <jakub@redhat.com>
3667
3668 Update copyright years.
3669
3670 * libgomp.texi: Bump @copying's copyright year.
3671
3672 2017-12-30 Tom de Vries <tom@codesourcery.com>
3673
3674 PR libgomp/83046
3675 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3676 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3677
3678 2017-12-27 Tom de Vries <tom@codesourcery.com>
3679
3680 PR c++/83046
3681 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3682 (test_nonstatic): Fix return type to workaround PR83046.
3683
3684 2017-12-05 Jakub Jelinek <jakub@redhat.com>
3685
3686 PR testsuite/83281
3687 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3688 j suffix instead of i.
3689 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3690 Likewise.
3691
3692 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3693
3694 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3695 call to acc_wait (1).
3696
3697 2017-11-24 Jakub Jelinek <jakub@redhat.com>
3698
3699 PR fortran/81304
3700 * testsuite/libgomp.fortran/pr81304.f90: New test.
3701
3702 2017-11-23 Jakub Jelinek <jakub@redhat.com>
3703
3704 PR fortran/81841
3705 * libgomp.fortran/pr81841.f90: New test.
3706
3707 2017-11-22 Jakub Jelinek <jakub@redhat.com>
3708
3709 PR libgomp/83106
3710 * target.c (gomp_target_init): Compute lengths just once and
3711 use them in both malloc size and subsequent copying.
3712
3713 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3714
3715 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3716 * acinclude.m4: Add cet.m4.
3717 * configure: Regenerate.
3718 * Makefile.in: Likewise.
3719 * testsuite/Makefile.in: Likewise.
3720
3721 2017-11-15 Tom de Vries <tom@codesourcery.com>
3722
3723 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3724 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3725 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3726 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3727 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3728 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3729
3730 2017-11-14 Tom de Vries <tom@codesourcery.com>
3731
3732 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3733 non-nvidia devices.
3734
3735 2017-11-07 Jakub Jelinek <jakub@redhat.com>
3736
3737 PR c++/82835
3738 * testsuite/libgomp.c++/pr82835.C: New test.
3739
3740 2017-11-06 Martin Liska <mliska@suse.cz>
3741
3742 * testsuite/libgomp.c++/loop-2.C: Return a value
3743 for functions with non-void return type, or change type to void,
3744 or add -Wno-return-type for test.
3745 * testsuite/libgomp.c++/loop-4.C: Likewise.
3746 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3747 * testsuite/libgomp.c++/shared-1.C: Likewise.
3748 * testsuite/libgomp.c++/single-1.C: Likewise.
3749 * testsuite/libgomp.c++/single-2.C: Likewise.
3750
3751 2017-10-31 Tom de Vries <tom@codesourcery.com>
3752
3753 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3754 "do {} while (false)".
3755 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3756 after HSA_DEBUG call.
3757
3758 2017-10-28 Jakub Jelinek <jakub@redhat.com>
3759
3760 * target.c (struct gomp_coalesce_buf): New type.
3761 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3762 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3763 (gomp_copy_host2dev): Add CBUF argument, if copying into
3764 the cached ranges, memcpy into buffer instead of copying
3765 into device.
3766 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3767 Add CBUF argument, pass it through to other calls.
3768 (gomp_map_vars): Aggregate copies from host to device if small enough
3769 and with small enough gaps in between into memcpy into a buffer and
3770 fewer host to device copies from the buffer.
3771 (gomp_update): Adjust gomp_copy_host2dev caller.
3772
3773 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3774
3775 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3776 run" directive.
3777 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3778 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3779 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3780 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3781
3782 2017-10-16 Tom de Vries <tom@codesourcery.com>
3783
3784 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3785 openacc_nvidia_accel_selected.
3786 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3787 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3788 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3789 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3790 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3791 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3792 openacc_nvidia_accel_selected. Skip for shared memory device.
3793 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3794 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3795
3796 2017-10-09 Martin Jambor <mjambor@suse.cz>
3797
3798 PR hsa/82416
3799 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3800
3801 2017-10-07 Tom de Vries <tom@codesourcery.com>
3802
3803 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3804 Remove acc_device_nvidia references.
3805 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3806 Same.
3807
3808 2017-10-05 Tom de Vries <tom@codesourcery.com>
3809
3810 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3811 vector_length(32) clause from acc parallel directive.
3812 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3813
3814 2017-10-04 Tom de Vries <tom@codesourcery.com>
3815
3816 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3817 (main): Reduce sum of arr elements. Assert that hres is exactly
3818 representable in 32-bit floating point.
3819 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3820 (main): Reduce sum of arr elements. Assert that hres and hmres are
3821 exactly representable in 32-bit floating point.
3822 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3823
3824 2017-09-28 Tom de Vries <tom@codesourcery.com>
3825
3826 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3827 setting.
3828 * testsuite/libgomp.c++/pr69393.C: Same.
3829 * testsuite/libgomp.c++/taskloop-1.C: Same.
3830 * testsuite/libgomp.c++/taskloop-3.C: Same.
3831 * testsuite/libgomp.c++/taskloop-4.C: Same.
3832 * testsuite/libgomp.c/for-4.c: Same.
3833 * testsuite/libgomp.c/pr66199-3.c: Same.
3834 * testsuite/libgomp.c/pr66199-4.c: Same.
3835 * testsuite/libgomp.c/pr66199-6.c: Same.
3836 * testsuite/libgomp.c/taskloop-1.c: Same.
3837 * testsuite/libgomp.c/taskloop-3.c: Same.
3838 * testsuite/libgomp.c/taskloop-4.c: Same.
3839 * testsuite/libgomp.fortran/aligned1.f03: Same.
3840 * testsuite/libgomp.fortran/condinc1.f: Same.
3841 * testsuite/libgomp.fortran/condinc3.f90: Same.
3842 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3843 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3844 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3845 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3846 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3847 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3848 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3849 * testsuite/libgomp.fortran/recursion1.f90: Same.
3850 * testsuite/libgomp.fortran/target2.f90: Same.
3851 * testsuite/libgomp.fortran/target5.f90: Same.
3852 * testsuite/libgomp.fortran/task3.f90: Same.
3853
3854 2017-09-28 Tom de Vries <tom@codesourcery.com>
3855
3856 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3857 vector_length(32) clause from acc parallel directive.
3858 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3859
3860 2017-09-27 Tom de Vries <tom@codesourcery.com>
3861
3862 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3863 Remove acc_device_nvidia references.
3864
3865 2017-09-16 Tom de Vries <tom@codesourcery.com>
3866
3867 PR c/81875
3868 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3869
3870 2017-09-14 Tom de Vries <tom@codesourcery.com>
3871
3872 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3873 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3874 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3875 * testsuite/libgomp.c/c.exp: Include test-cases from
3876 libgomp.c-c++-common.
3877 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3878 files.
3879
3880 2017-09-14 Jakub Jelinek <jakub@redhat.com>
3881
3882 PR c++/81314
3883 * testsuite/libgomp.c++/pr81314.C: New test.
3884
3885 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3886
3887 * libgomp.texi (Top): www.openacc.org now uses https.
3888 (Enabling OpenACC): Ditto.
3889 (acc_get_num_devices): Ditto.
3890 (acc_set_device_type): Ditto.
3891 (acc_get_device_type): Ditto.
3892 (acc_set_device_num): Ditto.
3893 (acc_get_device_num): Ditto.
3894 (acc_async_test): Ditto.
3895 (acc_async_test_all): Ditto.
3896 (acc_wait): Ditto.
3897 (acc_wait_all): Ditto.
3898 (acc_wait_all_async): Ditto.
3899 (acc_wait_async): Ditto.
3900 (acc_init): Ditto.
3901 (acc_shutdown): Ditto.
3902 (acc_on_device): Ditto.
3903 (acc_malloc): Ditto.
3904 (acc_free): Ditto.
3905 (acc_copyin): Ditto.
3906 (acc_present_or_copyin): Ditto.
3907 (acc_create): Ditto.
3908 (acc_present_or_create): Ditto.
3909 (acc_copyout): Ditto.
3910 (acc_delete): Ditto.
3911 (acc_update_device): Ditto.
3912 (acc_update_self): Ditto.
3913 (acc_map_data): Ditto.
3914 (acc_unmap_data): Ditto.
3915 (acc_deviceptr): Ditto.
3916 (acc_hostptr): Ditto.
3917 (acc_is_present): Ditto.
3918 (acc_memcpy_to_device): Ditto.
3919 (acc_memcpy_from_device): Ditto.
3920 (acc_get_current_cuda_device): Ditto.
3921 (acc_get_current_cuda_context): Ditto.
3922 (acc_get_cuda_stream): Ditto.
3923 (acc_set_cuda_stream): Ditto.
3924 (ACC_DEVICE_TYPE): Ditto.
3925 (ACC_DEVICE_NUM): Ditto.
3926 (OpenACC Library Interoperability): Ditto.
3927
3928 2017-08-09 Jakub Jelinek <jakub@redhat.com>
3929
3930 PR c/81687
3931 * testsuite/libgomp.c/pr81687-1.c: New test.
3932 * testsuite/libgomp.c/pr81687-2.c: New test.
3933
3934 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3935
3936 PR c/69389
3937 * testsuite/libgomp.c/pr69389.c: New test.
3938 * testsuite/libgomp.c++/pr69389.C: New test.
3939
3940 2017-08-07 Tom de Vries <tom@codesourcery.com>
3941
3942 PR middle-end/78266
3943 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3944 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3945
3946 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3947
3948 PR c/45784
3949 * testsuite/libgomp.c/pr45784.c: New test.
3950 * testsuite/libgomp.c++/pr45784.C: New test.
3951
3952 2017-07-19 Tom de Vries <tom@codesourcery.com>
3953
3954 * testsuite/libgomp.oacc-c/vec.c: New test.
3955
3956 2017-07-03 Tom de Vries <tom@codesourcery.com>
3957
3958 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3959
3960 2017-06-27 Tom de Vries <tom@codesourcery.com>
3961
3962 * plugin/plugin-nvptx.c (notify_var): New function.
3963 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3964
3965 2017-06-27 Tom de Vries <tom@codesourcery.com>
3966
3967 * env.c (parse_unsigned_long_1): Factor out of ...
3968 (parse_unsigned_long): ... here.
3969 (parse_int_1): Factor out of ...
3970 (parse_int): ... here.
3971 (parse_int_secure): New function.
3972 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3973 * secure_getenv.h: Factor out of ...
3974 * plugin/plugin-hsa.c: ... here.
3975 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3976
3977 2017-06-21 Jakub Jelinek <jakub@redhat.com>
3978
3979 PR c++/81130
3980 * testsuite/libgomp.c++/pr81130.C: New test.
3981
3982 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3983
3984 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3985 default args.
3986 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3987 dg-xfail-run-if default args.
3988
3989 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3990
3991 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3992 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3993
3994 2017-05-30 Jakub Jelinek <jakub@redhat.com>
3995
3996 PR libgomp/80822
3997 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3998 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3999 sibling lists, depending on level just pick up what CPUs to put
4000 together into a place vs. whether add multiple ordered places.
4001
4002 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4003
4004 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4005 * libgomp.map (OACC_2.0.1): Add these.
4006 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4007 for "acc_wait", and "acc_wait_all", respectively.
4008 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4009 for "acc_wait", and "acc_wait_all", respectively.
4010 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4011 * libgomp.texi (acc_wait, acc_wait_all): Update.
4012 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4013 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4014 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4015
4016 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4017 acc_present_or_copyin and acc_present_or_create procedures,
4018 respectively.
4019 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4020 generally different variants of OpenACC Runtime Library functions.
4021 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4022
4023 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4024 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4025
4026 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4027 of preprocessor definitions.
4028 * libgomp.h (strong_alias): Guard by "#ifdef
4029 HAVE_ATTRIBUTE_ALIAS".
4030 * oacc-mem.c: Provide "acc_pcreate" as alias for
4031 "acc_present_or_create", and "acc_pcopyin" as alias for
4032 "acc_present_or_copyin".
4033 * libgomp.map: New version "OACC_2.0.1".
4034 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4035 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4036 its content into...
4037 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4038 Extend testing.
4039
4040 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4041 when disabling nvptx offloading.
4042
4043 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4044
4045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4046 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4047 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4048
4049 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4050 * testsuite/lib/libgomp.exp
4051 (check_effective_target_openacc_nvidia_accel_configured): New
4052 proc.
4053 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4054 (check_effective_target_c++): New procs.
4055 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4056 (check_effective_target_c++): Likewise.
4057
4058 2017-05-22 Jakub Jelinek <jakub@redhat.com>
4059
4060 PR middle-end/80809
4061 * testsuite/libgomp.c/pr80809-2.c: New test.
4062 * testsuite/libgomp.c/pr80809-3.c: New test.
4063
4064 PR middle-end/80809
4065 * testsuite/libgomp.c/pr80809-1.c: New test.
4066
4067 PR middle-end/80853
4068 * testsuite/libgomp.c/pr80853.c: New test.
4069
4070 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4071
4072 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4073 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4074 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4075 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4076 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4077
4078 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4079 Debug output for failure.
4080
4081 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4082
4083 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4084
4085 2017-04-27 Jakub Jelinek <jakub@redhat.com>
4086
4087 PR bootstrap/80531
4088 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4089 bootstrap compare failures.
4090
4091 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
4092
4093 * testsuite/libgomp.c/target-36.c: New testcase.
4094
4095 2017-04-13 Jakub Jelinek <jakub@redhat.com>
4096
4097 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4098 instead of char.
4099
4100 2017-04-11 Jakub Jelinek <jakub@redhat.com>
4101
4102 PR libgomp/80394
4103 * testsuite/libgomp.c/pr80394.c: New test.
4104
4105 2017-04-04 Jakub Jelinek <jakub@redhat.com>
4106
4107 PR libgomp/79876
4108 * config/posix/thread-stacksize.h: New file.
4109 * config/darwin/thread-stacksize.h: New file.
4110 * config/nvptx/thread-stacksize.h: New file.
4111 * env.c: Include thread-stacksize.h.
4112 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4113 instead of 0. Call pthread_attr_setstacksize even if
4114 GOMP_DEFAULT_STACKSIZE is non-zero.
4115
4116 2017-03-30 Jakub Jelinek <jakub@redhat.com>
4117
4118 * env.c (initialize_env): Initialize stacksize to 0.
4119
4120 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4121
4122 PR c++/80029
4123 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4124
4125 2017-03-08 Jakub Jelinek <jakub@redhat.com>
4126
4127 PR c/79940
4128 * testsuite/libgomp.c/pr79940.c: New test.
4129
4130 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4131
4132 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4133 targets.
4134 Add __float128 options.
4135
4136 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
4137
4138 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4139 hppa*-*-* dg-skip-if directive.
4140
4141 2017-02-09 Jakub Jelinek <jakub@redhat.com>
4142
4143 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4144 dg-skip-if directive into a comment.
4145
4146 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4147 Chung-Lin Tang <cltang@codesourcery.com>
4148
4149 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4150 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4151 add additional case.
4152 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4153 "openacc_nvidia_accel_selected".
4154 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4155 Add num_workers(8) clause.
4156
4157 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
4158
4159 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4160 hppa*-*-*.
4161 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4162 include complex.h on hppa*-*-hpux*.
4163 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4164
4165 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4166
4167 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4168
4169 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4170 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4171 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4172 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4173 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4174 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4175 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4176 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4177 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4178 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4179
4180 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4181
4182 * libgomp-plugin.h: #include <stdbool.h>.
4183 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4184 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4185 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4186 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4187 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4188 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4189 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4190 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4191 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4192 (GOMP_OFFLOAD_openacc_async_test)
4193 (GOMP_OFFLOAD_openacc_async_test_all)
4194 (GOMP_OFFLOAD_openacc_async_wait)
4195 (GOMP_OFFLOAD_openacc_async_wait_async)
4196 (GOMP_OFFLOAD_openacc_async_wait_all)
4197 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4198 (GOMP_OFFLOAD_openacc_async_set_async)
4199 (GOMP_OFFLOAD_openacc_create_thread_data)
4200 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4201 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4202 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4203 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4204 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4205 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4206 these.
4207 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4208 (GOMP_OFFLOAD_unload_image): Fix argument types.
4209
4210 2017-01-26 Jakub Jelinek <jakub@redhat.com>
4211
4212 * testsuite/lib/libgomp.exp
4213 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4214 check_compile invocation. Fix up removal of executable. Drop
4215 bogus "2>&1" argument.
4216
4217 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4218 directive.
4219
4220 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
4221 Martin Jambor <mjambor@suse.cz>
4222
4223 * plugin/hsa.h: Moved to top level include.
4224 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4225
4226 2017-01-21 Jakub Jelinek <jakub@redhat.com>
4227
4228 PR other/79046
4229 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4230 of cat to get version from BASE-VER file.
4231 * testsuite/Makefile.in: Regenerated.
4232
4233 2017-01-19 Jakub Jelinek <jakub@redhat.com>
4234
4235 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4236 for _WIN64.
4237
4238 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4239
4240 * plugin/hsa.h: Add GCC runtime library exception.
4241 * plugin/hsa_ext_finalize.h: Likewise.
4242
4243 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4244 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4245 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4246 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4247 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4248 library to link ptx plugin against.
4249 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4250 (CUDA_CALLS): Define.
4251 (cuda_lib, cuda_lib_inited): New variables.
4252 (init_cuda_lib): New function.
4253 (CUDA_CALL_PREFIX): Define.
4254 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4255 (CUDA_CALL): Use FN instead of (FN).
4256 (CUDA_CALL_NOCHECK): Define.
4257 (cuda_error, fini_streams_for_device, select_stream_for_async,
4258 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4259 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4260 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4261 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4262 CUDA_CALL_NOCHECK.
4263 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4264 CUDA_CALL_NOCHECK.
4265 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4266 Use CUDA_CALL_NOCHECK.
4267 * plugin/cuda/cuda.h: New file.
4268 * config.h.in: Regenerated.
4269 * configure: Regenerated.
4270
4271 PR other/79046
4272 * configure.ac: Add GCC_BASE_VER.
4273 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4274 get version from BASE-VER file.
4275 * testsuite/Makefile.in: Regenerated.
4276 * configure: Regenerated.
4277 * Makefile.in: Regenerated.
4278
4279 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4280
4281 PR libgomp/60670
4282 * Makefile.am: Make fincludedir multilib-aware.
4283 * Makefile.in: Regenerate.
4284
4285 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4286
4287 Update copyright years.
4288
4289 * libgomp.texi: Bump @copying's copyright year.
4290
4291 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4292
4293 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4294 pthread_spinlock_t instead of gomp_mutex_t lock.
4295 (gomp_get_thread_pool): Likewise.
4296 (gomp_release_thread_pool): Likewise.
4297 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4298 Likewise.
4299
4300 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4301
4302 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4303 thread pool in case nthreads == 1.
4304
4305 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4306
4307 * config/nvptx/env.c: Delete.
4308 * icv.c: Move definitions of ICV variables back ...
4309 * env.c: ...here. Do not compile environment-related functionality if
4310 LIBGOMP_OFFLOADED_ONLY is set.
4311
4312 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4313
4314 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4315 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4316 * configure: Regenerate.
4317 * config.h.in: Likewise.
4318
4319 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4320
4321 * Makefile.in: Regenerate with automake-1.11.6.
4322 * aclocal.m4: Likewise.
4323 * configure: Likewise.
4324 * testsuite/Makefile.in: Likewise.
4325
4326 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
4327
4328 * config/nvptx/critical.c: Delete to use generic implementation.
4329
4330 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4331
4332 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4333 ../../affinity.c as fallback.
4334 * config/nvptx/affinity.c: Delete to use fallback implementation.
4335
4336 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
4337 Jakub Jelinek <jakub@redhat.com>
4338 Dmitry Melnik <dm@ispras.ru>
4339
4340 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4341 * Makefile.in. Regenerate.
4342 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4343 (LIBGOMP_USE_PTHREADS): ...here; new define.
4344 * configure: Regenerate.
4345 * config.h.in: Likewise.
4346 * config/posix/affinity.c: Move to...
4347 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4348 interface by LIBGOMP_USE_PTHREADS.
4349 * critical.c: Split out GOMP_atomic_{start,end} into...
4350 * atomic.c: ...here (new file).
4351 * env.c: Split out ICV definitions into...
4352 * icv.c: ...here (new file) and...
4353 * icv-device.c: ...here. New file.
4354 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4355 (gomp_destroy_lock_30): Ditto.
4356 (gomp_set_lock_30): Ditto.
4357 (gomp_unset_lock_30): Ditto.
4358 (gomp_test_lock_30): Ditto.
4359 (gomp_init_nest_lock_30): Ditto.
4360 (gomp_destroy_nest_lock_30): Ditto.
4361 (gomp_set_nest_lock_30): Ditto.
4362 (gomp_unset_nest_lock_30): Ditto.
4363 (gomp_test_nest_lock_30): Ditto.
4364 * lock.c: New.
4365 * config/nvptx/lock.c: New.
4366 * config/nvptx/bar.c: New.
4367 * config/nvptx/bar.h: New.
4368 * config/nvptx/doacross.h: New.
4369 * config/nvptx/error.c: New.
4370 * config/nvptx/icv-device.c: New.
4371 * config/nvptx/mutex.h: New.
4372 * config/nvptx/pool.h: New.
4373 * config/nvptx/proc.c: New.
4374 * config/nvptx/ptrlock.h: New.
4375 * config/nvptx/sem.h: New.
4376 * config/nvptx/simple-bar.h: New.
4377 * config/nvptx/target.c: New.
4378 * config/nvptx/task.c: New.
4379 * config/nvptx/team.c: New.
4380 * config/nvptx/time.c: New.
4381 * config/posix/simple-bar.h: New.
4382 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4383 (gomp_num_teams_var): Declare.
4384 (struct gomp_thread_pool): Change threads_dock member to
4385 gomp_simple_barrier_t.
4386 [__nvptx__] (gomp_thread): New implementation.
4387 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4388 (gomp_thread_destructor): Ditto.
4389 (gomp_init_thread_affinity): Ditto.
4390 * team.c: Guard uses of Pthreads-specific interfaces by
4391 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4392 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4393 * config/nvptx/alloc.c: Delete.
4394 * config/nvptx/barrier.c: Ditto.
4395 * config/nvptx/fortran.c: Ditto.
4396 * config/nvptx/iter.c: Ditto.
4397 * config/nvptx/iter_ull.c: Ditto.
4398 * config/nvptx/loop.c: Ditto.
4399 * config/nvptx/loop_ull.c: Ditto.
4400 * config/nvptx/ordered.c: Ditto.
4401 * config/nvptx/parallel.c: Ditto.
4402 * config/nvptx/priority_queue.c: Ditto.
4403 * config/nvptx/sections.c: Ditto.
4404 * config/nvptx/single.c: Ditto.
4405 * config/nvptx/splay-tree.c: Ditto.
4406 * config/nvptx/work.c: Ditto.
4407 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4408 -foffload=-lgfortran in addition to -lgfortran.
4409 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4410 * plugin/plugin-nvptx.c: Include <limits.h>.
4411 (struct targ_fn_descriptor): Add new fields.
4412 (struct ptx_device): Ditto. Set them...
4413 (nvptx_open_device): ...here.
4414 (nvptx_adjust_launch_bounds): New.
4415 (nvptx_host2dev): Allow NULL 'nvthd'.
4416 (nvptx_dev2host): Ditto.
4417 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4418 (link_ptx): Adjust log sizes.
4419 (nvptx_host2dev): Allow NULL 'nvthd'.
4420 (nvptx_dev2host): Ditto.
4421 (nvptx_set_clocktick): New. Use it...
4422 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4423 fields.
4424 (GOMP_OFFLOAD_dev2dev): New.
4425 (nvptx_adjust_launch_bounds): New.
4426 (nvptx_stacks_size): New.
4427 (nvptx_stacks_alloc): New.
4428 (nvptx_stacks_free): New.
4429 (GOMP_OFFLOAD_run): New.
4430 (GOMP_OFFLOAD_async_run): New (stub).
4431
4432 2016-11-23 Martin Jambor <mjambor@suse.cz>
4433
4434 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4435 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4436 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4437
4438 2016-11-23 Martin Liska <mliska@suse.cz>
4439 Martin Jambor <mjambor@suse.cz>
4440
4441 * plugin/hsa.h: New file.
4442 * plugin/hsa_ext_finalize.h: New file.
4443 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4444 header file unistd.h, and functions secure_getenv, __secure_getenv,
4445 getuid, geteuid, getgid and getegid.
4446 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4447 -D_GNU_SOURCE.
4448 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4449 Handle various cases of secure_getenv presence, add an implementation
4450 when we can test effective UID and GID.
4451 (struct hsa_runtime_fn_info): New structure.
4452 (hsa_runtime_fn_info hsa_fns): New variable.
4453 (hsa_runtime_lib): Likewise.
4454 (support_cpu_devices): Likewise.
4455 (init_enviroment_variables): Load newly introduced ENV
4456 variables.
4457 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4458 (hsa_fatal): Likewise.
4459 (DLSYM_FN): New macro.
4460 (init_hsa_runtime_functions): New function.
4461 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4462 structure. Depending on environment, also allow CPU devices.
4463 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4464 (get_kernarg_memory_region): Likewise.
4465 (GOMP_OFFLOAD_init_device): Likewise.
4466 (destroy_hsa_program): Likewise.
4467 (init_basic_kernel_info): New function.
4468 (GOMP_OFFLOAD_load_image): Use it.
4469 (create_and_finalize_hsa_program): Call hsa run-time functions via
4470 hsa_fns structure.
4471 (create_single_kernel_dispatch): Likewise.
4472 (release_kernel_dispatch): Likewise.
4473 (init_single_kernel): Likewise.
4474 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4475 (get_group_size): New function.
4476 (run_kernel): Likewise.
4477 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4478 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4479 structure.
4480 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4481 * testsuite/libgomp-test-support.exp.in: Likewise.
4482 * Makefile.in: Regenerated.
4483 * aclocal.m4: Likewise.
4484 * config.h.in: Likewise.
4485 * configure: Likewise.
4486 * testsuite/Makefile.in: Likewise.
4487
4488 2016-11-15 Martin Jambor <mjambor@suse.cz>
4489 Alexander Monakov <amonakov@ispras.ru>
4490
4491 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4492 mapping clauses to target constructs.
4493 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4494
4495 2016-11-15 Matthias Klose <doko@ubuntu.com>
4496
4497 * configure: Regenerate.
4498
4499 2016-11-10 Jakub Jelinek <jakub@redhat.com>
4500
4501 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4502 * omp_lib.h.in (openmp_version): Likewise.
4503 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4504 of 201307.
4505 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4506
4507 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4508 (fib_wrapper): Add map(from: x) clause.
4509 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4510 (e_53_2): Likewise.
4511 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4512 (accum): Add map(tmp) clause.
4513 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4514 (accum): Add map(tofrom: tmp) clause.
4515 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4516 (gramSchmidt): Likewise.
4517 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4518 map(tofrom: sum) clause.
4519 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4520 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4521 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4522 only allowed on the loop iterator.
4523 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4524 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4525 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4526 * testsuite/libgomp.fortran/doacross1.f90: New test.
4527 * testsuite/libgomp.fortran/doacross3.f90: New test.
4528 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4529 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4530 * testsuite/libgomp.fortran/doacross2.f90: New test.
4531 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4532 #pragma omp atomic read.
4533 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4534 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4535
4536 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4537 Nathan Sidwell <nathan@acm.org>
4538
4539 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4540 to determine default geometry.
4541 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4542 dimension.
4543
4544 2016-11-01 Jakub Jelinek <jakub@redhat.com>
4545
4546 * hashtab.h: Use standard GPLv3 with runtime exception
4547 boilerplate.
4548
4549 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
4550
4551 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4552 size when allocating new thread.
4553
4554 2016-09-14 Marek Polacek <polacek@redhat.com>
4555
4556 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4557
4558 2016-08-19 Jakub Jelinek <jakub@redhat.com>
4559
4560 PR fortran/71014
4561 * testsuite/libgomp.fortran/pr71014.f90: New test.
4562
4563 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4564
4565 PR middle-end/70895
4566 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4567 firstprivate clauses.
4568 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4569 copy clauses.
4570 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4571 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4572 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4573 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4574 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4576 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4577 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4578 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4579 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4580 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4581 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4582
4583 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4584
4585 PR fortran/70598
4586 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4587
4588 2016-08-08 Jakub Jelinek <jakub@redhat.com>
4589
4590 PR c++/58706
4591 * testsuite/libgomp.c++/pr58706.C: New test.
4592
4593 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4594
4595 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4596 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4597 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4598 Likewise.
4599 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4600 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4601 Likewise.
4602 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4603
4604 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4605 test, and don't hardcode -O0.
4606
4607 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4608
4609 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4610
4611 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4612
4613 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4614 test.
4615
4616 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4617
4618 PR middle-end/71734
4619 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4620 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4621
4622 2016-07-01 Jakub Jelinek <jakub@redhat.com>
4623
4624 PR fortran/71717
4625 * testsuite/libgomp.fortran/associate3.f90: New test.
4626
4627 2016-06-17 Jakub Jelinek <jakub@redhat.com>
4628
4629 * testsuite/libgomp.c++/target-21.C: New test.
4630
4631 2016-06-16 Jakub Jelinek <jakub@redhat.com>
4632
4633 * testsuite/libgomp.c++/target-20.C: New test.
4634
4635 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4636 Cesar Philippidis <cesar@codesourcery.com>
4637
4638 PR middle-end/71373
4639 * libgomp.oacc-c/nested-function-1.c: New file.
4640 * libgomp.oacc-c/nested-function-2.c: Likewise.
4641 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4642 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4643 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4644
4645 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4646
4647 PR c/71381
4648 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4649 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4650 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4651
4652 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4653
4654 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4655 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4656
4657 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4658
4659 PR c/70688
4660 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
4661
4662 2016-05-26 Jakub Jelinek <jakub@redhat.com>
4663
4664 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4665 instead of invalid schedule(static, 0).
4666 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4667
4668 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4669
4670 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4671 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4672 parameter, use to set async stream around call to gomp_unmap_vars,
4673 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4674 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4675 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4676 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4677 (event_add): Add int parameter, initialize 'val' field when
4678 adding new ptx_event struct.
4679 (nvptx_evec): Adjust event_add() call arguments.
4680 (nvptx_host2dev): Likewise.
4681 (nvptx_dev2host): Likewise.
4682 (nvptx_wait_async): Likewise.
4683 (nvptx_wait_all_async): Likewise.
4684 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4685 pass to event_add() call.
4686 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4687 parameter.
4688 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4689 call openacc.register_async_cleanup_func() hook.
4690 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4691 * target.c (gomp_copy_from_async): Delete function.
4692 (gomp_map_vars): Remove async_refcount.
4693 (gomp_unmap_vars): Likewise.
4694 (gomp_load_image_to_device): Likewise.
4695 (omp_target_associate_ptr): Likewise.
4696 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4697 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4698 (gomp_copy_from_async): Remove.
4699
4700 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4701
4702 * target.c (gomp_device_copy): New function.
4703 (gomp_copy_host2dev): Likewise.
4704 (gomp_copy_dev2host): Likewise.
4705 (gomp_free_device_memory): Likewise.
4706 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4707 (gomp_map_pointer): Likewise.
4708 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4709 NULL value from alloc_func plugin hook.
4710 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4711 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4712 (gomp_unmap_vars): Likewise.
4713 (gomp_update): Adjust to call gomp_copy_dev2host and
4714 gomp_copy_host2dev functions.
4715 (gomp_unload_image_from_device): Handle false value from
4716 unload_image_func plugin hook.
4717 (gomp_init_device): Handle false value from init_device_func
4718 plugin hook.
4719 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4720 (omp_target_free): Adjust to call gomp_free_device_memory.
4721 (omp_target_memcpy): Handle return values from host2dev_func,
4722 dev2host_func, and dev2dev_func plugin hooks.
4723 (omp_target_memcpy_rect_worker): Likewise.
4724 (gomp_target_fini): Handle false value from fini_device_func
4725 plugin hook.
4726 * libgomp.h (struct gomp_device_descr): Adjust return type of
4727 init_device_func, fini_device_func, unload_image_func, free_func,
4728 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4729 * oacc-init.c (acc_shutdown_1): Handle false value from
4730 fini_device_func plugin hook.
4731 * oacc-host.c (host_init_device): Change return type to bool.
4732 (host_fini_device): Likewise.
4733 (host_unload_image): Likewise.
4734 (host_free): Likewise.
4735 (host_dev2host): Likewise.
4736 (host_host2dev): Likewise.
4737 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4738 (acc_memcpy_to_device): Likewise.
4739 (acc_memcpy_from_device): Likewise.
4740 (delete_copyout): Add libfnname parameter, handle free_func
4741 hook fatal error case.
4742 (acc_delete): Adjust delete_copyout call.
4743 (acc_copyout): Likewise.
4744 (update_dev_host): Move gomp_mutex_unlock to after
4745 host2dev/dev2host hook calls.
4746
4747 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4748 to 'hsa_error_msg', for clarity.
4749 (hsa_fatal): Likewise.
4750 (hsa_error): New function.
4751 (init_hsa_context): Change return type to bool, adjust to return
4752 false on error.
4753 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4754 return value.
4755 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4756 return false on error.
4757 (get_agent_info): Adjust to return NULL on error.
4758 (destroy_hsa_program): Change return type to bool, adjust to
4759 return false on error.
4760 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4761 (destroy_module): Change return type to bool, adjust to
4762 return false on error.
4763 (GOMP_OFFLOAD_unload_image): Likewise.
4764 (GOMP_OFFLOAD_fini_device): Likewise.
4765 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4766 (GOMP_OFFLOAD_free): Change to return false when called.
4767 (GOMP_OFFLOAD_dev2host): Likewise.
4768 (GOMP_OFFLOAD_host2dev): Likewise.
4769 (GOMP_OFFLOAD_dev2dev): Likewise.
4770
4771 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4772 (CUDA_CALL): Likewise.
4773 (CUDA_CALL_ASSERT): Likewise.
4774 (map_init): Change return type to bool, use CUDA_CALL* macros.
4775 (map_fini): Likewise.
4776 (init_streams_for_device): Change return type to bool, adjust
4777 call to map_init.
4778 (fini_streams_for_device): Change return type to bool, adjust
4779 call to map_fini.
4780 (select_stream_for_async): Release stream_lock before calls to
4781 GOMP_PLUGIN_fatal, adjust call to map_init.
4782 (nvptx_init): Use CUDA_CALL* macros.
4783 (nvptx_attach_host_thread_to_device): Change return type to bool,
4784 use CUDA_CALL* macros.
4785 (nvptx_open_device): Use CUDA_CALL* macros.
4786 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4787 macros.
4788 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4789 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4790 (nvptx_exec): Use CUDA_CALL* macros.
4791 (nvptx_alloc): Use CUDA_CALL* macros.
4792 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4793 (nvptx_host2dev): Likewise.
4794 (nvptx_dev2host): Likewise.
4795 (nvptx_wait): Use CUDA_CALL* macros.
4796 (nvptx_wait_async): Likewise.
4797 (nvptx_wait_all): Likewise.
4798 (nvptx_wait_all_async): Likewise.
4799 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4800 use CUDA_CALL* macros, adjust call to map_fini.
4801 (GOMP_OFFLOAD_init_device): Change return type to bool,
4802 adjust code accordingly.
4803 (GOMP_OFFLOAD_fini_device): Likewise.
4804 (GOMP_OFFLOAD_load_image): Adjust calls to
4805 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4806 use CUDA_CALL* macros.
4807 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4808 return code.
4809 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4810 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4811 handle error return.
4812 (GOMP_OFFLOAD_dev2host): Likewise.
4813 (GOMP_OFFLOAD_host2dev): Likewise.
4814 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4815 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4816
4817 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4818
4819 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4820 (acc_free): Likewise.
4821 (acc_memcpy_to_device): Likewise.
4822 (acc_memcpy_from_device): Likewise.
4823 (acc_deviceptr): Likewise.
4824 (acc_hostptr): Likewise.
4825 (acc_is_present): Likewise.
4826 (acc_map_data): Likewise.
4827 (acc_unmap_data): Likewise.
4828 (present_create_copy): Likewise.
4829 (delete_copyout): Likewise.
4830 (update_dev_host): Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4832 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4833 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4834 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4835 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4836 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4837 it only runs on nvptx targets.
4838 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4839 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4841 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4845 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4847 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4848 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4849 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4850 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4851 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4852 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4854 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4855 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4859 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4860 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4861
4862 2016-05-23 Martin Jambor <mjambor@suse.cz>
4863
4864 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4865
4866 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4867
4868 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4869 to gomp_init_targets_once.
4870 (acc_set_device_type): Remove !cached_base_dev condition on call to
4871 gomp_init_targets_once, move call to before acc_device_lock acquire,
4872 to avoid deadlock.
4873 (acc_get_device_num): Remove !cached_base_dev condition on call to
4874 gomp_init_targets_once.
4875 (acc_set_device_num): Likewise.
4876
4877 2016-05-16 Martin Jambor <mjambor@suse.cz>
4878
4879 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
4880
4881 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4882
4883 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4884 expected partitioning.
4885
4886 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4887
4888 PR middle-end/70626
4889 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4890 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4891 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4892
4893 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
4894
4895 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4896 non-fatal.
4897
4898 2016-04-19 Jakub Jelinek <jakub@redhat.com>
4899
4900 PR middle-end/70680
4901 * testsuite/libgomp.c/pr70680-1.c: New test.
4902 * testsuite/libgomp.c/pr70680-2.c: New test.
4903
4904 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4905
4906 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4907 pass parameter variables to subroutines.
4908
4909 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4910
4911 PR middle-end/70643
4912 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4913
4914 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4915
4916 PR testsuite/68242
4917 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4918 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4919
4920 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4921
4922 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4923 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4924 GOACC_declare prototype.
4925
4926 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4927 Merge this file, and...
4928 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4929 ... this file, and...
4930 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4931 ... this file, and...
4932 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4933 ... this file, and...
4934 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4935 ... this file, and...
4936 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4937 ... this file, and...
4938 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4939 ... this file, and...
4940 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4941 ... this file, and...
4942 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4943 ... this file, and...
4944 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4945 ... this file, and...
4946 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4947 ... this file, and...
4948 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4949 ... this file, and...
4950 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4951 ... this file into...
4952 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4953 file.
4954
4955 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4956 Make failure observable.
4957
4958 2016-04-12 Jakub Jelinek <jakub@redhat.com>
4959
4960 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4961 field.
4962 * target.c (gomp_target_fallback_firstprivate,
4963 gomp_target_unshare_firstprivate): Removed.
4964 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4965 before waiting for dependencies.
4966 (gomp_target_task_fn): Don't copy firstprivate vars here.
4967 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4968 firstprivate_copies here.
4969 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4970 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4971 explicit/implicit firstprivate.
4972
4973 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4974
4975 PR lto/70289
4976 PR ipa/70348
4977 PR tree-optimization/70373
4978 PR middle-end/70533
4979 PR middle-end/70534
4980 PR middle-end/70535
4981 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4982 test.
4983 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4984 test.
4985 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4986 test.
4987 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4988 test.
4989 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4990 test.
4991 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4992 test.
4993 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4994 test.
4995 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4996 test.
4997 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4998 test.
4999 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5000 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5001 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5002 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5003 test.
5004 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5005 test.
5006 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5007 test.
5008 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5009 test.
5010 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5011 coverage.
5012 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5013 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5014 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5015 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5016 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5017 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5018 coverage.
5019 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5020 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5021 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5022 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5023 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5024 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5025 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5026 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5027 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5028 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5029 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5030 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5031 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5032 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5033 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5034
5035 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5036 James Norris <jnorris@codesourcery.com>
5037 Nathan Sidwell <nathan@codesourcery.com>
5038 Julian Brown <julian@codesourcery.com>
5039 Cesar Philippidis <cesar@codesourcery.com>
5040 Chung-Lin Tang <cltang@codesourcery.com>
5041 Tom de Vries <tom@codesourcery.com>
5042
5043 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5044 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5045 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5046 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5047 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5048 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5049 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5050 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5051 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5052 XFAIL.
5053 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5054 Incorporate...
5055 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5056 file.
5057 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5058 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5059 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5061 Likewise.
5062 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5063 Likewise.
5064 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5065 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5066 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5067 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5068 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5069 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5070 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5071 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5072 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5073 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5074 Likewise.
5075 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5076 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5077 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5078 file...
5079 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5080 file into...
5081 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5082 file. Update.
5083 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5084 file.
5085 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5086 Likewise.
5087 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5088 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5089 ... this new file. Update.
5090 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5091 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5092 ... this new file. Update.
5093 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5094 file. Incorporate...
5095 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5096 file, and...
5097 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5098 file, and...
5099 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5100 file.
5101 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5102
5103 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5104
5105 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5106 set-torture-options.
5107
5108 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5109
5110 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5111 gcc-dg-runtest.
5112 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5113 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5114 -fno-builtin-acc_on_device instead of -O0.
5115 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5116 -O0.
5117 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5119 Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5123 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5125 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5126 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5127 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5128 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5129 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5130 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5131 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5132 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5133 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5134 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5135 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5136 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5137 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5138 Don't specify -O2.
5139 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5140 Likewise.
5141 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5142 Likewise.
5143
5144 2016-03-24 Martin Liska <mliska@suse.cz>
5145
5146 * plugin/plugin-hsa.c (packet_store_release): New function
5147 that is taken from the HSA runtime manual.
5148 (GOMP_OFFLOAD_run): Use the function.
5149
5150 2016-03-23 Jakub Jelinek <jakub@redhat.com>
5151
5152 PR c++/70376
5153 * testsuite/libgomp.c++/pr70376.C: New test.
5154
5155 2016-03-23 Tom de Vries <tom@codesourcery.com>
5156
5157 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5158 initialization of lresult and lvresult.
5159 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5160
5161 2016-03-23 James Norris <jnorris@codesourcery.com>
5162 Daichi Fukuoka <dc-fukuoka@sgi.com>
5163
5164 PR libgomp/69414
5165 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5166 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5167 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5168 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5169
5170 2016-03-23 Martin Liska <mliska@suse.cz>
5171
5172 PR hsa/70337
5173 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5174 argument just in case a dispatched kernel uses that argument.
5175
5176 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5177
5178 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5179 -ftree-parallelize-loops/-fopenacc changes.
5180 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5181 Likewise.
5182 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5183 Likewise.
5184 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5185 Likewise.
5186 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5187 Likewise.
5188 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5189 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5190
5191 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5192
5193 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5194 always_ld_library_path the path to libgcc_s.
5195
5196 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5197
5198 PR testsuite/70009
5199 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5200
5201 2016-03-09 Tom de Vries <tom@codesourcery.com>
5202
5203 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5204 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5205 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5206 Same.
5207 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5208 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5209 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5210 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5211
5212 2016-03-07 Martin Jambor <mjambor@suse.cz>
5213
5214 * testsuite/lib/libgomp.exp
5215 (check_effective_target_hsa_offloading_selected_nocache): New.
5216 (check_effective_target_hsa_offloading_selected): Likewise.
5217 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5218 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5219 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5220 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5221 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5222 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5223 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5224 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5225 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5226 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5227 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5228 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5229 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5230 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5231 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5232 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5233 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5234
5235 2016-03-07 Martin Jambor <mjambor@suse.cz>
5236
5237 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5238 non-shared memory accelerators.
5239 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5240 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5241 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5242 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5243 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5244 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5245 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5246 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5247 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5248
5249 2016-03-07 Martin Jambor <mjambor@suse.cz>
5250
5251 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5252 ALWAYS_CFLAGS.
5253
5254 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5255
5256 PR libgomp/69555
5257 * testsuite/libgomp.c++/pr69555-1.C: New test.
5258 * testsuite/libgomp.c++/pr69555-2.C: New test.
5259
5260 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5261 Martin Jambor <mjambor@suse.cz>
5262
5263 * testsuite/lib/libgomp.exp
5264 (check_effective_target_offload_device_shared_as): New proc.
5265 * testsuite/libgomp.c++/declare_target-1.C: New test.
5266
5267 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5268
5269 PR driver/68463
5270 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5271
5272 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5273
5274 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5275 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5276 dims.
5277 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5278 -ftree-parallelize-loops/-fopenacc changes.
5279 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5280 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5281 Likewise.
5282 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5283 Likewise.
5284 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5285 Likewise.
5286 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5287 Likewise.
5288 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5289 Likewise.
5290 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5291 Likewise.
5292 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5293 Likewise.
5294 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5295 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5296 Likewise.
5297 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5298 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5299 Likewise.
5300 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5301 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5302 Likewise.
5303
5304 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5305
5306 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5307
5308 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5309
5310 PR driver/69805
5311 * testsuite/libgomp.c/pr69805.c: New test.
5312
5313 2016-02-16 Tom de Vries <tom@codesourcery.com>
5314
5315 PR lto/67709
5316 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5317
5318 2016-02-09 Tom de Vries <tom@codesourcery.com>
5319
5320 PR tree-optimization/69599
5321 * testsuite/libgomp.c/omp-nested-3.c: New test.
5322 * testsuite/libgomp.c/pr46032-2.c: New test.
5323 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5324 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5325
5326 2016-02-09 Tom de Vries <tom@codesourcery.com>
5327
5328 PR lto/69707
5329 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5330
5331 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5332
5333 * testsuite/libgomp.c/target-31.c: Fix testcase.
5334
5335 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5336
5337 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5338 clause.
5339 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5340 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5341 reduction and map clauses.
5342 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5343
5344 2016-02-02 James Norris <jnorris@codesourcery.com>
5345
5346 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5347
5348 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5349
5350 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5351 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5352
5353 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5354 cases.
5355
5356 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5357 variables.
5358 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5359 (hsa_kmt_lib): Set variables.
5360 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5361 always_ld_library_path.
5362 * Makefile.in: Regenerate.
5363 * configure: Likewise.
5364 * testsuite/Makefile.in: Likewise.
5365
5366 * plugin/configfrag.ac (offload_additional_options)
5367 (offload_additional_lib_paths): Don't amend for hsa offloading.
5368 * configure: Regenerate.
5369
5370 * plugin/configfrag.ac: Don't configure for offloading target if
5371 we don't build the corresponding plugin.
5372 * configure: Regenerate.
5373
5374 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5375
5376 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5377 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5378
5379 2016-01-26 Tom de Vries <tom@codesourcery.com>
5380
5381 PR tree-optimization/69110
5382 * testsuite/libgomp.c/pr69110.c: New test.
5383
5384 2016-01-25 Richard Biener <rguenther@suse.de>
5385
5386 PR lto/69393
5387 * testsuite/libgomp.c++/pr69393.C: New testcase.
5388
5389 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5390
5391 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5392 function wasn't mapped to the device with non-shared memory.
5393
5394 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5395
5396 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5397
5398 2016-01-19 Martin Jambor <mjambor@suse.cz>
5399 Martin Liska <mliska@suse.cz>
5400
5401 * plugin/Makefrag.am: Add HSA plugin requirements.
5402 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5403 (HSA_RUNTIME_LIB): Likewise.
5404 (HSA_RUNTIME_CPPFLAGS): Likewise.
5405 (HSA_RUNTIME_INCLUDE): New substitution.
5406 (HSA_RUNTIME_LIB): Likewise.
5407 (HSA_RUNTIME_LDFLAGS): Likewise.
5408 (hsa-runtime): New configure option.
5409 (hsa-runtime-include): Likewise.
5410 (hsa-runtime-lib): Likewise.
5411 (PLUGIN_HSA): New substitution variable.
5412 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5413 configure options.
5414 (PLUGIN_HSA_CPPFLAGS): Likewise.
5415 (PLUGIN_HSA_LDFLAGS): Likewise.
5416 (PLUGIN_HSA_LIBS): Likewise.
5417 Check that we have access to HSA run-time.
5418 * libgomp-plugin.h (offload_target_type): New element
5419 OFFLOAD_TARGET_TYPE_HSA.
5420 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5421 args.
5422 (bool gomp_create_target_task): Updated.
5423 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5424 new field can_run_func.
5425 * libgomp_g.h (GOMP_target_ext): Update prototype.
5426 * oacc-host.c (host_run): Added a new parameter args.
5427 * target.c (calculate_firstprivate_requirements): New function.
5428 (copy_firstprivate_data): Likewise.
5429 (gomp_target_fallback_firstprivate): Use them.
5430 (gomp_target_unshare_firstprivate): New function.
5431 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5432 devices.
5433 (GOMP_target): Do host fallback for all shared memory devices. Do not
5434 pass any args to plugins.
5435 (GOMP_target_ext): Introduce device-specific argument parameter args.
5436 Allow host fallback if device shares memory. Do not remap data if
5437 device has shared memory.
5438 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5439 like host fallback for mappings.
5440 (GOMP_target_data): Treat shared memory devices like host fallback.
5441 (GOMP_target_data_ext): Likewise.
5442 (GOMP_target_update): Likewise.
5443 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5444 gomp_create_target_task.
5445 (GOMP_target_enter_exit_data): Likewise.
5446 (omp_target_alloc): Treat shared memory devices like host fallback.
5447 (omp_target_free): Likewise.
5448 (omp_target_is_present): Likewise.
5449 (omp_target_memcpy): Likewise.
5450 (omp_target_memcpy_rect): Likewise.
5451 (omp_target_associate_ptr): Likewise.
5452 (gomp_load_plugin_for_device): Also load can_run.
5453 * task.c (GOMP_PLUGIN_target_task_completion): Free
5454 firstprivate_copies.
5455 (gomp_create_target_task): Accept new argument args and store it to
5456 ttask.
5457 * plugin/plugin-hsa.c: New file.
5458
5459 2016-01-18 Tom de Vries <tom@codesourcery.com>
5460
5461 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5462 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5463 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5465 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5467 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5468 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5469 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5470 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5471 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5472 Same.
5473 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5474 Same.
5475 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5476 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5477 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5478 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5479 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5481 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5482 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5483 Same.
5484 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5485
5486 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5487
5488 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5489
5490 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5491
5492 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5493
5494 2016-01-12 James Norris <jnorris@codesourcery.com>
5495
5496 * libgomp.texi: Updates for OpenACC.
5497
5498 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
5499
5500 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5501
5502 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5503
5504 PR fortran/66680
5505 * testsuite/libgomp.fortran/pr66680.f90: New test.
5506
5507 2016-01-07 Jakub Jelinek <jakub@redhat.com>
5508
5509 PR middle-end/68960
5510 * testsuite/libgomp.c/pr68960.c: New test.
5511
5512 2016-01-06 Nathan Sidwell <nathan@acm.org>
5513
5514 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
5515 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5516
5517 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5518
5519 Update copyright years.
5520
5521 * libgomp.texi: Bump @copying's copyright year.
5522
5523 2015-12-31 Nathan Sidwell <nathan@acm.org>
5524
5525 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5526 dg-additional-options syntax.
5527 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5528 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5529 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5530 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5531 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5532 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5533 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5534 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5535 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5536 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5537 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5538 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5539 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5540 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5541 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5542 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5543 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5544 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5545
5546 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5547
5548 * libgomp.h (REFCOUNT_LINK): Define.
5549 (struct splay_tree_key_s): Add link_key.
5550 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5551 Replace target address of the pointer with target address of newly
5552 mapped object in the splay tree. Set link pointer on target to the
5553 device address of the mapped object.
5554 (gomp_unmap_vars): Restore target address of the pointer in the splay
5555 tree for REFCOUNT_LINK objects after unmapping.
5556 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5557 declare target link" objects.
5558 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5559 "omp declare target link" objects, which were mapped for the image.
5560 (gomp_exit_data): Restore target address of the pointer in the splay
5561 tree for REFCOUNT_LINK objects after unmapping.
5562 * testsuite/libgomp.c/target-link-1.c: New file.
5563
5564 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5565
5566 * libgomp.h (gomp_device_state): New enum.
5567 (struct gomp_device_descr): Replace is_initialized with state.
5568 (gomp_fini_device): Remove declaration.
5569 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5570 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5571 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5572 (acc_set_device_type): Use state instead of is_initialized.
5573 (acc_set_device_num): Likewise.
5574 * target.c (resolve_device): Use state instead of is_initialized.
5575 Do not initialize finalized device.
5576 (gomp_map_vars): Do nothing if device is finalized.
5577 (gomp_unmap_vars): Likewise.
5578 (gomp_update): Likewise.
5579 (GOMP_offload_register_ver): Use state instead of is_initialized.
5580 (GOMP_offload_unregister_ver): Likewise.
5581 (gomp_init_device): Likewise.
5582 (gomp_unload_device): Likewise.
5583 (gomp_fini_device): Remove.
5584 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5585 (GOMP_target): Go to host fallback if device is finalized.
5586 (GOMP_target_ext): Likewise.
5587 (gomp_exit_data): Do nothing if device is finalized.
5588 (gomp_target_task_fn): Go to host fallback if device is finalized.
5589 (gomp_target_fini): New static function.
5590 (gomp_target_init): Use state instead of is_initialized.
5591 Call gomp_target_fini at exit.
5592
5593 2015-12-09 Tom de Vries <tom@codesourcery.com>
5594
5595 PR tree-optimization/68716
5596 * testsuite/libgomp.c/omp-nested-2.c: New test.
5597
5598 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5599
5600 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5601 target openacc_nvidia_accel_selected.
5602 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5603 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5605 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5606
5607 2015-12-01 Julian Brown <julian@codesourcery.com>
5608 James Norris <James_Norris@mentor.com>
5609
5610 * oacc-parallel.c (GOACC_host_data): New function.
5611 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5612 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5613 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5614 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5615 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5616 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5617 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5618
5619 2015-11-30 James Norris <jnorris@codesourcery.com>
5620 Cesar Philippidis <cesar@codesourcery.com>
5621
5622 libgomp/
5623 * libgomp.oacc-fortran/routine-5.f90: New test.
5624 * libgomp.oacc-fortran/routine-7.f90: New test.
5625 * libgomp.oacc-fortran/routine-9.f90: New test.
5626
5627 2015-11-30 Tom de Vries <tom@codesourcery.com>
5628
5629 PR tree-optimization/46032
5630 * testsuite/libgomp.c/pr46032.c: New test.
5631
5632 2015-11-27 Jakub Jelinek <jakub@redhat.com>
5633
5634 PR libgomp/68579
5635 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5636 (gomp_create_target_task): Call it before freeing
5637 GOMP_TARGET_TASK_DATA tasks.
5638
5639 PR c/63326
5640 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5641 in between case label and OpenMP standalone directives.
5642 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5643
5644 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
5645
5646 * configure: Regenerate.
5647
5648 2015-11-26 Jakub Jelinek <jakub@redhat.com>
5649
5650 * testsuite/libgomp.c/target-35.c: New test.
5651
5652 2015-11-22 James Norris <jnorris@codesourcery.com>
5653 Cesar Philippidis <cesar@codesourcery.com>
5654
5655 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5656 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5657 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5658 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5659 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5660
5661 2015-11-20 Jakub Jelinek <jakub@redhat.com>
5662
5663 PR middle-end/68221
5664 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5665 * testsuite/libgomp.c/reduction-12.c: Likewise.
5666 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5667 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5668
5669 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5670
5671 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5672 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5673 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5674 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5675 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5676 and fix.
5677 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5678 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5679
5680 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5681
5682 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5683 worker & gang cases.
5684 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5685
5686 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5687
5688 * config/nvptx/priority_queue.c: New file.
5689
5690 2015-11-14 Jakub Jelinek <jakub@redhat.com>
5691
5692 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5693 sections.
5694
5695 2015-11-14 Jakub Jelinek <jakub@redhat.com>
5696 Aldy Hernandez <aldyh@redhat.com>
5697 Ilya Verbin <ilya.verbin@intel.com>
5698
5699 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5700 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5701 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5702 iterators or IV by chunk size.
5703 * parallel.c (gomp_resolve_num_threads): Don't assume that
5704 if thr->ts.team is non-NULL, then pool must be non-NULL.
5705 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5706 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5707 GOMP_PLUGIN_target_task_completion.
5708 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5709 * Makefile.in: Regenerate.
5710 * libgomp.h: Shuffle prototypes and forward definitions around so
5711 priority queues can be defined.
5712 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5713 (enum gomp_target_task_state): New enum.
5714 (struct gomp_target_task): Add state, tgt, task and team fields.
5715 (gomp_create_target_task): Change return type to bool, add
5716 state argument.
5717 (gomp_target_task_fn): Change return type to bool.
5718 (struct gomp_device_descr): Add async_run_func.
5719 (struct gomp_task): Remove children, next_child, prev_child,
5720 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5721 Add pnode field.
5722 (struct gomp_taskgroup): Remove children.
5723 Add taskgroup_queue.
5724 (struct gomp_team): Change task_queue type to a priority queue.
5725 (splay_compare): Define inline.
5726 (priority_queue_offset): New.
5727 (priority_node_to_task): New.
5728 (task_to_priority_node): New.
5729 * oacc-mem.c: Do not include splay-tree.h.
5730 * priority_queue.c: New file.
5731 * priority_queue.h: New file.
5732 * splay-tree.c: Do not include splay-tree.h.
5733 (splay_tree_foreach_internal): New.
5734 (splay_tree_foreach): New.
5735 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5736 (splay_tree_callback): Define typedef.
5737 * target.c (splay_compare): Move to libgomp.h.
5738 (GOMP_target): Don't adjust *thr in any way around running offloaded
5739 task.
5740 (GOMP_target_ext): Likewise. Handle target nowait.
5741 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5742 return value from gomp_create_target_task, if false, fallthrough
5743 as if no dependencies exist.
5744 (gomp_target_task_fn): Change return type to bool, return true
5745 if the task should have another part scheduled later. Handle
5746 target nowait.
5747 (gomp_load_plugin_for_device): Initialize async_run.
5748 * task.c (gomp_init_task): Initialize children_queue.
5749 (gomp_clear_parent_in_list): New.
5750 (gomp_clear_parent_in_tree): New.
5751 (gomp_clear_parent): Handle priorities.
5752 (GOMP_task): Likewise.
5753 (priority_queue_move_task_first,
5754 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5755 New functions.
5756 (gomp_create_target_task): Use priority queues. Change return type
5757 to bool, add state argument, return false if for async
5758 {{enter,exit} data,update} constructs no dependencies need to be
5759 waited for, handle target nowait. Set task->fn to NULL instead of
5760 gomp_target_task_fn.
5761 (verify_children_queue): Remove.
5762 (priority_list_upgrade_task): New.
5763 (priority_queue_upgrade_task): New.
5764 (verify_task_queue): Remove.
5765 (priority_list_downgrade_task): New.
5766 (priority_queue_downgrade_task): New.
5767 (gomp_task_run_pre): Use priority queues.
5768 Abstract code out to priority_queue_downgrade_task.
5769 (gomp_task_run_post_handle_dependers): Use priority queues.
5770 (gomp_task_run_post_remove_parent): Likewise.
5771 (gomp_task_run_post_remove_taskgroup): Likewise.
5772 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5773 tasks specially.
5774 (GOMP_taskwait): Likewise.
5775 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5776 priority-queue_upgrade_task.
5777 (GOMP_taskgroup_start): Use priority queues.
5778 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5779 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5780 barrier.
5781 * taskloop.c (GOMP_taskloop): Handle priorities.
5782 * team.c (gomp_new_team): Call priority_queue_init.
5783 (free_team): Call priority_queue_free.
5784 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5785 team created for target nowait in implicit parallel region.
5786 (gomp_team_start): For nested check, test thr->ts.level instead of
5787 thr->ts.team != NULL.
5788 * testsuite/libgomp.c/doacross-3.c: New test.
5789 * testsuite/libgomp.c/ordered-5.c: New test.
5790 * testsuite/libgomp.c/priority.c: New test.
5791 * testsuite/libgomp.c/target-31.c: New test.
5792 * testsuite/libgomp.c/target-32.c: New test.
5793 * testsuite/libgomp.c/target-33.c: New test.
5794 * testsuite/libgomp.c/target-34.c: New test.
5795
5796 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5797
5798 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5799
5800 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5801 loop is sequential.
5802
5803 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5804
5805 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5806 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5807
5808 2015-11-12 James Norris <jnorris@codesourcery.com>
5809 Joseph Myers <joseph@codesourcery.com>
5810
5811 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5812 * oacc-parallel.c (GOACC_declare): New function.
5813 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5814 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5815 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5816 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5817 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5818
5819 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5820
5821 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5822
5823 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5824
5825 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5826 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5827
5828 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5829
5830 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5831 inadvertent commit.
5832
5833 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5834
5835 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5836 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5837 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5838 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5839 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5840
5841 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5842
5843 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5844 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5845
5846 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5847 Ilya Verbin <ilya.verbin@intel.com>
5848
5849 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5850 GOMP_loop_nonmonotonic_dynamic_start,
5851 GOMP_loop_nonmonotonic_guided_next,
5852 GOMP_loop_nonmonotonic_guided_start,
5853 GOMP_loop_ull_nonmonotonic_dynamic_next,
5854 GOMP_loop_ull_nonmonotonic_dynamic_start,
5855 GOMP_loop_ull_nonmonotonic_guided_next,
5856 GOMP_loop_ull_nonmonotonic_guided_start,
5857 GOMP_parallel_loop_nonmonotonic_dynamic,
5858 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5859 (GOMP_target_41): Renamed to ...
5860 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5861 arguments.
5862 (GOMP_target_data_41): Renamed to ...
5863 (GOMP_target_data_ext): ... this.
5864 (GOMP_target_update_41): Renamed to ...
5865 (GOMP_target_update_ext): ... this.
5866 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5867 GOMP_target_data_ext and GOMP_target_update_ext instead of
5868 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5869 Export GOMP_loop_nonmonotonic_dynamic_next,
5870 GOMP_loop_nonmonotonic_dynamic_start,
5871 GOMP_loop_nonmonotonic_guided_next,
5872 GOMP_loop_nonmonotonic_guided_start,
5873 GOMP_loop_ull_nonmonotonic_dynamic_next,
5874 GOMP_loop_ull_nonmonotonic_dynamic_start,
5875 GOMP_loop_ull_nonmonotonic_guided_next,
5876 GOMP_loop_ull_nonmonotonic_guided_start,
5877 GOMP_parallel_loop_nonmonotonic_dynamic and
5878 GOMP_parallel_loop_nonmonotonic_guided.
5879 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5880 GOMP_parallel_loop_nonmonotonic_guided,
5881 GOMP_loop_nonmonotonic_dynamic_start,
5882 GOMP_loop_nonmonotonic_guided_start,
5883 GOMP_loop_nonmonotonic_dynamic_next,
5884 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5885 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5886 GOMP_loop_ull_nonmonotonic_guided_start,
5887 GOMP_loop_ull_nonmonotonic_dynamic_next,
5888 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5889 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5890 functions.
5891 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5892 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5893 Use gomp_map_val function.
5894 (gomp_target_fallback_firstprivate): New static function.
5895 (GOMP_target_41): Renamed to ...
5896 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5897 arguments. Move firstprivate fallback handling into a new
5898 function.
5899 (GOMP_target_data_41): Renamed to ...
5900 (GOMP_target_data_ext): ... this.
5901 (GOMP_target_update_41): Renamed to ...
5902 (GOMP_target_update_ext): ... this.
5903 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5904 gomp_map_0len_lookup instead of gomp_map_lookup.
5905 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5906 gomp_map_lookup.
5907 * testsuite/libgomp.c/target-28.c: Likewise.
5908 * testsuite/libgomp.c/monotonic-1.c: New test.
5909 * testsuite/libgomp.c/monotonic-2.c: New test.
5910 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5911 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5912 * testsuite/libgomp.c/pr66199-5.c: New test.
5913 * testsuite/libgomp.c/pr66199-6.c: New test.
5914 * testsuite/libgomp.c/pr66199-7.c: New test.
5915 * testsuite/libgomp.c/pr66199-8.c: New test.
5916 * testsuite/libgomp.c/pr66199-9.c: New test.
5917 * testsuite/libgomp.c/reduction-11.c: New test.
5918 * testsuite/libgomp.c/reduction-12.c: New test.
5919 * testsuite/libgomp.c/reduction-13.c: New test.
5920 * testsuite/libgomp.c/reduction-14.c: New test.
5921 * testsuite/libgomp.c/reduction-15.c: New test.
5922 * testsuite/libgomp.c/target-12.c (main): Adjust for
5923 omp_target_is_present change for one-past-last element.
5924 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5925 the same var is both mapped and privatized.
5926 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5927 handling of zero-length array sections.
5928 * testsuite/libgomp.c/target-28.c: New test.
5929 * testsuite/libgomp.c/target-29.c: New test.
5930 * testsuite/libgomp.c/target-30.c: New test.
5931 * testsuite/libgomp.c/target-teams-1.c: New test.
5932 * testsuite/libgomp.c++/member-6.C: New test.
5933 * testsuite/libgomp.c++/member-7.C: New test.
5934 * testsuite/libgomp.c++/monotonic-1.C: New test.
5935 * testsuite/libgomp.c++/monotonic-2.C: New test.
5936 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5937 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5938 * testsuite/libgomp.c++/pr66199-3.C: New test.
5939 * testsuite/libgomp.c++/pr66199-4.C: New test.
5940 * testsuite/libgomp.c++/pr66199-5.C: New test.
5941 * testsuite/libgomp.c++/pr66199-6.C: New test.
5942 * testsuite/libgomp.c++/pr66199-7.C: New test.
5943 * testsuite/libgomp.c++/pr66199-8.C: New test.
5944 * testsuite/libgomp.c++/pr66199-9.C: New test.
5945 * testsuite/libgomp.c++/reduction-11.C: New test.
5946 * testsuite/libgomp.c++/reduction-12.C: New test.
5947 * testsuite/libgomp.c++/target-13.C: New test.
5948 * testsuite/libgomp.c++/target-14.C: New test.
5949 * testsuite/libgomp.c++/target-15.C: New test.
5950 * testsuite/libgomp.c++/target-16.C: New test.
5951 * testsuite/libgomp.c++/target-17.C: New test.
5952 * testsuite/libgomp.c++/target-18.C: New test.
5953 * testsuite/libgomp.c++/target-19.C: New test.
5954
5955 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5956
5957 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5958 and reduction copy.
5959 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5960 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5961 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5962 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5963 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5964 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5965 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5966 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5967 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5968 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5969 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5970 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5971 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5972 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5973
5974 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5975
5976 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5977 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5978 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5979 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5980 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5981 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5982 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5983 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5984
5985 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5986
5987 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5988 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5989 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5990 * oacc-host.c (host_openacc_exec): Likewise.
5991 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5992
5993 2015-11-03 Julian Brown <julian@codesourcery.com>
5994 Thomas Schwinge <thomas@codesourcery.com>
5995
5996 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5997 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5998 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5999 Likewise.
6000 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6001 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6002
6003 2015-11-03 James Norris <jnorris@codesourcery.com>
6004
6005 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6006 file.
6007 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6008 Likewise.
6009 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6010 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6011 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6012 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6013 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6014
6015 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6016
6017 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6018 compatibility.
6019 (enum acc_async_t): Reformat.
6020 (acc_on_device): Declare compatible with builtin and provide C++
6021 wrapper.
6022 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6023
6024 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6025 Cesar Philippidis <cesar@codesourcery.com>
6026
6027 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6028 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6029 ... this. Add a description of the test at the top of the file.
6030 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6031 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6032 ... this. Add a description of the test at the top of the file.
6033
6034 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6035
6036 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6037 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6038 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6039 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6040 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6041 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6042
6043 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6044
6045 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6046 dimensions.
6047
6048 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6049
6050 PR testsuite/68063
6051 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6052
6053 2015-10-27 James Norris <jnorris@codesourcery.com>
6054
6055 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6056 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6057
6058 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6059
6060 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6061 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6062
6063 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6064 acc_device_nvidia usage.
6065 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6066 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6067 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6068
6069 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6070 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6071
6072 PR libgomp/66518
6073 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6074
6075 PR libgomp/65437
6076 PR libgomp/66518
6077 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6078 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6079
6080 2015-10-23 Tom de Vries <tom@codesourcery.com>
6081
6082 PR testsuite/68063
6083 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6084
6085 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6086
6087 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6088 vector_length.
6089 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6090
6091 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6092 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6093
6094 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6095 to 0 when mapnum is 0.
6096
6097 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6098
6099 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6100 Cast to int from int32_t.
6101
6102 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6103 Aldy Hernandez <aldyh@redhat.com>
6104 Ilya Verbin <ilya.verbin@intel.com>
6105
6106 * config/linux/affinity.c (omp_get_place_num_procs,
6107 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6108 * config/linux/doacross.h: New file.
6109 * config/posix/affinity.c (omp_get_place_num_procs,
6110 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6111 * config/posix/doacross.h: New file.
6112 * env.c: Include gomp-constants.h.
6113 (struct gomp_task_icv): Rename run_sched_modifier to
6114 run_sched_chunk_size.
6115 (gomp_max_task_priority_var): New variable.
6116 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6117 (handle_omp_display_env): Change _OPENMP value from 201307 to
6118 201511. Print OMP_MAX_TASK_PRIORITY.
6119 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6120 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6121 chunk_size and run_sched_modifier to run_sched_chunk_size.
6122 (omp_get_max_task_priority, omp_get_initial_device,
6123 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6124 omp_get_partition_place_nums): New functions.
6125 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6126 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6127 to chunk_size.
6128 (omp_get_num_places_, omp_get_place_num_procs_,
6129 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6130 omp_get_place_proc_ids_8_, omp_get_place_num_,
6131 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6132 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6133 omp_get_max_task_priority_): New functions.
6134 * libgomp_g.h (GOMP_loop_doacross_static_start,
6135 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6136 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6137 GOMP_loop_ull_doacross_dynamic_start,
6138 GOMP_loop_ull_doacross_guided_start,
6139 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6140 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6141 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6142 GOMP_target_data_41, GOMP_target_update_41,
6143 GOMP_target_enter_exit_data): New prototypes.
6144 (GOMP_task): Add prototype argument.
6145 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6146 (struct gomp_doacross_work_share): New type.
6147 (struct gomp_work_share): Add doacross field.
6148 (struct gomp_task_icv): Rename run_sched_modifier to
6149 run_sched_chunk_size.
6150 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6151 GOMP_TASK_UNDEFERRED. Add comments.
6152 (struct gomp_task_depend_entry): Add comments.
6153 (struct gomp_task): Likewise.
6154 (struct gomp_taskgroup): Likewise.
6155 (struct gomp_target_task): New type.
6156 (struct gomp_team): Add comment.
6157 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6158 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6159 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6160 (struct target_var_desc): New type.
6161 (struct target_mem_desc): Adjust comment. Use struct
6162 target_var_desc instead of splay_tree_key for list.
6163 (REFCOUNT_INFINITY): Define.
6164 (struct splay_tree_key_s): Remove copy_from field.
6165 (struct gomp_device_descr): Add dev2dev_func field.
6166 (enum gomp_map_vars_kind): New enum.
6167 (gomp_map_vars): Add one argument.
6168 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6169 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6170 omp_get_place_num_procs, omp_get_place_num_procs_,
6171 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6172 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6173 omp_get_place_num_, omp_get_partition_num_places,
6174 omp_get_partition_num_places_, omp_get_partition_place_nums,
6175 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6176 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6177 omp_target_free, omp_target_is_present, omp_target_memcpy,
6178 omp_target_memcpy_rect, omp_target_associate_ptr and
6179 omp_target_disassociate_ptr.
6180 (GOMP_4.0.2): Renamed to ...
6181 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6182 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6183 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6184 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6185 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6186 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6187 GOMP_loop_ull_doacross_guided_start,
6188 GOMP_loop_ull_doacross_runtime_start,
6189 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6190 GOMP_doacross_ull_wait.
6191 * libgomp.texi: Document omp_get_max_task_priority.
6192 Rename modifier argument to chunk_size for omp_set_schedule and
6193 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6194 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6195 to run_sched_chunk_size renaming.
6196 (GOMP_loop_ordered_runtime_start): Likewise.
6197 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6198 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6199 GOMP_parallel_loop_runtime_start): New functions.
6200 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6201 to run_sched_chunk_size renaming.
6202 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6203 GOMP_loop_doacross_guided_start): New functions or aliases.
6204 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6205 run_sched_modifier to run_sched_chunk_size renaming.
6206 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6207 (gomp_loop_ull_doacross_static_start,
6208 gomp_loop_ull_doacross_dynamic_start,
6209 gomp_loop_ull_doacross_guided_start,
6210 GOMP_loop_ull_doacross_runtime_start): New functions.
6211 (GOMP_loop_ull_doacross_static_start,
6212 GOMP_loop_ull_doacross_dynamic_start,
6213 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6214 * oacc-mem.c (acc_map_data, present_create_copy,
6215 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6216 to gomp_map_vars.
6217 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6218 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6219 instead of false to gomp_map_vars.
6220 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6221 * omp.h.in (omp_lock_hint_t): New type.
6222 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6223 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6224 omp_get_place_num, omp_get_partition_num_places,
6225 omp_get_partition_place_nums, omp_get_initial_device,
6226 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6227 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6228 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6229 prototypes.
6230 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6231 (omp_lock_hint_none, omp_lock_hint_uncontended,
6232 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6233 omp_lock_hint_speculative): New parameters.
6234 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6235 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6236 omp_get_place_num, omp_get_partition_num_places,
6237 omp_get_partition_place_nums, omp_get_initial_device,
6238 omp_get_max_task_priority): New interfaces.
6239 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6240 to chunk_size.
6241 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6242 (omp_lock_hint_none, omp_lock_hint_uncontended,
6243 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6244 omp_lock_hint_speculative): New parameters.
6245 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6246 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6247 omp_get_place_num, omp_get_partition_num_places,
6248 omp_get_partition_place_nums, omp_get_initial_device,
6249 omp_get_max_task_priority): New functions and subroutines.
6250 * ordered.c: Include stdarg.h and string.h.
6251 (MAX_COLLAPSED_BITS): Define.
6252 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6253 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6254 GOMP_doacross_ull_wait): New functions.
6255 * target.c: Include errno.h.
6256 (resolve_device): If device is not initialized, call
6257 gomp_init_device on it.
6258 (gomp_map_lookup): New function.
6259 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6260 Don't bump refcount if REFCOUNT_INFINITY. Handle
6261 GOMP_MAP_ALWAYS_TO_P.
6262 (get_kind): Rename is_openacc argument to short_mapkind.
6263 (gomp_map_pointer): Use gomp_map_lookup.
6264 (gomp_map_fields_existing): New function.
6265 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6266 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6267 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6268 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6269 Adjust for tgt->list changed type and copy_from living in there.
6270 (gomp_copy_from_async): Adjust for tgt->list changed type and
6271 copy_from living in there.
6272 (gomp_unmap_vars): Likewise.
6273 (gomp_update): Likewise. Rename is_openacc argument to
6274 short_mapkind. Don't fail if object is not mapped.
6275 (gomp_load_image_to_device): Initialize refcount to
6276 REFCOUNT_INFINITY.
6277 (gomp_target_fallback): New function.
6278 (gomp_get_target_fn_addr): Likewise.
6279 (GOMP_target): Adjust gomp_map_vars caller, use
6280 gomp_get_target_fn_addr and gomp_target_fallback.
6281 (GOMP_target_41): New function.
6282 (gomp_target_data_fallback): New function.
6283 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6284 (GOMP_target_data_41): New function.
6285 (GOMP_target_update): Adjust gomp_update caller.
6286 (GOMP_target_update_41): New function.
6287 (gomp_exit_data, GOMP_target_enter_exit_data,
6288 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6289 omp_target_is_present, omp_target_memcpy,
6290 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6291 omp_target_associate_ptr, omp_target_disassociate_ptr,
6292 gomp_load_plugin_for_device): New functions.
6293 * task.c: Include gomp-constants.h. Include taskloop.c
6294 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6295 (gomp_task_handle_depend): New function.
6296 (GOMP_task): Use it. Add priority argument. Use
6297 gomp-constant.h constants instead of hardcoded numbers.
6298 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6299 (gomp_create_target_task): New function.
6300 (verify_children_queue, verify_taskgroup_queue,
6301 verify_task_queue): New functions.
6302 (gomp_task_run_pre): Call verify_*_queue functions.
6303 If an upcoming tied task is about to leave the sibling or
6304 taskgroup queues in an invalid state, adjust appropriately.
6305 Remove taskgroup argument. Add comments.
6306 (gomp_task_run_post_handle_dependers): Add comments.
6307 (gomp_task_run_post_remove_parent): Likewise.
6308 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6309 (GOMP_taskwait): Likewise. Add comments.
6310 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6311 problem such that the first non parent_depends_on task does not
6312 end up at the end of the children queue.
6313 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6314 GOMP_TASK_UNDEFERRED.
6315 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6316 * taskloop.c: New file.
6317 * testsuite/lib/libgomp.exp
6318 (check_effective_target_offload_device_nonshared_as): New proc.
6319 * testsuite/libgomp.c/affinity-2.c: New test.
6320 * testsuite/libgomp.c/doacross-1.c: New test.
6321 * testsuite/libgomp.c/doacross-2.c: New test.
6322 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6323 Add map clause to target.
6324 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6325 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6326 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6327 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6328 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6329 Likewise.
6330 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6331 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6332 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6333 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6334 not defined. Use those where needed.
6335 * testsuite/libgomp.c/for-4.c: New test.
6336 * testsuite/libgomp.c/for-5.c: New test.
6337 * testsuite/libgomp.c/for-6.c: New test.
6338 * testsuite/libgomp.c/linear-1.c: New test.
6339 * testsuite/libgomp.c/ordered-4.c: New test.
6340 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6341 only allowed on the loop iterator.
6342 * testsuite/libgomp.c/pr66199-3.c: New test.
6343 * testsuite/libgomp.c/pr66199-4.c: New test.
6344 * testsuite/libgomp.c/reduction-7.c: New test.
6345 * testsuite/libgomp.c/reduction-8.c: New test.
6346 * testsuite/libgomp.c/reduction-9.c: New test.
6347 * testsuite/libgomp.c/reduction-10.c: New test.
6348 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6349 map(tofrom:s).
6350 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6351 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6352 * testsuite/libgomp.c/target-11.c: New test.
6353 * testsuite/libgomp.c/target-12.c: New test.
6354 * testsuite/libgomp.c/target-13.c: New test.
6355 * testsuite/libgomp.c/target-14.c: New test.
6356 * testsuite/libgomp.c/target-15.c: New test.
6357 * testsuite/libgomp.c/target-16.c: New test.
6358 * testsuite/libgomp.c/target-17.c: New test.
6359 * testsuite/libgomp.c/target-18.c: New test.
6360 * testsuite/libgomp.c/target-19.c: New test.
6361 * testsuite/libgomp.c/target-20.c: New test.
6362 * testsuite/libgomp.c/target-21.c: New test.
6363 * testsuite/libgomp.c/target-22.c: New test.
6364 * testsuite/libgomp.c/target-23.c: New test.
6365 * testsuite/libgomp.c/target-24.c: New test.
6366 * testsuite/libgomp.c/target-25.c: New test.
6367 * testsuite/libgomp.c/target-26.c: New test.
6368 * testsuite/libgomp.c/target-27.c: New test.
6369 * testsuite/libgomp.c/taskloop-1.c: New test.
6370 * testsuite/libgomp.c/taskloop-2.c: New test.
6371 * testsuite/libgomp.c/taskloop-3.c: New test.
6372 * testsuite/libgomp.c/taskloop-4.c: New test.
6373 * testsuite/libgomp.c++/ctor-13.C: New test.
6374 * testsuite/libgomp.c++/doacross-1.C: New test.
6375 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6376 Replace offload_device with offload_device_nonshared_as.
6377 * testsuite/libgomp.c++/for-12.C: New test.
6378 * testsuite/libgomp.c++/for-13.C: New test.
6379 * testsuite/libgomp.c++/for-14.C: New test.
6380 * testsuite/libgomp.c++/linear-1.C: New test.
6381 * testsuite/libgomp.c++/member-1.C: New test.
6382 * testsuite/libgomp.c++/member-2.C: New test.
6383 * testsuite/libgomp.c++/member-3.C: New test.
6384 * testsuite/libgomp.c++/member-4.C: New test.
6385 * testsuite/libgomp.c++/member-5.C: New test.
6386 * testsuite/libgomp.c++/ordered-1.C: New test.
6387 * testsuite/libgomp.c++/reduction-5.C: New test.
6388 * testsuite/libgomp.c++/reduction-6.C: New test.
6389 * testsuite/libgomp.c++/reduction-7.C: New test.
6390 * testsuite/libgomp.c++/reduction-8.C: New test.
6391 * testsuite/libgomp.c++/reduction-9.C: New test.
6392 * testsuite/libgomp.c++/reduction-10.C: New test.
6393 * testsuite/libgomp.c++/reference-1.C: New test.
6394 * testsuite/libgomp.c++/simd14.C: New test.
6395 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6396 * testsuite/libgomp.c++/target-5.C: New test.
6397 * testsuite/libgomp.c++/target-6.C: New test.
6398 * testsuite/libgomp.c++/target-7.C: New test.
6399 * testsuite/libgomp.c++/target-8.C: New test.
6400 * testsuite/libgomp.c++/target-9.C: New test.
6401 * testsuite/libgomp.c++/target-10.C: New test.
6402 * testsuite/libgomp.c++/target-11.C: New test.
6403 * testsuite/libgomp.c++/target-12.C: New test.
6404 * testsuite/libgomp.c++/taskloop-1.C: New test.
6405 * testsuite/libgomp.c++/taskloop-2.C: New test.
6406 * testsuite/libgomp.c++/taskloop-3.C: New test.
6407 * testsuite/libgomp.c++/taskloop-4.C: New test.
6408 * testsuite/libgomp.c++/taskloop-5.C: New test.
6409 * testsuite/libgomp.c++/taskloop-6.C: New test.
6410 * testsuite/libgomp.c++/taskloop-7.C: New test.
6411 * testsuite/libgomp.c++/taskloop-8.C: New test.
6412 * testsuite/libgomp.c++/taskloop-9.C: New test.
6413 * testsuite/libgomp.fortran/affinity1.f90: New test.
6414 * testsuite/libgomp.fortran/affinity2.f90: New test.
6415
6416 2015-10-13 Tom de Vries <tom@codesourcery.com>
6417
6418 PR tree-optimization/67476
6419 * testsuite/libgomp.c/autopar-3.c: New test.
6420 * testsuite/libgomp.c/autopar-4.c: New test.
6421 * testsuite/libgomp.c/autopar-5.c: New test.
6422 * testsuite/libgomp.c/autopar-6.c: New test.
6423 * testsuite/libgomp.c/autopar-7.c: New test.
6424 * testsuite/libgomp.c/autopar-8.c: New test.
6425
6426 2015-10-12 James Norris <jnorris@codesourcery.com>
6427
6428 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6429 initializer.
6430
6431 2015-10-09 David Malcolm <dmalcolm@redhat.com>
6432
6433 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6434 using load_gcc_lib.
6435
6436 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6437
6438 * oacc-ptx.h: Remove file, moving its content into...
6439 * config/nvptx/fortran.c: ... here...
6440 * config/nvptx/oacc-init.c: ..., here...
6441 * config/nvptx/oacc-parallel.c: ..., and here.
6442 * config/nvptx/openacc.f90: New file.
6443 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6444 (link_ptx): Don't link in predefined bits of PTX code.
6445
6446 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6447 Bernd Schmidt <bernds@codesourcery.com>
6448
6449 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6450 (struct targ_ptx_obj): New.
6451 (nvptx_tdata): Move earlier, change data format.
6452 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6453 objects.
6454 (GOMP_OFFLOAD_load_image): Adjust.
6455
6456 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6457
6458 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6459 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6460 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6461 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6462 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6463 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6464 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6465 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6466 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6467 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6468 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6469 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6470 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6471 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6472 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6473 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6474 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6475 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6476 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6477 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6478 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6479 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6480 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6481 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6482 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6483 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6484 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6485 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6486 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6487 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6488 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6489 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6490 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6491 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6492 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6493 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6494 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6495 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6496 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6497 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6498 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6499 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6500 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6501 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6502 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6503 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6504 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6505 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6506 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6507 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6508 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6509 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6510 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6512 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6513 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6514 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6515 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6516 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6517 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6518 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6519 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6520 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6521
6522 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6523
6524 * oacc-init.c (acc_on_device): Force optimization level.
6525
6526 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6527
6528 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6529 (cuda_errlist): Delete.
6530 (cuda_error): Reimplement.
6531
6532 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6533
6534 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6535 array.
6536 * libgomp.map (GOACC_parallel_keyed): New.
6537 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6538 all callers.
6539 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6540 and take keyed varargs list. Adjust call to exec_func.
6541 (GOACC_parallel): Force host fallback.
6542 * libgomp_g.h (GOACC_parallel): Remove.
6543 (GOACC_parallel_keyed): Declare.
6544 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6545 (struct targ_gn_descriptor): Replace name field with launch field.
6546 (nvptx_exec): Lose separate geometry args, take array. Process
6547 dynamic dimensions and adjust.
6548 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6549 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6550 data.
6551 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6552 passing.
6553 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6554 passing.
6555
6556 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6557
6558 PR libgomp/67141
6559 * oacc-int.h (goacc_host_init): Add declaration.
6560 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6561 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6562
6563 2015-09-08 Aditya Kumar <hiraditya@msn.com>
6564 Sebastian Pop <s.pop@samsung.com>
6565
6566 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
6567 match o/p.
6568 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6569 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6570 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6571 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6572 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6573
6574 2015-09-03 Jakub Jelinek <jakub@redhat.com>
6575
6576 * configure.tgt: Add missing ;; in between nvptx and rtems
6577 snippets.
6578
6579 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6580
6581 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6582 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6583 (gomp_thread_pool_reservoir): Add priority member.
6584 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6585 priority.
6586 (parse_thread_pools): Likewise.
6587 * team.c (gomp_team_start): Call configuration provided
6588 gomp_adjust_thread_attr(). Destroy thread attributes if
6589 necessary.
6590 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6591
6592 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6593
6594 * config/posix/pool.h: New.
6595 * config/rtems/pool.h: Likewise.
6596 * config/rtems/proc.c: Likewise.
6597 * libgomp.h (gomp_thread_destructor): Declare.
6598 * team.c: Include configuration provided "pool.h".
6599 (gomp_get_thread_pool): Define in configuration.
6600 (gomp_team_end): Call configuration defined
6601 gomp_release_thread_pool().
6602
6603 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6604
6605 * config/rtems/bar.c: New.
6606 * config/rtems/bar.h: Likewise.
6607 * config/rtems/mutex.c: Likewise.
6608 * config/rtems/mutex.h: Likewise.
6609 * config/rtems/sem.c: Likewise.
6610 * config/rtems/sem.h: Likewise.
6611 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6612 <sys/lock.h> header file.
6613 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6614 supported by Newlib.
6615 * configure: Regenerate.
6616
6617 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6618
6619 * team.c (gomp_new_thread_pool): Delete and move content to ...
6620 (gomp_get_thread_pool): ... new function. Allocate and
6621 initialize thread pool on demand.
6622 (get_last_team): Use gomp_get_thread_pool().
6623 (gomp_team_start): Delete thread pool initialization.
6624
6625 2015-09-03 Tom de Vries <tom@codesourcery.com>
6626
6627 PR tree-optimization/65637
6628 * testsuite/libgomp.c/autopar-2.c: New test.
6629
6630 2015-08-29 Tom de Vries <tom@codesourcery.com>
6631
6632 PR tree-optimization/46193
6633 * testsuite/libgomp.c/pr46193.c: New test.
6634
6635 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6636
6637 libgomp/
6638 * libgomp.map: Add 4.0.2 version.
6639 * target.c (offload_image_descr): Add version field.
6640 (gomp_load_image_to_device): Add version argument. Adjust plugin
6641 call. Improve load mismatch diagnostic.
6642 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6643 call.
6644 (GOMP_offload_regster): Make stub function, move bulk to ...
6645 (GOMP_offload_register_ver): ... here. Process version argument.
6646 (GOMP_offload_unregister): Make stub function, move bulk to ...
6647 (GOMP_offload_unregister_ver): ... here. Process version argument.
6648 (gomp_init_device): Process version field.
6649 (gomp_unload_device): Process version field.
6650 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6651 macros. Check plugin version.
6652 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6653 loader and unloader types.
6654 * oacc-host.c: Include gomp-constants.h.
6655 (host_version): New.
6656 (host_load_image, host_unload_image): Adjust.
6657 (host_dispatch): Add host_version.
6658 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6659 (GOMP_OFFLOAD_version): New.
6660 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6661 (GOMP_OFFLOAD_unload_image): Likewise.
6662 * plugin/plugin-host.c: Include gomp-constants.h.
6663 (GOMP_OFFLOAD_version): New.
6664 (GOMP_OFFLOAD_load_image): Add version arg.
6665 (GOMP_OFFLOAD_unload_image): Likewise.
6666
6667 2015-08-24 Tom de Vries <tom@codesourcery.com>
6668
6669 PR tree-optimization/65468
6670 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6671
6672 2015-08-24 Tom de Vries <tom@codesourcery.com>
6673
6674 PR tree-optimization/65468
6675 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6676
6677 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6678
6679 PR libgomp/66761
6680 PR libgomp/67303
6681 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6682 (gomp_iter_guided_next): Idem.
6683 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6684 (gomp_iter_ull_guided_next): Idem.
6685 * config/linux/wait.h (do_spin): Idem.
6686
6687 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6688
6689 * libgomp-plugin.h (enum offload_target_type): Remove
6690 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6691 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6692 * openacc.h (enum acc_device_t): Likewise.
6693 * openacc_lib.h: Likewise.
6694 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6695 (acc_on_device): Just use __builtin_acc_on_device.
6696 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6697 of acc_on_device builtin.
6698 * plugin/plugin-host.h: Remove file.
6699 * plugin/plugin-host.c: Likewise, but salvage some content into...
6700 * oacc-host.c: ... this file.
6701 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6702 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6703 * Makefile.in: Regenerate.
6704 * configure: Likewise.
6705 * testsuite/lib/libgomp.exp
6706 (check_effective_target_openacc_host_nonshm_selected): Remove.
6707 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6708 ACC_DEVICE_TYPE=host_nonshm.
6709 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6710 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6712 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6713 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6714 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6715
6716 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6717 Jakub Jelinek <jakub@redhat.com>
6718
6719 * config/nvptx/affinity.c: New file.
6720 * config/nvptx/alloc.c: Likewise.
6721 * config/nvptx/bar.c: Likewise.
6722 * config/nvptx/barrier.c: Likewise.
6723 * config/nvptx/critical.c: Likewise.
6724 * config/nvptx/env.c: Likewise.
6725 * config/nvptx/error.c: Likewise.
6726 * config/nvptx/fortran.c: Likewise.
6727 * config/nvptx/iter.c: Likewise.
6728 * config/nvptx/iter_ull.c: Likewise.
6729 * config/nvptx/libgomp-plugin.c: Likewise.
6730 * config/nvptx/lock.c: Likewise.
6731 * config/nvptx/loop.c: Likewise.
6732 * config/nvptx/loop_ull.c: Likewise.
6733 * config/nvptx/mutex.c: Likewise.
6734 * config/nvptx/oacc-async.c: Likewise.
6735 * config/nvptx/oacc-cuda.c: Likewise.
6736 * config/nvptx/oacc-host.c: Likewise.
6737 * config/nvptx/oacc-init.c: Likewise.
6738 * config/nvptx/oacc-mem.c: Likewise.
6739 * config/nvptx/oacc-parallel.c: Likewise.
6740 * config/nvptx/oacc-plugin.c: Likewise.
6741 * config/nvptx/omp-lock.h: Likewise.
6742 * config/nvptx/ordered.c: Likewise.
6743 * config/nvptx/parallel.c: Likewise.
6744 * config/nvptx/proc.c: Likewise.
6745 * config/nvptx/ptrlock.c: Likewise.
6746 * config/nvptx/sections.c: Likewise.
6747 * config/nvptx/sem.c: Likewise.
6748 * config/nvptx/single.c: Likewise.
6749 * config/nvptx/splay-tree.c: Likewise.
6750 * config/nvptx/target.c: Likewise.
6751 * config/nvptx/task.c: Likewise.
6752 * config/nvptx/team.c: Likewise.
6753 * config/nvptx/time.c: Likewise.
6754 * config/nvptx/work.c: Likewise.
6755 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6756 * configure: Regenerate.
6757 * configure.tgt (config_path): Set to "nvptx" for target
6758 nvptx*-*-*.
6759
6760 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6761
6762 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6763
6764 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6765
6766 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6767 (cuda_errlist): Constify.
6768 (errmsg): Move into ...
6769 (cuda_error): ... here. Make smaller.
6770 (_XSTR, _STR): Delete.
6771 (cuda_synames): Delete.
6772 (verify_device_library): Delete.
6773 (nvptx_init): Don't call it.
6774
6775 2015-07-28 Tom de Vries <tom@codesourcery.com>
6776
6777 * testsuite/libgomp.c/uns-outer-4.c: New test.
6778
6779 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6780
6781 * testsuite/libgomp.c/pr66714.c: New test.
6782
6783 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6784
6785 PR libgomp/66950
6786 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6787 (fib_ref): New function.
6788 (fib): Correct corner cases in the recursion.
6789 (main): Replace the non-simd loop with fib_ref call.
6790 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6791 subroutine.
6792 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6793 for the last array element value. Replace the non-simd loop with
6794 fib_ref call. Remove redundant b_ref array. Remove the comparison
6795 of the last array element with according Fibonacci sequence element.
6796 (fib): Correct corner cases in the recursion.
6797
6798 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6799
6800 * target.c (gomp_offload_image_to_device): Rename to ...
6801 (gomp_load_image_to_device): ... here.
6802 (GOMP_offload_register): Adjust call.
6803 (gomp_init_device): Likewise.
6804 (gomp_unload_image_from_device): New. Broken out of ...
6805 (GOMP_offload_unregister): ... here. Call it.
6806 (gomp_unload_device): New.
6807 * libgomp.h (gomp_unload_device): Declare.
6808 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6809 mem maps.
6810
6811 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6812
6813 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6814 wait=-specific if.
6815 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6816 !=0 condition.
6817 (goacc_waits): Move !num_waits handling to ...
6818 (GOACC_wait): ... here, the only caller that might have zero waits.
6819
6820 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6821 (struct ptx_image_data): Move earlier, add fns field.
6822 (struct ptx_device): Add images and image_lock fields.
6823 (ptx_images, ptx_image_lock): Delete.
6824 (nvptx_open_device): Initialize images and image_lock fields.
6825 (nvptx_close_device): Destroy image_lock.
6826 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6827 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6828 fields.
6829
6830 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6831
6832 * target.c (GOMP_offload_register): Use int for device type arg.
6833 (GOMP_offload_unregister): Likewise.
6834
6835 * target.c (struct_offload_image_descr): Constify host_table.
6836 (gomp_offload_image_to_device): Likewise.
6837 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6838
6839 * libgomp.h (gomp_device_descr): Constify target data arguments.
6840 * target.c (struct offload_image_descr): Constify target_data.
6841 (gomp_offload_image_to_device): Likewise.
6842 (GOMP_offload_register): Likewise.
6843 (GOMP_offload_unregister): Likewise.
6844 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6845 GOMP_OFFLOAD_unload_image): Constify target data.
6846 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6847 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6848
6849 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6850
6851 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6852 Workaround driver library const error.
6853 (struct nvptx_tdata, nvptx_tdata_t): New.
6854 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6855 type.
6856
6857 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6858
6859 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6860 of EPS parameter from integer to real.
6861 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6862 type of EPS parameter from integer to real.
6863
6864 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6865
6866 * team.c (get_last_team): New.
6867 (gomp_new_team): Recycle last non-nested team if possible.
6868 (gomp_team_end): Move team work share list free lock destruction
6869 to ...
6870 (free_team): ... here.
6871
6872 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6873
6874 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6875 and ref from int to double. Replaced their comparison with
6876 an inequality of their difference and EPS.
6877 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6878 comparison of pri and a reference number with an inequality of their
6879 difference and EPS.
6880 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6881 the comparison of sum and sum_ref with an inequality of their
6882 difference and EPS.
6883 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6884 the comparison of pri and a reference number with an inequality of
6885 their difference and EPS.
6886
6887 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6888
6889 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6890 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6891 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6892 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6893 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6894 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6895 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6896 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6897 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6898 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6899 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6900 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6901 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6902 variables.
6903 (vec_mult): Likewise. Add #pragma omp taskwait.
6904 (main): Adjust caller.
6905 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6906 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6907 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6908 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6909 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6910 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6911 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6912 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6913 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6914 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6915 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6916 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6917 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6918 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6919 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6920 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6921 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6922 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6923 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6924 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6925 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6926 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6927 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6928 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6929 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6930 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6931 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6932 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6933 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6934 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6935 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6936 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6937 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6938 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6939 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6940 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6941 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6942 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6943 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6944 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6945 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6946 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6947 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6948 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6949 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6950 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6951 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6952 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6953 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6954 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6955 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6956 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6957 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6958 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6959 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6960 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6961 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6962 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6963 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6964 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6965 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6966 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6967 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6968 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6969 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6970 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6971 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6972 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6973 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6974 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6975 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6976 (vec_mult): Add !$omp taskwait.
6977 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6978 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6979 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6980 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6981 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6982 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6983 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6984 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6985 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6986 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6987 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6988 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6989 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6990 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6991 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6992 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6993 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6994 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6995 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6996 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6997 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6998 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6999 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7000 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7001 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7002 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7003 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7004 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7005 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7006 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7007 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7008 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7009 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7010 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7011 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7012 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7013 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7014 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7015 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7016 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7017 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7018 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7019 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7020 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7021 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7022 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7023 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7024 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7025 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7026 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7027 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7028 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7029 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7030 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7031 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7032 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7033 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7034 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7035 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7036 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7037 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7038 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7039 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7040 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7041 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7042 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7043 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7044
7045 2015-07-10 Tom de Vries <tom@codesourcery.com>
7046
7047 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7048 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7049
7050 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7051
7052 PR libgomp/65099
7053 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7054 in a 64-bit configuration.
7055 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7056 offloading testing if no such device is available.
7057 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7058 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7059
7060 2015-07-08 Tom de Vries <tom@codesourcery.com>
7061
7062 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7063 second call to f.
7064 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7065
7066 2015-07-07 Tom de Vries <tom@codesourcery.com>
7067
7068 PR tree-optimization/66642
7069 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7070 iteration count case.
7071 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7072 function, factor out of ...
7073 (main): ... here. Test low iteration count case.
7074
7075 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7076
7077 * libgomp.h (gomp_thread_pool): Comment last_team field.
7078
7079 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
7080
7081 * testsuite/libgomp.c++/pr66702-1.C: Require
7082 vect_simd_clones effective target.
7083 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7084
7085 2015-06-30 Tom de Vries <tom@codesourcery.com>
7086
7087 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7088 already set. Use DEFAULT_CFLAGS in dg-runtest.
7089 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7090 "-O2".
7091
7092 2015-06-30 Tom de Vries <tom@codesourcery.com>
7093
7094 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7095 already set. Use DEFAULT_CFLAGS in dg-runtest.
7096 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7097 * testsuite/libgomp.c++/pr64824.C: Same.
7098 * testsuite/libgomp.c++/pr64868.C: Same.
7099 * testsuite/libgomp.c++/pr66199-1.C: Same.
7100 * testsuite/libgomp.c++/pr66199-2.C: Same.
7101 * testsuite/libgomp.c++/target-2.C: Same.
7102 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7103 -std=<standard> option.
7104 * testsuite/libgomp.c++/udr-11.C: Same.
7105 * testsuite/libgomp.c++/udr-12.C: Same.
7106 * testsuite/libgomp.c++/udr-13.C: Same.
7107 * testsuite/libgomp.c++/udr-14.C: Same.
7108 * testsuite/libgomp.c++/udr-15.C: Same.
7109 * testsuite/libgomp.c++/udr-16.C: Same.
7110 * testsuite/libgomp.c++/udr-17.C: Same.
7111 * testsuite/libgomp.c++/udr-18.C: Same.
7112 * testsuite/libgomp.c++/udr-19.C: Same.
7113 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7114 * testsuite/libgomp.c++/simd-1.C: Same.
7115 * testsuite/libgomp.c++/simd-2.C: Same.
7116 * testsuite/libgomp.c++/simd-3.C: Same.
7117 * testsuite/libgomp.c++/simd-4.C: Same.
7118 * testsuite/libgomp.c++/simd-5.C: Same.
7119 * testsuite/libgomp.c++/simd-6.C: Same.
7120 * testsuite/libgomp.c++/simd-7.C: Same.
7121 * testsuite/libgomp.c++/simd-8.C: Same.
7122 * testsuite/libgomp.c++/simd-9.C: Same.
7123 * testsuite/libgomp.c++/simd10.C: Same.
7124 * testsuite/libgomp.c++/simd11.C: Same.
7125 * testsuite/libgomp.c++/simd12.C: Same.
7126 * testsuite/libgomp.c++/simd13.C: Same.
7127
7128 2015-06-30 Jakub Jelinek <jakub@redhat.com>
7129
7130 PR middle-end/66702
7131 * testsuite/libgomp.c++/pr66702-1.C: New test.
7132 * testsuite/libgomp.c++/pr66702-2.C: New test.
7133
7134 2015-06-30 Tom de Vries <tom@codesourcery.com>
7135
7136 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7137 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7138 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7139 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7140
7141 2015-06-30 Tom de Vries <tom@codesourcery.com>
7142
7143 PR tree-optimization/66652
7144 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7145 using restrict pointers.
7146 (main): Add arguments to calls to f.
7147 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7148
7149 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7150
7151 * configure.ac: Fix check for header <sys/sysctl.h>.
7152 * configure: Regenerate.
7153 * config.h.in: Likewise.
7154
7155 2015-06-23 Tom de Vries <tom@codesourcery.com>
7156
7157 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7158 abort.
7159 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7160
7161 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7162
7163 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7164 acc_device_nvidia.
7165
7166 PR libgomp/66518
7167 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7168 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7169
7170 2015-06-15 Tom de Vries <tom@codesourcery.com>
7171
7172 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7173 dg-additional-options for any remaining options.
7174 * testsuite/libgomp.c/atomic-2.c: Same.
7175 * testsuite/libgomp.c/atomic-4.c: Same.
7176 * testsuite/libgomp.c/atomic-5.c: Same.
7177 * testsuite/libgomp.c/atomic-6.c: Same.
7178 * testsuite/libgomp.c/autopar-1.c: Same.
7179 * testsuite/libgomp.c/copyin-1.c: Same.
7180 * testsuite/libgomp.c/copyin-2.c: Same.
7181 * testsuite/libgomp.c/copyin-3.c: Same.
7182 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7183 * testsuite/libgomp.c/nestedfn-5.c: Same.
7184 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7185 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7186 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7187 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7188 * testsuite/libgomp.c/pr32362-1.c: Same.
7189 * testsuite/libgomp.c/pr32362-2.c: Same.
7190 * testsuite/libgomp.c/pr32362-3.c: Same.
7191 * testsuite/libgomp.c/pr39591-1.c: Same.
7192 * testsuite/libgomp.c/pr39591-2.c: Same.
7193 * testsuite/libgomp.c/pr39591-3.c: Same.
7194 * testsuite/libgomp.c/pr58392.c: Same.
7195 * testsuite/libgomp.c/pr58756.c: Same.
7196 * testsuite/libgomp.c/simd-1.c: Same.
7197 * testsuite/libgomp.c/simd-10.c: Same.
7198 * testsuite/libgomp.c/simd-11.c: Same.
7199 * testsuite/libgomp.c/simd-12.c: Same.
7200 * testsuite/libgomp.c/simd-13.c: Same.
7201 * testsuite/libgomp.c/simd-14.c: Same.
7202 * testsuite/libgomp.c/simd-15.c: Same.
7203 * testsuite/libgomp.c/simd-2.c: Same.
7204 * testsuite/libgomp.c/simd-3.c: Same.
7205 * testsuite/libgomp.c/simd-4.c: Same.
7206 * testsuite/libgomp.c/simd-5.c: Same.
7207 * testsuite/libgomp.c/simd-6.c: Same.
7208 * testsuite/libgomp.c/simd-7.c: Same.
7209 * testsuite/libgomp.c/simd-8.c: Same.
7210 * testsuite/libgomp.c/simd-9.c: Same.
7211
7212 2015-06-15 Tom de Vries <tom@codesourcery.com>
7213
7214 * testsuite/libgomp.c/pr35625.c: Fix typo.
7215
7216 2015-06-15 Tom de Vries <tom@codesourcery.com>
7217
7218 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7219 in dg-options.
7220 * testsuite/libgomp.c/atomic-3.c: Same.
7221 * testsuite/libgomp.c/debug-1.c: Same.
7222 * testsuite/libgomp.c/nqueens-1.c: Same.
7223 * testsuite/libgomp.c/pr26171.c: Same.
7224 * testsuite/libgomp.c/pr48591.c: Same.
7225 * testsuite/libgomp.c/pr64824.c: Same.
7226 * testsuite/libgomp.c/pr64868.c: Same.
7227 * testsuite/libgomp.c/pr66133.c: Same.
7228 * testsuite/libgomp.c/pr66199-1.c: Same.
7229 * testsuite/libgomp.c/pr66199-2.c: Same.
7230 * testsuite/libgomp.c/target-8.c: Same.
7231
7232 2015-06-15 Tom de Vries <tom@codesourcery.com>
7233
7234 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7235 -std={gnu99,c99}.
7236 * testsuite/libgomp.c/for-1.c: Same.
7237 * testsuite/libgomp.c/for-2.c: Same.
7238 * testsuite/libgomp.c/for-3.c: Same.
7239 * testsuite/libgomp.c/pr35625.c: Same.
7240 * testsuite/libgomp.c/pr39154.c: Same.
7241 * testsuite/libgomp.c/simd-16.c: Same.
7242 * testsuite/libgomp.c/simd-17.c: Same.
7243
7244 2015-06-13 Tom de Vries <tom@codesourcery.com>
7245
7246 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7247
7248 2015-06-13 Tom de Vries <tom@codesourcery.com>
7249
7250 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7251 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7252 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7253 (N): Define.
7254 (main): Use N instead of hardcoded constants.
7255
7256 2015-06-05 Tom de Vries <tom@codesourcery.com>
7257
7258 merge from gomp4 branch:
7259 2015-05-28 Tom de Vries <tom@codesourcery.com>
7260
7261 PR tree-optimization/65443
7262 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7263 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7264 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7265
7266 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7267
7268 * testsuite/libgomp.graphite/bounds.c: Adjust for
7269 cleanup-tree-dump removal.
7270 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7271 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7272 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7273 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7274 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7275 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7276 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7277 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7278 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7279 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7280
7281 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
7282
7283 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7284 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7285 (futex_wake) [!__x86_64__]: Ditto.
7286
7287 2015-05-28 Julian Brown <julian@codesourcery.com>
7288
7289 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7290 function comment. Only call gomp_fatal if new argument is true.
7291 (acc_dev_num_out_of_range): New function.
7292 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7293 acc_dev_num_out_of_range as appropriate.
7294 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7295 (acc_get_device_num, acc_set_device_num): Update calls to
7296 resolve_device.
7297 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7298 output.
7299
7300 2015-05-28 Julian Brown <julian@codesourcery.com>
7301
7302 PR libgomp/65742
7303 * oacc-init.c (plugin/plugin-host.h): Include.
7304 (acc_on_device): Check whether we're in an offloaded region for
7305 host_nonshm
7306 plugin. Don't use __builtin_acc_on_device.
7307 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7308 nonshm_exec flag in thread-local data.
7309 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7310 data for host_nonshm plugin.
7311 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7312 for host_nonshm plugin.
7313 * plugin/plugin-host.h: New.
7314
7315 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7316
7317 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7318
7319 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7320
7321 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7322 Declare as int.
7323 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7324 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7325 Declare as int.
7326
7327 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7328
7329 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
7330
7331 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7332
7333 * target.c (gomp_map_pointer): New function abstracting out
7334 GOMP_MAP_POINTER handling.
7335 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7336 gomp_map_pointer().
7337
7338 2015-05-19 Jakub Jelinek <jakub@redhat.com>
7339
7340 PR middle-end/66199
7341 * testsuite/libgomp.c/pr66199-1.c: New test.
7342 * testsuite/libgomp.c/pr66199-2.c: New test.
7343 * testsuite/libgomp.c++/pr66199-1.C: New test.
7344 * testsuite/libgomp.c++/pr66199-2.C: New test.
7345 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7346 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7347
7348 2015-05-19 Julian Brown <julian@codesourcery.com>
7349
7350 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7351 on cuInit failure.
7352
7353 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7354
7355 PR middle-end/66133
7356 * testsuite/libgomp.c/pr66133.c: New test.
7357
7358 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7359
7360 * Makefile.in: Regenerated with automake-1.11.6.
7361 * aclocal.m4: Likewise.
7362 * config.h.in: Likewise.
7363 * configure: Likewise.
7364 * testsuite/Makefile.in: Likewise.
7365
7366 2015-05-08 Jason Merrill <jason@redhat.com>
7367
7368 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7369 _Complex.
7370
7371 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7372
7373 2015-05-06 Julian Brown <julian@codesourcery.com>
7374
7375 * oacc-init.c (acc_device_lock): Add explanatory comment.
7376 (resolve_device): Add comment about locking requirement.
7377 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7378 gomp_init_device and gomp_fini_device calls.
7379 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7380 (acc_get_device_num, acc_set_device_num): Add locking around
7381 resolve_device and gomp_init_device calls.
7382
7383 2015-05-06 Julian Brown <julian@codesourcery.com>
7384
7385 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7386 goacc_thread_lock on error paths.
7387 * oacc-mem.c (lookup_host): Remove locking from function. Note
7388 locking requirement for caller in function comment.
7389 (lookup_dev): Likewise.
7390 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7391 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7392 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7393 Add locking.
7394
7395 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7396
7397 PR testsuite/65205
7398 PR libgomp/65993
7399 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7400 don't expect "0x" prefix for "%p" format specifier, don't expect
7401 "(nil)" for NULL pointer.
7402 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7403 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7404 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7405 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7406 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7407 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7408 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7409 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7410 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7411 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7412 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7413 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7414 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7415 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7416 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7417 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7418 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7419 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7420 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7421 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7422 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7423 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7424 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7425 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7426 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7427 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7428 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7429 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7430 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7431 accurately specify what we're looking for.
7432 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7433 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7434 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7435 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7436 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7437
7438 2015-04-30 James Norris <jnorris@codesourcery.com>
7439
7440 PR testsuite/65205
7441 * testsuite/lib/libgomp.exp
7442 (check_effective_target_openacc_host_selected)
7443 (check_effective_target_openacc_host_nonshm_selected): New
7444 procedures.
7445 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7446 dg-shouldfail.
7447 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7448 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7449 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7450 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7451 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7452 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7453 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7454 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7455 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7457 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7458 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7459 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7460 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7461 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7462 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7463 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7464 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7465 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7466 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7467 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7468 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7469 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7470 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7471 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7472 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7473 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7474 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7475 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7476 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7477 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7478 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7479 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7480 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7481 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7482 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7483 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7484 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7486 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7490
7491 2015-04-08 Julian Brown <julian@codesourcery.com>
7492
7493 * libgomp.h (target_mem_desc: Remove mem_map field.
7494 (acc_dispatch_t): Remove open_device_func, close_device_func,
7495 get_device_num_func, set_device_num_func, target_data members.
7496 Change create_thread_data_func argument to device number instead of
7497 generic pointer.
7498 * oacc-async.c (assert.h): Include.
7499 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7500 (acc_wait_all, acc_wait_all_async): Use current host thread's
7501 active device, not base_dev.
7502 * oacc-cuda.c (acc_get_current_cuda_device)
7503 (acc_get_current_cuda_context, acc_get_cuda_stream)
7504 (acc_set_cuda_stream): Likewise.
7505 * oacc-host.c (host_dispatch): Don't set open_device_func,
7506 close_device_func, get_device_num_func or set_device_num_func.
7507 * oacc-init.c (base_dev, init_key): Remove.
7508 (cached_base_dev): New.
7509 (name_of_acc_device_t): New.
7510 (acc_init_1): Initialise default-numbered device, not zeroth.
7511 (acc_shutdown_1): Close all devices of a given type.
7512 (goacc_destroy_thread): Don't use base_dev.
7513 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7514 (goacc_attach_host_thread_to_device): New.
7515 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7516 (acc_get_num_devices): Don't use base_dev.
7517 (acc_set_device_type): Reimplement.
7518 (acc_get_device_type): Don't use base_dev.
7519 (acc_get_device_num): Tweak logic.
7520 (acc_set_device_num): Likewise.
7521 (acc_on_device): Use acc_get_device_type.
7522 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7523 (goacc_lazy_initialize): Reimplement with acc_init and
7524 goacc_attach_host_thread_to_device.
7525 * oacc-int.h (goacc_thread): Add base_dev field.
7526 (base_dev): Remove extern declaration.
7527 (goacc_attach_host_thread_to_device): Add prototype.
7528 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7529 base_dev.
7530 (acc_free): Likewise.
7531 (acc_memcpy_to_device): Likewise.
7532 (acc_memcpy_from_device): Likewise.
7533 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7534 goacc_lazy_initialize (throughout).
7535 (GOACC_parallel): Use tgt_offset to locate target functions.
7536 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7537 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7538 (gomp_load_plugin_for_device): Remove open_device, close_device,
7539 get_device_num, set_device_num openacc hook initialisation. Don't set
7540 openacc.target_data.
7541 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7542 (GOMP_OFFLOAD_openacc_close_device)
7543 (GOMP_OFFLOAD_openacc_get_device_num)
7544 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7545 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7546 to int.
7547 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7548 (instantiated_devices, ptx_dev_lock): New.
7549 (struct ptx_image_data): New.
7550 (ptx_devices, ptx_images, ptx_image_lock): New.
7551 (fini_streams_for_device): Reorder cuStreamDestroy call.
7552 (nvptx_get_num_devices): Remove forward declaration.
7553 (nvptx_init): Change return type to bool.
7554 (nvptx_fini): Remove.
7555 (nvptx_attach_host_thread_to_device): New.
7556 (nvptx_open_device): Return struct ptx_device* instead of void*.
7557 (nvptx_close_device): Change argument type to struct ptx_device*,
7558 return type to void.
7559 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7560 (kernel_target_data, kernel_host_table): Remove static globals.
7561 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7562 (GOMP_OFFLOAD_init_device): Reimplement.
7563 (GOMP_OFFLOAD_fini_device): Likewise.
7564 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7565 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7566 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7567 (GOMP_OFFLOAD_openacc_open_device)
7568 (GOMP_OFFLOAD_openacc_close_device)
7569 (GOMP_OFFLOAD_openacc_set_device_num)
7570 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7571 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7572 (device number).
7573
7574 testsuite/
7575 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7576
7577 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7578
7579 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7580 * libgomp.h (struct gomp_memory_mapping): Remove.
7581 (struct target_mem_desc): Change type of mem_map from
7582 gomp_memory_mapping * to splay_tree_s *.
7583 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7584 Add load_image_func, unload_image_func.
7585 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7586 Remove offload_regions_registered.
7587 (gomp_init_tables): Remove.
7588 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7589 to splay_tree_s *.
7590 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7591 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7592 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7593 offload_regions_registered.
7594 Initialize load_image_func, unload_image_func, mem_map.root.
7595 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7596 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7597 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7598 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7599 gomp_memory_mapping *. Use dev's lock and splay_tree.
7600 (lookup_dev): Use dev's lock.
7601 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7602 (acc_is_present): Likewise.
7603 (acc_map_data): Likewise.
7604 (acc_unmap_data): Likewise. Use dev's lock.
7605 (present_create_copy): Likewise.
7606 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7607 (update_dev_host): Likewise.
7608 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7609 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7610 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7611 (GOMP_OFFLOAD_get_table): Remove
7612 (GOMP_OFFLOAD_load_image): New function.
7613 (GOMP_OFFLOAD_unload_image): New function.
7614 * target.c (register_lock): New mutex for offload image registration.
7615 (num_devices): Do not guard with PLUGIN_SUPPORT.
7616 (gomp_realloc_unlock): New static function.
7617 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7618 before gomp_fatal.
7619 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7620 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7621 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7622 mem_map's.
7623 (gomp_unmap_vars): Likewise.
7624 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7625 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7626 (gomp_offload_image_to_device): New static function.
7627 (GOMP_offload_register): Add mutex lock.
7628 Call gomp_offload_image_to_device for all initialized devices.
7629 Replace gomp_realloc with gomp_realloc_unlock.
7630 (GOMP_offload_unregister): New function.
7631 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7632 get_table_func from the plugin with calls to init_device_func and
7633 gomp_offload_image_to_device.
7634 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7635 to splay_tree_s *.
7636 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7637 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7638 (GOMP_target_data): Do not call gomp_init_tables.
7639 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7640 (gomp_load_plugin_for_device): Replace register_image and get_table
7641 with load_image and unload_image in DLSYM ().
7642 (gomp_register_images_for_device): Remove function.
7643 (gomp_target_init): Do not initialize current_device.mem_map.*,
7644 current_device.offload_regions_registered.
7645 Remove call to gomp_register_images_for_device.
7646 Do not free offload_images and num_offload_images.
7647
7648 2015-03-30 Jakub Jelinek <jakub@redhat.com>
7649
7650 PR fortran/65597
7651 * testsuite/libgomp.fortran/pr65597.f90: New test.
7652
7653 2015-03-27 Tom de Vries <tom@codesourcery.com>
7654
7655 PR testsuite/65594
7656 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7657 (init, check): New function.
7658 (foo): Change return type to void.
7659 (main): Call init and check.
7660
7661 2015-03-27 Tom de Vries <tom@codesourcery.com>
7662
7663 PR testsuite/65594
7664 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7665 (foo): Use M for non-inner loops to scale down test-case.
7666
7667 2015-03-25 Kai Tietz <ktietz@redhat.com>
7668
7669 PR libgomp/64972
7670 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7671 (GOACC_data_start): Likewise.
7672 * target.c (gomp_map_vars): Likewise.
7673
7674 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
7675
7676 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7677 hppa*-*-hpux*.
7678
7679 2015-03-19 Jakub Jelinek <jakub@redhat.com>
7680
7681 * testsuite/libgomp.c/target-10.c: New test.
7682 * testsuite/libgomp.c++/target-4.C: New test.
7683
7684 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7685
7686 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7687 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7688
7689 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7690
7691 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7692 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7693 (pthread.h): Check for this header file.
7694 * configure: Regenerate.
7695
7696 2015-02-25 Tom de Vries <tom@codesourcery.com>
7697
7698 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7699 (check_reduction_op, check_reduction_macro, max, min):
7700 Declare.
7701 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7702 function.
7703 (main): Use new functions.
7704
7705 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7706
7707 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7708 char * for variables holding dlerror return values.
7709 (DLSYM_OPT): Ditto.
7710
7711 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7712
7713 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7714
7715 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7716 Cesar Philippidis <cesar@codesourcery.com>
7717
7718 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7719 GOACC_ctaid, and GOACC_nctaid routines.
7720
7721 2015-02-11 Jakub Jelinek <jakub@redhat.com>
7722
7723 PR c/64824
7724 * testsuite/libgomp.c/atomic-18.c: New test.
7725 * testsuite/libgomp.c++/atomic-16.C: New test.
7726
7727 2015-02-04 Jakub Jelinek <jakub@redhat.com>
7728
7729 PR c/64824
7730 PR c/64868
7731 * testsuite/libgomp.c/pr64824.c: New test.
7732 * testsuite/libgomp.c/pr64868.c: New test.
7733 * testsuite/libgomp.c++/pr64824.C: New test.
7734 * testsuite/libgomp.c++/pr64868.C: New test.
7735
7736 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
7737
7738 PR libgomp/64635
7739 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7740 Link with -lpthread.
7741 * config/aix/plugin-suffix.h: Delete.
7742
7743 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7744
7745 PR libgomp/64635
7746 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7747 (*-*-darwin*): Use config_path "bsd darwin posix".
7748 (*-*-hpux*): Use config_path "hpux posix".
7749 * target.c: Add include of plugin-suffix.h and use
7750 SONAME_SUFFIX macro.
7751 * config/aix/plugin-suffix.h: New file.
7752 * config/darwin/plugin-suffix.h: New file.
7753 * config/hpux/plugin-suffix.h: New file.
7754 * config/posix/plugin-suffix.h: New file.
7755
7756 2015-01-23 Jakub Jelinek <jakub@redhat.com>
7757
7758 PR middle-end/64734
7759 * libgomp.c/pr64734.c: New test.
7760
7761 2015-01-23 Tom de Vries <tom@codesourcery.com>
7762
7763 PR libgomp/64672
7764 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7765
7766 2015-01-23 Tom de Vries <tom@codesourcery.com>
7767
7768 PR libgomp/64707
7769 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7770 dg-options.
7771
7772 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7773
7774 PR libgomp/64625
7775 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7776 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7777 formal parameter. Update all users.
7778 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7779 Document unused formal parameter.
7780
7781 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7782
7783 * oacc-parallel.c: Don't include <alloca.h>.
7784 (GOACC_parallel): Use gomp_alloca instead of alloca.
7785
7786 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7787
7788 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7789
7790 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7791 James Norris <jnorris@codesourcery.com>
7792 Tom de Vries <tom@codesourcery.com>
7793 Julian Brown <julian@codesourcery.com>
7794 Cesar Philippidis <cesar@codesourcery.com>
7795 Nathan Sidwell <nathan@codesourcery.com>
7796 Tobias Burnus <burnus@net-b.de>
7797
7798 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7799 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7800 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7801 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7802 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7803 Include $(top_srcdir)/plugin/Makefrag.am.
7804 (nodist_libsubinclude_HEADERS): Add openacc.h.
7805 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7806 openacc.f90, openacc.mod, openacc_kinds.mod.
7807 (omp_lib.mod): Generalize into...
7808 (%.mod): ... this new rule.
7809 (openacc_kinds.mod, openacc.mod): New rules.
7810 * plugin/configfrag.ac: New file.
7811 * configure.ac: Move plugin/offloading support into it. Include
7812 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7813 * plugin/Makefrag.am: New file.
7814 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7815 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7816 export.
7817 (libgomp-test-support.exp): New rule.
7818 (all-local): Depend on it.
7819 * Makefile.in: Regenerate.
7820 * testsuite/Makefile.in: Regenerate.
7821 * config.h.in: Likewise.
7822 * configure: Likewise.
7823 * configure.tgt: Harden shell syntax.
7824 * env.c: Include "oacc-int.h".
7825 (parse_acc_device_type): New function.
7826 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7827 variables.
7828 (initialize_env): Initialize those. Call
7829 goacc_runtime_initialize.
7830 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7831 (gomp_fatal): Call gomp_vfatal.
7832 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7833 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7834 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7835 (splay_tree_node, splay_tree, splay_tree_key)
7836 (struct target_mem_desc, struct splay_tree_key_s)
7837 (struct gomp_memory_mapping, struct acc_dispatch_t)
7838 (struct gomp_device_descr, gomp_acc_insert_pointer)
7839 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7840 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7841 (gomp_free_memmap, gomp_fini_device): New declarations.
7842 (gomp_vdebug, gomp_debug): New macros.
7843 Include "splay-tree.h".
7844 * libgomp.map (OACC_2.0): New symbol version. Use for
7845 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7846 acc_set_device_type_h_, acc_get_device_type,
7847 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7848 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7849 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7850 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7851 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7852 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7853 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7854 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7855 acc_copyin_array_h_, acc_present_or_copyin,
7856 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7857 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7858 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7859 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7860 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7861 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7862 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7863 acc_update_device, acc_update_device_32_h_,
7864 acc_update_device_64_h_, acc_update_device_array_h_,
7865 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7866 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7867 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7868 acc_is_present_64_h_, acc_is_present_array_h_,
7869 acc_memcpy_to_device, acc_memcpy_from_device,
7870 acc_get_current_cuda_device, acc_get_current_cuda_context,
7871 acc_get_cuda_stream, acc_set_cuda_stream.
7872 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7873 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7874 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7875 GOACC_get_num_threads.
7876 (GOMP_PLUGIN_1.0): New symbol version. Use for
7877 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7878 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7879 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7880 GOMP_PLUGIN_acc_thread.
7881 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7882 environment variable.
7883 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7884 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7885 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7886 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7887 (splay_tree_remove): New declarations.
7888 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7889 (splay_tree_remove, splay_tree_lookup): Move into...
7890 * splay-tree.c: ... this new file.
7891 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7892 (splay_tree_node, splay_tree, splay_tree_key)
7893 (struct target_mem_desc, struct splay_tree_key_s)
7894 (struct gomp_device_descr): Don't declare.
7895 (num_devices_openmp): New variable.
7896 (gomp_get_num_devices ): Use it.
7897 (gomp_init_targets_once): New function.
7898 (gomp_get_num_devices ): Use it.
7899 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7900 (gomp_fini_device, gomp_register_image_for_device): New functions.
7901 (gomp_map_vars): Add devaddrs parameter.
7902 (gomp_update): Add mm parameter.
7903 (gomp_init_device): Move most of it into...
7904 (gomp_init_tables): ... this new function.
7905 (gomp_register_images_for_device): Remove function.
7906 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7907 Make them hidden instead of static.
7908 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7909 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7910 (GOMP_target_end_data, GOMP_target_update)
7911 (gomp_load_plugin_for_device, gomp_target_init): Update for
7912 OpenACC changes.
7913 * oacc-async.c: New file.
7914 * oacc-cuda.c: Likewise.
7915 * oacc-host.c: Likewise.
7916 * oacc-init.c: Likewise.
7917 * oacc-int.h: Likewise.
7918 * oacc-mem.c: Likewise.
7919 * oacc-parallel.c: Likewise.
7920 * oacc-plugin.c: Likewise.
7921 * oacc-plugin.h: Likewise.
7922 * oacc-ptx.h: Likewise.
7923 * openacc.f90: Likewise.
7924 * openacc.h: Likewise.
7925 * openacc_lib.h: Likewise.
7926 * plugin/plugin-host.c: Likewise.
7927 * plugin/plugin-nvptx.c: Likewise.
7928 * libgomp-plugin.c: Likewise.
7929 * libgomp-plugin.h: Likewise.
7930 * libgomp_target.h: Remove file after merging content into the
7931 former file. Update all users.
7932 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7933 (offload_targets_s, offload_targets_s_openacc): New variables.
7934 (check_effective_target_openacc_nvidia_accel_present)
7935 (check_effective_target_openacc_nvidia_accel_selected): New
7936 procedures.
7937 (libgomp_init): Update for OpenACC changes.
7938 * testsuite/libgomp-test-support.exp.in: New file.
7939 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7940 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7941 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7942 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7943 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7944 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7945 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7946 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7947 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7948 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7949 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7950 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7951 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7952 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7953 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7954 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7955 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7956 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7957 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7958 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7959 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7960 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7961 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7962 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7963 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7964 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7965 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7966 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7967 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7968 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7969 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7970 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7971 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7972 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7973 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7974 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7975 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7976 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7977 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7978 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7979 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7980 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7981 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7982 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7983 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7984 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7986 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7987 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7988 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7989 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7990 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7991 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7992 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7993 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7994 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7995 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7996 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7997 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7998 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7999 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8000 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8001 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8002 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8003 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8004 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8005 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8006 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8007 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8008 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8009 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8010 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8011 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8012 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8013 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8014 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8015 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8016 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8017 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8018 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8019 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8020 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8021 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8022 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8023 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8024 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8025 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8026 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8027 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8029 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8030 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8031 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8032 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8033 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8037 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8039 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8040 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8041 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8042 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8043 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8044 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8045 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8046 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8047 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8048 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8049 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8050 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8051 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8052 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8053 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8054 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8055 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8056 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8057 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8058 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8059 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8060 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8061 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8062 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8063 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8064 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8065 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8066 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8067 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8068 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8069 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8070 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8071 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8072 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8073 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8074 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8075 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8076 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8077 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8078 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8079 Likewise.
8080 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8081 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8082 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8083 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8084 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8085 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8086 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8087 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8088 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8089 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8090 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8091 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8092 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8093 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8094 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8095 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8096 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8097 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8098 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8099 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8100 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8101 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8102 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8103 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8104 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8105 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8106 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8107 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8108 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8109 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8110 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8111 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8112 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8113 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8114 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8115 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8116 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8117 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8118 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8119 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8120 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8121 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8122 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8123 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8124 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8125 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8126 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8127 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8128 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8129 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8130 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8131 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8132 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8133 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8134 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8135 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8136 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8137 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8138 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8139 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8140
8141 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8142 Julian Brown <julian@codesourcery.com>
8143 David Malcolm <dmalcolm@redhat.com>
8144
8145 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8146 to "GNU Offloading and Multi Processing Runtime Library". Change
8147 all users.
8148 * configure: Regenerate.
8149 * libgomp.texi: Update.
8150
8151 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8152
8153 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8154 "$tgt_dir/lib32".
8155 * configure: Regenerate.
8156
8157 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8158 "intelmic" in $offload_targets.
8159
8160 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8161
8162 Update copyright years.
8163
8164 * libgomp.texi: Bump @copying's copyright year.
8165
8166 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8167
8168 * testsuite/lib/libgomp.exp: Load target-utils.exp.
8169 Move load of target-supports.exp earlier.
8170
8171 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8172
8173 * testsuite/libgomp.c/target-9.c: New test.
8174
8175 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8176
8177 * config.h.in: Regenerate.
8178 * configure: Regenerate.
8179 * configure.ac: Add GCC_CHECK_EMUTLS.
8180 * libgomp.h: Add check for USE_EMUTLS: this case
8181 is equal to HAVE_TLS.
8182 * team.c: Likewise.
8183
8184 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
8185
8186 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8187
8188 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8189 Ilya Verbin <ilya.verbin@intel.com>
8190
8191 * testsuite/libgomp.c/target-critical-1.c: New test.
8192
8193 2014-11-26 Jakub Jelinek <jakub@redhat.com>
8194
8195 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
8196 to dg-options unless expensive testing is on.
8197 (TESTITERS): Define to N if not defined.
8198 (main): Use TESTITERS instead of N.
8199 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8200 dg-additional-options depending on whether expensive testing is on.
8201 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8202 Decrease N to 100000 and CHUNKSZ to 10000.
8203
8204 2014-11-24 Jakub Jelinek <jakub@redhat.com>
8205
8206 PR fortran/63938
8207 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8208 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
8209
8210 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
8211
8212 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8213
8214 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8215
8216 PR bootstrap/63784
8217 * configure: Regenerated.
8218
8219 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
8220
8221 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8222 vect_simd_clones effective target.
8223 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8224
8225 2014-11-14 Jakub Jelinek <jakub@redhat.com>
8226
8227 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8228 of 32 as block_size.
8229 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8230 instead of 32 as block_size.
8231
8232 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8233 Ilya Verbin <ilya.verbin@intel.com>
8234
8235 * Makefile.in: Regenerate.
8236 * configure: Regenerate.
8237 * configure.ac: Set up offload_additional_options,
8238 offload_additional_lib_paths and offload_targets.
8239 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8240 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8241 * testsuite/Makefile.in: Regenerate.
8242 * testsuite/lib/libgomp.exp (libgomp_init): Append
8243 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8244 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8245 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8246
8247 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8248 Ilya Verbin <ilya.verbin@intel.com>
8249 Kirill Yukhin <kirill.yukhin@intel.com>
8250 Ilya Tocar <ilya.tocar@intel.com>
8251
8252 * testsuite/lib/libgomp.exp
8253 (check_effective_target_offload_device): New.
8254 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8255 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8256 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8257 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8258 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8259 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8260 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8261 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8262 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8263 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8264 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8265 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8266 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8267 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8268 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8269 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8270 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8271 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8272 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8273 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8274 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8275 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8276 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8277 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8278 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8279 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8280 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8281 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8282 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8283 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8284 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8285 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8286 * testsuite/libgomp.c/target-7.c: Fix test.
8287 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8288 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8289 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8290 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8291 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8292 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8293 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8294 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8295 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8296 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8297 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8298 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8299 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8300 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8301 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8302 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8303 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8304 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8305 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8306 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8307 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8308 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8309 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8310 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8311 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8312 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8313 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8314 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8315 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8316 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8317 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8318
8319 2014-11-13 Jakub Jelinek <jakub@redhat.com>
8320 Ilya Verbin <ilya.verbin@intel.com>
8321 Thomas Schwinge <thomas@codesourcery.com>
8322 Andrey Turetskiy <andrey.turetskiy@intel.com>
8323
8324 * libgomp.map (GOMP_4.0.1): New symbol version.
8325 Add GOMP_offload_register.
8326 * libgomp_target.h: New file.
8327 * splay-tree.h: New file.
8328 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8329 (gomp_target_init): New forward declaration.
8330 (gomp_is_initialized): New static variable.
8331 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8332 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8333 New structures.
8334 (offload_images, num_offload_images, devices, num_devices): New static
8335 variables.
8336 (splay_compare): New static function.
8337 (struct gomp_device_descr): New structure.
8338 (gomp_get_num_devices): Call gomp_target_init.
8339 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8340 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8341 (GOMP_offload_register): New function.
8342 (GOMP_target): Arrange for host callback to be performed in a separate
8343 initial thread and contention group, inheriting ICVs from
8344 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8345 Add device initialization and lookup for target function in splay tree.
8346 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8347 (GOMP_target_end_data): Call gomp_unmap_vars.
8348 (GOMP_target_update): Add device initialization and call gomp_update.
8349 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8350 (gomp_target_init): New static functions.
8351
8352 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8353 Thomas Schwinge <thomas@codesourcery.com>
8354 Ilya Verbin <ilya.verbin@intel.com>
8355 Andrey Turetskiy <andrey.turetskiy@intel.com>
8356
8357 * config.h.in: Regenerate.
8358 * configure: Regenerate.
8359 * configure.ac: Check for libdl, required for plugin support.
8360 (PLUGIN_SUPPORT): Define if plugins are supported.
8361 (enable_offload_targets): Support Intel MIC targets.
8362 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8363
8364 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8365
8366 PR target/63610
8367 * configure: Regenerate.
8368
8369 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8370
8371 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8372
8373 2014-10-06 Marek Polacek <polacek@redhat.com>
8374
8375 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8376 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8377 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8378 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8379
8380 2014-10-06 Marek Polacek <polacek@redhat.com>
8381
8382 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8383 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8384 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8385 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8386 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8387 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8388 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8389 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8390 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8391 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8392 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8393 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8394 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8395 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8396 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8397 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8398 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8399 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8400 declarations.
8401
8402 2014-10-03 Jakub Jelinek <jakub@redhat.com>
8403
8404 PR libgomp/61200
8405 * testsuite/libgomp.c/pr61200.c: New test.
8406
8407 2014-09-18 Jakub Jelinek <jakub@redhat.com>
8408
8409 PR c++/63248
8410 * testsuite/libgomp.c++/pr63248.C: New test.
8411
8412 2014-08-04 Jakub Jelinek <jakub@redhat.com>
8413
8414 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8415 is not zero, but taskgroup->children is NULL and there are
8416 any task->children, schedule those instead of waiting.
8417 * testsuite/libgomp.c/depend-6.c: New test.
8418 * testsuite/libgomp.c/depend-7.c: New test.
8419 * testsuite/libgomp.c/depend-8.c: New test.
8420 * testsuite/libgomp.c/depend-9.c: New test.
8421 * testsuite/libgomp.c/depend-10.c: New test.
8422
8423 2014-08-01 Jakub Jelinek <jakub@redhat.com>
8424
8425 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8426 (struct gomp_taskwait): New type.
8427 (struct gomp_task): Add taskwait and parent_depends_on, remove
8428 in_taskwait and taskwait_sem fields.
8429 (gomp_finish_task): Don't destroy taskwait_sem.
8430 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8431 taskwait and parent_depends_on.
8432 (GOMP_task): For if (0) tasks with depend clause that depend on
8433 earlier tasks don't defer them, instead call
8434 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8435 Initialize redundant_out field, for redundant out entries just
8436 move them at the end of linked list instead of removing them
8437 completely, and set redundant_out flag instead of redundant.
8438 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8439 that task.
8440 (gomp_task_run_post_handle_dependers): If parent is in
8441 gomp_task_maybe_wait_for_dependencies and newly runnable task
8442 is not parent_depends_on, queue it in parent->children linked
8443 list after all runnable tasks with parent_depends_on set.
8444 Adjust for addition of taskwait indirection.
8445 (gomp_task_run_post_remove_parent): If parent is in
8446 gomp_task_maybe_wait_for_dependencies and task to be removed
8447 is parent_depends_on, decrement n_depend and if needed awake
8448 parent. Adjust for addition of taskwait indirection.
8449 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8450 (gomp_task_maybe_wait_for_dependencies): New function.
8451 * testsuite/libgomp.c/depend-5.c: New test.
8452
8453 2014-07-13 Tobias Burnus <burnus@net-b.de>
8454
8455 * testsuite/libgomp.fortran/pr34020.f90: Make compile
8456 with TS 18508/Fortran 2015.
8457
8458 2014-07-06 Marek Polacek <polacek@redhat.com>
8459
8460 PR c/6940
8461 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8462
8463 2014-07-03 Jakub Jelinek <jakub@redhat.com>
8464
8465 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8466 matches regex $lang_source_re, add $lang_include_flags to options.
8467 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8468 * testsuite/libgomp.c++/c++.exp: Likewise.
8469 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8470 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8471 ALWAYS_CFLAGS.
8472 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8473
8474 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8475
8476 * testsuite/libgomp.fortran/fortran.exp: Explain
8477 gfortran-dg-runtest usage.
8478
8479 2014-06-25 Jakub Jelinek <jakub@redhat.com>
8480
8481 * testsuite/libgomp.fortran/simd5.f90: New test.
8482 * testsuite/libgomp.fortran/simd6.f90: New test.
8483 * testsuite/libgomp.fortran/simd7.f90: New test.
8484
8485 2014-06-24 Jakub Jelinek <jakub@redhat.com>
8486
8487 * testsuite/libgomp.c/for-2.c: Define SC to static for
8488 #pragma omp for simd testing.
8489 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8490 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8491 SC macro.
8492 * testsuite/libgomp.c/simd-14.c: New test.
8493 * testsuite/libgomp.c/simd-15.c: New test.
8494 * testsuite/libgomp.c/simd-16.c: New test.
8495 * testsuite/libgomp.c/simd-17.c: New test.
8496 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8497 #pragma omp for simd testing.
8498 * testsuite/libgomp.c++/simd10.C: New test.
8499 * testsuite/libgomp.c++/simd11.C: New test.
8500 * testsuite/libgomp.c++/simd12.C: New test.
8501 * testsuite/libgomp.c++/simd13.C: New test.
8502
8503 * testsuite/libgomp.fortran/aligned1.f03: New test.
8504 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8505 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8506 tasks with !$omp parallel !$omp single.
8507 * testsuite/libgomp.fortran/target8.f90: New test.
8508 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8509 not to use trim in the combiner, instead call elemental function.
8510 (fn): New elemental function.
8511 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8512 Make elemental.
8513 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8514 omp_in): Likewise.
8515 * testsuite/libgomp.fortran/udr12.f90: New test.
8516 * testsuite/libgomp.fortran/udr13.f90: New test.
8517 * testsuite/libgomp.fortran/udr14.f90: New test.
8518 * testsuite/libgomp.fortran/udr15.f90: New test.
8519
8520 2014-06-18 Jakub Jelinek <jakub@redhat.com>
8521
8522 * omp_lib.f90.in (openmp_version): Set to 201307.
8523 * omp_lib.h.in (openmp_version): Likewise.
8524 * testsuite/libgomp.c/target-8.c: New test.
8525 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8526 and inbranch clauses.
8527 * testsuite/libgomp.fortran/depend-3.f90: New test.
8528 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8529 openmp_version.
8530 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8531 * testsuite/libgomp.fortran/target1.f90: New test.
8532 * testsuite/libgomp.fortran/target2.f90: New test.
8533 * testsuite/libgomp.fortran/target3.f90: New test.
8534 * testsuite/libgomp.fortran/target4.f90: New test.
8535 * testsuite/libgomp.fortran/target5.f90: New test.
8536 * testsuite/libgomp.fortran/target6.f90: New test.
8537 * testsuite/libgomp.fortran/target7.f90: New test.
8538
8539 2014-06-10 Jakub Jelinek <jakub@redhat.com>
8540
8541 PR fortran/60928
8542 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8543 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8544 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8545 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8546 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8547 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8548 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8549 * testsuite/libgomp.fortran/associate1.f90: New test.
8550 * testsuite/libgomp.fortran/associate2.f90: New test.
8551 * testsuite/libgomp.fortran/procptr1.f90: New test.
8552
8553 2014-06-06 Jakub Jelinek <jakub@redhat.com>
8554
8555 * testsuite/libgomp.fortran/simd1.f90: New test.
8556 * testsuite/libgomp.fortran/udr1.f90: New test.
8557 * testsuite/libgomp.fortran/udr2.f90: New test.
8558 * testsuite/libgomp.fortran/udr3.f90: New test.
8559 * testsuite/libgomp.fortran/udr4.f90: New test.
8560 * testsuite/libgomp.fortran/udr5.f90: New test.
8561 * testsuite/libgomp.fortran/udr6.f90: New test.
8562 * testsuite/libgomp.fortran/udr7.f90: New test.
8563 * testsuite/libgomp.fortran/udr8.f90: New test.
8564 * testsuite/libgomp.fortran/udr9.f90: New test.
8565 * testsuite/libgomp.fortran/udr10.f90: New test.
8566 * testsuite/libgomp.fortran/udr11.f90: New test.
8567
8568 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
8569
8570 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8571 vect_simd_clones effective target.
8572 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8573
8574 2014-05-21 Jakub Jelinek <jakub@redhat.com>
8575
8576 PR middle-end/61252
8577 * testsuite/libgomp.c++/simd-9.C: New test.
8578
8579 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
8580
8581 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8582 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8583 texts according to their @menu entry positions.
8584
8585 2014-05-11 Jakub Jelinek <jakub@redhat.com>
8586
8587 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8588 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8589 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8590 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8591 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8592 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8593 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8594 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8595 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8596 * testsuite/libgomp.fortran/depend-1.f90: New test.
8597 * testsuite/libgomp.fortran/depend-2.f90: New test.
8598 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8599 * testsuite/libgomp.fortran/simd1.f90: New test.
8600 * testsuite/libgomp.fortran/simd2.f90: New test.
8601 * testsuite/libgomp.fortran/simd3.f90: New test.
8602 * testsuite/libgomp.fortran/simd4.f90: New test.
8603 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8604
8605 2014-05-02 Jakub Jelinek <jakub@redhat.com>
8606
8607 * testsuite/libgomp.c/simd-10.c: New test.
8608 * testsuite/libgomp.c/simd-11.c: New test.
8609 * testsuite/libgomp.c/simd-12.c: New test.
8610 * testsuite/libgomp.c/simd-13.c: New test.
8611
8612 2014-04-24 Jakub Jelinek <jakub@redhat.com>
8613
8614 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8615 atomic type clauses in any order and optional comma in between.
8616 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8617 * testsuite/libgomp.c/atomic-17.c: Likewise.
8618
8619 * testsuite/libgomp.c/simd-7.c: New test.
8620 * testsuite/libgomp.c/simd-8.c: New test.
8621 * testsuite/libgomp.c/simd-9.c: New test.
8622 * testsuite/libgomp.c/loop-16.c: New test.
8623
8624 2014-04-02 Richard Henderson <rth@redhat.com>
8625
8626 * config/linux/futex.h (futex_wait): Get error value from errno.
8627 (futex_wake): Likewise.
8628
8629 2014-03-25 Jakub Jelinek <jakub@redhat.com>
8630
8631 PR c++/60331
8632 * testsuite/libgomp.c++/udr-11.C: New test.
8633 * testsuite/libgomp.c++/udr-12.C: New test.
8634 * testsuite/libgomp.c++/udr-13.C: New test.
8635 * testsuite/libgomp.c++/udr-14.C: New test.
8636 * testsuite/libgomp.c++/udr-15.C: New test.
8637 * testsuite/libgomp.c++/udr-16.C: New test.
8638 * testsuite/libgomp.c++/udr-17.C: New test.
8639 * testsuite/libgomp.c++/udr-18.C: New test.
8640 * testsuite/libgomp.c++/udr-19.C: New test.
8641
8642 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8643
8644 Update copyright years
8645
8646 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8647
8648 * hashtab.h: Use the standard form for the copyright notice.
8649
8650 2014-01-02 Tobias Burnus <burnus@net-b.de>
8651
8652 * libgomp.texi: Bump @copying's copyright year.
8653
8654 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8655
8656 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
8657 alloca () with __builtin_alloca ().
8658 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8659 * testsuite/libgomp.c/lock-3.c: Likewise.
8660 * testsuite/libgomp.c/pr48591.c: Likewise.
8661
8662 2013-12-17 Jakub Jelinek <jakub@redhat.com>
8663
8664 PR testsuite/59534
8665 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8666 comparisons.
8667
8668 2013-12-16 Jakub Jelinek <jakub@redhat.com>
8669
8670 PR libgomp/58756
8671 * testsuite/libgomp.c/pr58756.c: New test.
8672
8673 2013-12-12 Jakub Jelinek <jakub@redhat.com>
8674
8675 PR libgomp/59467
8676 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8677 !$omp parallel.
8678
8679 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8680
8681 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8682 ALWAYS_CFLAGS.
8683 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8684 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8685 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8686 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8687 Likewise.
8688
8689 * libgomp_g.h: Include <stddef.h> for size_t.
8690
8691 * libgomp.spec.in: Update comment about libgomp's dependencies.
8692 * configure.ac: Likewise.
8693 * configure: Regenerate.
8694
8695 2013-10-16 Tobias Burnus <burnus@net-b.de>
8696
8697 * libgomp.texi: (Runtime Library Routines): Update references for
8698 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8699 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8700 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8701 (Environment Variables): Update references for OpenMP 4.0. Add
8702 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8703 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8704 order.
8705
8706 2013-10-14 Jakub Jelinek <jakub@redhat.com>
8707
8708 * env.c (parse_bind_var): Initialize value to avoid
8709 (false positive) warning.
8710
8711 2013-10-12 Jakub Jelinek <jakub@redhat.com>
8712
8713 PR libgomp/58691
8714 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8715 to check variable.
8716 (gomp_init_num_threads): Move i variable declaration into
8717 #ifdef CPU_ALLOC_SIZE block.
8718 * config/linux/affinity.c (gomp_affinity_init_level): Test
8719 gomp_places_list_len == 0 rather than gomp_places_list == 0
8720 when checking for topology reading error.
8721 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8722 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8723 gomp_places_list, only parse env var and always return false.
8724 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8725 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8726 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8727 and either of these variables were parsed correctly into a places
8728 list.
8729
8730 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8731 Jakub Jelinek <jakub@redhat.com>
8732
8733 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8734 of 5 loopfn matches.
8735 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8736 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8737 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8738 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8739 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8740 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8741 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8742 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8743
8744 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8745
8746 * Makefile.am (omp_lib.mod): Streamline rule.
8747 * Makefile.in: Regenerate.
8748
8749 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8750 exceptions.
8751
8752 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8753 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8754 * testsuite/libgomp.fortran/lib2.f: Likewise.
8755 * testsuite/libgomp.fortran/lib3.f: Likewise.
8756
8757 * configure.ac: Typo fix.
8758 * configure: Regenerate.
8759
8760 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8761 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8762
8763 * omp.h.in: Don't touch the user's namespace.
8764
8765 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8766 Tobias Burnus <burnus@net-b.de>
8767 Richard Henderson <rth@redhat.com>
8768
8769 * target.c: New file.
8770 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8771 * Makefile.in: Regenerated.
8772 * libgomp_g.h (GOMP_task): Add depend argument.
8773 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8774 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8775 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8776 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8777 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8778 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8779 GOMP_taskgroup_start, GOMP_taskgroup_end,
8780 GOMP_parallel_sections): New prototypes.
8781 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8782 (omp_is_initial_device_): New function.
8783 (ULP, STR1, STR2, ialias_redirect): Removed.
8784 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8785 omp_set_default_device_8_, omp_get_default_device_,
8786 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8787 functions.
8788 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8789 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8790 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8791 @@GOMP_4.0.
8792 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8793 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8794 omp_set_default_device, omp_set_default_device_,
8795 omp_set_default_device_8_, omp_get_default_device,
8796 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8797 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8798 omp_get_team_num_): Export @@OMP_4.0.
8799 * team.c (struct gomp_thread_start_data): Add place field.
8800 (gomp_thread_start): Clear thr->thread_pool and
8801 thr->task before returning. Use gomp_team_barrier_wait_final
8802 instead of gomp_team_barrier_wait. Initialize thr->place.
8803 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8804 team_cancelled and task_queued_count fields.
8805 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8806 before calling pthread_exit.
8807 (gomp_free_thread): No longer static. Use
8808 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8809 (gomp_team_start): Add flags argument. Set
8810 thr->thread_pool->threads_busy to nthreads immediately after creating
8811 new pool. Use gomp_managed_threads_lock instead of
8812 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8813 (gomp_team_end): Use gomp_managed_threads_lock instead of
8814 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8815 of gomp_team_barrier_wait. If team->team_cancelled, call
8816 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
8817 rather than thr->ts.work_share.
8818 (initialize_team): Don't call gomp_sem_init here.
8819 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8820 caller.
8821 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8822 * env.c (gomp_global_icv): Add default_device_var, target_data and
8823 bind_var initializers.
8824 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8825 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8826 gomp_places_list_len): New variables.
8827 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8828 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8829 sized places.
8830 (gomp_cancel_var): New global variable.
8831 (parse_int): New function.
8832 (handle_omp_display_env): New function.
8833 (initialize_env): Use it. Initialize default_device_var.
8834 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8835 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8836 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8837 been successfully parsed (and call gomp_init_affinity in that case).
8838 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8839 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8840 omp_get_team_num, omp_is_initial_device): New functions.
8841 * libgomp.h: Include stdlib.h.
8842 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8843 Define.
8844 (struct target_mem_desc): Forward declare.
8845 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8846 and thread_limit_var fields.
8847 (gomp_get_num_devices): New prototype.
8848 (gomp_cancel_var): New extern decl.
8849 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8850 team_cancelled and task_queued_count fields. Add comments about
8851 task_{,queued_,running_}count.
8852 (gomp_cancel_kind): New enum.
8853 (gomp_work_share_end_cancel): New prototype.
8854 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8855 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8856 and depend fields.
8857 (struct gomp_taskgroup): New type.
8858 (struct gomp_task_depend_entry,
8859 struct gomp_dependers_vec): New types.
8860 (gomp_finish_task): Free depend_hash if non-NULL.
8861 (struct gomp_team_state): Add place_partition_off
8862 and place_partition_len fields.
8863 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8864 gomp_places_list_len): New extern decls.
8865 (struct gomp_thread): Add place field.
8866 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8867 (gomp_init_thread_affinity): Add place argument.
8868 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8869 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8870 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8871 gomp_affinity_init_level, gomp_affinity_print_place): New
8872 prototypes.
8873 (gomp_team_start): Add flags argument.
8874 (gomp_thread_limit_var, gomp_remaining_threads_count,
8875 gomp_remaining_threads_lock): Remove.
8876 (gomp_managed_threads_lock): New variable.
8877 (struct gomp_thread_pool): Add threads_busy field.
8878 (gomp_free_thread): New prototype.
8879 * task.c: Include hashtab.h.
8880 (hash_entry_type): New typedef.
8881 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8882 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8883 copy_ctors_done and taskgroup fields.
8884 (GOMP_task): Add depend argument, handle depend clauses. If
8885 gomp_team_barrier_cancelled or if it's taskgroup has been
8886 cancelled, don't queue or start new tasks. Set copy_ctors_done
8887 field if needed. Initialize taskgroup field. If copy_ctors_done
8888 and already cancelled, don't discard the task. If taskgroup is
8889 non-NULL, enqueue the task into taskgroup queue. Increment
8890 num_children field in taskgroup. Increment task_queued_count.
8891 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8892 gomp_task_run_post_remove_taskgroup): New inline functions.
8893 (gomp_task_run_post_handle_depend_hash,
8894 gomp_task_run_post_handle_dependers,
8895 gomp_task_run_post_handle_depend): New functions.
8896 (GOMP_taskwait): Use them. If more than one new tasks
8897 have been queued, wake other threads if needed.
8898 (gomp_barrier_handle_tasks): Likewise. If
8899 gomp_team_barrier_cancelled, don't start any new tasks, just free
8900 all tasks.
8901 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8902 * omp_lib.f90.in
8903 (omp_proc_bind_kind, omp_proc_bind_false,
8904 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8905 omp_proc_bind_spread): New params.
8906 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8907 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8908 omp_get_team_num, omp_is_initial_device): New interfaces.
8909 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8910 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8911 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8912 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8913 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8914 useless use omp_lib_kinds.
8915 * omp.h.in (omp_proc_bind_t): New typedef.
8916 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8917 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8918 omp_get_team_num, omp_is_initial_device): New prototypes.
8919 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8920 through to gomp_team_start.
8921 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8922 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8923 Adjust gomp_parallel_loop_start callers.
8924 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8925 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8926 GOMP_loop_end_cancel): New functions.
8927 (GOMP_parallel_end): Add ialias_redirect.
8928 * hashtab.h: New file.
8929 * libgomp.texi (Environment Variables): Minor cleanup,
8930 update section refs to OpenMP 4.0rc2.
8931 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8932 environment variables.
8933 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8934 team->work_shares_to_free to thr->ts.work_share before calling
8935 free_work_share.
8936 (gomp_work_share_end_cancel): New function.
8937 * config/linux/proc.c: Include errno.h.
8938 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8939 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8940 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8941 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8942 gomp_cpuset_size is sizeof (cpu_set_t).
8943 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8944 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8945 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8946 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8947 contain any logical CPUs.
8948 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8949 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8950 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8951 pthread_getaffinity_np. Check gomp_places_list instead of
8952 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8953 * config/linux/bar.c (gomp_barrier_wait_end,
8954 gomp_barrier_wait_last): Use BAR_* defines.
8955 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8956 from state where needed. Set work_share_cancelled to 0 on last
8957 thread.
8958 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8959 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8960 functions.
8961 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8962 Add cpusetsize argument.
8963 (gomp_cpuset_size, gomp_cpusetp): Declare.
8964 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8965 (affinity_counter): Remove.
8966 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8967 if CPU_ALLOC_SIZE isn't defined.
8968 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8969 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8970 bind current thread to the first place.
8971 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8972 pthread_setaffinity_np to gomp_places_list[place].
8973 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8974 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8975 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8976 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8977 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8978 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8979 (gomp_barrier_t): Add awaited_final field.
8980 (gomp_barrier_init): Initialize awaited_final field.
8981 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8982 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8983 prototypes.
8984 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8985 defines.
8986 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8987 gomp_team_barrier_cancelled): New inline functions.
8988 (gomp_barrier_last_thread,
8989 gomp_team_barrier_set_task_pending,
8990 gomp_team_barrier_clear_task_pending,
8991 gomp_team_barrier_set_waiting_for_tasks,
8992 gomp_team_barrier_waiting_for_tasks,
8993 gomp_team_barrier_done): Use BAR_* defines.
8994 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8995 (gomp_barrier_wait_end): Use BAR_* defines.
8996 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8997 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8998 Use BAR_* defines.
8999 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9000 gomp_team_barrier_cancel): New functions.
9001 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9002 argument.
9003 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9004 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9005 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9006 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9007 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9008 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9009 (gomp_barrier_t): Add cancellable field.
9010 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9011 gomp_team_barrier_cancel): New prototypes.
9012 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9013 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9014 gomp_team_barrier_cancelled): New inline functions.
9015 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9016 gomp_team_barrier_set_task_pending,
9017 gomp_team_barrier_clear_task_pending,
9018 gomp_team_barrier_set_waiting_for_tasks,
9019 gomp_team_barrier_waiting_for_tasks,
9020 gomp_team_barrier_done): Use BAR_* defines.
9021 * barrier.c (GOMP_barrier_cancel): New function.
9022 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9023 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9024 omp_proc_bind_spread): New params.
9025 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9026 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9027 omp_get_team_num, omp_is_initial_device): New externals.
9028 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9029 New functions.
9030 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9031 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9032 infinity. If not nested, just return minimum of max_num_threads
9033 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9034 to the returned value. Otherwise, don't update atomically
9035 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9036 (GOMP_parallel_end): Adjust for thread_limit now being in
9037 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9038 infinity. Adjust threads_busy in the pool rather than
9039 gomp_remaining_threads_count. Remember team->nthreads and call
9040 gomp_team_end before adjusting threads_busy, if not nested
9041 afterwards, just set it to 1 non-atomically. Add ialias.
9042 (GOMP_parallel_start): Adjust gomp_team_start caller.
9043 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9044 * testsuite/libgomp.c/affinity-1.c: New test.
9045 * testsuite/libgomp.c/atomic-15.c: New test.
9046 * testsuite/libgomp.c/atomic-16.c: New test.
9047 * testsuite/libgomp.c/atomic-17.c: New test.
9048 * testsuite/libgomp.c/cancel-for-1.c: New test.
9049 * testsuite/libgomp.c/cancel-for-2.c: New test.
9050 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9051 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9052 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9053 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9054 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9055 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9056 * testsuite/libgomp.c/depend-1.c: New test.
9057 * testsuite/libgomp.c/depend-2.c: New test.
9058 * testsuite/libgomp.c/depend-3.c: New test.
9059 * testsuite/libgomp.c/depend-4.c: New test.
9060 * testsuite/libgomp.c/for-1.c: New test.
9061 * testsuite/libgomp.c/for-1.h: New file.
9062 * testsuite/libgomp.c/for-2.c: New test.
9063 * testsuite/libgomp.c/for-2.h: New file.
9064 * testsuite/libgomp.c/for-3.c: New test.
9065 * testsuite/libgomp.c/pr58392.c: New test.
9066 * testsuite/libgomp.c/simd-1.c: New test.
9067 * testsuite/libgomp.c/simd-2.c: New test.
9068 * testsuite/libgomp.c/simd-3.c: New test.
9069 * testsuite/libgomp.c/simd-4.c: New test.
9070 * testsuite/libgomp.c/simd-5.c: New test.
9071 * testsuite/libgomp.c/simd-6.c: New test.
9072 * testsuite/libgomp.c/target-1.c: New test.
9073 * testsuite/libgomp.c/target-2.c: New test.
9074 * testsuite/libgomp.c/target-3.c: New test.
9075 * testsuite/libgomp.c/target-4.c: New test.
9076 * testsuite/libgomp.c/target-5.c: New test.
9077 * testsuite/libgomp.c/target-6.c: New test.
9078 * testsuite/libgomp.c/target-7.c: New test.
9079 * testsuite/libgomp.c/taskgroup-1.c: New test.
9080 * testsuite/libgomp.c/thread-limit-1.c: New test.
9081 * testsuite/libgomp.c/thread-limit-2.c: New test.
9082 * testsuite/libgomp.c/thread-limit-3.c: New test.
9083 * testsuite/libgomp.c/udr-1.c: New test.
9084 * testsuite/libgomp.c/udr-2.c: New test.
9085 * testsuite/libgomp.c/udr-3.c: New test.
9086 * testsuite/libgomp.c++/affinity-1.C: New test.
9087 * testsuite/libgomp.c++/atomic-10.C: New test.
9088 * testsuite/libgomp.c++/atomic-11.C: New test.
9089 * testsuite/libgomp.c++/atomic-12.C: New test.
9090 * testsuite/libgomp.c++/atomic-13.C: New test.
9091 * testsuite/libgomp.c++/atomic-14.C: New test.
9092 * testsuite/libgomp.c++/atomic-15.C: New test.
9093 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9094 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9095 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9096 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9097 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9098 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9099 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9100 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9101 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9102 * testsuite/libgomp.c++/cancel-test.h: New file.
9103 * testsuite/libgomp.c++/for-9.C: New test.
9104 * testsuite/libgomp.c++/for-10.C: New test.
9105 * testsuite/libgomp.c++/for-11.C: New test.
9106 * testsuite/libgomp.c++/simd-1.C: New test.
9107 * testsuite/libgomp.c++/simd-2.C: New test.
9108 * testsuite/libgomp.c++/simd-3.C: New test.
9109 * testsuite/libgomp.c++/simd-4.C: New test.
9110 * testsuite/libgomp.c++/simd-5.C: New test.
9111 * testsuite/libgomp.c++/simd-6.C: New test.
9112 * testsuite/libgomp.c++/simd-7.C: New test.
9113 * testsuite/libgomp.c++/simd-8.C: New test.
9114 * testsuite/libgomp.c++/target-1.C: New test.
9115 * testsuite/libgomp.c++/target-2.C: New test.
9116 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9117 * testsuite/libgomp.c++/target-3.C: New test.
9118 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9119 * testsuite/libgomp.c++/udr-1.C: New test.
9120 * testsuite/libgomp.c++/udr-2.C: New test.
9121 * testsuite/libgomp.c++/udr-3.C: New test.
9122 * testsuite/libgomp.c++/udr-4.C: New test.
9123 * testsuite/libgomp.c++/udr-5.C: New test.
9124 * testsuite/libgomp.c++/udr-6.C: New test.
9125 * testsuite/libgomp.c++/udr-7.C: New test.
9126 * testsuite/libgomp.c++/udr-8.C: New test.
9127 * testsuite/libgomp.c++/udr-9.C: New test.
9128
9129 2013-09-20 Jakub Jelinek <jakub@redhat.com>
9130
9131 PR testsuite/57605
9132 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9133 ALWAYS_CFLAGS.
9134
9135 2013-09-20 Alan Modra <amodra@gmail.com>
9136
9137 * configure: Regenerate.
9138
9139 2013-09-19 Jakub Jelinek <jakub@redhat.com>
9140
9141 * testsuite/libgomp.c/sections-2.c: New test.
9142
9143 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9144
9145 * testsuite/libgomp.fortran/strassen.f90:
9146 Add dg-skip-if aarch64_tiny.
9147
9148 2013-06-20 Iain Sandoe <iain@codesourcery.com>
9149 Cesar Philippidis <cesar@codesourcery.com>
9150
9151 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9152 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9153 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9154 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9155 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9156 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9157 Use dg-runtest rather than gfortran-dg-runtest.
9158
9159 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9160
9161 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9162 Linux-based x86 systems to cover all GNU systems.
9163 * testsuite/libgomp.c/lock-3.c: Likewise.
9164 * testsuite/libgomp.c/pr48591.c: Likewise.
9165
9166 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9167
9168 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9169 GNU/Hurd, as done for Linux-based systems.
9170
9171 * config/posix/ptrlock.h: Fix comment.
9172
9173 2013-05-27 Tobias Burnus <burnus@net-b.de>
9174
9175 PR fortran/57423
9176 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9177 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9178 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9179 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9180 omp_destroy_nest_lock): Correct arguments to match the one in
9181 the OpenMP spec.
9182 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9183 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9184 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9185 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9186
9187 2013-05-16 Jakub Jelinek <jakub@redhat.com>
9188
9189 * testsuite/libgomp.c/loop-13.c: New test.
9190 * testsuite/libgomp.c/loop-14.c: New test.
9191 * testsuite/libgomp.c/loop-15.c: New test.
9192 * testsuite/libgomp.c++/loop-13.C: New test.
9193 * testsuite/libgomp.c++/loop-14.C: New test.
9194 * testsuite/libgomp.c++/loop-15.C: New test.
9195
9196 2013-02-06 Jakub Jelinek <jakub@redhat.com>
9197
9198 PR middle-end/56217
9199 * testsuite/libgomp.c++/pr56217.C: New test.
9200
9201 2013-02-01 Alan Modra <amodra@gmail.com>
9202
9203 * task.c (GOMP_task, GOMP_taskwait): Comment.
9204
9205 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9206 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9207
9208 PR libgomp/55561
9209 * config/linux/wait.h (do_spin): Use atomic load for addr.
9210 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9211 for intptr and ptrlock.
9212 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9213 for ptrlock.
9214
9215 2013-01-22 Alan Modra <amodra@gmail.com>
9216
9217 PR libgomp/51376
9218 PR libgomp/56073
9219 * task.c (GOMP_task): Revert 2011-12-09 change.
9220 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9221 barrier to read task->children..
9222 (gomp_barrier_handle_tasks): ..and matching atomic store with
9223 release barrier here when setting parent->children to NULL.
9224
9225 2013-01-16 Jakub Jelinek <jakub@redhat.com>
9226 Tobias Burnus <burnus@net-b.de>
9227
9228 PR driver/55884
9229 * testsuite/libgomp.fortran/fortran.exp: Use
9230 -fintrinsic-modules-path= instead of
9231 -fintrinsic-modules-path.
9232
9233 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9234
9235 Update copyright years.
9236
9237 2012-12-19 Tobias Burnus <burnus@net-b.de>
9238
9239 * testsuite/libgomp.fortran/fortran.exp: Set
9240 -fintrinsic-modules-path.
9241
9242 2012-12-19 Tobias Burnus <burnus@net-b.de>
9243
9244 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9245 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9246
9247 2012-11-21 Jakub Jelinek <jakub@redhat.com>
9248
9249 PR libgomp/55411
9250 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9251 if pool had any threads_used.
9252
9253 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9254
9255 * testsuite/libgomp.c++/pr24455.C: Use
9256 -Wl,-undefined,dynamic_lookup on darwin.
9257
9258 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
9259
9260 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9261
9262 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9263
9264 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9265
9266 2012-10-23 Ian Bolton <ian.bolton@arm.com>
9267 Jim MacArthur <jim.macarthur@arm.com>
9268 Marcus Shawcroft <marcus.shawcroft@arm.com>
9269 Nigel Stephens <nigel.stephens@arm.com>
9270 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9271 Richard Earnshaw <rearnsha@arm.com>
9272 Sofiane Naci <sofiane.naci@arm.com>
9273 Stephen Thomas <stephen.thomas@arm.com>
9274 Tejas Belagod <tejas.belagod@arm.com>
9275 Yufeng Zhang <yufeng.zhang@arm.com>
9276
9277 * configure.tgt: Add AArch64.
9278
9279 2012-10-04 Jason Merrill <jason@redhat.com>
9280
9281 * testsuite/libgomp.c++/tls-init1.C: New.
9282
9283 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
9284
9285 * configure: Regenerated.
9286
9287 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9288
9289 * config/linux/mips/futex.h (sys_futex0): Change to static
9290 function with noinline, nomips16 attributes under MIPS16. Adjust
9291 asm statement to place 'li v0,SYS_futex' immediately before
9292 syscall insn.
9293
9294 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9295
9296 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9297 conflict with index.html on case-insensitive file systems.
9298
9299 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
9300
9301 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9302 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9303
9304 2012-07-02 Richard Guenther <rguenther@suse.de>
9305 Michael Matz <matz@suse.de>
9306 Tobias Grosser <tobias@grosser.es>
9307 Sebastian Pop <sebpop@gmail.com>
9308
9309 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9310 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9311 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9312 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9313
9314 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9315
9316 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9317
9318 2012-06-22 Richard Guenther <rguenther@suse.de>
9319
9320 Merge from graphite branch
9321 2012-01-13 Tobias Grosser <tobias@grosser.es>
9322
9323 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9324 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9325
9326 2012-06-07 Jakub Jelinek <jakub@redhat.com>
9327
9328 PR middle-end/53580
9329 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9330 use GOMP_barrier () call instead.
9331 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9332 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9333 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9334 call GOMP_barrier instead.
9335 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9336
9337 2012-06-06 Jakub Jelinek <jakub@redhat.com>
9338
9339 PR libgomp/52993
9340 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9341 argument to memset call.
9342
9343 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9344
9345 * configure: Regenerated.
9346
9347 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9348
9349 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9350
9351 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9352
9353 PR bootstrap/52812
9354 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9355
9356 2012-03-22 Jakub Jelinek <jakub@redhat.com>
9357
9358 PR middle-end/52547
9359 * testsuite/libgomp.c/pr52547.c: New test.
9360
9361 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9362
9363 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9364
9365 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9366
9367 * configure.tgt (mips-sgi-irix6*): Remove.
9368
9369 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9370
9371 * configure.tgt (alpha*-dec-osf*): Remove.
9372
9373 * config/osf/sem.h: Remove.
9374 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9375
9376 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9377
9378 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9379
9380 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9381
9382 PR libstdc++/52188
9383 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9384 Remove ENABLE_SYMVERS_SOL2.
9385 * configure: Regenerate.
9386 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9387 (PREPROCESS): New variable.
9388 (libgomp.ver): New target.
9389 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9390 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9391 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9392 Use libgomp.ver.
9393 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9394 * Makefile.in: Regenerate.
9395
9396 2012-02-14 Walter Lee <walt@tilera.com>
9397
9398 * configure.tgt: Handle tilegx and tilepro.
9399 * config/linux/tile/futex.h: New file.
9400
9401 2012-02-08 Richard Guenther <rguenther@suse.de>
9402
9403 PR tree-optimization/46886
9404 * testsuite/libgomp.c/pr46886.c: New testcase.
9405
9406 2012-01-25 Matthias Klose <doko@ubuntu.com>
9407
9408 * config/linux/arm: Remove empty directory.
9409 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9410
9411 2011-12-09 Alan Modra <amodra@gmail.com>
9412
9413 PR libgomp/51376
9414 * task.c (GOMP_taskwait): Don't access task->children outside of
9415 task_lock mutex region.
9416 (GOMP_task): Likewise.
9417
9418 2011-12-06 Jakub Jelinek <jakub@redhat.com>
9419
9420 PR libgomp/51132
9421 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9422 to file scope.
9423 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9424 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9425 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9426 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9427 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9428
9429 2011-12-02 Alan Modra <amodra@gmail.com>
9430
9431 * config/linux/affinity.c: Use atomic rather than sync builtin.
9432 * config/linux/lock.c: Likewise.
9433 * config/linux/ptrlock.h: Likewise.
9434 * config/linux/ptrlock.c: Likewise.
9435 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9436 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9437 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9438 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9439 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9440 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9441 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9442 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9443 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9444 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9445
9446 2011-11-30 Alan Modra <amodra@gmail.com>
9447
9448 PR libgomp/51298
9449 * config/linux/bar.h: Use atomic rather than sync builtins.
9450 * config/linux/bar.c: Likewise. Add missing acquire
9451 synchronisation on generation field.
9452 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9453 double unlock.
9454
9455 2011-11-30 Alan Modra <amodra@gmail.com>
9456
9457 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9458 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9459 * config/linux/mutex.h: Use atomic rather than sync builtins.
9460 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9461 * config/linux/omp-lock.h: Comment fix.
9462 * config/linux/arm/mutex.h: Delete.
9463 * config/linux/powerpc/mutex.h: Delete.
9464 * config/linux/ia64/mutex.h: Delete.
9465 * config/linux/mips/mutex.h: Delete.
9466
9467 2011-11-30 Alan Modra <amodra@gmail.com>
9468
9469 PR libgomp/51249
9470 * config/linux/sem.h: Rewrite.
9471 * config/linux/sem.c: Rewrite.
9472
9473 2011-11-28 Richard Henderson <rth@redhat.com>
9474
9475 * libgomp.h (enum memmodel): New.
9476
9477 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
9478
9479 * configure: Regenerate.
9480
9481 2011-10-10 Matthias Klose <doko@ubuntu.com>
9482
9483 * config/posix95: Remove empty directory.
9484
9485 2011-08-26 Jakub Jelinek <jakub@redhat.com>
9486
9487 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9488
9489 2011-08-19 Jakub Jelinek <jakub@redhat.com>
9490
9491 PR fortran/49792
9492 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9493 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9494
9495 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9496
9497 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9498
9499 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9500
9501 PR libgomp/49965
9502 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9503
9504 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
9505
9506 * config/linux/proc.h: New.
9507 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9508 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9509 (gomp_init_num_threads): Update call to cpuset_popcount.
9510 (get_num_procs): Ditto.
9511 * config/linux/affinity.c (gomp_init_affinity): Call
9512 gomp_cpuset_popcount.
9513
9514 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9515
9516 PR fortran/42041
9517 PR fortran/46752
9518 * omp.h.in (omp_in_final): New prototype.
9519 * omp_lib.f90.in (omp_in_final): New interface.
9520 (omp_integer_kind, omp_logical_kind): Remove
9521 and replace all its uses in the module with 4.
9522 (openmp_version): Change to 201107.
9523 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9524 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9525 kind for the parameters.
9526 (omp_in_final): New external.
9527 (openmp_version): Change to 201107.
9528 * task.c (omp_in_final): New function.
9529 (gomp_init_task): Initialize final_task.
9530 (GOMP_task): Remove unused attribute from flags. Handle final
9531 tasks.
9532 (GOMP_taskyield): New function.
9533 (omp_in_final): Return true if if (false) or final (true) task
9534 or descendant of final (true).
9535 * fortran.c (omp_in_final_): New function.
9536 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9537 (GOMP_3.0): Export GOMP_taskyield.
9538 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9539 variables.
9540 (parse_unsigned_long_list): New function.
9541 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9542 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9543 even if parse_affinity returned false.
9544 * config/linux/affinity.c (gomp_init_affinity): Handle
9545 gomp_cpu_affinity_len == 0.
9546 * libgomp_g.h (GOMP_taskyield): New prototype.
9547 * libgomp.h (struct gomp_task): Add final_task field.
9548 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9549 * team.c (gomp_team_start): Override new task's nthreads_var icv
9550 if list form OMP_NUM_THREADS has been used and it has value for
9551 the new nesting level.
9552
9553 * testsuite/libgomp.c/atomic-11.c: New test.
9554 * testsuite/libgomp.c/atomic-12.c: New test.
9555 * testsuite/libgomp.c/atomic-13.c: New test.
9556 * testsuite/libgomp.c/atomic-14.c: New test.
9557 * testsuite/libgomp.c/reduction-6.c: New test.
9558 * testsuite/libgomp.c/task-5.c: New test.
9559 * testsuite/libgomp.c++/atomic-2.C: New test.
9560 * testsuite/libgomp.c++/atomic-3.C: New test.
9561 * testsuite/libgomp.c++/atomic-4.C: New test.
9562 * testsuite/libgomp.c++/atomic-5.C: New test.
9563 * testsuite/libgomp.c++/atomic-6.C: New test.
9564 * testsuite/libgomp.c++/atomic-7.C: New test.
9565 * testsuite/libgomp.c++/atomic-8.C: New test.
9566 * testsuite/libgomp.c++/atomic-9.C: New test.
9567 * testsuite/libgomp.c++/task-8.C: New test.
9568 * testsuite/libgomp.c++/reduction-4.C: New test.
9569 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9570 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9571 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9572 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9573 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9574 * testsuite/libgomp.fortran/pointer1.f90: New test.
9575 * testsuite/libgomp.fortran/pointer2.f90: New test.
9576 * testsuite/libgomp.fortran/task4.f90: New test.
9577
9578 2011-08-02 Tobias Burnus <burnus@net-b.de>
9579
9580 * libgomp.texi: Update OpenMP spec references to 3.1.
9581 (omp_in_final,OMP_PROC_BIND): New sections.
9582 (OMP_NUM_THREADS): Document that the value can be now a list.
9583 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9584
9585 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9586
9587 * config/linux/x86/futex.h: Check __x86_64__ instead of
9588 __LP64__.
9589
9590 2011-07-29 Jakub Jelinek <jakub@redhat.com>
9591
9592 PR middle-end/49897
9593 PR middle-end/49898
9594 * testsuite/libgomp.c/pr49897-1.c: New test.
9595 * testsuite/libgomp.c/pr49897-2.c: New test.
9596 * testsuite/libgomp.c/pr49898-1.c: New test.
9597 * testsuite/libgomp.c/pr49898-2.c: New test.
9598
9599 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9600
9601 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9602 for ia32 instead of ilp32.
9603
9604 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9605 * testsuite/libgomp.c/atomic-6.c: Likewise.
9606
9607 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9608
9609 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9610 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9611
9612 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9613
9614 PR libgomp/45351
9615 * config/osf/sem.h: New file.
9616 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9617
9618 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9619
9620 PR target/49541
9621 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9622 ldflags.
9623
9624 2011-07-15 Jakub Jelinek <jakub@redhat.com>
9625
9626 * config/linux/wait.h (do_spin): New inline, largely copied
9627 from do_wait, just don't do futex_wait here, instead return true if
9628 it should be done.
9629 (do_wait): Implement using do_spin.
9630 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9631 to prototype.
9632 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9633 __sync_bool_compare_and_swap, pass the oldval to
9634 gomp_mutex_lock_slow.
9635 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9636 If all mutex contenders are just spinning and not sleeping, don't
9637 change state to 2 unnecessarily. Optimize the loop when state has
9638 already become 2 to use just one atomic operation per loop instead
9639 of two.
9640 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9641 to prototype.
9642 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9643 __sync_bool_compare_and_swap, pass the oldval to
9644 gomp_mutex_lock_slow.
9645
9646 2011-06-22 Jakub Jelinek <jakub@redhat.com>
9647
9648 PR libgomp/49490
9649 * iter.c (gomp_iter_static_next): For chunk size 0
9650 only use n ceil/ nthreads size for the first
9651 n % nthreads threads in the team instead of
9652 all threads except for the last few ones which
9653 get less work or none at all.
9654 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9655 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9656 chunk argument, set run_sched_modifier to 0 for static
9657 resp. 1 for other kinds. If chunk argument is 0
9658 and not static, set value to 1.
9659
9660 2011-05-19 Jakub Jelinek <jakub@redhat.com>
9661
9662 PR c++/49043
9663 * testsuite/libgomp.c++/pr49043.C: New test.
9664
9665 PR c++/48869
9666 * testsuite/libgomp.c++/pr48869.C: New test.
9667
9668 2011-05-06 Jakub Jelinek <jakub@redhat.com>
9669
9670 PR fortran/48894
9671 * fortran.c: Include limits.h.
9672 (TO_INT): Define.
9673 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9674 *set.
9675 (omp_set_num_threads_8_, omp_set_schedule_8_,
9676 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9677 omp_get_team_size_8_): Use TO_INT macro.
9678 * testsuite/libgomp.fortran/pr48894.f90: New test.
9679
9680 2011-04-13 Jakub Jelinek <jakub@redhat.com>
9681
9682 PR middle-end/48591
9683 * testsuite/libgomp.c/pr48591.c: New test.
9684
9685 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9686
9687 PR bootstrap/48135
9688 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9689 * configure: Regenerate.
9690
9691 2011-02-27 Jakub Jelinek <jakub@redhat.com>
9692
9693 PR fortran/47886
9694 * testsuite/libgomp.fortran/task3.f90: New test.
9695
9696 2011-02-24 Tobias Burnus <burnus@net-b.de>
9697
9698 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9699
9700 2011-02-23 Jakub Jelinek <jakub@redhat.com>
9701
9702 PR libgomp/47854
9703 * libgomp.texi (omp_get_wtime): Don't say time in the past
9704 must be Unix Epoch.
9705
9706 2011-02-18 Jakub Jelinek <jakub@redhat.com>
9707
9708 PR libgomp/47804
9709 * testsuite/libgomp.fortran/fortran.exp: Check for both
9710 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9711 but $blddir != "", still append ${blddir}/${lang_library_path}
9712 to ld_library_path.
9713
9714 2011-02-16 Tobias Burnus <burnus@net-b.de>
9715
9716 PR libgomp/47758
9717 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9718 of libquadmath.a before adding its libpath to ldflags.
9719
9720 2011-02-14 Jakub Jelinek <jakub@redhat.com>
9721
9722 PR libgomp/47731
9723 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9724 to FUTEX_WAIT futex syscall.
9725 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9726
9727 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9728
9729 * configure: Regenerate.
9730
9731 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9732
9733 PR libstdc++/36104
9734 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9735
9736 2011-01-16 Gerald Pfeifer
9737
9738 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9739
9740 2010-12-14 Jakub Jelinek <jakub@redhat.com>
9741
9742 PR fortran/46874
9743 * libgomp.fortran/allocatable6.f90: New test.
9744
9745 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9746
9747 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9748 * configure: Regenerate.
9749
9750 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9751
9752 PR target/40125
9753 PR lto/46695
9754 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9755 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9756 * aclocal.m4: Regenerate.
9757 * configure: Regenerate.
9758 * Makefile.in: Regenerate.
9759 * testsuite/Makefile.in: Regenerate.
9760
9761 2010-12-02 Jakub Jelinek <jakub@redhat.com>
9762
9763 PR fortran/46753
9764 * libgomp.fortran/pr46753.f90: New test.
9765
9766 PR libgomp/43706
9767 * env.c (initialize_env): Default to spin count 300000
9768 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9769 is specified.
9770
9771 PR libgomp/45240
9772 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9773 at the end if sync builtins aren't supported.
9774
9775 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9776
9777 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9778
9779 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9780
9781 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9782
9783 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9784
9785 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9786
9787 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9788 Tobias Burnus <burnus@net-b.de>
9789
9790 PR fortran/32049
9791 * configure.ac:
9792 * configure: Regenerate.
9793
9794 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9795
9796 * config/linux/futex.h: New.
9797 * config/linux/arm/mutex.h: New.
9798 * configure.tgt (arm*-*-linux*): Add config path.
9799
9800 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9801
9802 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9803
9804 2010-09-23 Tobias Burnus <burnus@net-b.de>
9805
9806 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9807 Change Fortran datatype to LOGICAL.
9808 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9809 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9810
9811 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9812
9813 * configure: Regenerate.
9814
9815 2010-07-26 Jakub Jelinek <jakub@redhat.com>
9816
9817 * libgomp.texi: Add function keyword to a couple of Fortran
9818 interfaces, use integer instead of int for Fortran.
9819
9820 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
9821
9822 * libgomp.texi: Fix spelling and pasto problems throughout.
9823 Adjust prototypes to match code.
9824
9825 2010-07-24 Tobias Burnus <burnus@net-b.de>
9826
9827 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9828 silence -fwhole-file warning.
9829
9830 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9831
9832 * configure.tgt (*-*-solaris2.[56]*): Removed.
9833
9834 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9835
9836 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9837 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9838 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9839 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9840 targetting solaris2*.
9841 * configure: Regenerate.
9842 * config.h.in: Regenerate.
9843
9844 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9845 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9846 Add libgomp_version_dep.
9847 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9848 versioning.
9849 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9850 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9851 * Makefile.in: Regenerate.
9852
9853 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9854 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9855 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9856 to common block, protected by
9857 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9858
9859 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9860
9861 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9862
9863 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9864
9865 PR bootstrap/43170
9866 * configure: Regenerate.
9867
9868 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9869
9870 PR other/43620
9871 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9872 * configure: Regenerate.
9873 * Makefile.in: Regenerate.
9874 * testsuite/Makefile.in: Regenerate.
9875
9876 2010-04-26 Jakub Jelinek <jakub@redhat.com>
9877
9878 PR c/43893
9879 * testsuite/libgomp.c/pr43893.c: New test.
9880 * testsuite/libgomp.c++/pr43893.C: New test.
9881
9882 2010-04-21 Jakub Jelinek <jakub@redhat.com>
9883
9884 PR middle-end/43570
9885 * testsuite/libgomp.fortran/vla8.f90: New test.
9886
9887 2010-04-20 Jakub Jelinek <jakub@redhat.com>
9888
9889 PR libgomp/43706
9890 * config/linux/affinity.c (gomp_init_affinity): Decrease
9891 gomp_available_cpus if affinity mask confines the process to fewer
9892 CPUs.
9893 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9894 non-NULL, just return gomp_available_cpus.
9895
9896 PR libgomp/43569
9897 * sections.c (gomp_sections_init): Initialize ws->mode.
9898
9899 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
9900
9901 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9902 not unused bar variable.
9903 * configure: Regenerate.
9904
9905 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9906
9907 * Makefile.in: Regenerate.
9908 * aclocal.m4: Regenerate.
9909 * testsuite/Makefile.in: Regenerate.
9910
9911 2010-03-22 Jakub Jelinek <jakub@redhat.com>
9912
9913 PR libgomp/42942
9914 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9915 (initialize_env): Adjust callers.
9916 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9917 when the argument is 0.
9918
9919 * testsuite/libgomp.c/pr42942.c: New test.
9920
9921 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9922
9923 PR middle-end/42644
9924 PR middle-end/42130
9925 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9926 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9927
9928 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9929
9930 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9931 * testsuite/libgomp.c++/task-6.C: Likewise.
9932
9933 2010-01-28 Steve Ellcey <sje@cup.hp.com>
9934
9935 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9936
9937 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
9938
9939 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9940 * configure: Regenerate.
9941
9942 2010-01-26 Jakub Jelinek <jakub@redhat.com>
9943
9944 PR fortran/42866
9945 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9946
9947 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
9948
9949 * configure.ac: Test for executability of GFORTRAN.
9950 * configure: Regenerate.
9951
9952 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9953
9954 * configure: Regenerate.
9955
9956 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9957
9958 PR libgomp/42602
9959 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9960
9961 2010-01-03 Richard Guenther <rguenther@suse.de>
9962
9963 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9964
9965 2009-12-23 Sebastian Pop <sebpop@gmail.com>
9966
9967 * testsuite/libgomp.graphite/pr4118.c: New.
9968
9969 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9970
9971 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9972 for darwin, protect the test with require-effective-target tls_runtime.
9973 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9974
9975 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9976
9977 PR target/41605
9978 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9979 link spec %s substitutions for static libraries.
9980
9981 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9982
9983 PR testsuite/42135
9984 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9985
9986 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9987
9988 * Makefile.in: Regenerate.
9989 * configure: Regenerate.
9990 * testsuite/Makefile.in: Regenerate.
9991
9992 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9993
9994 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9995 settings for LC_ALL and LANG.
9996
9997 2009-11-25 Jakub Jelinek <jakub@redhat.com>
9998
9999 PR fortran/42162
10000 * testsuite/libgomp.fortran/pr42162.f90: New test.
10001
10002 2009-11-13 Jakub Jelinek <jakub@redhat.com>
10003
10004 PR middle-end/42029
10005 * testsuite/libgomp.c/pr42029.c: New test.
10006
10007 2009-10-26 Jakub Jelinek <jakub@redhat.com>
10008
10009 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10010 *s. Accept ld version without text in ()s.
10011 * configure: Regenerated.
10012
10013 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
10014
10015 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10016
10017 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10018
10019 PR libgomp/41418
10020 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10021 or a hyphen (happens with fortran language disabled).
10022 * configure: Regenerate.
10023
10024 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10025
10026 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10027 use sed script portable to Solaris /bin/sed for extracting ld
10028 version.
10029 * configure: Regenerate.
10030
10031 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
10032
10033 * testsuite/libgomp.graphite/bounds.c: New test.
10034
10035 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10036
10037 * Makefile.am (libgomp_la_LINK): New.
10038 * Makefile.in: Regenerate.
10039
10040 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10041
10042 * configure.ac (AC_PREREQ): Bump to 2.64.
10043
10044 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10045
10046 * Makefile.am (install-html, install-pdf): Remove.
10047 * Makefile.in: Regenerate.
10048
10049 * Makefile.in: Regenerate.
10050 * aclocal.m4: Regenerate.
10051 * config.h.in: Regenerate.
10052 * configure: Regenerate.
10053 * testsuite/Makefile.in: Regenerate.
10054
10055 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10056
10057 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10058 * Makefile.in: Regenerate.
10059
10060 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10061
10062 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10063 * Makefile.in: Regenerate.
10064
10065 2009-08-19 Tobias Burnus <burnus@net-b.de>
10066
10067 PR fortran/41102
10068 omp_lib.h.in: Fix -std=f95 errors.
10069
10070 2009-08-14 David Edelsohn <edelsohn@gnu.org>
10071
10072 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10073 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10074 * testsuite/libgomp.graphite/graphite.exp: New.
10075
10076 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10077
10078 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10079 only build.
10080
10081 2009-08-04 David Daney <ddaney@caviumnetworks.com>
10082
10083 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10084 needed memory barrier semantics.
10085 * config/linux/mips/mutex.h: New file.
10086
10087 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10088
10089 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10090
10091 2009-07-16 Joseph Myers <joseph@codesourcery.com>
10092
10093 * configure: Regenerate.
10094
10095 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10096
10097 PR testsuite/40699
10098 PR testsuite/40707
10099 PR testsuite/40709
10100 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10101 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10102 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10103
10104 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10105
10106 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10107 options when choosing a multilib.
10108
10109 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10110
10111 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10112 ld_library_path. Use add_path. Add just find_libgcc_s to
10113 ld_library_path, not every libgcc multilib directory.
10114 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10115 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10116 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10117 Use add_path.
10118 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10119
10120 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10121
10122 * Makefile.am (LTLDFLAGS): Define.
10123 (LINK): Define.
10124 * Makefile.in: Regenerate.
10125
10126 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10127
10128 PR fortran/39718
10129 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10130 libgfortranbegin, check existence of libgfortran.a instead of
10131 libgfortranbegin.a.
10132
10133 2009-05-20 Jakub Jelinek <jakub@redhat.com>
10134
10135 PR libgomp/40174
10136 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10137 (gomp_free_pool_helper): Likewise.
10138
10139 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10140 Jakub Jelinek <jakub@redhat.com>
10141
10142 PR fortran/35423
10143 * testsuite/libgomp.fortran/workshare2.f90: New test.
10144
10145 2009-04-09 Nick Clifton <nickc@redhat.com>
10146
10147 * iter.c: Change copyright header to refer to version 3 of the
10148 GNU General Public License with version 3.1 of the GCC Runtime
10149 Library Exception and to point readers at the COPYING3 and
10150 COPYING3.RUNTIME files and the FSF's license web page.
10151 * alloc.c: Likewise.
10152 * barrier.c: Likewise.
10153 * config/bsd/proc.c: Likewise.
10154 * config/linux/affinity.c: Likewise.
10155 * config/linux/alpha/futex.h: Likewise.
10156 * config/linux/bar.c: Likewise.
10157 * config/linux/bar.h: Likewise.
10158 * config/linux/ia64/futex.h: Likewise.
10159 * config/linux/ia64/mutex.h: Likewise.
10160 * config/linux/lock.c: Likewise.
10161 * config/linux/mips/futex.h: Likewise.
10162 * config/linux/mutex.c: Likewise.
10163 * config/linux/mutex.h: Likewise.
10164 * config/linux/powerpc/futex.h: Likewise.
10165 * config/linux/proc.c: Likewise.
10166 * config/linux/ptrlock.c: Likewise.
10167 * config/linux/ptrlock.h: Likewise.
10168 * config/linux/s390/futex.h: Likewise.
10169 * config/linux/sem.c: Likewise.
10170 * config/linux/sem.h: Likewise.
10171 * config/linux/sparc/futex.h: Likewise.
10172 * config/linux/wait.h: Likewise.
10173 * config/linux/x86/futex.h: Likewise.
10174 * config/mingw32/proc.c: Likewise.
10175 * config/mingw32/time.c: Likewise.
10176 * config/posix/affinity.c: Likewise.
10177 * config/posix/bar.c: Likewise.
10178 * config/posix/bar.h: Likewise.
10179 * config/posix/lock.c: Likewise.
10180 * config/posix/mutex.h: Likewise.
10181 * config/posix/proc.c: Likewise.
10182 * config/posix/ptrlock.h: Likewise.
10183 * config/posix/sem.c: Likewise.
10184 * config/posix/sem.h: Likewise.
10185 * config/posix/time.c: Likewise.
10186 * config/posix95/lock.c: Likewise.
10187 * critical.c: Likewise.
10188 * env.c: Likewise.
10189 * error.c: Likewise.
10190 * fortran.c: Likewise.
10191 * iter_ull.c: Likewise.
10192 * libgomp.h: Likewise.
10193 * libgomp_f.h.in: Likewise.
10194 * libgomp_g.h: Likewise.
10195 * loop.c: Likewise.
10196 * loop_ull.c: Likewise.
10197 * omp.h.in: Likewise.
10198 * omp_lib.f90.in: Likewise.
10199 * omp_lib.h.in: Likewise.
10200 * ordered.c: Likewise.
10201 * parallel.c: Likewise.
10202 * sections.c: Likewise.
10203 * single.c: Likewise.
10204 * task.c: Likewise.
10205 * team.c: Likewise.
10206 * work.c: Likewise.
10207
10208 2009-04-09 Jakub Jelinek <jakub@redhat.com>
10209
10210 * testsuite/config/default.exp: Change copyright header to refer to
10211 version 3 of the GNU General Public License and to point readers
10212 at the COPYING3 file and the FSF's license web page.
10213
10214 2009-04-08 Jakub Jelinek <jakub@redhat.com>
10215
10216 PR middle-end/39573
10217 * libgomp.c++/pr39573.C: New test.
10218
10219 2009-04-01 Jakub Jelinek <jakub@redhat.com>
10220
10221 PR other/39591
10222 * testsuite/libgomp.c/pr39591-1.c: New test.
10223 * testsuite/libgomp.c/pr39591-2.c: New test.
10224 * testsuite/libgomp.c/pr39591-3.c: New test.
10225
10226 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
10227
10228 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10229 * testsuite/libgomp.c/atomic-6.c: Ditto.
10230
10231 2009-03-23 Jakub Jelinek <jakub@redhat.com>
10232
10233 PR c/39495
10234 * testsuite/libgomp.c/loop-12.c: New test.
10235 * testsuite/libgomp.c/loop-11.c: New test.
10236 * testsuite/libgomp.c++/loop-11.C: New test.
10237 * testsuite/libgomp.c++/loop-12.C: New test.
10238 * testsuite/libgomp.c++/for-8.C: New test.
10239
10240 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10241
10242 * configure: Regenerate.
10243
10244 2009-02-11 Jakub Jelinek <jakub@redhat.com>
10245
10246 PR middle-end/39154
10247 * testsuite/libgomp.c/pr39154.c: New test.
10248
10249 2009-01-30 Ian Lance Taylor <iant@google.com>
10250
10251 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10252 libgomp_ld_is_gold. Get gold version number.
10253 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10254 * configure: Rebuild.
10255
10256 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10257
10258 * testsuite/lib/libgomp.exp: Add -B option for targets that
10259 use libgfortran.a%s in their specs.
10260
10261 2009-01-07 Jakub Jelinek <jakub@redhat.com>
10262
10263 PR libgomp/38086
10264 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10265 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10266 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10267 * configure: Regenerated.
10268 * config.h.in: Likewise.
10269
10270 2008-12-28 Jakub Jelinek <jakub@redhat.com>
10271
10272 PR c++/38650
10273 * testsuite/libgomp.c/pr38650.c: New test.
10274 * testsuite/libgomp.c++/pr38650.C: New test.
10275
10276 2008-12-27 Jakub Jelinek <jakub@redhat.com>
10277
10278 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10279
10280 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
10281
10282 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10283
10284 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10285
10286 * configure: Regenerate.
10287
10288 2008-12-08 Jakub Jelinek <jakub@redhat.com>
10289
10290 PR middle-end/36802
10291 * testsuite/libgomp.c/pr36802-1.c: New test.
10292 * testsuite/libgomp.c/pr36802-2.c: New test.
10293 * testsuite/libgomp.c/pr36802-3.c: New test.
10294
10295 2008-12-01 Janis Johnson <janis187@us.ibm.com>
10296
10297 PR libgomp/38270
10298 * config/linux/powerpc/mutex.h: New.
10299
10300 2008-12-01 Jakub Jelinek <jakub@redhat.com>
10301
10302 PR c++/38257
10303 * testsuite/libgomp.c++/for-7.C: New test.
10304
10305 PR c++/38348
10306 * testsuite/libgomp.c++/for-6.C: New test.
10307
10308 2008-11-26 Janis Johnson <janis187@us.ibm.com>
10309
10310 PR testsuite/28870
10311 * testsuite/lib/libgomp.exp: Include new timeout library files.
10312 (libgomp_target_compile): Set timeout value from new proc.
10313
10314 2008-11-13 Steve Ellcey <sje@cup.hp.com>
10315
10316 PR libgomp/37938
10317 * config/linux/ia64/mutex.h: New.
10318
10319 2008-11-04 Tobias Burnus <burnus@net-b.de>
10320
10321 PR libgomp/37935
10322 * libgomp.texi (Runtime library routines, environment variables):
10323 Update for OpenMP version 3.0.
10324
10325 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10326 Steve Ellcey <sje@cup.hp.com>
10327
10328 * configure: Regenerate for new libtool.
10329 * Makefile.in: Ditto.
10330 * testsuite/Makefile.in: Ditto.
10331
10332 2008-09-19 Jakub Jelinek <jakub@redhat.com>
10333 Andreas Tobler <a.tobler@schweiz.org>
10334
10335 * config/bsd/proc.c: New file.
10336 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
10337 * configure.ac: Check for header <sys/sysctl.h>
10338 * configure: Regenerate.
10339 * config.h.in: Likewise.
10340
10341 2008-09-05 Janis Johnson <janis187@us.ibm.com>
10342
10343 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10344
10345 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10346
10347 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10348 * Makefile.in: Regenerated.
10349 * testsuite/Makefile.in: Regenerated.
10350
10351 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
10352
10353 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10354 depend on blddir if blddir exists.
10355 (libgomp_target_compile): Likewise.
10356 * testsuite/libgomp.c++/c++.exp: Likewise.
10357 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10358
10359 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10360
10361 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10362 Do not list GPL as Invariant Section.
10363
10364 2008-07-28 Ilie Garbacea <ilie@mips.com>
10365 Chao-ying Fu <fu@mips.com>
10366
10367 * configure.tgt: Enable futex for MIPS.
10368 * config/linux/mips/futex.h: New file.
10369
10370 2008-07-16 Jakub Jelinek <jakub@redhat.com>
10371
10372 * team.c (gomp_team_end): Free team immediately if it has
10373 just one thread.
10374
10375 2008-07-08 David Edelsohn <edelsohn@gnu.org>
10376
10377 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10378 * testsuite/libgomp.fortran/fortran.exp: Same.
10379 * testsuite/libgomp.c/c.exp: Same.
10380 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10381 directory to library path first.
10382
10383 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10384
10385 * env.c (parse_stacksize): Add cast to avoid warning.
10386 (parse_spincount): Likewise.
10387
10388 2008-06-27 Jakub Jelinek <jakub@redhat.com>
10389
10390 * testsuite/libgomp.c/loop-10.c: New test.
10391 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10392 * libgomp.c++/loop-6.C (main): Likewise.
10393
10394 PR debug/36617
10395 * testsuite/libgomp.c/debug-1.c: New test.
10396
10397 2008-06-19 Jakub Jelinek <jakub@redhat.com>
10398
10399 * testsuite/libgomp.c/nqueens-1.c: New test.
10400
10401 PR c++/36523
10402 * testsuite/libgomp.c++/task-7.C: New function.
10403
10404 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10405
10406 * configure: Regenerate.
10407
10408 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10409
10410 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10411 mutex when HAVE_SYNC_BUILTINS isn't defined.
10412
10413 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10414
10415 * libgomp.texi (omp_test_lock): Fix typo.
10416
10417 2008-06-12 Tobias Burnus <burnus@net-b.de>
10418
10419 * omp_lib.f90.in: Add "implicit none".
10420
10421 2008-06-12 Jakub Jelinek <jakub@redhat.com>
10422
10423 PR middle-end/36506
10424 * testsuite/libgomp.c/reduction-5.c: New test.
10425
10426 2008-06-11 Jakub Jelinek <jakub@redhat.com>
10427
10428 * libgomp.h (struct gomp_task): Add in_tied_task field.
10429 * task.c (gomp_init_task): Initialize it.
10430 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10431 unconditionally. Don't call gomp_team_barrier_wake if
10432 current task is implicit or if(0) from implicit and number of
10433 running tasks is equal to nthreads - 1.
10434
10435 PR libgomp/36471
10436 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10437 omp_get_team_size_8): Fix pastos.
10438
10439 PR libgomp/36469
10440 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10441 * configure: Regenerated.
10442 * config.h.in: Regenerated.
10443 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10444 defined.
10445
10446 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10447
10448 PR bootstrap/36452
10449 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10450 (GOMP_loop_ull_dynamic_start): Likewise.
10451 (GOMP_loop_ull_guided_start): Likewise.
10452 (GOMP_loop_ull_ordered_static_start): Likewise.
10453 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10454 (GOMP_loop_ull_ordered_guided_start): Likewise.
10455
10456 2008-06-06 Jakub Jelinek <jakub@redhat.com>
10457 Richard Henderson <rth@redhat.com>
10458 Ulrich Drepper <drepper@redhat.com>
10459 Jakob Blomer <jakob.blomer@ira.uka.de>
10460
10461 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10462 Substitute also OMP_*LOCK_25*.
10463 * configure: Regenerated.
10464 * config.h.in: Regenerated.
10465 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10466 ptrlock.c and task.c.
10467 * Makefile.in: Regenerated.
10468 * testsuite/Makefile.in: Regenerated.
10469 * task.c: New file.
10470 * loop_ull.c: New file.
10471 * iter_ull.c: New file.
10472 * libgomp.h: Include ptrlock.h.
10473 (enum gomp_task_kind): New type.
10474 (struct gomp_team): Add task_lock, task_queue, task_count,
10475 task_running_count, single_count fields. Add
10476 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10477 Remove work_share_lock, generation_mask,
10478 oldest_live_gen, num_live_gen and init_work_shares fields, add
10479 work work_share_list_alloc, work_share_list_free and work_share_chunk
10480 fields. Change work_shares from pointer to pointers into an array.
10481 Change ordered_release field into gomp_sem_t ** from flexible array
10482 member. Add implicit_task and initial_work_shares fields.
10483 Move close to the end of the struct.
10484 (struct gomp_team_state): Add single_count, last_work_share,
10485 active_level and level fields, remove work_share_generation.
10486 (gomp_barrier_handle_tasks): New prototype.
10487 (gomp_finish_task): New inline function.
10488 (struct gomp_work_share): Move chunk_size, end, incr into
10489 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10490 next_ll fields. Reshuffle fields. Add next_alloc,
10491 next_ws, next_free and inline_ordered_team_ids fields, change
10492 ordered_team_ids into pointer from flexible array member.
10493 Add mode field. Put lock and next into a different cache line
10494 from most of the write-once fields.
10495 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10496 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10497 gomp_iter_ull_guided_next): New prototypes.
10498 (gomp_new_icv): New prototype.
10499 (struct gomp_thread): Add thread_pool and task fields.
10500 (struct gomp_thread_pool): New type.
10501 (gomp_new_team): New prototype.
10502 (gomp_team_start): Change type of last argument.
10503 (gomp_new_work_share): Removed.
10504 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10505 (gomp_work_share_init_done): New static inline.
10506 (gomp_throttled_spin_count_var, gomp_available_cpus,
10507 gomp_managed_threads): New extern decls.
10508 (gomp_init_task): New prototype.
10509 (gomp_spin_count_var): New extern var decl.
10510 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10511 or no alias support, or if not PIC.
10512 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10513 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10514 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10515 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10516 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10517 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10518 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10519 gomp_test_nest_lock_25): New prototypes.
10520 (omp_lock_symver, strong_alias): Define.
10521 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10522 decls.
10523 (gomp_end_task): New.
10524 (struct gomp_task_icv, gomp_global_icv): New.
10525 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10526 (struct gomp_task): New.
10527 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10528 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10529 (gomp_icv): New.
10530 (gomp_schedule_type): Reorder enum to match
10531 omp_sched_t.
10532 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10533 fields.
10534 (gomp_thread_start): Add gomp_team_barrier_wait call.
10535 For non-nested case remove clearing of docked thread thr fields.
10536 Use pool fields instead of global gomp_* variables. Use
10537 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10538 Create tasks for each member thread.
10539 (free_team): Only destroy team barrier, task_lock here and free it.
10540 (gomp_free_thread): Free last_team if non-NULL.
10541 (gomp_team_end): Call gomp_team_barrier_wait instead of
10542 gomp_barrier_wait. For nested case call one extra
10543 gomp_barrier_wait. Move here some destruction from free_team.
10544 Call free_team on pool->last_team if any, rather than freeing
10545 current team. Destroy work_share_list_free_lock ifndef
10546 HAVE_SYNC_BUILTINS.
10547 (gomp_new_icv): New function.
10548 (gomp_threads, gomp_threads_size, gomp_threads_used,
10549 gomp_threads_dock): Removed.
10550 (gomp_thread_destructor): New variable.
10551 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10552 functions.
10553 (gomp_team_start): Create new pool if current thread doesn't have
10554 one. Use pool fields instead of global gomp_* variables.
10555 Initialize thread_pool field for new threads. Clear single_count.
10556 Change last argument from ws to team, don't create
10557 new team, set ts.work_share to &team->work_shares[0] and clear
10558 ts.last_work_share. Don't clear ts.work_share_generation.
10559 If number of threads changed, adjust atomically gomp_managed_threads.
10560 Use gomp_init_task instead of gomp_new_task,
10561 set thr->task to the corresponding implicit_task array entry.
10562 Create tasks for each member thread. Initialize ts.level.
10563 (initialize_team): Call pthread_key_create on
10564 gomp_thread_destructor.
10565 (team_destructor): New function.
10566 (new_team): Removed.
10567 (gomp_new_team): New function.
10568 (free_team): Free gomp_work_share blocks chained through next_alloc,
10569 instead of freeing work_shares and destroying work_share_lock.
10570 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10571 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10572 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10573 of gomp_barrier_wait.
10574 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10575 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10576 if gomp_work_share_start returned true. Don't unlock ws->lock.
10577 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10578 of gomp_barrier_wait.
10579 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10580 gomp_work_share_init_done if gomp_work_share_start returned true.
10581 Don't unlock ws->lock.
10582 * work.c: Include stddef.h.
10583 (free_work_share): Use work_share_list_free_lock instead
10584 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10585 Call gomp_fini_work_share and then either free ws if orphaned, or
10586 put it into work_share_list_free list of the current team.
10587 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10588 functions.
10589 (gomp_work_share_start, gomp_work_share_end,
10590 gomp_work_share_end_nowait): Rewritten.
10591 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10592 (openmp_version): Set to 200805.
10593 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10594 omp_sched_guided, omp_sched_auto): New parameters.
10595 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10596 omp_set_max_active_levels, omp_get_max_active_levels,
10597 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10598 omp_get_active_level): New interfaces.
10599 * omp_lib.h.in (openmp_version): Set to 200805.
10600 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10601 omp_sched_guided, omp_sched_auto): New parameters.
10602 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10603 omp_set_max_active_levels, omp_get_max_active_levels,
10604 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10605 omp_get_active_level): New externals.
10606 * loop.c: Include limits.h.
10607 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10608 GFS_AUTO.
10609 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10610 Likewise. Use gomp_icv.
10611 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10612 ts.static_trip here.
10613 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10614 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10615 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10616 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10617 don't unlock ws->lock, otherwise lock it.
10618 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10619 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10620 (gomp_parallel_loop_start): Call gomp_new_team instead of
10621 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10622 Adjust gomp_team_start caller. Pass 0 as second argument to
10623 gomp_resolve_num_threads.
10624 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10625 If adding ws->chunk_size nthreads + 1 times after end won't
10626 overflow, set ws->mode to 1.
10627 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10628 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10629 GOMP_loop_ull_ordered_static_start,
10630 GOMP_loop_ull_ordered_dynamic_start,
10631 GOMP_loop_ull_ordered_guided_start,
10632 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10633 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10634 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10635 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10636 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10637 prototypes.
10638 * libgomp.map: Export lock routines also @@OMP_2.0.
10639 (GOMP_loop_ordered_dynamic_first,
10640 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10641 GOMP_loop_ordered_static_first): Remove.
10642 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10643 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10644 GOMP_loop_ull_ordered_dynamic_next,
10645 GOMP_loop_ull_ordered_dynamic_start,
10646 GOMP_loop_ull_ordered_guided_next,
10647 GOMP_loop_ull_ordered_guided_start,
10648 GOMP_loop_ull_ordered_runtime_next,
10649 GOMP_loop_ull_ordered_runtime_start,
10650 GOMP_loop_ull_ordered_static_next,
10651 GOMP_loop_ull_ordered_static_start,
10652 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10653 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10654 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10655 (omp_set_schedule, omp_get_schedule,
10656 omp_get_thread_limit, omp_set_max_active_levels,
10657 omp_get_max_active_levels, omp_get_level,
10658 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10659 omp_set_schedule_, omp_set_schedule_8_,
10660 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10661 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10662 omp_get_max_active_levels_, omp_get_level_,
10663 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10664 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10665 New exports @@OMP_3.0.
10666 * omp.h.in (omp_sched_t): New type.
10667 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10668 omp_set_max_active_levels, omp_get_max_active_levels,
10669 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10670 omp_get_active_level): New prototypes.
10671 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10672 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10673 gomp_thread_limit_var, gomp_remaining_threads_count,
10674 gomp_remaining_threads_lock): New variables.
10675 (parse_spincount): New function.
10676 (initialize_env): Call gomp_init_num_threads unconditionally.
10677 Initialize gomp_available_cpus. Call parse_spincount,
10678 initialize gomp_{,throttled_}spin_count_var
10679 depending on presence and value of OMP_WAIT_POLICY and
10680 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10681 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10682 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10683 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10684 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10685 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10686 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10687 (gomp_global_icv): New.
10688 (parse_schedule): Use it. Parse "auto".
10689 (omp_set_num_threads): Use gomp_icv.
10690 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10691 Likewise.
10692 (omp_get_max_threads): Move from parallel.c.
10693 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10694 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10695 add ialias.
10696 (parse_stacksize, parse_wait_policy): New functions.
10697 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10698 both wrappers for compatibility and new locks.
10699 (omp_set_schedule, omp_get_schedule,
10700 omp_get_thread_limit, omp_set_max_active_levels,
10701 omp_get_max_active_levels, omp_get_level,
10702 omp_get_ancestor_thread_num, omp_get_team_size,
10703 omp_get_active_level): New ialias_redirect.
10704 (omp_set_schedule_, omp_set_schedule_8_,
10705 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10706 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10707 omp_get_max_active_levels_, omp_get_level_,
10708 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10709 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10710 New functions.
10711 * parallel.c: Include limits.h.
10712 (gomp_resolve_num_threads): Add count argument. Rewritten.
10713 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10714 argument to gomp_team_start. Pass 0 as second argument to
10715 gomp_resolve_num_threads.
10716 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10717 if gomp_thread_limit_var != ULONG_MAX.
10718 (omp_in_parallel): Implement using ts.active_level.
10719 (omp_get_max_threads): Move to env.c.
10720 (omp_get_level, omp_get_ancestor_thread_num,
10721 omp_get_team_size, omp_get_active_level): New functions,
10722 add ialias.
10723 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10724 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10725 gomp_iter_dynamic_next instead of the _locked variant and don't take
10726 lock around it, otherwise acquire it before calling
10727 gomp_iter_dynamic_next_locked.
10728 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10729 gomp_iter_dynamic_next instead of the _locked variant and don't take
10730 lock around it.
10731 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10732 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10733 Adjust gomp_team_start caller. Pass count as second argument to
10734 gomp_resolve_num_threads, don't adjust num_threads after the call.
10735 Use gomp_icv.
10736 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10737 ws->chunk_size by incr.
10738 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10739 code.
10740 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10741 types.
10742 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10743 (omp_check_defines): Check even the compat defines.
10744 * config/linux/ptrlock.c: New file.
10745 * config/linux/ptrlock.h: New file.
10746 * config/linux/wait.h: New file.
10747 * config/posix/ptrlock.c: New file.
10748 * config/posix/ptrlock.h: New file.
10749 * config/linux/bar.h (gomp_team_barrier_wait,
10750 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10751 (gomp_team_barrier_set_task_pending,
10752 gomp_team_barrier_clear_task_pending,
10753 gomp_team_barrier_set_waiting_for_tasks,
10754 gomp_team_barrier_waiting_for_tasks,
10755 gomp_team_barrier_done): New inlines.
10756 (gomp_barrier_t): Rewritten.
10757 (gomp_barrier_state_t): New typedef.
10758 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10759 gomp_barrier_wait_start): Rewritten.
10760 (gomp_barrier_wait_end): Change second argument to
10761 gomp_barrier_state_t.
10762 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10763 inlines.
10764 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10765 futex.h.
10766 (gomp_barrier_wait_end): Rewritten.
10767 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10768 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10769 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10770 (gomp_barrier_state_t): New typedef.
10771 (gomp_team_barrier_wait,
10772 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10773 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10774 into the return value. Return gomp_barrier_state_t.
10775 (gomp_team_barrier_set_task_pending,
10776 gomp_team_barrier_clear_task_pending,
10777 gomp_team_barrier_set_waiting_for_tasks,
10778 gomp_team_barrier_waiting_for_tasks,
10779 gomp_team_barrier_done): New inlines.
10780 (gomp_barrier_wait_end): Change second argument to
10781 gomp_barrier_state_t.
10782 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10783 inlines.
10784 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10785 (gomp_barrier_wait_end): Change second argument to
10786 gomp_barrier_state_t.
10787 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10788 gomp_team_barrier_wake): New functions.
10789 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10790 futex.h.
10791 (gomp_futex_wake, gomp_futex_wait): New variables.
10792 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10793 * config/linux/lock.c: Rewrite to make locks task owned,
10794 for backwards compatibility provide the old entrypoints
10795 if symbol versioning. Include wait.h instead of libgomp.h and
10796 futex.h.
10797 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10798 * config/posix95/lock.c: Rewrite to make locks task owned,
10799 for backwards compatibility provide the old entrypoints
10800 if symbol versioning.
10801 * config/posix/lock.c: Rewrite to make locks task owned,
10802 for backwards compatibility provide the old entrypoints
10803 if symbol versioning.
10804 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10805 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10806 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10807 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10808 (sys_futex0): Return error code.
10809 (futex_wake, futex_wait): If ENOSYS was returned, clear
10810 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10811 (cpu_relax, atomic_write_barrier): New static inlines.
10812 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10813 (futex_wake, futex_wait): If ENOSYS was returned, clear
10814 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10815 (cpu_relax, atomic_write_barrier): New static inlines.
10816 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10817 (sys_futex0): Return error code.
10818 (futex_wake, futex_wait): If ENOSYS was returned, clear
10819 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10820 (cpu_relax, atomic_write_barrier): New static inlines.
10821 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10822 (sys_futex0): Return error code.
10823 (futex_wake, futex_wait): If ENOSYS was returned, clear
10824 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10825 (cpu_relax, atomic_write_barrier): New static inlines.
10826 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10827 (sys_futex0): Return error code.
10828 (futex_wake, futex_wait): If ENOSYS was returned, clear
10829 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10830 (cpu_relax, atomic_write_barrier): New static inlines.
10831 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10832 (sys_futex0): Return error code.
10833 (futex_wake, futex_wait): If ENOSYS was returned, clear
10834 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10835 (cpu_relax, atomic_write_barrier): New static inlines.
10836 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10837 futex.h.
10838 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10839 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10840 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10841 types.
10842 (omp_nest_lock_t): Change owner into void *, add lock field.
10843 * config/posix95/omp-lock.h: Include semaphore.h.
10844 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10845 (omp_lock_t): Use sem_t instead of mutex if semaphores
10846 aren't broken.
10847 (omp_nest_lock_t): Likewise. Change owner to void *.
10848 * config/posix/omp-lock.h: Include semaphore.h.
10849 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10850 (omp_lock_t): Use sem_t instead of mutex if semaphores
10851 aren't broken.
10852 (omp_nest_lock_t): Likewise. Add owner field.
10853
10854 2008-06-06 Jakub Jelinek <jakub@redhat.com>
10855
10856 * testsuite/libgomp.c/collapse-1.c: New test.
10857 * testsuite/libgomp.c/collapse-2.c: New test.
10858 * testsuite/libgomp.c/collapse-3.c: New test.
10859 * testsuite/libgomp.c/icv-1.c: New test.
10860 * testsuite/libgomp.c/icv-2.c: New test.
10861 * testsuite/libgomp.c/lib-2.c: New test.
10862 * testsuite/libgomp.c/lock-1.c: New test.
10863 * testsuite/libgomp.c/lock-2.c: New test.
10864 * testsuite/libgomp.c/lock-3.c: New test.
10865 * testsuite/libgomp.c/loop-4.c: New test.
10866 * testsuite/libgomp.c/loop-5.c: New test.
10867 * testsuite/libgomp.c/loop-6.c: New test.
10868 * testsuite/libgomp.c/loop-7.c: New test.
10869 * testsuite/libgomp.c/loop-8.c: New test.
10870 * testsuite/libgomp.c/loop-9.c: New test.
10871 * testsuite/libgomp.c/nested-3.c: New test.
10872 * testsuite/libgomp.c/nestedfn-6.c: New test.
10873 * testsuite/libgomp.c/sort-1.c: New test.
10874 * testsuite/libgomp.c/task-1.c: New test.
10875 * testsuite/libgomp.c/task-2.c: New test.
10876 * testsuite/libgomp.c/task-3.c: New test.
10877 * testsuite/libgomp.c/task-4.c: New test.
10878 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10879 to C++ testsuite default compiler options.
10880 * testsuite/libgomp.c++/collapse-1.C: New test.
10881 * testsuite/libgomp.c++/collapse-2.C: New test.
10882 * testsuite/libgomp.c++/ctor-10.C: New test.
10883 * testsuite/libgomp.c++/for-1.C: New test.
10884 * testsuite/libgomp.c++/for-2.C: New test.
10885 * testsuite/libgomp.c++/for-3.C: New test.
10886 * testsuite/libgomp.c++/for-4.C: New test.
10887 * testsuite/libgomp.c++/for-5.C: New test.
10888 * testsuite/libgomp.c++/loop-8.C: New test.
10889 * testsuite/libgomp.c++/loop-9.C: New test.
10890 * testsuite/libgomp.c++/loop-10.C: New test.
10891 * testsuite/libgomp.c++/task-1.C: New test.
10892 * testsuite/libgomp.c++/task-2.C: New test.
10893 * testsuite/libgomp.c++/task-3.C: New test.
10894 * testsuite/libgomp.c++/task-4.C: New test.
10895 * testsuite/libgomp.c++/task-5.C: New test.
10896 * testsuite/libgomp.c++/task-6.C: New test.
10897 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10898 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10899 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10900 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10901 * testsuite/libgomp.fortran/collapse1.f90: New test.
10902 * testsuite/libgomp.fortran/collapse2.f90: New test.
10903 * testsuite/libgomp.fortran/collapse3.f90: New test.
10904 * testsuite/libgomp.fortran/collapse4.f90: New test.
10905 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10906 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10907 * testsuite/libgomp.fortran/lib4.f90: New test.
10908 * testsuite/libgomp.fortran/lock-1.f90: New test.
10909 * testsuite/libgomp.fortran/lock-2.f90: New test.
10910 * testsuite/libgomp.fortran/nested1.f90: New test.
10911 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10912 * testsuite/libgomp.fortran/strassen.f90: New test.
10913 * testsuite/libgomp.fortran/tabs1.f90: New test.
10914 * testsuite/libgomp.fortran/tabs2.f: New test.
10915 * testsuite/libgomp.fortran/task1.f90: New test.
10916 * testsuite/libgomp.fortran/task2.f90: New test.
10917 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10918 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10919 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10920 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10921 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10922
10923 2008-05-23 Jakub Jelinek <jakub@redhat.com>
10924
10925 PR c++/36308
10926 * testsuite/libgomp.c++/ctor-11.C: New test.
10927 * testsuite/libgomp.c++/ctor-12.C: New test.
10928
10929 2008-05-15 Janis Johnson <janis187@us.ibm.com>
10930
10931 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10932
10933 2008-05-07 Jakub Jelinek <jakub@redhat.com>
10934
10935 PR middle-end/36106
10936 * testsuite/libgomp.c/atomic-5.c: New test.
10937 * testsuite/libgomp.c/atomic-6.c: New test.
10938 * testsuite/libgomp.c/autopar-1.c: New test.
10939
10940 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10941
10942 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10943 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10944 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10945 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10946 * configure: Regenerate.
10947 * Makefile.in, testsuite/Makefile.in: Likewise.
10948
10949 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
10950
10951 PR bootstrap/35457
10952 * aclocal.m4: Regenerate.
10953 * configure: Regenerate.
10954
10955 2008-03-18 Jakub Jelinek <jakub@redhat.com>
10956
10957 PR middle-end/35611
10958 * testsuite/libgomp.c/atomic-4.c: New test.
10959
10960 PR libgomp/35625
10961 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10962 (gomp_iter_guided_next): Likewise.
10963 * testsuite/libgomp.c/pr35625.c: New test.
10964
10965 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10966
10967 * aclocal.m4: Regenerate.
10968 * configure: Likewise.
10969 * Makefile.in: Likewise.
10970 * testsuite/Makefile.in: Likewise.
10971
10972 2008-03-13 Jakub Jelinek <jakub@redhat.com>
10973
10974 PR middle-end/35185
10975 * testsuite/libgomp.c++/pr35185.C: New test.
10976
10977 2008-03-12 Jakub Jelinek <jakub@redhat.com>
10978
10979 PR middle-end/35549
10980 * testsuite/libgomp.c/pr35549.c: New test.
10981
10982 2008-03-06 Jakub Jelinek <jakub@redhat.com>
10983
10984 * testsuite/libgomp.c/atomic-3.c: New test.
10985
10986 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10987
10988 PR fortran/33197
10989 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
10990 .F08 file suffixes.
10991
10992 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10993
10994 PR libgomp/33131
10995 * configure.ac: Add ACX_HEADER_STRING.
10996 * env.c: Include strings.h.
10997 * aclocal.m4: Regenerate.
10998 * config.h.in: Regenerate.
10999 * configure: Regenerate.
11000 * Makefile.in: Regenerate.
11001 * testsuite/Makefile.in: Regenerate.
11002
11003 2008-02-15 Jakub Jelinek <jakub@redhat.com>
11004
11005 PR middle-end/35196
11006 * testsuite/libgomp.c/pr35196.c: New test.
11007
11008 PR middle-end/35130
11009 * testsuite/libgomp.fortran/pr35130.f90: New test.
11010 * testsuite/libgomp.c/pr35130.c: New test.
11011
11012 2008-01-25 Jakub Jelinek <jakub@redhat.com>
11013
11014 PR middle-end/33880
11015 * testsuite/libgomp.c/pr33880.c: New test.
11016 * testsuite/libgomp.fortran/pr33880.f90: New test.
11017
11018 2008-01-24 David Edelsohn <edelsohn@gnu.org>
11019
11020 * configure: Regenerate.
11021
11022 2008-01-08 Jakub Jelinek <jakub@redhat.com>
11023
11024 * configure.ac: Move futex checking into ../config/futex.m4.
11025 * configure: Rebuilt.
11026 * aclocal.m4: Rebuilt.
11027 * Makefile.in: Rebuilt.
11028
11029 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11030 2007-10-15 ../config/tls.m4 change.
11031
11032 2007-12-19 Jakub Jelinek <jakub@redhat.com>
11033
11034 PR c++/34513
11035 * testsuite/libgomp.c/pr34513.c: New test.
11036 * testsuite/libgomp.c++/pr34513.C: New test.
11037
11038 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11039
11040 PR target/32765
11041 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11042
11043 2007-12-04 Jakub Jelinek <jakub@redhat.com>
11044
11045 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11046
11047 2007-12-03 Jakub Jelinek <jakub@redhat.com>
11048
11049 * testsuite/libgomp.c/private-1.c: New test.
11050
11051 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11052 Paolo Bonzini <bonzini@gnu.org>
11053
11054 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11055 instead of 'VPATH ='.
11056 * Makefile.in: Regenerate.
11057
11058 2007-11-23 Matthias Klose <doko@ubuntu.com>
11059
11060 * configure.ac: Adjust makeinfo version check.
11061 * configure: Regenerate.
11062
11063 2007-11-10 Jakub Jelinek <jakub@redhat.com>
11064
11065 PR fortran/34020
11066 * testsuite/libgomp.fortran/pr34020.f90: New test.
11067
11068 2007-11-06 Jakub Jelinek <jakub@redhat.com>
11069
11070 PR c++/33894
11071 * testsuite/libgomp.c++/atomic-1.C: New test.
11072
11073 2007-10-25 Jakub Jelinek <jakub@redhat.com>
11074
11075 PR libgomp/33275
11076 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11077 Make x and y integers rather than (implicit) reals. Add private (j)
11078 clause to the last omp parallel.
11079
11080 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11081
11082 * configure: Regenerate following changes to ../config/tls.m4.
11083
11084 2007-09-28 Jakub Jelinek <jakub@redhat.com>
11085
11086 * testsuite/libgomp.fortran/stack.f90: New test.
11087
11088 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11089
11090 * config/mingw32/proc.c: New file.
11091
11092 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
11093
11094 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11095 (main): Use __get_cpuid to get i386 target fetaures.
11096 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11097 (main): Use __get_cpuid to get x86_64 target fetaures.
11098
11099 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11100
11101 PR target/32765
11102 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11103 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11104
11105 2007-07-12 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR fortran/32550
11108 * testsuite/libgomp.fortran/pr32550.f90: New test.
11109 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11110
11111 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11112
11113 * aclocal.m4: Regenerated.
11114
11115 2007-07-05 Tobias Burnus <burnus@net-b.de>
11116
11117 PR fortran/32359
11118 * testsuite/libgomp.fortran/pr32359.f90: New.
11119
11120 2007-07-02 Jakub Jelinek <jakub@redhat.com>
11121
11122 PR libgomp/32468
11123 * sections.c (GOMP_parallel_sections_start): Only decrease
11124 number of threads to COUNT if dyn_var is true.
11125 * testsuite/libgomp.c/pr32468.c: New test.
11126
11127 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11128
11129 PR libgomp/26308
11130 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11131
11132 2007-06-21 Jakub Jelinek <jakub@redhat.com>
11133
11134 PR middle-end/32362
11135 * testsuite/libgomp.c/pr32362-1.c: New test.
11136 * testsuite/libgomp.c/pr32362-2.c: New test.
11137 * testsuite/libgomp.c/pr32362-3.c: New test.
11138
11139 2007-06-07 Jakub Jelinek <jakub@redhat.com>
11140
11141 * team.c (gomp_team_start): Fix setting up thread_attr
11142 stack size.
11143
11144 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
11145
11146 * configure: Regenerate.
11147
11148 2007-05-23 Steve Ellcey <sje@cup.hp.com>
11149
11150 * Makefile.in: Regenerate.
11151 * configure: Regenerate.
11152 * aclocal.m4: Regenerate.
11153 * testsuite/Makefile.in: Regenerate.
11154
11155 2007-05-04 Jakub Jelinek <jakub@redhat.com>
11156
11157 * config/linux/proc.c: New file.
11158
11159 PR libgomp/28482
11160 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11161
11162 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
11163
11164 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11165
11166 2007-04-16 Matthias Klose <doko@debian.org>
11167
11168 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11169 flags if not building with -m64.
11170 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11171 flag for i?86-*-* targets, if current target matches -m64.
11172
11173 2007-04-14 Steve Ellcey <sje@cup.hp.com>
11174
11175 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11176 * Makefile.in: Regenerate.
11177
11178 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11179
11180 PR testsuite/31369
11181 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11182 ld_library_path.
11183 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11184
11185 2007-04-04 Jakub Jelinek <jakub@redhat.com>
11186
11187 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11188 decls.
11189 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11190 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11191 (parse_affinity): New function.
11192 (initialize_env): Call it and gomp_init_affinity.
11193 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11194 create new pthread_attr_t and call gomp_init_thread_affinity
11195 on it for each thread before passing the attribute to pthread_create.
11196 * config/linux/affinity.c: New file.
11197 * config/posix/affinity.c: New file.
11198 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11199 * configure: Rebuilt.
11200 * config.h.in: Rebuilt.
11201 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11202 * Makefile.in: Rebuilt.
11203
11204 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11205
11206 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11207 *-*-darwin*.
11208 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11209 and use it if found.
11210
11211 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
11212
11213 * testsuite/config/default.exp: New file.
11214 * testsuite/lib/libgomp.exp: New file.
11215 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11216 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11217 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11218 (libgomp_load): Remove.
11219 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11220 always_ld_library_path, not ld_library_path. Set additional_flags
11221 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11222 (target_compile): Do not call libgomp_init. Append lang_library_path
11223 and lang_link_flags to options.
11224 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11225 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11226 here.
11227 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11228 always_ld_library_path. Set LD_LIBRARY_PATH here.
11229 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11230 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11231 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11232 CX8 flag.
11233 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11234 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11235 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11236 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11237 * testsuite/libgomp.c/atomic-10.c: Ditto.
11238
11239 2007-03-21 Jakub Jelinek <jakub@redhat.com>
11240
11241 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11242 dg-final cleanup-modules line.
11243 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11244 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11245 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11246 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11247 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11248 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11249 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11250
11251 2007-03-18 Andreas Schwab <schwab@suse.de>
11252
11253 * acinclude.m4: Adjust regular expression for ld version
11254 extraction.
11255 * configure: Regenerate.
11256
11257 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11258
11259 * Makefile.am: Add install-pdf target as copied from
11260 automake v1.10 rules.
11261 * Makefile.in: Regenerate
11262
11263 2007-02-07 Jakub Jelinek <jakub@redhat.com>
11264
11265 PR libgomp/28486
11266 * configure: Regenerate.
11267
11268 PR c++/30703
11269 * testsuite/libgomp.c++/pr30703.C: New test.
11270
11271 2007-02-02 Jakub Jelinek <jakub@redhat.com>
11272
11273 Revert:
11274 2006-07-05 Eric Christopher <echristo@apple.com>
11275 * configure.ac: Depend addition of -pthread on host OS.
11276 * configure: Regenerate.
11277
11278 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11279
11280 * libgomp.texi: Fix spacing after abbreviations.
11281
11282 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
11283
11284 PR libgomp/30546
11285 * configure.ac: Add check for makeinfo
11286 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
11287 if an appropriate version of makeinfo is found.
11288 * aclocal.m4: Regenerated.
11289 * configure: Regenerated.
11290 * Makefile.in: Regenerated.
11291 * testsuite/Makefile.in: Regenerated.
11292
11293 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
11294
11295 PR libgomp/30540
11296 * libgomp.texi: More about implementation-dependent settings.
11297
11298 2007-01-26 Tobias Burnus <burnus@net-b.de>
11299
11300 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11301
11302 2007-01-24 Jakub Jelinek <jakub@redhat.com>
11303
11304 PR middle-end/30494
11305 * testsuite/libgomp.c/pr30494.c: New test.
11306
11307 2007-01-15 Tom Tromey <tromey@redhat.com>
11308
11309 * configure: Rebuilt.
11310 * configure.ac: Fixed comment.
11311
11312 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
11313
11314 * libgomp.texi: Document implementation specific default values of
11315 environment variables.
11316
11317 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
11318
11319 PR libgomp/28209
11320 * libgomp.texi: New file.
11321 * configure.ac: Add --enable-generated-files-in-srcdir option.
11322 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11323 files to srcdir.
11324 * Makefile.in: Regenerated.
11325 * config.h.in: Regenerated.
11326 * testsuite/Makefile.in: Regenerated.
11327 * NOTES: Removed.
11328
11329 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
11330
11331 PR libgomp/29949
11332 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11333
11334 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11335
11336 * configure: Regenerate.
11337
11338 2006-12-04 Jakub Jelinek <jakub@redhat.com>
11339
11340 PR libgomp/29947
11341 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11342 start if there shouldn't be any loop iterations.
11343 (gomp_loop_ordered_static_start): Remove start == end test.
11344 * testsuite/libgomp.c/pr29947-1.c: New test.
11345 * testsuite/libgomp.c/pr29947-2.c: New test.
11346
11347 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11348
11349 * configure.tgt: Force initial-exec TLS model on Linux only.
11350
11351 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11352
11353 * configure: Regenerated.
11354
11355 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
11356
11357 * env.c (parse_schedule): Reject out of range values.
11358 (parse_unsigned_long): Reject out of range, negative or zero values.
11359
11360 2006-10-29 Jakub Jelinek <jakub@redhat.com>
11361
11362 PR fortran/29629
11363 * testsuite/libgomp.fortran/pr29629.f90: New test.
11364
11365 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11366
11367 PR libgomp/29494
11368 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11369 * config/posix95: New directory.
11370 * config/posix95/omp-lock.h: New file.
11371 * config/posix95/lock.c: Likewise.
11372
11373 2006-10-14 Geoffrey Keating <geoffk@apple.com>
11374
11375 * aclocal.m4: Regenerate.
11376 * configure: Regenerate.
11377
11378 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11379
11380 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11381 '<' to '<='.
11382
11383 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11384
11385 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11386 test.
11387 * configure: Regenerate.
11388 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11389
11390 2006-09-26 Jakub Jelinek <jakub@redhat.com>
11391
11392 PR middle-end/25261
11393 PR middle-end/28790
11394 * testsuite/libgomp.c/nestedfn-4.c: New test.
11395 * testsuite/libgomp.c/nestedfn-5.c: New test.
11396 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11397
11398 PR fortran/29097
11399 * testsuite/libgomp.fortran/condinc1.f: New test.
11400 * testsuite/libgomp.fortran/condinc2.f: New test.
11401 * testsuite/libgomp.fortran/condinc3.f90: New test.
11402 * testsuite/libgomp.fortran/condinc4.f90: New test.
11403 * testsuite/libgomp.fortran/condinc1.inc: New file.
11404
11405 2006-09-18 Tom Tromey <tromey@redhat.com>
11406
11407 * configure: Rebuilt.
11408
11409 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11410
11411 PR c/28768
11412 PR preprocessor/14634
11413 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11414 to AC_DEFINE.
11415 * configure: Regenerate.
11416
11417 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11418
11419 * testsuite/libgomp.fortran/reduction3.f90: Change
11420 -2147483648 to -huge(i)-1 to avoid overflow.
11421 * testsuite/libgomp.fortran/reduction4.f90: Change
11422 Z'ffffffff' to not(0) to avoid overflow.
11423
11424 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11425
11426 PR libgomp/25938
11427 * Makefile.am (libsubincludedir): New.
11428 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11429 * Makefile.in: Regenerate.
11430
11431 2006-08-17 Jakub Jelinek <jakub@redhat.com>
11432
11433 PR libgomp/28725
11434 * env.c: Include ctype.h.
11435 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11436 leading and/or trailing whitespace and compare strings case
11437 insensitively.
11438
11439 2006-07-16 Jakub Jelinek <jakub@redhat.com>
11440
11441 PR fortran/28390
11442 * testsuite/libgomp.fortran/pr28390.f: New test.
11443
11444 2006-07-05 Eric Christopher <echristo@apple.com>
11445
11446 * configure.ac: Depend addition of -pthread on host OS.
11447 * configure: Regenerate.
11448
11449 2006-06-21 Jakub Jelinek <jakub@redhat.com>
11450
11451 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11452 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11453 defined.
11454
11455 2006-06-20 Jakub Jelinek <jakub@redhat.com>
11456
11457 PR libgomp/26175
11458 PR libgomp/26477
11459 * configure.ac: If neither --enable-linux-futex nor
11460 --disable-linux-futex is passed, determine the default by checking
11461 for compiling and/or running against NPTL. With --enable-linux-futex,
11462 check if SYS_gettid and SYS_futex are defined.
11463 * configure: Rebuilt.
11464
11465 2006-06-14 Richard Henderson <rth@redhat.com>
11466
11467 PR libgomp/28008
11468 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11469 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11470
11471 2006-06-09 Richard Henderson <rth@redhat.com>
11472
11473 * env.c (gomp_nthreads_var): Change to unsigned long.
11474 (gomp_run_sched_chunk): Likewise.
11475 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11476 (initialize_env): Initialize gomp_thread_attr.
11477 * libgomp.h (gomp_nthreads_var): Update decl.
11478 (gomp_run_sched_chunk): Likewise.
11479 (gomp_thread_attr): Declare.
11480 * team.c (gomp_thread_attr): Export.
11481 (initialize_team): Don't initialize it.
11482
11483 2006-06-09 Jakub Jelinek <jakub@redhat.com>
11484
11485 PR fortran/27916
11486 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11487 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11488
11489 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11490
11491 * config/mingw32/time.c: New file.
11492 * configure.tgt: Use it.
11493
11494 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11495
11496 * Makefile.am: Add install-html target. Add install-html to .PHONY
11497 * Makefile.in: Regenerate.
11498
11499 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11500
11501 PR libgomp/27612
11502 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11503 * testsuite/libgomp.c/critical-1.c: Likewise.
11504 * testsuite/libgomp.c/loop-1.c: Likewise.
11505 * testsuite/libgomp.c/loop-2.c: Likewise.
11506 * testsuite/libgomp.c/single-1.c: Likewise.
11507 * testsuite/libgomp.c/ordered-1.c: Likewise.
11508 * testsuite/libgomp.c/ordered-2.c: Likewise.
11509
11510 2006-05-15 Jakub Jelinek <jakub@redhat.com>
11511
11512 PR middle-end/27416
11513 * libgomp.fortran/pr27416-1.f90: New test.
11514
11515 2006-05-03 Jakub Jelinek <jakub@redhat.com>
11516
11517 PR fortran/27395
11518 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11519 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11520
11521 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11522
11523 PR c++/26943
11524 * testsuite/libgomp.c/pr26943-1.c: New test.
11525 * testsuite/libgomp.c/pr26943-2.c: New test.
11526 * testsuite/libgomp.c/pr26943-3.c: New test.
11527 * testsuite/libgomp.c/pr26943-4.c: New test.
11528 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11529 * testsuite/libgomp.c++/pr26943.C: New test.
11530
11531 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11532
11533 PR middle-end/27337
11534 * testsuite/libgomp.c++/pr27337.C: New test.
11535
11536 2006-04-26 Jakub Jelinek <jakub@redhat.com>
11537
11538 PR c/26171
11539 * testsuite/libgomp.c/pr26171.c: New test.
11540
11541 2006-04-25 Richard Henderson <rth@redhat.com>
11542
11543 PR libgomp/25865
11544 * configure.ac: Use GCC_CHECK_TLS.
11545 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11546 * Makefile.in, aclocal.m4, configure: Regenerate.
11547
11548 2006-04-10 Matthias Klose <doko@debian.org>
11549
11550 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11551 directory names containing underscores.
11552
11553 2006-03-21 Jakub Jelinek <jakub@redhat.com>
11554
11555 PR c++/26691
11556 * testsuite/libgomp.c++/pr26691.C: New test.
11557
11558 2006-03-13 Jakub Jelinek <jakub@redhat.com>
11559
11560 * testsuite/libgomp.fortran/retval2.f90: New test.
11561
11562 2006-03-09 Diego Novillo <dnovillo@redhat.com>
11563
11564 * testsuite/libgomp.c++: New directory.
11565
11566 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
11567
11568 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11569 * config/posix/sem.c: Implement the above.
11570
11571 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11572
11573 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11574 define HAVE_BROKEN_POSIX_SEMAPHORES.
11575 * configure: Rebuilt.
11576 * config.h.in: Rebuilt.
11577
11578 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11579
11580 PR bootstrap/26161
11581 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11582 for the other pthread check.
11583 * configure: Regenerate.
11584 * config.h.in: Regenerate.
11585
11586 2006-02-15 Jakub Jelinek <jakub@redhat.com>
11587
11588 PR libgomp/25938
11589 PR libgomp/25984
11590 * Makefile.am (fincludedir): New variable.
11591 (nodist_include_HEADERS): Remove Fortran files.
11592 (nodist_finclude_HEADERS): New variable.
11593 * Makefile.in: Regenerated.
11594
11595 2006-02-13 Jakub Jelinek <jakub@redhat.com>
11596
11597 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11598 Remove tests for returning assumed character length arrays.
11599
11600 2006-02-12 Roger Sayle <roger@eyesopen.com>
11601 John David Anglin <dave@hiauly1.hia.nrc.ca>
11602
11603 PR libgomp/25936
11604 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
11605
11606 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11607
11608 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11609
11610 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11611
11612 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11613 part of LD_LIBRARY_PATH manually.
11614
11615 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11616
11617 PR libgomp/25852
11618 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11619 libgomp_init.
11620
11621 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
11622
11623 PR libgomp/25884
11624 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11625 * configure.ac (PERL): Don't set.
11626 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11627 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11628 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11629 * omp.h.in: Wrap the new configure substitutions with @ characters.
11630 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11631 * aclocal.m4, configure, Makefile.in: Regenerate.
11632 * mkomp_h.pl: Delete.
11633
11634 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
11635
11636 PR libgomp/25259
11637 * configure.ac: Use GCC_HEADER_STDINT.
11638 * libgomp.h: Include gstdint.h.
11639 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11640 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11641
11642 2006-01-24 Richard Henderson <rth@redhat.com>
11643
11644 PR libgomp/25942
11645 * configure.ac: Add AM_MAINTAINER_MODE.
11646 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11647
11648 2006-01-24 Diego Novillo <dnovillo@redhat.com>
11649
11650 * Makefile.in: Regenerate.
11651 * testsuite/Makefile.in: Regenerate.
11652 * aclocal.m4: Regenerate.
11653
11654 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11655
11656 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11657 Solaris.
11658 * configure.ac: Add check for loadavg.h.
11659 (link_gomp): Adjust comment.
11660 * configure: Regenerate.
11661 * config.h.in: Regenerate.
11662
11663 2006-01-21 Steve Ellcey <sje@cup.hp.com>
11664
11665 PR libgomp/25877
11666 * configure.ac: Remove check for alloca.h.
11667 * configure: Regenerate.
11668 * config.h.in: Regenerate.
11669 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11670 * team.c: Remove use of alloca.h.
11671 Call gomp_alloca instead of alloca.
11672
11673 2006-01-20 Steve Ellcey <sje@cup.hp.com>
11674
11675 PR libgomp/25877
11676 * team.c: Add include of alloca.h.
11677 * configure.ac: Add check for alloca.h.
11678 * configure: Regenerate.
11679 * config.h.in: Regenerate.
11680
11681 2006-01-17 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR fortran/25219
11684 * testsuite/libgomp.fortran/pr25219.f90: New test.
11685
11686 2005-12-05 Uros Bizjak <uros@kss-loka.si>
11687
11688 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11689 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11690 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11691 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11692 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11693 testsuite/libgomp.fortran/threadprivate1.f90,
11694 testsuite/libgomp.fortran/threadprivate2.f90,
11695 testsuite/libgomp.fortran/threadprivate3.f90,
11696 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11697 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11698 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11699 effective-target to TLS runtime.
11700
11701 * testsuite/libgomp.fortran/pr25162.f: Require
11702 effective-target TLS runtime.
11703
11704 2005-12-01 Jakub Jelinek <jakub@redhat.com>
11705
11706 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11707 * testsuite/libgomp.c/nestedfn-3.c: New test.
11708
11709 2005-11-30 Jakub Jelinek <jakub@redhat.com>
11710
11711 PR fortran/25162
11712 * testsuite/libgomp.fortran/pr25162.f: New test.
11713
11714 2005-11-28 Jakub Jelinek <jakub@redhat.com>
11715
11716 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11717 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11718
11719 2005-11-25 Jakub Jelinek <jakub@redhat.com>
11720
11721 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11722 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11723 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11724 single.c, team.c, work.c, config/linux/alpha/futex.h,
11725 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11726 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11727 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11728 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11729 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11730 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11731 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11732 FSF address.
11733
11734 2005-11-18 Jakub Jelinek <jakub@redhat.com>
11735
11736 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11737 to nodist_noinst_HEADERS.
11738 * Makefile.in: Rebuilt.
11739
11740 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11741 add integer count field.
11742 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11743 omp_nest_lock_t type change.
11744 (omp_init_nest_lock): Likewise. Initialize count to 0.
11745 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11746 Increment count.
11747 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11748 Decrement count.
11749 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11750 Increment count if successful and return the new nesting level.
11751 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11752 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11753 * testsuite/libgomp.c/lib-1.c: New test.
11754 * testsuite/libgomp.fortran/lib1.f90: New test.
11755 * testsuite/libgomp.fortran/lib2.f: New test.
11756 * testsuite/libgomp.fortran/lib3.f: New test.
11757
11758 2005-11-17 Richard Henderson <rth@redhat.com>
11759
11760 PR 24845
11761 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11762 * configure.ac (link_gomp): New. Substitute it.
11763 (AC_CONFIG_FILES): Add libgomp.spec.
11764 * libgomp.spec.in: New file.
11765 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11766 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11767
11768 2005-11-18 Jakub Jelinek <jakub@redhat.com>
11769
11770 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11771 reduction(-:var) behaving the same as reduction(+:var).
11772 * testsuite/libgomp.c/reduction-4.c: New test.
11773
11774 2005-11-15 Uros Bizjak <uros@kss-loka.si>
11775
11776 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11777 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11778 testsuite/libgomp.c/copyin-3.c,
11779 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11780 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11781 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11782 testsuite/libgomp.c++/pr24455.C,
11783 testsuite/libgomp.fortran/threadprivate1.f90,
11784 testsuite/libgomp.fortran/threadprivate2.f90,
11785 testsuite/libgomp.fortran/threadprivate3.f90,
11786 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11787 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11788 testsuite/libgomp.fortran/omp_parse3.f90: Require
11789 effective-target TLS.
11790
11791 2005-11-14 Diego Novillo <dnovillo@redhat.com>
11792
11793 * HEADER: Remove.
11794
11795 2005-11-13 Jakub Jelinek <jakub@redhat.com>
11796
11797 PR libgomp/24797
11798 * team.c (initialize_team): Pass NULL rather than free as
11799 pthread_key_create destructor. Initialize thread specific data
11800 pointer in initial thread to a static local variable rather than
11801 malloced memory.
11802
11803 2005-11-11 Uros Bizjak <uros@kss-loka.si>
11804
11805 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11806 its location to ld_library_path.
11807
11808 2005-11-10 Diego Novillo <dnovillo@redhat.com>
11809
11810 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11811
11812 2005-11-10 Diego Novillo <dnovillo@redhat.com>
11813
11814 * testsuite/libgomp.c: Rename from libgomp.dg.
11815
11816 2005-11-09 Diego Novillo <dnovillo@redhat.com>
11817
11818 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11819 threadprivate variable 'i'.
11820
11821 2005-11-09 Jakub Jelinek <jakub@redhat.com>
11822
11823 * config/linux/s390/futex.h: New file.
11824 * configure.tgt: Use it.
11825
11826 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11827 before the parallel.
11828
11829 2005-11-08 Jakub Jelinek <jakub@redhat.com>
11830
11831 PR c++/24734
11832 * testsuite/libgomp.c++/master-1.C: New test.
11833
11834 2005-11-07 Jakub Jelinek <jakub@redhat.com>
11835
11836 * testsuite/libgomp.dg/copyin-3.c: New test.
11837
11838 2005-11-07 Jakub Jelinek <jakub@redhat.com>
11839
11840 * testsuite/libgomp.fortran/retval1.f90: New test.
11841 * testsuite/libgomp.fortran/vla7.f90: New test.
11842
11843 2005-11-06 Jakub Jelinek <jakub@redhat.com>
11844
11845 * testsuite/libgomp.fortran/vla2.f90: New test.
11846 * testsuite/libgomp.fortran/vla3.f90: New test.
11847 * testsuite/libgomp.fortran/vla4.f90: New test.
11848 * testsuite/libgomp.fortran/vla5.f90: New test.
11849 * testsuite/libgomp.fortran/vla6.f90: New test.
11850
11851 2005-11-01 Jakub Jelinek <jakub@redhat.com>
11852
11853 * config/linux/sparc/futex.h: New file.
11854 * configure.tgt: Use it.
11855 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11856
11857 * critical.c: Include stdlib.h.
11858 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11859 ignoring return value.
11860 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11861 LIBGOMP_CHECK_SYNC_BUILTINS check.
11862 * configure: Rebuilt.
11863
11864 2005-10-31 Jakub Jelinek <jakub@redhat.com>
11865
11866 * testsuite/libgomp.fortran/vla1.f90: New test.
11867
11868 2005-10-31 Richard Henderson <rth@redhat.com>
11869
11870 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11871 setting 's' in different threads.
11872
11873 2005-10-31 Jakub Jelinek <jakub@redhat.com>
11874
11875 * libgomp.h (attribute_hidden, ialias): Define.
11876 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11877 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11878 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11879 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11880 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11881 omp_test_lock, omp_test_nest_lock): Likewise.
11882 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11883 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11884 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11885 omp_test_lock, omp_test_nest_lock): Likewise.
11886 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11887 omp_get_dynamic, omp_get_nested): Likewise.
11888 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11889 omp_get_thread_num, omp_in_parallel): Likewise.
11890 * fortran.c (ialias_redirect): Define.
11891 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11892 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11893 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11894 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11895 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11896 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11897 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11898 omp_get_wtime): Add ialias_redirect.
11899
11900 2005-10-30 Jakub Jelinek <jakub@redhat.com>
11901
11902 * fortran.c: Include stdlib.h.
11903
11904 2005-10-29 Jakub Jelinek <jakub@redhat.com>
11905
11906 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11907 * Makefile.in: Regenerated.
11908
11909 2005-10-28 Jakub Jelinek <jakub@redhat.com>
11910
11911 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11912 * libgomp_f.h.in (omp_check_defines): New function.
11913 * env.c: Include libgomp_f.h.
11914 (initialize_env): Call omp_check_defines.
11915
11916 * testsuite/libgomp.dg/copyin-2.c: New test.
11917 * testsuite/libgomp.c++/copyin-2.C: New test.
11918 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11919
11920 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11921 * testsuite/libgomp.fortran/sharing2.f90: New test.
11922
11923 * testsuite/libgomp.dg/copyin-1.c: New test.
11924 * testsuite/libgomp.c++/copyin-1.C: New test.
11925
11926 2005-10-26 Jakub Jelinek <jakub@redhat.com>
11927
11928 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11929
11930 * testsuite/libgomp.fortran/workshare1.f90: New test.
11931
11932 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11933 only test.
11934 * libgomp.fortran/sharing1.f90: New test.
11935
11936 2005-10-24 Jakub Jelinek <jakub@redhat.com>
11937
11938 PR c++/24502
11939 * testsuite/libgomp.c++/loop-7.C: New test.
11940
11941 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11942
11943 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11944 * testsuite/libgomp.fortran/reduction6.f90: New test.
11945 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11946
11947 2005-10-23 Richard Henderson <rth@redhat.com>
11948
11949 * testsuite/libgomp.c++/ctor-1.C: New.
11950 * testsuite/libgomp.c++/ctor-2.C: New.
11951 * testsuite/libgomp.c++/ctor-3.C: New.
11952 * testsuite/libgomp.c++/ctor-4.C: New.
11953 * testsuite/libgomp.c++/ctor-5.C: New.
11954 * testsuite/libgomp.c++/ctor-6.C: New.
11955 * testsuite/libgomp.c++/ctor-7.C: New.
11956 * testsuite/libgomp.c++/ctor-8.C: New.
11957 * testsuite/libgomp.c++/ctor-9.C: New.
11958
11959 2005-10-21 Diego Novillo <dnovillo@redhat.com>
11960
11961 PR 24455
11962 * testsuite/libgomp.c++/pr24455-1.C: New test.
11963 * testsuite/libgomp.c++/pr24455.C: New test.
11964 * testsuite/libgomp.dg/pr24455-1.c: New test.
11965 * testsuite/libgomp.dg/pr24455.c: New test.
11966
11967 2005-10-20 Richard Henderson <rth@redhat.com>
11968
11969 * testsuite/libgomp.c++/loop-6.C: New.
11970 * testsuite/libgomp.dg/loop-3.c: New.
11971
11972 2005-10-20 Jakub Jelinek <jakub@redhat.com>
11973
11974 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11975 explicitly private.
11976 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11977 explicitly shared.
11978
11979 2005-10-19 Diego Novillo <dnovillo@redhat.com>
11980
11981 * testsuite/libgomp.fortran/jacobi.f: New test.
11982
11983 2005-10-19 Richard Henderson <rth@redhat.com>
11984
11985 * configure.tgt (i?86-linux): Default to with_arch instead of
11986 CFLAGS. Add -mtune to match target_cpu.
11987 (x86_64-linux): Tune to i686.
11988
11989 * fortran.c (omp_test_nest_lock_): Fix typo.
11990
11991 2005-10-19 Jakub Jelinek <jakub@redhat.com>
11992
11993 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11994 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11995 * testsuite/libgomp.dg/ordered-3.c: New test.
11996
11997 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11998 Remove volatile keyword.
11999
12000 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12001 in COMMON block to avoid warnings on 64-bit targets.
12002
12003 2005-10-18 Diego Novillo <dnovillo@redhat.com>
12004
12005 * testsuite/libgomp.dg/shared-3.c: New test.
12006
12007 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12008
12009 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12010 * testsuite/libgomp.fortran/reduction5.f90: New test.
12011
12012 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12013
12014 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12015 dg-options.
12016 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12017 flush loop now that __sync_synchronize has proper memory barrier.
12018 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12019 Add -ffixed-form to dg-options.
12020
12021 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12022
12023 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12024 from subdirectories.
12025 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12026 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12027 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12028 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12029 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12030 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12031 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12032 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12033 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12034 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12035 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12036 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12037 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12038 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12039 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12040 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12041 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12042 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12043 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12044 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12045 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12046 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12047 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12048 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12049 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12050
12051 2005-10-17 Jakub Jelinek <jakub@redhat.com>
12052
12053 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12054 lang_library_path exists. Use find instead of glob to gather tests.
12055 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12056
12057 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12058
12059 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12060 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12061 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12062 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12063 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12064 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12065 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12066 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12067 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12068 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12069 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12070 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12071 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12072
12073 2005-10-15 Jakub Jelinek <jakub@redhat.com>
12074
12075 * testsuite/libgomp.dg/vla-1.c: New test.
12076
12077 * testsuite/libgomp.fortran/reference2.f90: New test.
12078
12079 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12080 declaration of omp_get_thread_num.
12081 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12082 use omp_lib.
12083
12084 * testsuite/libgomp.fortran/reduction1.f90: New test.
12085 * testsuite/libgomp.fortran/reduction2.f90: New test.
12086 * testsuite/libgomp.fortran/reduction3.f90: New test.
12087 * testsuite/libgomp.fortran/reduction4.f90: New test.
12088
12089 2005-10-13 Richard Henderson <rth@redhat.com>
12090
12091 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12092 * Makefile.in: Regenerate.
12093 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12094 * libgomp.h: Include bar.h.
12095 (struct gomp_barrier): Remove.
12096 (struct gomp_team): Add barrier. Replace master_barrier with
12097 master_release. Replace threads with ordered_release.
12098 (struct gomp_thread): Replace barrier with release.
12099 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12100 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12101 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12102 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12103 (GOMP_single_copy_end): Likewise.
12104 * team.c (gomp_threads_dock): New.
12105 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12106 (gomp_thread_start): Use gomp_barrier_wait.
12107 (new_team, free_team): Update for gomp_team changes.
12108 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12109 (gomp_team_end): Use gomp_barrier_wait.
12110 (initialize_team): Update for gomp_thread changes.
12111 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12112 (gomp_work_share_end_nowait): Use atomic ops when available.
12113 * config/linux/bar.c, config/linux/bar.h: New files.
12114 * config/posix/bar.c, config/posix/bar.h: New files.
12115
12116 2005-10-13 Jakub Jelinek <jakub@redhat.com>
12117
12118 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12119 * testsuite/libgomp.dg/single-2.c: New test.
12120
12121 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12122 lang_link_flags): Unset, so that they aren't inherited from previously
12123 sourced *.exp.
12124
12125 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12126
12127 2005-10-12 Richard Henderson <rth@redhat.com>
12128
12129 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12130 (libgomp_init): Use lang_test_file, lang_library_path, and
12131 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12132
12133 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12134 (lang_test_file, lang_link_flags): New.
12135 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12136
12137 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12138 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12139 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12140 testsuite/libgomp.c++/parallel-1.C,
12141 testsuite/libgomp.c++/reduction-1.C,
12142 testsuite/libgomp.c++/reduction-2.C,
12143 testsuite/libgomp.c++/reduction-3.C,
12144 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12145 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12146 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12147 New files, largely cribbed from the C testsuite.
12148
12149 2005-10-12 Jakub Jelinek <jakub@redhat.com>
12150
12151 * testsuite/libgomp.fortran/character1.f90: New test.
12152 * testsuite/libgomp.fortran/character2.f90: New test.
12153
12154 * testsuite/libgomp.dg/nested-1.c: New test.
12155 * testsuite/libgomp.dg/nested-2.c: New test.
12156 * testsuite/libgomp.fortran/do1.f90: New test.
12157 * testsuite/libgomp.fortran/do2.f90: New test.
12158
12159 * testsuite/libgomp.fortran/reference1.f90: New test.
12160
12161 2005-10-11 Jakub Jelinek <jakub@redhat.com>
12162
12163 * testsuite/libgomp.dg/reduction-1.c: New test.
12164 * testsuite/libgomp.dg/reduction-2.c: New test.
12165 * testsuite/libgomp.dg/reduction-3.c: New test.
12166
12167 2005-10-10 Jakub Jelinek <jakub@redhat.com>
12168
12169 * testsuite/libgomp.dg/atomic-1.c: New test.
12170 * testsuite/libgomp.dg/atomic-2.c: New test.
12171
12172 2005-10-09 Richard Henderson <rth@redhat.com>
12173
12174 * critical.c (atomic_lock): New.
12175 (initialize_critical): Initialize it.
12176 (GOMP_atomic_start, GOMP_atomic_end): New.
12177 * libgomp.map: Export them.
12178 * libgomp_g.h: Declare them.
12179
12180 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12181
12182 2005-10-02 Richard Henderson <rth@redhat.com>
12183
12184 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12185 to XCFLAGS instead of CFLAGS.
12186
12187 2005-09-30 Richard Henderson <rth@redhat.com>
12188
12189 * configure.ac: Determine whether -pthread or -lpthread is needed.
12190 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
12191 * Makefile.in, configure: Rebuild.
12192
12193 2005-09-28 Richard Henderson <rth@redhat.com>
12194
12195 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12196 * testsuite/libgomp.dg/omp-single-3.c: New test.
12197
12198 2005-09-28 Diego Novillo <dnovillo@redhat.com>
12199
12200 * testsuite/libgomp.dg/omp-single-2.c: New test.
12201 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12202
12203 2005-09-27 Richard Henderson <rth@redhat.com>
12204
12205 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12206 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12207
12208 2005-09-27 Jakub Jelinek <jakub@redhat.com>
12209
12210 * testsuite/libgomp.dg/omp-loop03.c: New test.
12211
12212 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12213
12214 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12215
12216 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12217
12218 * testsuite/libgomp.dg/omp-single-1.c: New test.
12219 * testsuite/libgomp.dg/shared-1.c: Return 0.
12220 Add prototype for abort.
12221 * testsuite/libgomp.dg/shared-2.c: Likewise.
12222
12223 2005-09-26 Jakub Jelinek <jakub@redhat.com>
12224
12225 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12226 constructs.
12227
12228 2005-09-26 Diego Novillo <dnovillo@redhat.com>
12229
12230 * testsuite/libgomp.dg/shared-1.c: New test.
12231 * testsuite/libgomp.dg/shared-2.c: New test.
12232
12233 2005-09-24 Richard Henderson <rth@redhat.com>
12234
12235 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12236
12237 2005-09-24 Richard Henderson <rth@redhat.com>
12238
12239 * iter.c (gomp_iter_static_next): Round up when computing number
12240 of iterations. Don't bother distributing a remainder equally.
12241
12242 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12243 Don't call srand. Zero b before testing.
12244 (main): New.
12245
12246 2005-09-24 Jakub Jelinek <jakub@redhat.com>
12247
12248 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12249 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12250
12251 2005-09-23 Jakub Jelinek <jakub@redhat.com>
12252
12253 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12254 without !$omp end do, followed immediately by subroutine end.
12255
12256 2005-09-23 Diego Novillo <dnovillo@redhat.com>
12257
12258 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12259
12260 2005-09-22 Richard Henderson <rth@redhat.com>
12261
12262 * critical.c (GOMP_critical_name_start): Change argument to void**.
12263 Reuse the pointer space if the mutex fits.
12264 (GOMP_critical_name_end): Likewise.
12265 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12266 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12267 (GOMP_critical_name_end): Likewise.
12268 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12269 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12270
12271 2005-09-20 Richard Henderson <rth@redhat.com>
12272
12273 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12274 (create_lock_lock): New.
12275 (initialize_critical): Initialize it.
12276 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12277 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12278
12279 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12280
12281 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12282
12283 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12284
12285 * testsuite/libgomp.dg/omp-loop01.c: New test.
12286 * testsuite/libgomp.dg/omp-loop02.c: New test.
12287
12288 2005-09-20 Jakub Jelinek <jakub@redhat.com>
12289
12290 * configure.ac (AC_PROG_FC): Add.
12291 (USE_FORTRAN): New automake conditional.
12292 * configure: Rebuilt.
12293 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12294 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12295 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12296 Add rules to build them.
12297 * Makefile.in: Rebuilt.
12298 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12299 OMP_NEST_LOCK_KIND.
12300 * libgomp.map: Add Fortran wrappers.
12301 * libgomp_f.h.in: New file.
12302 * omp_lib.h.in: New file.
12303 * omp_lib.f90.in: New file.
12304 * fortran.c: New file.
12305 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12306 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12307 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12308 libgfortran has been built.
12309 * testsuite/libgomp.fortran/fortran.exp: New file.
12310 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12311 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12312 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12313 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12314 * testsuite/libgomp.fortran/omp_hello.f: New test.
12315 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12316 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12317 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12318 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12319 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12320 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12321 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12322 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12323
12324 2005-08-30 Richard Henderson <rth@redhat.com>
12325
12326 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12327 function for when aliases are not usable.
12328 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12329 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12330 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12331 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12332 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12333 GOMP_loop_ordered_guided_next): Likewise.
12334 * ordered.c (GOMP_ordered_start): Likewise.
12335
12336 2005-08-01 Diego Novillo <dnovillo@redhat.com>
12337
12338 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12339 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12340 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12341 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12342 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12343 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12344 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12345 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12346 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12347
12348 2005-07-07 Eric Christopher <echristo@redhat.com>
12349 Diego Novillo <dnovillo@redhat.com>
12350
12351 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12352 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12353 up code.
12354 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12355 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12356 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12357 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12358 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12359 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12360 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12361
12362 2005-06-13 Diego Novillo <dnovillo@redhat.com>
12363
12364 * TOPLEVEL.patch: Remove.
12365
12366 2005-05-16 Richard Henderson <rth@redhat.com>
12367
12368 * configure.ac: Test for clock_gettime.
12369 * config.h.in, configure: Rebuild.
12370 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12371 (omp_get_wtime): Use clock_gettime if available.
12372 (omp_get_wtick): Use clock_getres if available.
12373
12374 2005-05-11 Richard Henderson <rth@redhat.com>
12375
12376 * config/linux/ia64/futex.h: New file.
12377 * configure.tgt: Use it.
12378
12379 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12380
12381 2005-05-07 Richard Henderson <rth@redhat.com>
12382
12383 * config/linux/powerpc/futex.h: New file.
12384 * configure.tgt: Use it.
12385
12386 * config/linux/i486/futex.h: Merge ...
12387 * config/linux/x86_64/futex.h: ... into ...
12388 * config/linux/x86/futex.h: ... here.
12389 * configure.tgt: Update to match.
12390
12391 2005-05-06 Richard Henderson <rth@redhat.com>
12392
12393 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12394 * config/linux/i486/futex.h: Likewise.
12395 * config/linux/x86_64/futex.h: Likewise.
12396
12397 * config/linux/lock.c: New file.
12398 * config/linux/omp-lock.h: New file.
12399
12400 * critical.c, env.h: Don't include omp.h
12401 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12402 * config/posix/time.c: Likewise.
12403 * config/posix/omp-lock.h: New file.
12404 * libgomp.h: Include omp-lock.h and omp.h.
12405 * Makefile.am (nodist_include_HEADERS): New.
12406 (omp.h): New rule.
12407 * configure.ac (PERL): New.
12408 * mkomp_h.pl: New file.
12409 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12410 with templates.
12411 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12412
12413 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12414 build directory. Re-add -march=i486 hack.
12415
12416 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12417 (libgomp_link_flags): Remove.
12418 (libgomp_initialized): Remove.
12419 (libgomp_init): Don't protect from reinitialization. Copy code
12420 from libstdc++ for getting the multilib set correctly.
12421
12422 2005-05-05 Richard Henderson <rth@redhat.com>
12423
12424 * config/linux/alpha/futex.h: New file.
12425 * configure.tgt (alpha*-*-linux*): Use it.
12426
12427 * config/posix/mutex.c: New file.
12428 * config/posix/sem.c: Use libgomp.h.
12429
12430 * configure.tgt (x86_64-linux): Also test CC for -m32.
12431 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12432
12433 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
12434 after $gccpath.
12435
12436 * Makefile.am (SUBDIRS): New.
12437 (libgomp_la_LDFLAGS): Add -lpthread.
12438 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12439 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12440
12441 * libgomp_g.h: New file.
12442 * libgomp.h: Split out all public declarations to libgomp_g.h.
12443 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12444 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12445 * config/linux/sem.h: Likewise.
12446 * config/posix/sem.h: Likewise.
12447
12448 * Makefile.am (AM_LDFLAGS): New.
12449 (libgomp_version_script): Split out from ...
12450 (libgomp_la_LDFLAGS): ... here.
12451 (libgomp_version_info): New.
12452 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12453 (LIBGOMP_ENABLE): New.
12454 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12455 (LIBGOMP_ENABLE_SYMVERS): New.
12456 * configure.ac (AC_INIT): Version 1.0.
12457 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12458 (enable-linux-futex): Likewise. Rename from enable-futex.
12459 (libtool_VERSION): New.
12460 (LIBGOMP_ENABLE_SYMVERS): Use it.
12461 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12462 * Makefile.in, aclocal.m4, configure: Rebuild.
12463
12464 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12465 (gomp_mutex_unlock_slow): Fix typo.
12466 * config/linux/sem.c: Similarly.
12467 (gomp_sem_post_slow): Fix typo.
12468 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12469 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12470 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12471
12472 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12473 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12474 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12475 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12476 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12477 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12478 LDFLAGS. Pull enable_futex check to top-level.
12479 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12480 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12481
12482 First attempt at real configury.
12483 * Makefile, config.h: Remove file.
12484 * Makefile.am, Makefile.in: New file.
12485 * acinclude.m4 aclocal.m4: New file.
12486 * configure.ac, configure.tgt, configure: New file.
12487
12488 * config/posix/lock.c: Rename from sys-lock.c.
12489 * config/posix/mutex.h: Rename from sys-mutex.h.
12490 * config/posix/sem.c: Rename from sys-sem.c.
12491 * config/posix/sem.h: Rename from sys-sem.h.
12492 * config/posix/proc.c: Rename from sys-proc.c.
12493 * config/posix/time.c: Rename from sys-proc.c.
12494
12495 * config/linux/mutex.c: New file.
12496 * config/linux/mutex.h: New file.
12497 * config/linux/sem.c: New file.
12498 * config/linux/sem.h: New file.
12499 * config/linux/i486/futex.h: New file.
12500 * config/linux/x86_64/futex.h: New file.
12501
12502 2005-05-04 Richard Henderson <rth@redhat.com>
12503
12504 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12505 * libgomp.h: Declare them.
12506 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12507 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12508
12509 2005-05-04 Richard Henderson <rth@redhat.com>
12510
12511 * libgomp-1 code drop
12512
12513 2005-05-04 Richard Henderson <rth@redhat.com>
12514
12515 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12516 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12517 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12518 (gomp_iter_static_next): Update.
12519 (gomp_ordered_static_next): Update.
12520 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12521 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12522 totally empty range.
12523 (gomp_loop_ordered_static_next): Refine test for calling
12524 gomp_ordered_static_next.
12525 * testsuite/ordered-1.c: Add case for more threads than iterations.
12526
12527 * iter.c (gomp_iter_runtime_next_locked): Remove.
12528 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
12529 gomp_loop_guided_start, gomp_loop_ordered_static_start,
12530 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12531 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12532 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12533 gomp_loop_ordered_guided_next): Downcase name, make static, add
12534 an external alias with the old name.
12535 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12536 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12537 switch and call one of the above static functions.
12538 * libgomp.h: Update.
12539
12540 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12541 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12542 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12543 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12544 GOMP_loop_ordered_guided_start): Update to match.
12545 * sections.c (GOMP_sections_start): Likewise.
12546 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12547
12548 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12549 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12550 Use bounds check instead of modulus.
12551 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12552 (gomp_ordered_last): Don't sync with ordered_owner here.
12553 (gomp_ordered_next): Likewise.
12554 (gomp_ordered_static_loop_next): Likewise.
12555 * loop.c, libgomp.h: Update to match.
12556
12557 * libgomp.h (GOMP_barrier): Declare.
12558
12559 * testsuite/barrier-1.c: New file.
12560 * testsuite/critical-1.c: New file.
12561 * testsuite/ordered-2.c: New file.
12562 * testsuite/ordered-1.c: New file.
12563 * testsuite/sections-1.c: New file.
12564 * testsuite/single-1.c: New file.
12565 * testsuite/Makefile (TESTS): Add them.
12566
12567 2005-05-04 Richard Henderson <rth@redhat.com>
12568
12569 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12570 * loop.c (GOMP_loop_static_start): If not the startup thread,
12571 acquire the mutex to wait for initialization complete.
12572 (GOMP_loop_ordered_static_start): Likewise.
12573 (GOMP_loop_ordered_runtime_start): Likewise.
12574 (GOMP_loop_ordered_static_first): Remove.
12575 (GOMP_loop_ordered_dynamic_first): Remove.
12576 (GOMP_loop_ordered_guided_first): Remove.
12577 (GOMP_loop_ordered_runtime_first): Remove.
12578 * ordered.c (gomp_ordered_loop_first): Post to own release when
12579 we're the first thread.
12580 (gomp_ordered_loop_last): Wait on release if not owner.
12581 (gomp_ordered_loop_next): Likewise.
12582 (gomp_ordered_static_loop_init): New.
12583 (gomp_ordered_static_loop_next): Use ordered_owner.
12584 (GOMP_ordered_start): Likewise.
12585 * work.c (gomp_new_work_share): Initialize ordered_owner.
12586
12587 2005-05-03 Richard Henderson <rth@redhat.com>
12588
12589 * Makefile (OPT): New.
12590 (CFLAGS): Use it.
12591
12592 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12593 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12594 * libgomp.h, libgomp.map, NOTES: Update to match.
12595
12596 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12597 Add initialized and thr members.
12598 (gomp_thread_start): Pause when initially spawned to wait for
12599 the whole team to be created.
12600 (gomp_team_start): Release team members at the end.
12601
12602 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12603 (f_foo_1): Use GOMP_loop_end.
12604 (f_foo_2): Use GOMP_loop_end_nowait.
12605
12606 * testsuite/loop-2.c: New file.
12607 * testsuite/Makefile (TESTS): Add it.
12608
12609 2005-05-03 Richard Henderson <rth@redhat.com>
12610
12611 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12612 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12613 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12614 initial work_share.
12615
12616 * testsuite/Makefile: New file.
12617 * testsuite/loop-1.c: New file.
12618
12619 2005-05-03 Richard Henderson <rth@redhat.com>
12620
12621 Initial implementation and checkin.
12622 \f
12623 Copyright (C) 2005-2019 Free Software Foundation, Inc.
12624
12625 Copying and distribution of this file, with or without modification,
12626 are permitted in any medium without royalty provided the copyright
12627 notice and this notice are preserved.