]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
PR target/90811
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2019-06-11 Jakub Jelinek <jakub@redhat.com>
2
3 PR target/90811
4 * testsuite/libgomp.c/pr90811.c: New test.
5
6 2019-06-05 Jakub Jelinek <jakub@redhat.com>
7
8 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
10
11 2019-06-04 Jakub Jelinek <jakub@redhat.com>
12
13 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
14 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
15 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
16 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
17
18 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19
20 * configure.ac: Call AX_COUNT_CPUS.
21 Substitute CPU_COUNT.
22 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
23 count fallback.
24 * aclocal.m4: Regenerate.
25 * configure: Regenerate.
26 * Makefile.in, testsuite/Makefile.in: Regenerate.
27
28 2019-05-29 Jakub Jelinek <jakub@redhat.com>
29
30 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
31 to ...
32 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
33 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
34 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
35
36 2019-05-27 Jakub Jelinek <jakub@redhat.com>
37
38 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
39
40 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
41
42 PR libgomp/90641
43 * work.c (gomp_init_work_share): Instead of aligning final ordered
44 value to multiples of long long alignment, align to that the
45 first part (ordered team ids) and if inline_ordered_team_ids
46 is not on a long long alignment boundary within the structure,
47 use __alignof__ (long long) - 1 pad size always.
48 * loop.c (GOMP_loop_start): Fix *mem computation if
49 inline_ordered_team_ids is not aligned on long long alignment boundary
50 within the structure.
51 * loop-ull.c (GOMP_loop_ull_start): Likewise.
52 * sections.c (GOMP_sections2_start): Likewise.
53
54 2019-05-24 Jakub Jelinek <jakub@redhat.com>
55
56 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
57 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
58
59 PR libgomp/90585
60 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
61 HAVE_INTTYPES_H is defined.
62 (print_uint64_t): New typedef.
63 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
64 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
65 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
66 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
67 before casting to void *.
68 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
69 * oacc-mem.c: Don't include config.h nor stdint.h.
70 * target.c: Don't include config.h.
71 * oacc-cuda.c: Likewise.
72 * oacc-host.c: Don't include stdint.h.
73
74 2019-05-20 Jakub Jelinek <jakub@redhat.com>
75
76 PR libgomp/90527
77 * alloc.c (_GNU_SOURCE): Define.
78
79 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
80
81 * acc_prof.h: New file.
82 * oacc-profiling.c: Likewise.
83 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
84 Add these, respectively.
85 * Makefile.in: Regenerate.
86 * env.c (initialize_env): Call goacc_profiling_initialize.
87 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
88 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
89 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
90 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
91 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
92 acc_prof_register, acc_prof_unregister, and acc_register_library.
93 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
94 GOMP_PLUGIN_goacc_thread.
95 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
96 prof_callbacks_enabled members.
97 (goacc_prof_enabled, goacc_profiling_initialize)
98 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
99 (goacc_profiling_dispatch): Declare.
100 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
101 (GOACC_PROFILING_SETUP_P): Define.
102 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
103 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
104 OpenACC Profiling Interface.
105 * oacc-cuda.c (acc_get_current_cuda_device)
106 (acc_get_current_cuda_context, acc_get_cuda_stream)
107 (acc_set_cuda_stream): Likewise.
108 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
109 (acc_init, acc_set_device_type, acc_get_device_type)
110 (acc_get_device_num, goacc_lazy_initialize): Likewise.
111 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
112 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
113 (acc_unmap_data, present_create_copy, delete_copyout)
114 (update_dev_host): Likewise.
115 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
116 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
117 Likewise.
118 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
119 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
120 Likewise.
121 * libgomp.texi: Update.
122 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
123 file.
124 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
125 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
126 Likewise.
127 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
128 Likewise.
129 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
130 Likewise.
131 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
132 Likewise.
133
134 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
135
136 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
137 (struct goacc_asyncqueue_list): Likewise.
138 (goacc_aq): Likewise.
139 (goacc_aq_list): Likewise.
140 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
141 (GOMP_OFFLOAD_openacc_async_test): Remove.
142 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
143 (GOMP_OFFLOAD_openacc_async_wait): Remove.
144 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
145 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
146 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
147 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
148 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
149 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
150 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
151 (GOMP_OFFLOAD_openacc_async_exec): Declare.
152 (GOMP_OFFLOAD_openacc_async_construct): Declare.
153 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
154 (GOMP_OFFLOAD_openacc_async_test): Declare.
155 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
156 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
157 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
158 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
159 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
160
161 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
162 (gomp_acc_insert_pointer): Adjust declaration.
163 (gomp_copy_host2dev): New declaration.
164 (gomp_copy_dev2host): Likewise.
165 (gomp_map_vars_async): Likewise.
166 (gomp_unmap_tgt): Likewise.
167 (gomp_unmap_vars_async): Likewise.
168 (gomp_fini_device): Likewise.
169
170 * oacc-async.c (get_goacc_thread): New function.
171 (get_goacc_thread_device): New function.
172 (lookup_goacc_asyncqueue): New function.
173 (get_goacc_asyncqueue): New function.
174 (acc_async_test): Adjust code to use new async design.
175 (acc_async_test_all): Likewise.
176 (acc_wait): Likewise.
177 (acc_wait_async): Likewise.
178 (acc_wait_all): Likewise.
179 (acc_wait_all_async): Likewise.
180 (goacc_async_free): New function.
181 (goacc_init_asyncqueues): Likewise.
182 (goacc_fini_asyncqueues): Likewise.
183 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
184 design.
185 (acc_set_cuda_stream): Likewise.
186 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
187 (host_openacc_register_async_cleanup): Remove.
188 (host_openacc_async_exec): New function.
189 (host_openacc_async_test): Adjust parameters.
190 (host_openacc_async_test_all): Remove.
191 (host_openacc_async_wait): Remove.
192 (host_openacc_async_wait_async): Remove.
193 (host_openacc_async_wait_all): Remove.
194 (host_openacc_async_wait_all_async): Remove.
195 (host_openacc_async_set_async): Remove.
196 (host_openacc_async_synchronize): New function.
197 (host_openacc_async_serialize): New function.
198 (host_openacc_async_host2dev): New function.
199 (host_openacc_async_dev2host): New function.
200 (host_openacc_async_queue_callback): New function.
201 (host_openacc_async_construct): New function.
202 (host_openacc_async_destruct): New function.
203 (struct gomp_device_descr host_dispatch): Remove initialization of old
204 interface, add intialization of new async sub-struct.
205 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
206 (goacc_attach_host_thread_to_device): Remove old async code usage.
207 * oacc-int.h (goacc_init_asyncqueues): New declaration.
208 (goacc_fini_asyncqueues): Likewise.
209 (goacc_async_copyout_unmap_vars): Likewise.
210 (goacc_async_free): Likewise.
211 (get_goacc_asyncqueue): Likewise.
212 (lookup_goacc_asyncqueue): Likewise.
213 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
214 design.
215 (present_create_copy): Adjust code to use new async design.
216 (delete_copyout): Likewise.
217 (update_dev_host): Likewise.
218 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
219 async design.
220 (gomp_acc_remove_pointer): Adjust code to use new async design.
221 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
222 design.
223 (GOACC_enter_exit_data): Likewise.
224 (goacc_wait): Likewise.
225 (GOACC_update): Likewise.
226 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
227 when called, warn as obsolete in comment.
228 * target.c (goacc_device_copy_async): New function.
229 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
230 add goacc_device_copy_async case.
231 (gomp_copy_dev2host): Likewise.
232 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
233 (gomp_map_pointer): Likewise.
234 (gomp_map_fields_existing): Likewise.
235 (gomp_map_vars_internal): New always_inline function, renamed from
236 gomp_map_vars.
237 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
238 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
239 passing goacc_asyncqueue argument.
240 (gomp_unmap_tgt): Remove static, add attribute_hidden.
241 (gomp_unref_tgt): New function.
242 (gomp_unmap_vars_internal): New always_inline function, renamed from
243 gomp_unmap_vars.
244 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
245 (gomp_unmap_vars_async): Implement by calling
246 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
247 (gomp_fini_device): New function.
248 (gomp_exit_data): Adjust gomp_copy_dev2host call.
249 (gomp_load_plugin_for_device): Remove old interface, adjust to load
250 new async interface.
251 (gomp_target_fini): Adjust code to call gomp_fini_device.
252
253 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
254 (struct ptx_stream): Remove.
255 (struct nvptx_thread): Remove current_stream field.
256 (cuda_map_create): Remove.
257 (cuda_map_destroy): Remove.
258 (map_init): Remove.
259 (map_fini): Remove.
260 (map_pop): Remove.
261 (map_push): Remove.
262 (struct goacc_asyncqueue): Define.
263 (struct nvptx_callback): Define.
264 (struct ptx_free_block): Define.
265 (struct ptx_device): Remove null_stream, active_streams, async_streams,
266 stream_lock, and next fields.
267 (enum ptx_event_type): Remove.
268 (struct ptx_event): Remove.
269 (ptx_event_lock): Remove.
270 (ptx_events): Remove.
271 (init_streams_for_device): Remove.
272 (fini_streams_for_device): Remove.
273 (select_stream_for_async): Remove.
274 (nvptx_init): Remove ptx_events and ptx_event_lock references.
275 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
276 case.
277 (nvptx_open_device): Add free_blocks initialization, remove
278 init_streams_for_device call.
279 (nvptx_close_device): Remove fini_streams_for_device call, add
280 free_blocks destruct code.
281 (event_gc): Remove.
282 (event_add): Remove.
283 (nvptx_exec): Adjust parameters and code.
284 (nvptx_free): Likewise.
285 (nvptx_host2dev): Remove.
286 (nvptx_dev2host): Remove.
287 (nvptx_set_async): Remove.
288 (nvptx_async_test): Remove.
289 (nvptx_async_test_all): Remove.
290 (nvptx_wait): Remove.
291 (nvptx_wait_async): Remove.
292 (nvptx_wait_all): Remove.
293 (nvptx_wait_all_async): Remove.
294 (nvptx_get_cuda_stream): Remove.
295 (nvptx_set_cuda_stream): Remove.
296 (GOMP_OFFLOAD_alloc): Adjust code.
297 (GOMP_OFFLOAD_free): Likewise.
298 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
299 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
300 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
301 (GOMP_OFFLOAD_openacc_async_wait): Remove.
302 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
303 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
304 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
305 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
306 (cuda_free_argmem): New function.
307 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
308 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
309 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
310 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
311 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
312 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
313 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
314 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
315 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
316 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
317 (cuda_callback_wrapper): New function.
318 (cuda_memcpy_sanity_check): New function.
319 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
320 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
321 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
322 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
323
324 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
325
326 PR target/87835
327 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
328
329 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
330
331 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
332
333 2019-03-27 Kevin Buettner <kevinb@redhat.com>
334
335 * team.c (gomp_team_start): Initialize pool->threads[0].
336
337 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
338
339 * testsuite/libgomp.oacc-c++/c++.exp: Specify
340 "-foffload=$offload_target".
341 * testsuite/libgomp.oacc-c/c.exp: Likewise.
342 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
343 * testsuite/lib/libgomp.exp
344 (check_effective_target_openacc_nvidia_accel_configured): Remove,
345 as (conceptually) merged into
346 check_effective_target_openacc_nvidia_accel_selected. Adjust all
347 users.
348
349 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
350 * testsuite/libgomp-test-support.exp.in: Adjust.
351 * testsuite/lib/libgomp.exp: Likewise. Don't populate
352 openacc_device_types_s.
353 (offload_target_to_openacc_device_type): New proc.
354 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
355 * testsuite/libgomp.oacc-c/c.exp: Likewise.
356 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
357 * Makefile.in: Regenerate.
358 * configure: Likewise.
359 * testsuite/Makefile.in: Likewise.
360
361 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
362 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
363 instead of OFFLOAD_TARGETS.
364 * target.c (gomp_target_init): Adjust.
365 * testsuite/libgomp-test-support.exp.in: Likewise.
366 * testsuite/lib/libgomp.exp: Likewise. Populate
367 openacc_device_types_s instead of offload_targets_s_openacc.
368 (check_effective_target_openacc_nvidia_accel_selected)
369 (check_effective_target_openacc_host_selected): Adjust.
370 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
371 * testsuite/libgomp.oacc-c/c.exp: Likewise.
372 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
373 * Makefile.in: Regenerate.
374 * config.h.in: Likewise.
375 * configure: Likewise.
376 * testsuite/Makefile.in: Likewise.
377
378 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
379 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
380 "offloading: supported, but hardware not accessible".
381 * testsuite/libgomp.oacc-c/c.exp: Likewise.
382 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
383
384 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
385
386 PR c/87924
387 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
388 goacc_wait().
389 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
390 and related adjustment.
391
392 2019-01-30 Jakub Jelinek <jakub@redhat.com>
393
394 PR c++/88988
395 * testsuite/libgomp.c++/pr88988.C: New test.
396
397 2019-01-28 Jakub Jelinek <jakub@redhat.com>
398
399 PR middle-end/89002
400 * testsuite/libgomp.c/pr89002.c: New test.
401
402 2019-01-28 Richard Biener <rguenther@suse.de>
403
404 PR testsuite/89064
405 PR tree-optimization/86865
406 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
407
408 2019-01-24 Tom de Vries <tdevries@suse.de>
409
410 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
411 once instantiated_devices drops to 0.
412
413 2019-01-23 Tom de Vries <tdevries@suse.de>
414
415 PR target/PR88946
416 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
417 cuMemFree.
418 (nvptx_exec): Don't call map_push if mapnum == 0.
419 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
420
421 2019-01-23 Tom de Vries <tdevries@suse.de>
422
423 PR target/88941
424 PR target/88939
425 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
426 (map_fini): Remove "assert (!s->map->active)".
427 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
428
429 2019-01-23 Tom de Vries <tdevries@suse.de>
430
431 PR target/87835
432 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
433 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
434
435 2019-01-15 Tom de Vries <tdevries@suse.de>
436
437 PR target/80547
438 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
439 New test.
440
441 2019-01-12 Tom de Vries <tdevries@suse.de>
442
443 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
444 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
445 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
446 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
447
448 2019-01-12 Tom de Vries <tdevries@suse.de>
449
450 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
451
452 2019-01-12 Tom de Vries <tdevries@suse.de>
453
454 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
455 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
456 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
457
458 2019-01-12 Tom de Vries <tdevries@suse.de>
459
460 PR target/85486
461 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
462 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
463
464 2019-01-12 Tom de Vries <tdevries@suse.de>
465
466 PR target/85381
467 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
468 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
469
470 2019-01-12 Tom de Vries <tdevries@suse.de>
471
472 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
473 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
474 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
475
476 2019-01-12 Tom de Vries <tdevries@suse.de>
477
478 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
479 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
480 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
481
482 2019-01-12 Tom de Vries <tdevries@suse.de>
483
484 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
485 resources diagnostic.
486
487 2019-01-12 Tom de Vries <tdevries@suse.de>
488
489 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
490 vector length to be 128.
491 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
492 length 2097152 to be reduced to 1024 instead of 32.
493
494 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
495 James Norris <jnorris@codesourcery.com>
496
497 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
498 Library Routines", and "Environment Variables".
499
500 2019-01-11 Tom de Vries <tdevries@suse.de>
501
502 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
503 num_workers 16.
504
505 2019-01-11 Tom de Vries <tdevries@suse.de>
506
507 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
508 -foffload=-w.
509 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
510 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
511 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
512 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
513
514 2019-01-11 Tom de Vries <tdevries@suse.de>
515
516 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
517 test.
518
519 2019-01-10 Nathan Sidwell <nathan@acm.org>
520 Julian Brown <julian@codesourcery.com>
521
522 PR lto/71959
523 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
524 * testsuite/libgomp.oacc-c++/pr71959.C: New.
525
526 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
527
528 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
529 and paste code.
530
531 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
532
533 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
534 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
535 write.
536
537 2019-01-09 Tom de Vries <tdevries@suse.de>
538
539 PR target/88756
540 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
541 #define instead of "const int".
542 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
543 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
544 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
545 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
546
547 2019-01-09 Tom de Vries <tdevries@suse.de>
548
549 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
550 one worker.
551
552 2019-01-07 Tom de Vries <tdevries@suse.de>
553
554 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
555 GOMP_OPENACC_DIM argument.
556
557 2019-01-03 Tom de Vries <tdevries@suse.de>
558
559 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
560 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
561
562 2019-01-01 Jakub Jelinek <jakub@redhat.com>
563
564 Update copyright years.
565
566 2019-01-01 Jakub Jelinek <jakub@redhat.com>
567
568 * libgomp.texi: Bump @copying's copyright year.
569
570 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
571
572 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
573 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
574 (GOACC_declare): Redefine the "device" argument to "flags".
575
576 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
577 Cesar Philippidis <cesar@codesourcery.com>
578
579 * target.c (struct gomp_coalesce_chunk): New structure.
580 (struct gomp_coalesce_buf): Update the chunks member to use that
581 type. Adjust all users.
582
583 2018-12-19 Tom de Vries <tdevries@suse.de>
584
585 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
586 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
587 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
588
589 2018-12-19 Tom de Vries <tdevries@suse.de>
590
591 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
592 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
593 gcc/testsuite/gcc.dg/goacc.
594 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
595
596 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
597 Chung-Lin Tang <cltang@codesourcery.com>
598
599 * oacc-mem.c (acc_present_or_create): Remove definition and change
600 to alias of acc_create.
601 (acc_present_or_copyin): Remove definition and change to alias of
602 acc_copyin.
603 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
604 of acc_present_or_create.
605 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
606 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
607 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
608 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
609 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
610 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
611 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
612 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
613 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
614 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
615 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
616 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
617 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
618 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
619 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
620 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
621
622 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
623
624 PR libgomp/88495
625 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
626 "identical parameters".
627 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
628 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
629
630 PR libgomp/88484
631 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
632 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
633
634 PR libgomp/88407
635 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
636 (nvptx_wait_async): Unseen async-argument is a no-op.
637 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
638 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
639 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
640 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
641 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
642 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
643 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
644 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
645 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
646
647 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
648 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
649
650 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
651
652 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
653 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
655
656 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
657
658 PR libgomp/88370
659 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
660 (acc_set_cuda_stream): Clarify.
661 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
662 "async_valid_p".
663 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
664 acc_async_sync".
665 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
666 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
667 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
668 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
669
670 2018-12-14 Tom de Vries <tdevries@suse.de>
671
672 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
673 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
674 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
675 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
676 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
677
678 2018-12-13 Tom de Vries <tdevries@suse.de>
679
680 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
681 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
682 * fortran.c (omp_display_affinity_): ... here.
683 * libgomp.h (gomp_print_string): Declare.
684 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
685 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
686 write.
687
688 2018-12-13 Jakub Jelinek <jakub@redhat.com>
689
690 PR libgomp/88460
691 * testsuite/libgomp.c++/for-24.C (results): Include it in
692 omp declare target region.
693 (main): Use map (always, tofrom: results) instead of
694 map (tofrom: results).
695
696 2018-12-12 Jakub Jelinek <jakub@redhat.com>
697
698 PR fortran/88463
699 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
700 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
701
702 * testsuite/libgomp.c-c++-common/for-16.c: New test.
703
704 2018-12-12 Andreas Schwab <schwab@suse.de>
705
706 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
707 clobbered.
708
709 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
710
711 PR fortran/88411
712 * testsuite/libgomp.fortran/async_io_8.f90: New test.
713
714 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
715 Jakub Jelinek <jakub@redhat.com>
716
717 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
718 devicep->host2dev_func.
719
720 2018-12-08 Jakub Jelinek <jakub@redhat.com>
721
722 PR libgomp/87995
723 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
724 tls_runtime effective target.
725 (t): New threadprivate variable.
726 (main): Set t in threads which execute iterations of the worksharing
727 loop. Propagate that to the task after the loop and don't abort
728 if the current taskgroup hasn't been cancelled.
729
730 2018-12-02 Jakub Jelinek <jakub@redhat.com>
731
732 * testsuite/libgomp.c/task-reduction-3.c: New test.
733
734 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
735
736 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
737
738 PR libgomp/88288
739 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
740 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
741
742 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
743
744 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
745
746 2018-10-19 Richard Biener <rguenther@suse.de>
747
748 PR tree-optimization/88182
749 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
750
751 2018-11-26 Jakub Jelinek <jakub@redhat.com>
752
753 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
754 (RUNTEST): Don't define.
755 (RUNTESTDEFAULTFLAGS): Add.
756 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
757 (distclean-am): Depend on distclean-DEJAGNU.
758 (check-am): If -j% option is present in MFLAGS and if
759 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
760 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
761 * testsuite/Makefile.in: Regenerated.
762
763 2018-11-26 Richard Biener <rguenther@suse.de>
764
765 PR tree-optimization/88182
766 * testsuite/libgomp.c++/pr88182.C: New testcase.
767
768 2018-11-20 Jakub Jelinek <jakub@redhat.com>
769
770 PR bootstrap/88106
771 * config/mingw32/affinity-fmt.c: New file.
772
773 2018-11-09 Jakub Jelinek <jakub@redhat.com>
774
775 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
776 (gomp_display_affinity): Use __builtin_choose_expr to handle
777 properly handle argument having integral, or pointer or some other
778 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
779 with uint64_t type instead of %llx and unsigned long long.
780
781 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
782 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
783
784 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
785
786 * affinity.c: Include <string.h>, <stdio.h>.
787 (gomp_display_affinity_place): Remove cpusetp.
788 * teams.c: Include <limits.h>.
789
790 2018-11-08 Jakub Jelinek <jakub@redhat.com>
791
792 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
793 in_reduction clause for s[0].
794
795 * affinity.c (gomp_display_affinity_place): New function.
796 * affinity-fmt.c: New file.
797 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
798 * config/linux/affinity.c (gomp_display_affinity_place): New function.
799 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
800 Move these functions to ...
801 * config/nvptx/teams.c: ... here. New file.
802 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
803 New functions.
804 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
805 functions.
806 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
807 and _aligned_malloc.
808 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
809 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
810 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
811 gomp_affinity_format_len): New variables.
812 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
813 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
814 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
815 modifiers. Display (non-default) chunk sizes. Print
816 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
817 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
818 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
819 * fortran.c: Include stdio.h and string.h.
820 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
821 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
822 (omp_set_affinity_format_, omp_get_affinity_format_,
823 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
824 omp_pause_resource_all_): New functions.
825 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
826 switch.
827 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
828 functions to ...
829 * teams.c: ... here. New file.
830 * libgomp_g.h: Include gstdint.h.
831 (GOMP_loop_nonmonotonic_runtime_start,
832 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
833 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
834 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
835 GOMP_parallel_loop_nonmonotonic_runtime,
836 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
837 GOMP_loop_ull_nonmonotonic_runtime_start,
838 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
839 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
840 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
841 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
842 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
843 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
844 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
845 GOMP_teams_reg): Declare.
846 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
847 gomp_aligned_alloc uses fallback implementation.
848 (gomp_aligned_alloc, gomp_aligned_free): Declare.
849 (enum gomp_schedule_type): Add GFS_MONOTONIC.
850 (struct gomp_doacross_work_share): Add extra field.
851 (struct gomp_work_share): Add task_reductions field.
852 (struct gomp_taskgroup): Add workshare and reductions fields.
853 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
854 (gomp_thread_handle): New typedef.
855 (gomp_display_affinity_place, gomp_set_affinity_format,
856 gomp_display_string, gomp_display_affinity,
857 gomp_display_affinity_thread): Declare.
858 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
859 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
860 gomp_workshare_task_reduction_register): Declare.
861 (gomp_team_start): Add taskgroup argument.
862 (gomp_pause_host): Declare.
863 (gomp_init_work_share, gomp_work_share_start): Change bool argument
864 to size_t.
865 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
866 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
867 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
868 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
869 GOMP_loop_ull_doacross_start,
870 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
871 GOMP_loop_maybe_nonmonotonic_runtime_next,
872 GOMP_loop_maybe_nonmonotonic_runtime_start,
873 GOMP_loop_nonmonotonic_runtime_next,
874 GOMP_loop_nonmonotonic_runtime_start,
875 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
876 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
877 GOMP_loop_ull_nonmonotonic_runtime_next,
878 GOMP_loop_ull_nonmonotonic_runtime_start,
879 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
880 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
881 GOMP_taskgroup_reduction_register,
882 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
883 GOMP_teams_reg and GOMP_taskwait_depend.
884 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
885 omp_{capture,display}_affinity{,_}, and
886 omp_[gs]et_affinity_format{,_}.
887 * loop.c: Include string.h.
888 (GOMP_loop_runtime_next): Add ialias.
889 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
890 (gomp_loop_static_start, gomp_loop_dynamic_start,
891 gomp_loop_guided_start, gomp_loop_ordered_static_start,
892 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
893 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
894 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
895 or gomp_doacross_init callers.
896 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
897 GOMP_loop_doacross_start): New functions.
898 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
899 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
900 Mask off GFS_MONOTONIC bit.
901 (GOMP_loop_maybe_nonmonotonic_runtime_next,
902 GOMP_loop_maybe_nonmonotonic_runtime_start,
903 GOMP_loop_nonmonotonic_runtime_next,
904 GOMP_loop_nonmonotonic_runtime_start,
905 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
906 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
907 functions.
908 (gomp_parallel_loop_start): Pass NULL as taskgroup to
909 gomp_team_start.
910 * loop_ull.c: Include string.h.
911 (GOMP_loop_ull_runtime_next): Add ialias.
912 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
913 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
914 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
915 gomp_loop_ull_ordered_dynamic_start,
916 gomp_loop_ull_ordered_guided_start,
917 gomp_loop_ull_doacross_static_start,
918 gomp_loop_ull_doacross_dynamic_start,
919 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
920 and gomp_doacross_ull_init callers.
921 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
922 GOMP_loop_ull_doacross_start): New functions.
923 (GOMP_loop_ull_runtime_start,
924 GOMP_loop_ull_ordered_runtime_start,
925 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
926 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
927 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
928 GOMP_loop_ull_nonmonotonic_runtime_next,
929 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
930 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
931 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
932 (omp_pause_resource_t, omp_depend_t): New typedefs.
933 (enum omp_lock_hint_t): Renamed to ...
934 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
935 enumerators using numbers and omp_lock_hint_* as their aliases.
936 (omp_lock_hint_t): New typedef. Rename to ...
937 (omp_sync_hint_t): ... this.
938 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
939 omp_sync_hint_t instead of omp_lock_hint_t.
940 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
941 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
942 Declare.
943 (omp_target_is_present, omp_target_disassociate_ptr):
944 Change first argument from void * to const void *.
945 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
946 from void * to const void *.
947 (omp_target_associate_ptr): Change first and second arguments from
948 void * to const void *.
949 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
950 omp_pause_hard): New parameters.
951 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
952 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
953 New interfaces.
954 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
955 omp_pause_hard): New parameters.
956 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
957 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
958 New externals.
959 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
960 EXTRA argument. If not needed to prepare array, if extra is 0,
961 clear ws->doacross, otherwise allocate just doacross structure and
962 extra payload. If array is needed, allocate also extra payload.
963 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
964 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
965 doacross == NULL.
966 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
967 gomp_team_start.
968 (GOMP_parallel): Likewise. Formatting fix.
969 (GOMP_parallel_reductions): New function.
970 (GOMP_cancellation_point): If taskgroup has workshare
971 flag set, check cancelled of prev taskgroup if any.
972 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
973 on prev taskgroup if any.
974 * sections.c: Include string.h.
975 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
976 (GOMP_sections_start): Adjust gomp_work_share_start caller.
977 (GOMP_sections2_start): New function.
978 (GOMP_parallel_sections_start, GOMP_parallel_sections):
979 Pass NULL as taskgroup to gomp_team_start.
980 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
981 gomp_work_share_start callers.
982 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
983 If taskgroup has workshare flag set, check cancelled on prev
984 taskgroup if any. Guard all cancellation tests with
985 gomp_cancel_var test.
986 (omp_target_is_present, omp_target_disassociate_ptr):
987 Change ptr argument from void * to const void *.
988 (omp_target_memcpy): Change src argument from void * to const void *.
989 (omp_target_memcpy_rect): Likewise.
990 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
991 instead of char * where needed.
992 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
993 from void * to const void *.
994 (omp_pause_resource, omp_pause_resource_all): New functions.
995 * task.c (gomp_task_handle_depend): Handle new depend array format
996 in addition to the old. Handle mutexinoutset kinds the same as
997 inout for now, handle unspecified kinds.
998 (gomp_create_target_task): If taskgroup has workshare flag set, check
999 cancelled on prev taskgroup if any. Guard all cancellation tests with
1000 gomp_cancel_var test. Handle new depend array format count in
1001 addition to the old.
1002 (GOMP_task): Likewise. Adjust function comment.
1003 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1004 cancelled on prev taskgroup if any. Guard all cancellation tests with
1005 gomp_cancel_var test.
1006 (GOMP_taskwait_depend): New function.
1007 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1008 format in addition to the old. Handle mutexinoutset kinds the same as
1009 inout for now, handle unspecified kinds. Fix a function comment typo.
1010 (gomp_taskgroup_init): New function.
1011 (GOMP_taskgroup_start): Use it.
1012 (gomp_reduction_register, gomp_create_artificial_team,
1013 GOMP_taskgroup_reduction_register,
1014 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1015 gomp_parallel_reduction_register,
1016 gomp_workshare_task_reduction_register,
1017 gomp_workshare_taskgroup_start,
1018 GOMP_workshare_task_reduction_unregister): New functions.
1019 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1020 check cancelled on prev taskgroup if any. Guard all cancellation
1021 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1022 by calling GOMP_taskgroup_reduction_register.
1023 * team.c (gomp_thread_attr): Remove comment.
1024 (struct gomp_thread_start_data): Add handle field.
1025 (gomp_thread_start): Call pthread_detach.
1026 (gomp_new_team): Adjust gomp_init_work_share caller.
1027 (gomp_free_pool_helper): Call pthread_detach.
1028 (gomp_team_start): Add taskgroup argument, initialize implicit
1029 tasks' taskgroup field to that. Don't call
1030 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1031 (gomp_team_end): Determine nesting by thr->ts.level != 0
1032 rather than thr->ts.team != NULL.
1033 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1034 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1035 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1036 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1037 if more than 1 allocate also extra payload at the end of array. Never
1038 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1039 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1040 return true instead of ws.
1041 * Makefile.in: Regenerated.
1042 * configure: Regenerated.
1043 * config.h.in: Regenerated.
1044 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1045 in some cases.
1046 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1047 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1048 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1049 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1050 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1051 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1052 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1053 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1054 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1055 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1056 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1057 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1058 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1059 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1060 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1061 define a different N(test), don't define N(f0) to N(f14), but instead
1062 define N(f20) to N(f34) using != comparisons.
1063 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1064 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1065 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1066 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1067 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1068 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1069 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1070 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1071 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1072 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1073 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1074 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1075 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1076 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1077 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1078 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1079 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1080 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1081 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1082 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1083 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1084 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1085 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1086 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1087 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1088 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1089 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1090 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1091 * testsuite/libgomp.c++/depend-1.C: New test.
1092 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1093 * testsuite/libgomp.c++/depobj-1.C: New test.
1094 * testsuite/libgomp.c++/for-16.C: New test.
1095 * testsuite/libgomp.c++/for-21.C: New test.
1096 * testsuite/libgomp.c++/for-22.C: New test.
1097 * testsuite/libgomp.c++/for-23.C: New test.
1098 * testsuite/libgomp.c++/for-24.C: New test.
1099 * testsuite/libgomp.c++/for-25.C: New test.
1100 * testsuite/libgomp.c++/for-26.C: New test.
1101 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1102 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1103 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1104 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1105 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1106 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1107 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1108 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1109 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1110 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1111 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1112 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1113 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1114 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1115 * testsuite/libgomp.c/task-reduction-1.c: New test.
1116 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1117 * testsuite/libgomp.c/task-reduction-2.c: New test.
1118 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1119 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1120 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1121 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1122 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1123 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1124 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1125 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1126 * testsuite/libgomp.c/teams-1.c: New test.
1127 * testsuite/libgomp.c/teams-2.c: New test.
1128 * testsuite/libgomp.c/thread-limit-4.c: New test.
1129 * testsuite/libgomp.c/thread-limit-5.c: New test.
1130 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1131
1132 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1133
1134 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1135 acc_memcpy_to/from_device functions, now with async parameter.
1136 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1137 (acc_memcpy_from_device): Likewise.
1138 (acc_memcpy_to_device_async): New API function.
1139 (acc_memcpy_from_device_async): Likewise.
1140 (present_create_copy): Add async parameter and async setting/unsetting.
1141 (acc_create): Adjust present_create_copy call.
1142 (acc_copyin): Likewise.
1143 (acc_present_or_create): Likewise.
1144 (acc_present_or_copyin): Likewise.
1145 (acc_create_async): New API function.
1146 (acc_copyin_async): New API function.
1147 (delete_copyout): Add async parameter and async setting/unsetting.
1148 (acc_delete): Adjust delete_copyout call.
1149 (acc_copyout): Likewise.
1150 (acc_delete_async): New API function.
1151 (acc_copyout_async): Likewise.
1152 (update_dev_host): Add async parameter and async setting/unsetting.
1153 (acc_update_device): Adjust update_dev_host call.
1154 (acc_update_self): Likewise.
1155 (acc_update_device_async): New API function.
1156 (acc_update_self_async): Likewise.
1157 * openacc.h (acc_copyin_async): Declare new API function.
1158 (acc_create_async): Likewise.
1159 (acc_copyout_async): Likewise.
1160 (acc_delete_async): Likewise.
1161 (acc_update_device_async): Likewise.
1162 (acc_update_self_async): Likewise.
1163 (acc_memcpy_to_device_async): Likewise.
1164 (acc_memcpy_from_device_async): Likewise.
1165 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1166 (acc_copyin_async_64_h): New subroutine.
1167 (acc_copyin_async_array_h): New subroutine.
1168 (acc_create_async_32_h): New subroutine.
1169 (acc_create_async_64_h): New subroutine.
1170 (acc_create_async_array_h): New subroutine.
1171 (acc_copyout_async_32_h): New subroutine.
1172 (acc_copyout_async_64_h): New subroutine.
1173 (acc_copyout_async_array_h): New subroutine.
1174 (acc_delete_async_32_h): New subroutine.
1175 (acc_delete_async_64_h): New subroutine.
1176 (acc_delete_async_array_h): New subroutine.
1177 (acc_update_device_async_32_h): New subroutine.
1178 (acc_update_device_async_64_h): New subroutine.
1179 (acc_update_device_async_array_h): New subroutine.
1180 (acc_update_self_async_32_h): New subroutine.
1181 (acc_update_self_async_64_h): New subroutine.
1182 (acc_update_self_async_array_h): New subroutine.
1183 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1184 (acc_copyin_async_64_h): New subroutine.
1185 (acc_copyin_async_array_h): New subroutine.
1186 (acc_create_async_32_h): New subroutine.
1187 (acc_create_async_64_h): New subroutine.
1188 (acc_create_async_array_h): New subroutine.
1189 (acc_copyout_async_32_h): New subroutine.
1190 (acc_copyout_async_64_h): New subroutine.
1191 (acc_copyout_async_array_h): New subroutine.
1192 (acc_delete_async_32_h): New subroutine.
1193 (acc_delete_async_64_h): New subroutine.
1194 (acc_delete_async_array_h): New subroutine.
1195 (acc_update_device_async_32_h): New subroutine.
1196 (acc_update_device_async_64_h): New subroutine.
1197 (acc_update_device_async_array_h): New subroutine.
1198 (acc_update_self_async_32_h): New subroutine.
1199 (acc_update_self_async_64_h): New subroutine.
1200 (acc_update_self_async_array_h): New subroutine.
1201 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1202 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1203 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1204 acc_memcpy_to_device_async*, acc_update_device_async*, and
1205 acc_update_self_async* entries.
1206 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1207 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1208 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1209
1210 2018-10-31 Joseph Myers <joseph@codesourcery.com>
1211
1212 PR bootstrap/82856
1213 * Makefile.am: Include multilib.am
1214 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1215 (CLEANFILES): Remove libgomp.info.
1216 * configure.ac: Remove AC_PREREQ.
1217 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1218 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1219 Regenerate.
1220
1221 2018-10-29 Joseph Myers <joseph@codesourcery.com>
1222 Julian Brown <julian@codesourcery.com>
1223
1224 * testsuite/libgomp.oacc-c++/this.C: New.
1225
1226 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1227
1228 * plugin/plugin-nvptx.c (struct cuda_map): New.
1229 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1230 h_tail with (cuda_map *) map.
1231 (cuda_map_create): New function.
1232 (cuda_map_destroy): New function.
1233 (map_init): Update to use a linked list of cuda_map objects.
1234 (map_fini): Likewise.
1235 (map_pop): Likewise.
1236 (map_push): Likewise. Return CUdeviceptr instead of void.
1237 (init_streams_for_device): Remove stales references to ptx_stream
1238 members.
1239 (select_stream_for_async): Likewise.
1240 (nvptx_exec): Update call to map_init.
1241
1242 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1243 Julian Brown <julian@codesourcery.com>
1244
1245 PR middle-end/86336
1246 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1247
1248 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1249 Thomas Koenig <tkoenig@gcc.gnu.org>
1250
1251 PR fortran/25829
1252 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1253 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1254 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1255 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1256 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1257 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1258 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1259
1260 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1261 Tom de Vries <tdevries@suse.de>
1262
1263 PR target/85590
1264 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1265 (cuOccupancyMaxPotentialBlockSize): Declare.
1266 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1267 CUDA_ONE_CALL_MAYBE_NULL.
1268 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1269 CUoccupancyB2DSize and declare
1270 cuOccupancyMaxPotentialBlockSize.
1271 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1272 default num_gangs and num_workers when the driver supports it.
1273
1274 2018-08-08 Tom de Vries <tdevries@suse.de>
1275
1276 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1277 CUDA_ONE_CALL_MAYBE_NULL.
1278 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1279 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1280 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1281 are not found.
1282
1283 2018-08-08 Tom de Vries <tdevries@suse.de>
1284
1285 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1286 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1287 present.
1288
1289 2018-08-08 Tom de Vries <tdevries@suse.de>
1290
1291 * plugin/plugin-nvptx.c
1292 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1293 (nvptx_open_device): Use
1294 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1295
1296 2018-08-08 Tom de Vries <tdevries@suse.de>
1297
1298 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1299 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1300
1301 2018-08-07 Tom de Vries <tdevries@suse.de>
1302
1303 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1304 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1305 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1306 corresponding call in CUDA_ONE_CALL. Add def/undef of
1307 CUDA_ONE_CALL_MAYBE_NULL.
1308 (CUDA_CALL_EXISTS): Define.
1309
1310 2018-08-07 Tom de Vries <tdevries@suse.de>
1311
1312 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1313 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1314 corresponding undefs right after.
1315
1316 2018-08-04 Tom de Vries <tdevries@suse.de>
1317
1318 * plugin/configfrag.ac: For --without-cuda-driver, set
1319 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1320 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1321 * configure: Regenerate.
1322
1323 2018-08-02 Tom de Vries <tdevries@suse.de>
1324
1325 PR target/86660
1326 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1327 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1328 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1329 Same.
1330 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1331 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1332 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1333
1334 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1335 Thomas Schwinge <thomas@codesourcery.com>
1336
1337 * config/nvptx/oacc-parallel.c: Truncate.
1338
1339 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1340 James Norris <jnorris@codesourcery.com>
1341
1342 * plugin/plugin-nvptx.c (struct map): Removed.
1343 (map_init, map_pop): Remove use of struct map.
1344 (map_push): Likewise and change argument list.
1345 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1346
1347 2018-08-01 Tom de Vries <tdevries@suse.de>
1348
1349 * plugin/cuda-lib.def: New file. Factor out of ...
1350 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1351 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1352 using CUDA_CALLS.
1353
1354 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1355
1356 Revert 'AsyncI/O patch committed'.
1357 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1358 Thomas Koenig <tkoenig@gcc.gnu.org>
1359
1360 PR fortran/25829
1361 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1362 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1363 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1364 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1365 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1366 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1367 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1368
1369 2018-07-30 Tom de Vries <tdevries@suse.de>
1370
1371 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1372 (nvptx_exec): Ensure worker and vector default dims don't exceed
1373 targ_fn->max_threads_per_block.
1374
1375 2018-07-30 Tom de Vries <tdevries@suse.de>
1376
1377 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1378 (nvptx_open_device): Init default_dims for device.
1379 (nvptx_exec): Use default_dims from device.
1380
1381 2018-07-26 Jakub Jelinek <jakub@redhat.com>
1382
1383 PR testsuite/86660
1384 * testsuite/libgomp.c++/for-15.C (results): Include it in
1385 omp declare target region.
1386 (main): Use map (always, tofrom: results) instead of
1387 map (tofrom: results).
1388
1389 PR middle-end/86660
1390 * testsuite/libgomp.c/pr86660.c: New test.
1391
1392 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1393 Tom de Vries <tdevries@suse.de>
1394
1395 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1396 sufficient resources to launch a kernel, and give a hint on how to fix
1397 it.
1398
1399 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1400 Tom de Vries <tdevries@suse.de>
1401
1402 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1403 max_threads_per_block and max_threads_per_multiprocessor fields.
1404 (nvptx_open_device): Initialize new fields.
1405 (nvptx_exec): Use num_sms, and new fields.
1406
1407 2018-07-26 Tom de Vries <tdevries@suse.de>
1408
1409 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1410 to correct locations. Remove xfail.
1411
1412 2018-07-26 Tom de Vries <tdevries@suse.de>
1413
1414 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1415 acc_wait. Move acc_async_test calls to correct locations. Remove
1416 xfail.
1417
1418 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1419 Thomas Koenig <tkoenig@gcc.gnu.org>
1420
1421 PR fortran/25829
1422 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1423 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1424 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1425 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1426 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1427 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1428 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1429
1430 2018-07-17 Jakub Jelinek <jakub@redhat.com>
1431
1432 PR middle-end/86542
1433 * testsuite/libgomp.c++/pr86542.C: New test.
1434
1435 PR middle-end/86539
1436 * testsuite/libgomp.c++/pr86539.C: New test.
1437
1438 2018-07-11 Jakub Jelinek <jakub@redhat.com>
1439
1440 PR c++/86443
1441 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1442 (results): Make sure the variable is not inside declare target region.
1443 (qux): Remove unused function.
1444
1445 2018-07-10 Jakub Jelinek <jakub@redhat.com>
1446
1447 PR c++/86443
1448 * testsuite/libgomp.c++/for-15.C: New test.
1449
1450 2018-06-26 Jakub Jelinek <jakub@redhat.com>
1451
1452 PR c++/86291
1453 * testsuite/libgomp.c++/pr86291.C: New test.
1454
1455 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1456
1457 * libgomp.texi (Top): Move www.openmp.org to https.
1458 (Enabling OpenMP): Ditto.
1459 (omp_get_active_level): Ditto.
1460 (omp_get_ancestor_thread_num): Ditto.
1461 (omp_get_cancellation): Ditto.
1462 (omp_get_default_device): Ditto.
1463 (omp_get_dynamic): Ditto.
1464 (omp_get_level): Ditto.
1465 (omp_get_max_active_levels): Ditto.
1466 (omp_get_max_task_priority): Ditto.
1467 (omp_get_max_threads): Ditto.
1468 (omp_get_nested): Ditto.
1469 (omp_get_num_devices): Ditto.
1470 (omp_get_num_procs): Ditto.
1471 (omp_get_num_teams): Ditto.
1472 (omp_get_num_threads): Ditto.
1473 (omp_get_proc_bind): Ditto.
1474 (omp_get_schedule): Ditto.
1475 (omp_get_team_num): Ditto.
1476 (omp_get_team_size): Ditto.
1477 (omp_get_thread_limit): Ditto.
1478 (omp_get_thread_num): Ditto.
1479 (omp_in_parallel): Ditto.
1480 (omp_in_final): Ditto.
1481 (omp_is_initial_device): Ditto.
1482 (omp_set_default_device): Ditto.
1483 (omp_set_dynamic): Ditto.
1484 (omp_set_max_active_levels): Ditto.
1485 (omp_set_nested): Ditto.
1486 (omp_set_num_threads): Ditto.
1487 (omp_set_schedule): Ditto.
1488 (omp_init_lock): Ditto.
1489 (omp_set_lock): Ditto.
1490 (omp_test_lock): Ditto.
1491 (omp_unset_lock): Ditto.
1492 (omp_destroy_lock): Ditto.
1493 (omp_init_nest_lock): Ditto.
1494 (omp_set_nest_lock): Ditto.
1495 (omp_test_nest_lock): Ditto.
1496 (omp_unset_nest_lock): Ditto.
1497 (omp_destroy_nest_lock): Ditto.
1498 (omp_get_wtick): Ditto.
1499 (omp_get_wtime): Ditto.
1500 (OMP_CANCELLATION): Ditto.
1501 (OMP_DISPLAY_ENV): Ditto.
1502 (OMP_DEFAULT_DEVICE): Ditto.
1503 (OMP_DYNAMIC): Ditto.
1504 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1505 (OMP_MAX_TASK_PRIORITY): Ditto.
1506 (OMP_NESTED): Ditto.
1507 (OMP_NUM_THREADS): Ditto.
1508 (OMP_PROC_BIND): Ditto.
1509 (OMP_PLACES): Ditto.
1510 (OMP_STACKSIZE): Ditto.
1511 (OMP_SCHEDULE): Ditto.
1512 (OMP_THREAD_LIMIT): Ditto.
1513 (OMP_WAIT_POLICY): Ditto.
1514
1515 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1516 James Norris <jnorris@codesourcery.com>
1517 Julian Brown <julian@codesourcery.com>
1518 Thomas Schwinge <thomas@codesourcery.com>
1519 Tom de Vries <tom@codesourcery.com>
1520
1521 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1522 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1523 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1524 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1525 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1526 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1527 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1528 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1531 Likewise.
1532 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1533 Likewise.
1534 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1535 Likewise.
1536 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1537 Likewise.
1538 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1539 Likewise.
1540 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1541 Likewise.
1542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1543 Likewise.
1544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1545 Likewise.
1546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1547 Likewise.
1548 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1549 Likewise.
1550 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1551 Likewise.
1552 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1553 Likewise.
1554 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1555 Likewise.
1556 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1557 Likewise.
1558 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1559 Likewise.
1560 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1561 Likewise.
1562 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1563 Likewise.
1564 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1565 Likewise.
1566 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1567 Likewise.
1568 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1569 Likewise.
1570 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1571 Likewise.
1572 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1573 Likewise.
1574 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1575 Likewise.
1576 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1577 Likewise.
1578 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1579 Likewise.
1580 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1581 Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1583 Likewise.
1584 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1585 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1586 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1587 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1588 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1589 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1590 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1591 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1592 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1593 Likewise.
1594 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1595 Likewise.
1596 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1597 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1598 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1599 Likewise.
1600 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1601 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1602 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1603 Likewise.
1604 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1605 Likewise.
1606 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1607 Likewise.
1608 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1609 Likewise.
1610 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1611 Likewise.
1612 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1613 Likewise.
1614 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1615 Likewise.
1616 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1617 Likewise.
1618 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1619 Likewise.
1620 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1621 Likewise.
1622 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1623 Likewise.
1624 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1625 Likewise.
1626 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1627 Likewise.
1628 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1629 Likewise.
1630 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1631 Likewise.
1632 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1633 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1634 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1635 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1636 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1637 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1638 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1639
1640 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1641 Thomas Schwinge <thomas@codesourcery.com>
1642 Cesar Philippidis <cesar@codesourcery.com>
1643
1644 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1645 (gomp_acc_remove_pointer): Update declaration.
1646 (gomp_acc_declare_allocate): Declare.
1647 (gomp_remove_var): Declare.
1648 * libgomp.map (OACC_2.5): Define.
1649 * oacc-mem.c (acc_map_data): Update refcount.
1650 (acc_unmap_data): Likewise.
1651 (present_create_copy): Likewise.
1652 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1653 (acc_copyin): Likewise.
1654 (FLAG_FINALIZE): Define.
1655 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1656 (acc_delete_finalize): New function.
1657 (acc_delete_finalize_async): New function.
1658 (acc_copyout_finalize): New function.
1659 (acc_copyout_finalize_async): New function.
1660 (gomp_acc_insert_pointer): Update refcounts.
1661 (gomp_acc_remove_pointer): Return if data is not present on the
1662 accelerator.
1663 * oacc-parallel.c (find_pset): Rename to find_pointer.
1664 (find_pointer): Add support for GOMP_MAP_POINTER.
1665 (handle_ftn_pointers): New function.
1666 (GOACC_parallel_keyed): Update refcounts of variables.
1667 (GOACC_enter_exit_data): Add support for finalized data mappings.
1668 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1669 of fortran arrays.
1670 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1671 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1672 for GOMP_MAP_FORCE_FROM.
1673 * openacc.f90 (module openacc_internal): Add
1674 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1675 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1676 acc_copyout_finalize and acc_delete_finalize.
1677 (acc_copyout_finalize_32_h): New subroutine.
1678 (acc_copyout_finalize_64_h): New subroutine.
1679 (acc_copyout_finalize_array_h): New subroutine.
1680 (acc_delete_finalize_32_h): New subroutine.
1681 (acc_delete_finalize_64_h): New subroutine.
1682 (acc_delete_finalize_array_h): New subroutine.
1683 * openacc.h (acc_copyout_finalize): Declare.
1684 (acc_copyout_finalize_async): Declare.
1685 (acc_delete_finalize): Declare.
1686 (acc_delete_finalize_async): Declare.
1687 * openacc_lib.h (acc_copyout_finalize): New interface.
1688 (acc_delete_finalize): New interface.
1689 * target.c (gomp_map_vars): Update dynamic_refcount.
1690 (gomp_remove_var): New function.
1691 (gomp_unmap_vars): Use it.
1692 (gomp_unload_image_from_device): Likewise.
1693 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1694 case to utilize OpenACC 2.5 data clause semantics.
1695 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1696 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1697 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1698 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1699 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1700 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1701 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1702 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1703 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1704 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1705 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1706 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1707 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1708 utilize OpenACC 2.5 data clause semantics.
1709 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1710 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1711 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1712 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1713 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1714 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1715 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1716 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1717 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1718
1719 2018-05-21 Janus Weil <janus@gcc.gnu.org>
1720
1721 PR fortran/85841
1722 PR testsuite/85865
1723 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1724 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1725 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1726 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1727 * testsuite/libgomp.fortran/task2.f90: Ditto.
1728 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1729 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1730 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1731 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1732 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1733 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1734 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1735 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1736 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1737
1738 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1739
1740 PR c++/85782
1741 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1742
1743 2018-05-09 Tom de Vries <tom@codesourcery.com>
1744
1745 PR libgomp/82901
1746 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1747 to GOACC_enter_exit_data.
1748
1749 2018-05-09 Tom de Vries <tom@codesourcery.com>
1750
1751 PR libgomp/83792
1752 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1753 (async_synchronous_p): New function.
1754 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1755 async_valid_p.
1756 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1757 async_valid_stream_id_p.
1758 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1759 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1760
1761 2018-05-07 Tom de Vries <tom@codesourcery.com>
1762
1763 PR testsuite/85677
1764 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1765 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1766
1767 2018-05-03 Tom de Vries <tom@codesourcery.com>
1768
1769 PR testsuite/85106
1770 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1771 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1772 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1773 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1774
1775 2018-05-02 Tom de Vries <tom@codesourcery.com>
1776
1777 PR libgomp/85411
1778 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1779 GOMP_OPENACC_DIM ...
1780 * env.c (parse_gomp_openacc_dim): ... here. New function.
1781 (initialize_env): Call parse_gomp_openacc_dim.
1782 (goacc_default_dims): Define.
1783 * libgomp.h (goacc_default_dims): Declare.
1784 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1785 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1786 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1787 GOMP_PLUGIN_acc_default_dim.
1788 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1789 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1790
1791 2018-05-02 Tom de Vries <tom@codesourcery.com>
1792
1793 PR testsuite/83791
1794 * testsuite/libgomp.c++/udr-9.C: Update.
1795 * testsuite/libgomp.c++/atomic-16.C: Remove.
1796 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1797 * testsuite/libgomp.c++/loop-13.C: Remove.
1798 * testsuite/libgomp.c++/loop-14.C: Remove.
1799 * testsuite/libgomp.c++/loop-15.C: Remove.
1800 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1801 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1802 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1803 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1804 * testsuite/libgomp.c++/ordered-1.C: Remove.
1805 * testsuite/libgomp.c++/pr45784.C: Remove.
1806 * testsuite/libgomp.c++/pr64824.C: Remove.
1807 * testsuite/libgomp.c++/pr64868.C: Remove.
1808 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1809 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1810 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1811 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1812 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1813 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1814 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1815 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1816 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1817 * testsuite/libgomp.c++/pr69389.C: Remove.
1818 * testsuite/libgomp.c++/simd10.C: Remove.
1819 * testsuite/libgomp.c++/simd11.C: Remove.
1820 * testsuite/libgomp.c++/simd12.C: Remove.
1821 * testsuite/libgomp.c++/simd13.C: Remove.
1822 * testsuite/libgomp.c++/target-1.C: Remove.
1823 * testsuite/libgomp.c++/target-3.C: Remove.
1824 * testsuite/libgomp.c++/target-4.C: Remove.
1825 * testsuite/libgomp.c++/target-5.C: Remove.
1826 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1827 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1828 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1829 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1830 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1831 * testsuite/libgomp.c++/udr-9.C: Remove.
1832 * testsuite/libgomp.c++/for-10.C: Remove.
1833 * testsuite/libgomp.c++/for-11.C: Remove.
1834 * testsuite/libgomp.c++/for-12.C: Remove.
1835 * testsuite/libgomp.c++/for-13.C: Remove.
1836 * testsuite/libgomp.c++/for-14.C: Remove.
1837 * testsuite/libgomp.c++/for-9.C: Remove.
1838 * testsuite/libgomp.c/atomic-18.c: Move ...
1839 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1840 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1841 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1842 * testsuite/libgomp.c/loop-13.c: Move ...
1843 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1844 * testsuite/libgomp.c/loop-14.c: Move ...
1845 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1846 * testsuite/libgomp.c/loop-15.c: Remove.
1847 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1848 * testsuite/libgomp.c/monotonic-1.c: Move ...
1849 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1850 * testsuite/libgomp.c/monotonic-2.c: Move ...
1851 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1852 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1853 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1854 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1855 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1856 * testsuite/libgomp.c/ordered-4.c: Move ...
1857 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1858 * testsuite/libgomp.c/pr45784.c: Move ...
1859 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1860 * testsuite/libgomp.c/pr64824.c: Move ...
1861 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1862 * testsuite/libgomp.c/pr64868.c: Move ...
1863 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1864 * testsuite/libgomp.c/pr66199-1.c: Move ...
1865 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1866 * testsuite/libgomp.c/pr66199-2.c: Move ...
1867 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1868 * testsuite/libgomp.c/pr66199-3.c: Move ...
1869 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1870 * testsuite/libgomp.c/pr66199-4.c: Move ...
1871 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1872 * testsuite/libgomp.c/pr66199-5.c: Move ...
1873 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1874 * testsuite/libgomp.c/pr66199-6.c: Move ...
1875 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1876 * testsuite/libgomp.c/pr66199-7.c: Move ...
1877 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1878 * testsuite/libgomp.c/pr66199-8.c: Move ...
1879 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1880 * testsuite/libgomp.c/pr66199-9.c: Move ...
1881 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1882 * testsuite/libgomp.c/pr69389.c: Move ...
1883 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1884 * testsuite/libgomp.c/simd-14.c: Move ...
1885 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1886 * testsuite/libgomp.c/simd-15.c: Move ...
1887 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1888 * testsuite/libgomp.c/simd-16.c: Move ...
1889 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1890 * testsuite/libgomp.c/simd-17.c: Move ...
1891 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1892 * testsuite/libgomp.c/target-1.c: Move ...
1893 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1894 * testsuite/libgomp.c/target-10.c: Move ...
1895 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1896 * testsuite/libgomp.c/target-13.c: Move ...
1897 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1898 * testsuite/libgomp.c/target-2.c: Move ...
1899 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1900 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1901 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1902 * testsuite/libgomp.c/taskloop-1.c: Move ...
1903 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1904 * testsuite/libgomp.c/taskloop-2.c: Move ...
1905 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1906 * testsuite/libgomp.c/taskloop-3.c: Move ...
1907 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1908 * testsuite/libgomp.c/taskloop-4.c: Move ...
1909 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1910 * testsuite/libgomp.c/udr-1.c: Move ...
1911 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1912 * testsuite/libgomp.c/for-1.c: Move ...
1913 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1914 * testsuite/libgomp.c/for-1.h: Move ...
1915 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1916 * testsuite/libgomp.c/for-2.c: Move ...
1917 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1918 * testsuite/libgomp.c/for-2.h: Move ...
1919 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1920 * testsuite/libgomp.c/for-3.c: Move ...
1921 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1922 * testsuite/libgomp.c/for-4.c: Move ...
1923 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1924 * testsuite/libgomp.c/for-5.c: Move ...
1925 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1926 * testsuite/libgomp.c/for-6.c: Move ...
1927 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1928
1929 2018-05-02 Tom de Vries <tom@codesourcery.com>
1930
1931 PR libgomp/82428
1932 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1933 __builtin_goacc_parlevel_{id,size}.
1934 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1935 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1936 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1937 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1938 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1939 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1940 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1941 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1942 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1943 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1944 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1945 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1946 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1947 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1948 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1949 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1950 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1951 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1952 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1953 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1954 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1955 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1956 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1957
1958 2018-05-02 Tom de Vries <tom@codesourcery.com>
1959
1960 PR testsuite/85106
1961 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1962
1963 2018-05-02 Tom de Vries <tom@codesourcery.com>
1964
1965 PR testsuite/85106
1966 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1967
1968 2018-04-29 Julian Brown <julian@codesourcery.com>
1969 Tom de Vries <tom@codesourcery.com>
1970
1971 PR testsuite/85527
1972 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1973 arbitrary order for iterations of atomic subtract check.
1974
1975 2018-04-28 Tom de Vries <tom@codesourcery.com>
1976
1977 PR testsuite/85527
1978 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1979 atomic capture results obtained in parallel loop to an array, instead of
1980 to a scalar.
1981
1982 2018-04-26 Tom de Vries <tom@codesourcery.com>
1983
1984 PR libgomp/84020
1985 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1986 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1987 (process_GOMP_NVPTX_JIT): New function.
1988 (link_ptx): Use process_GOMP_NVPTX_JIT.
1989
1990 2018-04-26 Richard Biener <rguenther@suse.de>
1991 Tom de Vries <tom@codesourcery.com>
1992
1993 PR lto/85422
1994 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1995
1996 2018-04-26 Tom de Vries <tom@codesourcery.com>
1997
1998 PR target/85519
1999 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2000 recursion depth from 25 to 23.
2001 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2002
2003 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2004
2005 * configure: Regenerated.
2006
2007 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2008 Tom de Vries <tom@codesourcery.com>
2009
2010 PR target/85445
2011 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2012
2013 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2014
2015 PR libgomp/85463
2016 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2017 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2018 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2019 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2020 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2021 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2022
2023 PR libfortran/85166
2024 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2025 abort".
2026 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2027
2028 2018-04-19 Jakub Jelinek <jakub@redhat.com>
2029
2030 * configure: Regenerated.
2031
2032 2018-04-18 David Malcolm <dmalcolm@redhat.com>
2033
2034 PR jit/85384
2035 * configure: Regenerate.
2036
2037 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2038 Tom de Vries <tom@codesourcery.com>
2039
2040 PR middle-end/84955
2041 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2042 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2043
2044 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2045
2046 PR fortran/83064
2047 PR testsuite/85346
2048 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2049 test from gfortran.dg to here.
2050
2051 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2052
2053 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2054 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2055
2056 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2057
2058 PR middle-end/84955
2059 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2060 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2061
2062 2018-04-05 Tom de Vries <tom@codesourcery.com>
2063
2064 PR target/85204
2065 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2066
2067 2018-03-26 Tom de Vries <tom@codesourcery.com>
2068
2069 PR tree-optimization/85063
2070 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2071 * testsuite/libgomp.c/switch-conversion.c: New test.
2072 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2073 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2074
2075 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2076
2077 PR fortran/84381
2078 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2079 call abort by STOP n.
2080 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2081 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2082 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2083 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2084 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2085 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2086 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2087 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2088 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2089 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2090 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2091 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2092 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2093 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2094 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2095 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2096 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2097 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2098 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2099 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2100 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2101 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2102 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2103 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2104 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2105 * testsuite/libgomp.fortran/character1.f90: Likewise.
2106 * testsuite/libgomp.fortran/character2.f90: Likewise.
2107 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2108 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2109 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2110 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2111 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2112 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2113 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2114 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2115 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2116 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2117 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2118 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2119 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2120 * testsuite/libgomp.fortran/do1.f90: Likewise.
2121 * testsuite/libgomp.fortran/do2.f90: Likewise.
2122 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2123 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2124 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2125 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2126 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2127 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2128 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2129 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2130 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2131 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2132 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2133 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2134 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2135 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2136 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2137 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2138 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2139 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2140 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2141 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2142 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2143 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2144 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2145 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2146 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2147 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2148 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2149 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2150 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2151 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2152 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2153 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2154 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2155 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2156 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2157 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2158 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2159 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2160 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2161 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2162 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2163 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2164 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2165 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2166 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2167 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2168 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2169 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2170 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2171 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2172 * testsuite/libgomp.fortran/lib2.f: Likewise.
2173 * testsuite/libgomp.fortran/lib3.f: Likewise.
2174 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2175 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2176 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2177 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2178 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2179 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2180 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2181 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2182 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2183 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2184 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2185 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2186 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2187 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2188 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2189 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2190 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2191 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2192 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2193 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2194 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2195 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2196 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2197 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2198 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2199 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2200 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2201 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2202 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2203 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2204 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2205 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2206 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2207 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2208 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2209 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2210 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2211 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2212 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2213 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2214 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2215 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2216 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2217 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2218 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2219 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2220 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2221 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2222 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2223 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2224 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2225 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2226 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2227 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2228 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2229 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2230 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2231 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2232 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2233 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2234 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2235 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2236 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2237 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2238 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2239 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2240 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2241 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2242 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2243 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2244 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2245 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2246 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2247 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2248 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2249 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2250 * testsuite/libgomp.fortran/stack.f90: Likewise.
2251 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2252 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2253 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2254 * testsuite/libgomp.fortran/target1.f90: Likewise.
2255 * testsuite/libgomp.fortran/target2.f90: Likewise.
2256 * testsuite/libgomp.fortran/target3.f90: Likewise.
2257 * testsuite/libgomp.fortran/target4.f90: Likewise.
2258 * testsuite/libgomp.fortran/target5.f90: Likewise.
2259 * testsuite/libgomp.fortran/target6.f90: Likewise.
2260 * testsuite/libgomp.fortran/target7.f90: Likewise.
2261 * testsuite/libgomp.fortran/target8.f90: Likewise.
2262 * testsuite/libgomp.fortran/task1.f90: Likewise.
2263 * testsuite/libgomp.fortran/task2.f90: Likewise.
2264 * testsuite/libgomp.fortran/task3.f90: Likewise.
2265 * testsuite/libgomp.fortran/task4.f90: Likewise.
2266 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2267 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2268 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2269 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2270 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2271 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2272 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2273 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2274 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2275 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2276 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2277 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2278 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2279 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2280 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2281 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2282 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2283 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2284 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2285 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2286 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2287 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2288 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2289 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2290 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2291 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2292 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2293 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2294 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2295 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2296 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2297 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2298 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2299 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2300 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2301 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2302 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2303 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2304 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2305 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2306 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2307 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2308 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2309 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2310 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2311 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2312 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2313 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2314 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2315 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2316 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2317 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2318 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2319 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2320 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2321 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2322 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2323 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2324 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2325 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2326 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2327 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2328 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2329 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2330 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2331 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2332 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2333 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2334 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2335 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2336 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2337 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2338 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2339 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2340 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2341 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2342 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2343 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2344 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2345 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2346 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2347 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2348 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2349 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2350 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2351 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2352 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2353 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2354 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2355 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2356 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2357 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2358 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2359 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2360 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2361 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2362 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2363 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2364 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2365 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2366 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2367 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2368 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2369 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2370 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2371 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2372 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2373 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2374 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2375 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2376 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2377 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2378 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2379 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2380 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2381 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2382 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2383 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2384 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2385 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2386 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2387 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2388 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2389 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2390 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2391 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2392
2393 2018-03-20 Richard Biener <rguenther@suse.de>
2394
2395 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2396 parallelizable loop.
2397
2398 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2399
2400 PR target/84148
2401 * configure: Regenerate.
2402
2403 2018-02-16 Jakub Jelinek <jakub@redhat.com>
2404
2405 PR fortran/84418
2406 * libgomp.fortran/pr84418-1.f90: New test.
2407 * libgomp.fortran/pr84418-2.f90: New test.
2408
2409 2018-02-14 Jakub Jelinek <jakub@redhat.com>
2410
2411 PR fortran/84313
2412 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2413 -std=f2003 -fall-intrinsics into dg-additional-options.
2414
2415 2018-02-08 Martin Jambor <mjambor@suse.cz>
2416
2417 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2418 clonable.
2419
2420 2018-02-08 Martin Jambor <mjambor@suse.cz>
2421
2422 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2423
2424 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2425
2426 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2427 [__cplusplus]: Declare extern "C".
2428
2429 2018-02-07 Tom de Vries <tom@codesourcery.com>
2430
2431 PR libgomp/84217
2432 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2433
2434 2018-01-29 Christoph Spiel <cspiel@freenet.de>
2435 Jakub Jelinek <jakub@redhat.com>
2436
2437 PR libgomp/84096
2438 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2439 instead of omp_lock_t.
2440
2441 2018-01-25 Tom de Vries <tom@codesourcery.com>
2442
2443 PR target/84028
2444 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2445
2446 2018-01-24 Tom de Vries <tom@codesourcery.com>
2447
2448 PR target/83589
2449 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2450
2451 2018-01-24 Tom de Vries <tom@codesourcery.com>
2452
2453 PR target/81352
2454 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2455
2456 2018-01-19 Tom de Vries <tom@codesourcery.com>
2457 Cesar Philippidis <cesar@codesourcery.com>
2458
2459 PR target/83920
2460 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2461 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2462
2463 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2464
2465 Update copyright years.
2466
2467 * libgomp.texi: Bump @copying's copyright year.
2468
2469 2017-12-30 Tom de Vries <tom@codesourcery.com>
2470
2471 PR libgomp/83046
2472 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2473 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2474
2475 2017-12-27 Tom de Vries <tom@codesourcery.com>
2476
2477 PR c++/83046
2478 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2479 (test_nonstatic): Fix return type to workaround PR83046.
2480
2481 2017-12-05 Jakub Jelinek <jakub@redhat.com>
2482
2483 PR testsuite/83281
2484 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2485 j suffix instead of i.
2486 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2487 Likewise.
2488
2489 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2490
2491 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2492 call to acc_wait (1).
2493
2494 2017-11-24 Jakub Jelinek <jakub@redhat.com>
2495
2496 PR fortran/81304
2497 * testsuite/libgomp.fortran/pr81304.f90: New test.
2498
2499 2017-11-23 Jakub Jelinek <jakub@redhat.com>
2500
2501 PR fortran/81841
2502 * libgomp.fortran/pr81841.f90: New test.
2503
2504 2017-11-22 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR libgomp/83106
2507 * target.c (gomp_target_init): Compute lengths just once and
2508 use them in both malloc size and subsequent copying.
2509
2510 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2511
2512 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2513 * acinclude.m4: Add cet.m4.
2514 * configure: Regenerate.
2515 * Makefile.in: Likewise.
2516 * testsuite/Makefile.in: Likewise.
2517
2518 2017-11-15 Tom de Vries <tom@codesourcery.com>
2519
2520 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2521 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2522 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2523 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2524 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2525 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2526
2527 2017-11-14 Tom de Vries <tom@codesourcery.com>
2528
2529 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2530 non-nvidia devices.
2531
2532 2017-11-07 Jakub Jelinek <jakub@redhat.com>
2533
2534 PR c++/82835
2535 * testsuite/libgomp.c++/pr82835.C: New test.
2536
2537 2017-11-06 Martin Liska <mliska@suse.cz>
2538
2539 * testsuite/libgomp.c++/loop-2.C: Return a value
2540 for functions with non-void return type, or change type to void,
2541 or add -Wno-return-type for test.
2542 * testsuite/libgomp.c++/loop-4.C: Likewise.
2543 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2544 * testsuite/libgomp.c++/shared-1.C: Likewise.
2545 * testsuite/libgomp.c++/single-1.C: Likewise.
2546 * testsuite/libgomp.c++/single-2.C: Likewise.
2547
2548 2017-10-31 Tom de Vries <tom@codesourcery.com>
2549
2550 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2551 "do {} while (false)".
2552 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2553 after HSA_DEBUG call.
2554
2555 2017-10-28 Jakub Jelinek <jakub@redhat.com>
2556
2557 * target.c (struct gomp_coalesce_buf): New type.
2558 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2559 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2560 (gomp_copy_host2dev): Add CBUF argument, if copying into
2561 the cached ranges, memcpy into buffer instead of copying
2562 into device.
2563 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2564 Add CBUF argument, pass it through to other calls.
2565 (gomp_map_vars): Aggregate copies from host to device if small enough
2566 and with small enough gaps in between into memcpy into a buffer and
2567 fewer host to device copies from the buffer.
2568 (gomp_update): Adjust gomp_copy_host2dev caller.
2569
2570 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2571
2572 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2573 run" directive.
2574 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2575 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2576 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2577 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2578
2579 2017-10-16 Tom de Vries <tom@codesourcery.com>
2580
2581 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2582 openacc_nvidia_accel_selected.
2583 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2584 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2585 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2586 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2587 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2588 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2589 openacc_nvidia_accel_selected. Skip for shared memory device.
2590 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2591 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2592
2593 2017-10-09 Martin Jambor <mjambor@suse.cz>
2594
2595 PR hsa/82416
2596 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2597
2598 2017-10-07 Tom de Vries <tom@codesourcery.com>
2599
2600 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2601 Remove acc_device_nvidia references.
2602 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2603 Same.
2604
2605 2017-10-05 Tom de Vries <tom@codesourcery.com>
2606
2607 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2608 vector_length(32) clause from acc parallel directive.
2609 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2610
2611 2017-10-04 Tom de Vries <tom@codesourcery.com>
2612
2613 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2614 (main): Reduce sum of arr elements. Assert that hres is exactly
2615 representable in 32-bit floating point.
2616 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2617 (main): Reduce sum of arr elements. Assert that hres and hmres are
2618 exactly representable in 32-bit floating point.
2619 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2620
2621 2017-09-28 Tom de Vries <tom@codesourcery.com>
2622
2623 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2624 setting.
2625 * testsuite/libgomp.c++/pr69393.C: Same.
2626 * testsuite/libgomp.c++/taskloop-1.C: Same.
2627 * testsuite/libgomp.c++/taskloop-3.C: Same.
2628 * testsuite/libgomp.c++/taskloop-4.C: Same.
2629 * testsuite/libgomp.c/for-4.c: Same.
2630 * testsuite/libgomp.c/pr66199-3.c: Same.
2631 * testsuite/libgomp.c/pr66199-4.c: Same.
2632 * testsuite/libgomp.c/pr66199-6.c: Same.
2633 * testsuite/libgomp.c/taskloop-1.c: Same.
2634 * testsuite/libgomp.c/taskloop-3.c: Same.
2635 * testsuite/libgomp.c/taskloop-4.c: Same.
2636 * testsuite/libgomp.fortran/aligned1.f03: Same.
2637 * testsuite/libgomp.fortran/condinc1.f: Same.
2638 * testsuite/libgomp.fortran/condinc3.f90: Same.
2639 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2640 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2641 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2642 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2643 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2644 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2645 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2646 * testsuite/libgomp.fortran/recursion1.f90: Same.
2647 * testsuite/libgomp.fortran/target2.f90: Same.
2648 * testsuite/libgomp.fortran/target5.f90: Same.
2649 * testsuite/libgomp.fortran/task3.f90: Same.
2650
2651 2017-09-28 Tom de Vries <tom@codesourcery.com>
2652
2653 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2654 vector_length(32) clause from acc parallel directive.
2655 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2656
2657 2017-09-27 Tom de Vries <tom@codesourcery.com>
2658
2659 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2660 Remove acc_device_nvidia references.
2661
2662 2017-09-16 Tom de Vries <tom@codesourcery.com>
2663
2664 PR c/81875
2665 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2666
2667 2017-09-14 Tom de Vries <tom@codesourcery.com>
2668
2669 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2670 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2671 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2672 * testsuite/libgomp.c/c.exp: Include test-cases from
2673 libgomp.c-c++-common.
2674 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2675 files.
2676
2677 2017-09-14 Jakub Jelinek <jakub@redhat.com>
2678
2679 PR c++/81314
2680 * testsuite/libgomp.c++/pr81314.C: New test.
2681
2682 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2683
2684 * libgomp.texi (Top): www.openacc.org now uses https.
2685 (Enabling OpenACC): Ditto.
2686 (acc_get_num_devices): Ditto.
2687 (acc_set_device_type): Ditto.
2688 (acc_get_device_type): Ditto.
2689 (acc_set_device_num): Ditto.
2690 (acc_get_device_num): Ditto.
2691 (acc_async_test): Ditto.
2692 (acc_async_test_all): Ditto.
2693 (acc_wait): Ditto.
2694 (acc_wait_all): Ditto.
2695 (acc_wait_all_async): Ditto.
2696 (acc_wait_async): Ditto.
2697 (acc_init): Ditto.
2698 (acc_shutdown): Ditto.
2699 (acc_on_device): Ditto.
2700 (acc_malloc): Ditto.
2701 (acc_free): Ditto.
2702 (acc_copyin): Ditto.
2703 (acc_present_or_copyin): Ditto.
2704 (acc_create): Ditto.
2705 (acc_present_or_create): Ditto.
2706 (acc_copyout): Ditto.
2707 (acc_delete): Ditto.
2708 (acc_update_device): Ditto.
2709 (acc_update_self): Ditto.
2710 (acc_map_data): Ditto.
2711 (acc_unmap_data): Ditto.
2712 (acc_deviceptr): Ditto.
2713 (acc_hostptr): Ditto.
2714 (acc_is_present): Ditto.
2715 (acc_memcpy_to_device): Ditto.
2716 (acc_memcpy_from_device): Ditto.
2717 (acc_get_current_cuda_device): Ditto.
2718 (acc_get_current_cuda_context): Ditto.
2719 (acc_get_cuda_stream): Ditto.
2720 (acc_set_cuda_stream): Ditto.
2721 (ACC_DEVICE_TYPE): Ditto.
2722 (ACC_DEVICE_NUM): Ditto.
2723 (OpenACC Library Interoperability): Ditto.
2724
2725 2017-08-09 Jakub Jelinek <jakub@redhat.com>
2726
2727 PR c/81687
2728 * testsuite/libgomp.c/pr81687-1.c: New test.
2729 * testsuite/libgomp.c/pr81687-2.c: New test.
2730
2731 2017-08-07 Jakub Jelinek <jakub@redhat.com>
2732
2733 PR c/69389
2734 * testsuite/libgomp.c/pr69389.c: New test.
2735 * testsuite/libgomp.c++/pr69389.C: New test.
2736
2737 2017-08-07 Tom de Vries <tom@codesourcery.com>
2738
2739 PR middle-end/78266
2740 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2741 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2742
2743 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2744
2745 PR c/45784
2746 * testsuite/libgomp.c/pr45784.c: New test.
2747 * testsuite/libgomp.c++/pr45784.C: New test.
2748
2749 2017-07-19 Tom de Vries <tom@codesourcery.com>
2750
2751 * testsuite/libgomp.oacc-c/vec.c: New test.
2752
2753 2017-07-03 Tom de Vries <tom@codesourcery.com>
2754
2755 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2756
2757 2017-06-27 Tom de Vries <tom@codesourcery.com>
2758
2759 * plugin/plugin-nvptx.c (notify_var): New function.
2760 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2761
2762 2017-06-27 Tom de Vries <tom@codesourcery.com>
2763
2764 * env.c (parse_unsigned_long_1): Factor out of ...
2765 (parse_unsigned_long): ... here.
2766 (parse_int_1): Factor out of ...
2767 (parse_int): ... here.
2768 (parse_int_secure): New function.
2769 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2770 * secure_getenv.h: Factor out of ...
2771 * plugin/plugin-hsa.c: ... here.
2772 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2773
2774 2017-06-21 Jakub Jelinek <jakub@redhat.com>
2775
2776 PR c++/81130
2777 * testsuite/libgomp.c++/pr81130.C: New test.
2778
2779 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2780
2781 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2782 default args.
2783 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2784 dg-xfail-run-if default args.
2785
2786 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2787
2788 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2789 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2790
2791 2017-05-30 Jakub Jelinek <jakub@redhat.com>
2792
2793 PR libgomp/80822
2794 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2795 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2796 sibling lists, depending on level just pick up what CPUs to put
2797 together into a place vs. whether add multiple ordered places.
2798
2799 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2800
2801 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2802 * libgomp.map (OACC_2.0.1): Add these.
2803 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2804 for "acc_wait", and "acc_wait_all", respectively.
2805 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2806 for "acc_wait", and "acc_wait_all", respectively.
2807 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2808 * libgomp.texi (acc_wait, acc_wait_all): Update.
2809 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2810 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2811 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2812
2813 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2814 acc_present_or_copyin and acc_present_or_create procedures,
2815 respectively.
2816 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2817 generally different variants of OpenACC Runtime Library functions.
2818 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2819
2820 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2821 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2822
2823 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2824 of preprocessor definitions.
2825 * libgomp.h (strong_alias): Guard by "#ifdef
2826 HAVE_ATTRIBUTE_ALIAS".
2827 * oacc-mem.c: Provide "acc_pcreate" as alias for
2828 "acc_present_or_create", and "acc_pcopyin" as alias for
2829 "acc_present_or_copyin".
2830 * libgomp.map: New version "OACC_2.0.1".
2831 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2832 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2833 its content into...
2834 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2835 Extend testing.
2836
2837 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2838 when disabling nvptx offloading.
2839
2840 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2841
2842 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2844 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2845
2846 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2847 * testsuite/lib/libgomp.exp
2848 (check_effective_target_openacc_nvidia_accel_configured): New
2849 proc.
2850 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2851 (check_effective_target_c++): New procs.
2852 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2853 (check_effective_target_c++): Likewise.
2854
2855 2017-05-22 Jakub Jelinek <jakub@redhat.com>
2856
2857 PR middle-end/80809
2858 * testsuite/libgomp.c/pr80809-2.c: New test.
2859 * testsuite/libgomp.c/pr80809-3.c: New test.
2860
2861 PR middle-end/80809
2862 * testsuite/libgomp.c/pr80809-1.c: New test.
2863
2864 PR middle-end/80853
2865 * testsuite/libgomp.c/pr80853.c: New test.
2866
2867 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2868
2869 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2870 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2871 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2872 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2873 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2874
2875 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2876 Debug output for failure.
2877
2878 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2879
2880 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2881
2882 2017-04-27 Jakub Jelinek <jakub@redhat.com>
2883
2884 PR bootstrap/80531
2885 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2886 bootstrap compare failures.
2887
2888 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
2889
2890 * testsuite/libgomp.c/target-36.c: New testcase.
2891
2892 2017-04-13 Jakub Jelinek <jakub@redhat.com>
2893
2894 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2895 instead of char.
2896
2897 2017-04-11 Jakub Jelinek <jakub@redhat.com>
2898
2899 PR libgomp/80394
2900 * testsuite/libgomp.c/pr80394.c: New test.
2901
2902 2017-04-04 Jakub Jelinek <jakub@redhat.com>
2903
2904 PR libgomp/79876
2905 * config/posix/thread-stacksize.h: New file.
2906 * config/darwin/thread-stacksize.h: New file.
2907 * config/nvptx/thread-stacksize.h: New file.
2908 * env.c: Include thread-stacksize.h.
2909 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2910 instead of 0. Call pthread_attr_setstacksize even if
2911 GOMP_DEFAULT_STACKSIZE is non-zero.
2912
2913 2017-03-30 Jakub Jelinek <jakub@redhat.com>
2914
2915 * env.c (initialize_env): Initialize stacksize to 0.
2916
2917 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2918
2919 PR c++/80029
2920 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2921
2922 2017-03-08 Jakub Jelinek <jakub@redhat.com>
2923
2924 PR c/79940
2925 * testsuite/libgomp.c/pr79940.c: New test.
2926
2927 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2928
2929 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2930 targets.
2931 Add __float128 options.
2932
2933 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
2934
2935 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2936 hppa*-*-* dg-skip-if directive.
2937
2938 2017-02-09 Jakub Jelinek <jakub@redhat.com>
2939
2940 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2941 dg-skip-if directive into a comment.
2942
2943 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2944 Chung-Lin Tang <cltang@codesourcery.com>
2945
2946 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2947 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2948 add additional case.
2949 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2950 "openacc_nvidia_accel_selected".
2951 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2952 Add num_workers(8) clause.
2953
2954 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
2955
2956 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2957 hppa*-*-*.
2958 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2959 include complex.h on hppa*-*-hpux*.
2960 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2961
2962 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2963
2964 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2965
2966 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2967 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2968 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2969 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2970 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2971 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2972 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2973 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2974 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2975 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2976
2977 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2978
2979 * libgomp-plugin.h: #include <stdbool.h>.
2980 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2981 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2982 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2983 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2984 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2985 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2986 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2987 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2988 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2989 (GOMP_OFFLOAD_openacc_async_test)
2990 (GOMP_OFFLOAD_openacc_async_test_all)
2991 (GOMP_OFFLOAD_openacc_async_wait)
2992 (GOMP_OFFLOAD_openacc_async_wait_async)
2993 (GOMP_OFFLOAD_openacc_async_wait_all)
2994 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2995 (GOMP_OFFLOAD_openacc_async_set_async)
2996 (GOMP_OFFLOAD_openacc_create_thread_data)
2997 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2998 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2999 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3000 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3001 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3002 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3003 these.
3004 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3005 (GOMP_OFFLOAD_unload_image): Fix argument types.
3006
3007 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3008
3009 * testsuite/lib/libgomp.exp
3010 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3011 check_compile invocation. Fix up removal of executable. Drop
3012 bogus "2>&1" argument.
3013
3014 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3015 directive.
3016
3017 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
3018 Martin Jambor <mjambor@suse.cz>
3019
3020 * plugin/hsa.h: Moved to top level include.
3021 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3022
3023 2017-01-21 Jakub Jelinek <jakub@redhat.com>
3024
3025 PR other/79046
3026 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3027 of cat to get version from BASE-VER file.
3028 * testsuite/Makefile.in: Regenerated.
3029
3030 2017-01-19 Jakub Jelinek <jakub@redhat.com>
3031
3032 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3033 for _WIN64.
3034
3035 2017-01-17 Jakub Jelinek <jakub@redhat.com>
3036
3037 * plugin/hsa.h: Add GCC runtime library exception.
3038 * plugin/hsa_ext_finalize.h: Likewise.
3039
3040 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3041 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3042 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3043 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3044 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3045 library to link ptx plugin against.
3046 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3047 (CUDA_CALLS): Define.
3048 (cuda_lib, cuda_lib_inited): New variables.
3049 (init_cuda_lib): New function.
3050 (CUDA_CALL_PREFIX): Define.
3051 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3052 (CUDA_CALL): Use FN instead of (FN).
3053 (CUDA_CALL_NOCHECK): Define.
3054 (cuda_error, fini_streams_for_device, select_stream_for_async,
3055 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3056 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3057 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3058 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3059 CUDA_CALL_NOCHECK.
3060 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3061 CUDA_CALL_NOCHECK.
3062 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3063 Use CUDA_CALL_NOCHECK.
3064 * plugin/cuda/cuda.h: New file.
3065 * config.h.in: Regenerated.
3066 * configure: Regenerated.
3067
3068 PR other/79046
3069 * configure.ac: Add GCC_BASE_VER.
3070 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3071 get version from BASE-VER file.
3072 * testsuite/Makefile.in: Regenerated.
3073 * configure: Regenerated.
3074 * Makefile.in: Regenerated.
3075
3076 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3077
3078 PR libgomp/60670
3079 * Makefile.am: Make fincludedir multilib-aware.
3080 * Makefile.in: Regenerate.
3081
3082 2017-01-01 Jakub Jelinek <jakub@redhat.com>
3083
3084 Update copyright years.
3085
3086 * libgomp.texi: Bump @copying's copyright year.
3087
3088 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3089
3090 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3091 pthread_spinlock_t instead of gomp_mutex_t lock.
3092 (gomp_get_thread_pool): Likewise.
3093 (gomp_release_thread_pool): Likewise.
3094 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3095 Likewise.
3096
3097 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3098
3099 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3100 thread pool in case nthreads == 1.
3101
3102 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3103
3104 * config/nvptx/env.c: Delete.
3105 * icv.c: Move definitions of ICV variables back ...
3106 * env.c: ...here. Do not compile environment-related functionality if
3107 LIBGOMP_OFFLOADED_ONLY is set.
3108
3109 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3110
3111 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3112 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3113 * configure: Regenerate.
3114 * config.h.in: Likewise.
3115
3116 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3117
3118 * Makefile.in: Regenerate with automake-1.11.6.
3119 * aclocal.m4: Likewise.
3120 * configure: Likewise.
3121 * testsuite/Makefile.in: Likewise.
3122
3123 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
3124
3125 * config/nvptx/critical.c: Delete to use generic implementation.
3126
3127 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3128
3129 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3130 ../../affinity.c as fallback.
3131 * config/nvptx/affinity.c: Delete to use fallback implementation.
3132
3133 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
3134 Jakub Jelinek <jakub@redhat.com>
3135 Dmitry Melnik <dm@ispras.ru>
3136
3137 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3138 * Makefile.in. Regenerate.
3139 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3140 (LIBGOMP_USE_PTHREADS): ...here; new define.
3141 * configure: Regenerate.
3142 * config.h.in: Likewise.
3143 * config/posix/affinity.c: Move to...
3144 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3145 interface by LIBGOMP_USE_PTHREADS.
3146 * critical.c: Split out GOMP_atomic_{start,end} into...
3147 * atomic.c: ...here (new file).
3148 * env.c: Split out ICV definitions into...
3149 * icv.c: ...here (new file) and...
3150 * icv-device.c: ...here. New file.
3151 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3152 (gomp_destroy_lock_30): Ditto.
3153 (gomp_set_lock_30): Ditto.
3154 (gomp_unset_lock_30): Ditto.
3155 (gomp_test_lock_30): Ditto.
3156 (gomp_init_nest_lock_30): Ditto.
3157 (gomp_destroy_nest_lock_30): Ditto.
3158 (gomp_set_nest_lock_30): Ditto.
3159 (gomp_unset_nest_lock_30): Ditto.
3160 (gomp_test_nest_lock_30): Ditto.
3161 * lock.c: New.
3162 * config/nvptx/lock.c: New.
3163 * config/nvptx/bar.c: New.
3164 * config/nvptx/bar.h: New.
3165 * config/nvptx/doacross.h: New.
3166 * config/nvptx/error.c: New.
3167 * config/nvptx/icv-device.c: New.
3168 * config/nvptx/mutex.h: New.
3169 * config/nvptx/pool.h: New.
3170 * config/nvptx/proc.c: New.
3171 * config/nvptx/ptrlock.h: New.
3172 * config/nvptx/sem.h: New.
3173 * config/nvptx/simple-bar.h: New.
3174 * config/nvptx/target.c: New.
3175 * config/nvptx/task.c: New.
3176 * config/nvptx/team.c: New.
3177 * config/nvptx/time.c: New.
3178 * config/posix/simple-bar.h: New.
3179 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3180 (gomp_num_teams_var): Declare.
3181 (struct gomp_thread_pool): Change threads_dock member to
3182 gomp_simple_barrier_t.
3183 [__nvptx__] (gomp_thread): New implementation.
3184 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3185 (gomp_thread_destructor): Ditto.
3186 (gomp_init_thread_affinity): Ditto.
3187 * team.c: Guard uses of Pthreads-specific interfaces by
3188 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3189 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3190 * config/nvptx/alloc.c: Delete.
3191 * config/nvptx/barrier.c: Ditto.
3192 * config/nvptx/fortran.c: Ditto.
3193 * config/nvptx/iter.c: Ditto.
3194 * config/nvptx/iter_ull.c: Ditto.
3195 * config/nvptx/loop.c: Ditto.
3196 * config/nvptx/loop_ull.c: Ditto.
3197 * config/nvptx/ordered.c: Ditto.
3198 * config/nvptx/parallel.c: Ditto.
3199 * config/nvptx/priority_queue.c: Ditto.
3200 * config/nvptx/sections.c: Ditto.
3201 * config/nvptx/single.c: Ditto.
3202 * config/nvptx/splay-tree.c: Ditto.
3203 * config/nvptx/work.c: Ditto.
3204 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3205 -foffload=-lgfortran in addition to -lgfortran.
3206 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3207 * plugin/plugin-nvptx.c: Include <limits.h>.
3208 (struct targ_fn_descriptor): Add new fields.
3209 (struct ptx_device): Ditto. Set them...
3210 (nvptx_open_device): ...here.
3211 (nvptx_adjust_launch_bounds): New.
3212 (nvptx_host2dev): Allow NULL 'nvthd'.
3213 (nvptx_dev2host): Ditto.
3214 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3215 (link_ptx): Adjust log sizes.
3216 (nvptx_host2dev): Allow NULL 'nvthd'.
3217 (nvptx_dev2host): Ditto.
3218 (nvptx_set_clocktick): New. Use it...
3219 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3220 fields.
3221 (GOMP_OFFLOAD_dev2dev): New.
3222 (nvptx_adjust_launch_bounds): New.
3223 (nvptx_stacks_size): New.
3224 (nvptx_stacks_alloc): New.
3225 (nvptx_stacks_free): New.
3226 (GOMP_OFFLOAD_run): New.
3227 (GOMP_OFFLOAD_async_run): New (stub).
3228
3229 2016-11-23 Martin Jambor <mjambor@suse.cz>
3230
3231 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3232 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3233 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3234
3235 2016-11-23 Martin Liska <mliska@suse.cz>
3236 Martin Jambor <mjambor@suse.cz>
3237
3238 * plugin/hsa.h: New file.
3239 * plugin/hsa_ext_finalize.h: New file.
3240 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3241 header file unistd.h, and functions secure_getenv, __secure_getenv,
3242 getuid, geteuid, getgid and getegid.
3243 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3244 -D_GNU_SOURCE.
3245 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3246 Handle various cases of secure_getenv presence, add an implementation
3247 when we can test effective UID and GID.
3248 (struct hsa_runtime_fn_info): New structure.
3249 (hsa_runtime_fn_info hsa_fns): New variable.
3250 (hsa_runtime_lib): Likewise.
3251 (support_cpu_devices): Likewise.
3252 (init_enviroment_variables): Load newly introduced ENV
3253 variables.
3254 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3255 (hsa_fatal): Likewise.
3256 (DLSYM_FN): New macro.
3257 (init_hsa_runtime_functions): New function.
3258 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3259 structure. Depending on environment, also allow CPU devices.
3260 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3261 (get_kernarg_memory_region): Likewise.
3262 (GOMP_OFFLOAD_init_device): Likewise.
3263 (destroy_hsa_program): Likewise.
3264 (init_basic_kernel_info): New function.
3265 (GOMP_OFFLOAD_load_image): Use it.
3266 (create_and_finalize_hsa_program): Call hsa run-time functions via
3267 hsa_fns structure.
3268 (create_single_kernel_dispatch): Likewise.
3269 (release_kernel_dispatch): Likewise.
3270 (init_single_kernel): Likewise.
3271 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3272 (get_group_size): New function.
3273 (run_kernel): Likewise.
3274 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3275 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3276 structure.
3277 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3278 * testsuite/libgomp-test-support.exp.in: Likewise.
3279 * Makefile.in: Regenerated.
3280 * aclocal.m4: Likewise.
3281 * config.h.in: Likewise.
3282 * configure: Likewise.
3283 * testsuite/Makefile.in: Likewise.
3284
3285 2016-11-15 Martin Jambor <mjambor@suse.cz>
3286 Alexander Monakov <amonakov@ispras.ru>
3287
3288 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3289 mapping clauses to target constructs.
3290 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3291
3292 2016-11-15 Matthias Klose <doko@ubuntu.com>
3293
3294 * configure: Regenerate.
3295
3296 2016-11-10 Jakub Jelinek <jakub@redhat.com>
3297
3298 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3299 * omp_lib.h.in (openmp_version): Likewise.
3300 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3301 of 201307.
3302 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3303
3304 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3305 (fib_wrapper): Add map(from: x) clause.
3306 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3307 (e_53_2): Likewise.
3308 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3309 (accum): Add map(tmp) clause.
3310 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3311 (accum): Add map(tofrom: tmp) clause.
3312 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3313 (gramSchmidt): Likewise.
3314 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3315 map(tofrom: sum) clause.
3316 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3317 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3318 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3319 only allowed on the loop iterator.
3320 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3321 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3322 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3323 * testsuite/libgomp.fortran/doacross1.f90: New test.
3324 * testsuite/libgomp.fortran/doacross3.f90: New test.
3325 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3326 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3327 * testsuite/libgomp.fortran/doacross2.f90: New test.
3328 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3329 #pragma omp atomic read.
3330 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3331 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3332
3333 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3334 Nathan Sidwell <nathan@acm.org>
3335
3336 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3337 to determine default geometry.
3338 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3339 dimension.
3340
3341 2016-11-01 Jakub Jelinek <jakub@redhat.com>
3342
3343 * hashtab.h: Use standard GPLv3 with runtime exception
3344 boilerplate.
3345
3346 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
3347
3348 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3349 size when allocating new thread.
3350
3351 2016-09-14 Marek Polacek <polacek@redhat.com>
3352
3353 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3354
3355 2016-08-19 Jakub Jelinek <jakub@redhat.com>
3356
3357 PR fortran/71014
3358 * testsuite/libgomp.fortran/pr71014.f90: New test.
3359
3360 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3361
3362 PR middle-end/70895
3363 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3364 firstprivate clauses.
3365 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3366 copy clauses.
3367 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3368 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3369 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3370 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3371 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3372 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3373 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3374 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3375 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3376 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3377 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3378 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3379
3380 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3381
3382 PR fortran/70598
3383 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3384
3385 2016-08-08 Jakub Jelinek <jakub@redhat.com>
3386
3387 PR c++/58706
3388 * testsuite/libgomp.c++/pr58706.C: New test.
3389
3390 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3391
3392 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3393 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3394 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3395 Likewise.
3396 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3397 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3398 Likewise.
3399 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3400
3401 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3402 test, and don't hardcode -O0.
3403
3404 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3405
3406 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3407
3408 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3409
3410 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3411 test.
3412
3413 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3414
3415 PR middle-end/71734
3416 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3417 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3418
3419 2016-07-01 Jakub Jelinek <jakub@redhat.com>
3420
3421 PR fortran/71717
3422 * testsuite/libgomp.fortran/associate3.f90: New test.
3423
3424 2016-06-17 Jakub Jelinek <jakub@redhat.com>
3425
3426 * testsuite/libgomp.c++/target-21.C: New test.
3427
3428 2016-06-16 Jakub Jelinek <jakub@redhat.com>
3429
3430 * testsuite/libgomp.c++/target-20.C: New test.
3431
3432 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3433 Cesar Philippidis <cesar@codesourcery.com>
3434
3435 PR middle-end/71373
3436 * libgomp.oacc-c/nested-function-1.c: New file.
3437 * libgomp.oacc-c/nested-function-2.c: Likewise.
3438 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3439 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3440 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3441
3442 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3443
3444 PR c/71381
3445 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3446 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3447 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3448
3449 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3450
3451 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3452 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3453
3454 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3455
3456 PR c/70688
3457 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3458
3459 2016-05-26 Jakub Jelinek <jakub@redhat.com>
3460
3461 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3462 instead of invalid schedule(static, 0).
3463 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3464
3465 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3466
3467 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3468 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3469 parameter, use to set async stream around call to gomp_unmap_vars,
3470 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3471 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3472 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3473 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3474 (event_add): Add int parameter, initialize 'val' field when
3475 adding new ptx_event struct.
3476 (nvptx_evec): Adjust event_add() call arguments.
3477 (nvptx_host2dev): Likewise.
3478 (nvptx_dev2host): Likewise.
3479 (nvptx_wait_async): Likewise.
3480 (nvptx_wait_all_async): Likewise.
3481 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3482 pass to event_add() call.
3483 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3484 parameter.
3485 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3486 call openacc.register_async_cleanup_func() hook.
3487 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3488 * target.c (gomp_copy_from_async): Delete function.
3489 (gomp_map_vars): Remove async_refcount.
3490 (gomp_unmap_vars): Likewise.
3491 (gomp_load_image_to_device): Likewise.
3492 (omp_target_associate_ptr): Likewise.
3493 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3494 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3495 (gomp_copy_from_async): Remove.
3496
3497 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3498
3499 * target.c (gomp_device_copy): New function.
3500 (gomp_copy_host2dev): Likewise.
3501 (gomp_copy_dev2host): Likewise.
3502 (gomp_free_device_memory): Likewise.
3503 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3504 (gomp_map_pointer): Likewise.
3505 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3506 NULL value from alloc_func plugin hook.
3507 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3508 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3509 (gomp_unmap_vars): Likewise.
3510 (gomp_update): Adjust to call gomp_copy_dev2host and
3511 gomp_copy_host2dev functions.
3512 (gomp_unload_image_from_device): Handle false value from
3513 unload_image_func plugin hook.
3514 (gomp_init_device): Handle false value from init_device_func
3515 plugin hook.
3516 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3517 (omp_target_free): Adjust to call gomp_free_device_memory.
3518 (omp_target_memcpy): Handle return values from host2dev_func,
3519 dev2host_func, and dev2dev_func plugin hooks.
3520 (omp_target_memcpy_rect_worker): Likewise.
3521 (gomp_target_fini): Handle false value from fini_device_func
3522 plugin hook.
3523 * libgomp.h (struct gomp_device_descr): Adjust return type of
3524 init_device_func, fini_device_func, unload_image_func, free_func,
3525 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3526 * oacc-init.c (acc_shutdown_1): Handle false value from
3527 fini_device_func plugin hook.
3528 * oacc-host.c (host_init_device): Change return type to bool.
3529 (host_fini_device): Likewise.
3530 (host_unload_image): Likewise.
3531 (host_free): Likewise.
3532 (host_dev2host): Likewise.
3533 (host_host2dev): Likewise.
3534 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3535 (acc_memcpy_to_device): Likewise.
3536 (acc_memcpy_from_device): Likewise.
3537 (delete_copyout): Add libfnname parameter, handle free_func
3538 hook fatal error case.
3539 (acc_delete): Adjust delete_copyout call.
3540 (acc_copyout): Likewise.
3541 (update_dev_host): Move gomp_mutex_unlock to after
3542 host2dev/dev2host hook calls.
3543
3544 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3545 to 'hsa_error_msg', for clarity.
3546 (hsa_fatal): Likewise.
3547 (hsa_error): New function.
3548 (init_hsa_context): Change return type to bool, adjust to return
3549 false on error.
3550 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3551 return value.
3552 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3553 return false on error.
3554 (get_agent_info): Adjust to return NULL on error.
3555 (destroy_hsa_program): Change return type to bool, adjust to
3556 return false on error.
3557 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3558 (destroy_module): Change return type to bool, adjust to
3559 return false on error.
3560 (GOMP_OFFLOAD_unload_image): Likewise.
3561 (GOMP_OFFLOAD_fini_device): Likewise.
3562 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3563 (GOMP_OFFLOAD_free): Change to return false when called.
3564 (GOMP_OFFLOAD_dev2host): Likewise.
3565 (GOMP_OFFLOAD_host2dev): Likewise.
3566 (GOMP_OFFLOAD_dev2dev): Likewise.
3567
3568 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3569 (CUDA_CALL): Likewise.
3570 (CUDA_CALL_ASSERT): Likewise.
3571 (map_init): Change return type to bool, use CUDA_CALL* macros.
3572 (map_fini): Likewise.
3573 (init_streams_for_device): Change return type to bool, adjust
3574 call to map_init.
3575 (fini_streams_for_device): Change return type to bool, adjust
3576 call to map_fini.
3577 (select_stream_for_async): Release stream_lock before calls to
3578 GOMP_PLUGIN_fatal, adjust call to map_init.
3579 (nvptx_init): Use CUDA_CALL* macros.
3580 (nvptx_attach_host_thread_to_device): Change return type to bool,
3581 use CUDA_CALL* macros.
3582 (nvptx_open_device): Use CUDA_CALL* macros.
3583 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3584 macros.
3585 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3586 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3587 (nvptx_exec): Use CUDA_CALL* macros.
3588 (nvptx_alloc): Use CUDA_CALL* macros.
3589 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3590 (nvptx_host2dev): Likewise.
3591 (nvptx_dev2host): Likewise.
3592 (nvptx_wait): Use CUDA_CALL* macros.
3593 (nvptx_wait_async): Likewise.
3594 (nvptx_wait_all): Likewise.
3595 (nvptx_wait_all_async): Likewise.
3596 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3597 use CUDA_CALL* macros, adjust call to map_fini.
3598 (GOMP_OFFLOAD_init_device): Change return type to bool,
3599 adjust code accordingly.
3600 (GOMP_OFFLOAD_fini_device): Likewise.
3601 (GOMP_OFFLOAD_load_image): Adjust calls to
3602 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3603 use CUDA_CALL* macros.
3604 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3605 return code.
3606 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3607 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3608 handle error return.
3609 (GOMP_OFFLOAD_dev2host): Likewise.
3610 (GOMP_OFFLOAD_host2dev): Likewise.
3611 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3612 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3613
3614 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3615
3616 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3617 (acc_free): Likewise.
3618 (acc_memcpy_to_device): Likewise.
3619 (acc_memcpy_from_device): Likewise.
3620 (acc_deviceptr): Likewise.
3621 (acc_hostptr): Likewise.
3622 (acc_is_present): Likewise.
3623 (acc_map_data): Likewise.
3624 (acc_unmap_data): Likewise.
3625 (present_create_copy): Likewise.
3626 (delete_copyout): Likewise.
3627 (update_dev_host): Likewise.
3628 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3629 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3630 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3631 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3632 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3633 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3634 it only runs on nvptx targets.
3635 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3636 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3637 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3638 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3639 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3640 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3641 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3642 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3643 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3644 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3645 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3646 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3648 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3649 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3650 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3651 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3652 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3653 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3654 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3655 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3656 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3657 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3658
3659 2016-05-23 Martin Jambor <mjambor@suse.cz>
3660
3661 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3662
3663 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3664
3665 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3666 to gomp_init_targets_once.
3667 (acc_set_device_type): Remove !cached_base_dev condition on call to
3668 gomp_init_targets_once, move call to before acc_device_lock acquire,
3669 to avoid deadlock.
3670 (acc_get_device_num): Remove !cached_base_dev condition on call to
3671 gomp_init_targets_once.
3672 (acc_set_device_num): Likewise.
3673
3674 2016-05-16 Martin Jambor <mjambor@suse.cz>
3675
3676 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
3677
3678 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3679
3680 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3681 expected partitioning.
3682
3683 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3684
3685 PR middle-end/70626
3686 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3687 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3688 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3689
3690 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
3691
3692 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3693 non-fatal.
3694
3695 2016-04-19 Jakub Jelinek <jakub@redhat.com>
3696
3697 PR middle-end/70680
3698 * testsuite/libgomp.c/pr70680-1.c: New test.
3699 * testsuite/libgomp.c/pr70680-2.c: New test.
3700
3701 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3702
3703 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3704 pass parameter variables to subroutines.
3705
3706 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3707
3708 PR middle-end/70643
3709 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3710
3711 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3712
3713 PR testsuite/68242
3714 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3715 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3716
3717 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3718
3719 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3720 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3721 GOACC_declare prototype.
3722
3723 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3724 Merge this file, and...
3725 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3726 ... this file, and...
3727 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3728 ... this file, and...
3729 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3730 ... this file, and...
3731 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3732 ... this file, and...
3733 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3734 ... this file, and...
3735 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3736 ... this file, and...
3737 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3738 ... this file, and...
3739 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3740 ... this file, and...
3741 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3742 ... this file, and...
3743 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3744 ... this file, and...
3745 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3746 ... this file, and...
3747 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3748 ... this file into...
3749 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3750 file.
3751
3752 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3753 Make failure observable.
3754
3755 2016-04-12 Jakub Jelinek <jakub@redhat.com>
3756
3757 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3758 field.
3759 * target.c (gomp_target_fallback_firstprivate,
3760 gomp_target_unshare_firstprivate): Removed.
3761 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3762 before waiting for dependencies.
3763 (gomp_target_task_fn): Don't copy firstprivate vars here.
3764 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3765 firstprivate_copies here.
3766 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3767 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3768 explicit/implicit firstprivate.
3769
3770 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3771
3772 PR lto/70289
3773 PR ipa/70348
3774 PR tree-optimization/70373
3775 PR middle-end/70533
3776 PR middle-end/70534
3777 PR middle-end/70535
3778 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3779 test.
3780 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3781 test.
3782 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3783 test.
3784 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3785 test.
3786 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3787 test.
3788 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3789 test.
3790 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3791 test.
3792 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3793 test.
3794 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3795 test.
3796 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3797 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3798 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3799 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3800 test.
3801 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3802 test.
3803 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3804 test.
3805 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3806 test.
3807 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3808 coverage.
3809 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3810 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3811 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3812 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3813 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3814 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3815 coverage.
3816 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3817 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3818 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3819 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3820 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3821 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3822 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3823 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3824 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3825 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3826 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3827 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3831
3832 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3833 James Norris <jnorris@codesourcery.com>
3834 Nathan Sidwell <nathan@codesourcery.com>
3835 Julian Brown <julian@codesourcery.com>
3836 Cesar Philippidis <cesar@codesourcery.com>
3837 Chung-Lin Tang <cltang@codesourcery.com>
3838 Tom de Vries <tom@codesourcery.com>
3839
3840 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3841 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3842 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3843 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3844 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3845 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3846 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3847 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3848 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3849 XFAIL.
3850 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3851 Incorporate...
3852 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3853 file.
3854 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3855 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3856 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3857 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3858 Likewise.
3859 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3860 Likewise.
3861 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3862 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3863 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3864 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3865 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3866 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3867 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3868 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3869 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3870 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3871 Likewise.
3872 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3873 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3874 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3875 file...
3876 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3877 file into...
3878 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3879 file. Update.
3880 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3881 file.
3882 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3883 Likewise.
3884 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3885 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3886 ... this new file. Update.
3887 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3888 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3889 ... this new file. Update.
3890 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3891 file. Incorporate...
3892 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3893 file, and...
3894 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3895 file, and...
3896 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3897 file.
3898 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3899
3900 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3901
3902 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3903 set-torture-options.
3904
3905 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3906
3907 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3908 gcc-dg-runtest.
3909 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3910 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3911 -fno-builtin-acc_on_device instead of -O0.
3912 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3913 -O0.
3914 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3915 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3916 Likewise.
3917 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3918 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3919 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3920 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3922 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3923 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3924 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3925 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3926 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3927 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3928 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3929 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3930 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3931 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3932 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3933 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3934 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3935 Don't specify -O2.
3936 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3937 Likewise.
3938 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3939 Likewise.
3940
3941 2016-03-24 Martin Liska <mliska@suse.cz>
3942
3943 * plugin/plugin-hsa.c (packet_store_release): New function
3944 that is taken from the HSA runtime manual.
3945 (GOMP_OFFLOAD_run): Use the function.
3946
3947 2016-03-23 Jakub Jelinek <jakub@redhat.com>
3948
3949 PR c++/70376
3950 * testsuite/libgomp.c++/pr70376.C: New test.
3951
3952 2016-03-23 Tom de Vries <tom@codesourcery.com>
3953
3954 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3955 initialization of lresult and lvresult.
3956 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3957
3958 2016-03-23 James Norris <jnorris@codesourcery.com>
3959 Daichi Fukuoka <dc-fukuoka@sgi.com>
3960
3961 PR libgomp/69414
3962 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3963 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3964 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3965 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3966
3967 2016-03-23 Martin Liska <mliska@suse.cz>
3968
3969 PR hsa/70337
3970 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3971 argument just in case a dispatched kernel uses that argument.
3972
3973 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3974
3975 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3976 -ftree-parallelize-loops/-fopenacc changes.
3977 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3978 Likewise.
3979 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3980 Likewise.
3981 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3982 Likewise.
3983 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3984 Likewise.
3985 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3986 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3987
3988 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3989
3990 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3991 always_ld_library_path the path to libgcc_s.
3992
3993 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3994
3995 PR testsuite/70009
3996 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3997
3998 2016-03-09 Tom de Vries <tom@codesourcery.com>
3999
4000 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4001 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4002 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4003 Same.
4004 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4005 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4006 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4007 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4008
4009 2016-03-07 Martin Jambor <mjambor@suse.cz>
4010
4011 * testsuite/lib/libgomp.exp
4012 (check_effective_target_hsa_offloading_selected_nocache): New.
4013 (check_effective_target_hsa_offloading_selected): Likewise.
4014 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4015 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4016 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4017 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4018 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4019 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4020 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4021 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4022 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4023 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4024 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4025 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4026 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4027 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4028 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4029 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4030 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4031
4032 2016-03-07 Martin Jambor <mjambor@suse.cz>
4033
4034 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4035 non-shared memory accelerators.
4036 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4037 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4038 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4039 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4040 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4041 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4042 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4043 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4044 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4045
4046 2016-03-07 Martin Jambor <mjambor@suse.cz>
4047
4048 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4049 ALWAYS_CFLAGS.
4050
4051 2016-03-02 Jakub Jelinek <jakub@redhat.com>
4052
4053 PR libgomp/69555
4054 * testsuite/libgomp.c++/pr69555-1.C: New test.
4055 * testsuite/libgomp.c++/pr69555-2.C: New test.
4056
4057 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4058 Martin Jambor <mjambor@suse.cz>
4059
4060 * testsuite/lib/libgomp.exp
4061 (check_effective_target_offload_device_shared_as): New proc.
4062 * testsuite/libgomp.c++/declare_target-1.C: New test.
4063
4064 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4065
4066 PR driver/68463
4067 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4068
4069 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4070
4071 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4072 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4073 dims.
4074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4075 -ftree-parallelize-loops/-fopenacc changes.
4076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4078 Likewise.
4079 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4080 Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4082 Likewise.
4083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4084 Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4086 Likewise.
4087 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4088 Likewise.
4089 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4090 Likewise.
4091 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4093 Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4095 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4096 Likewise.
4097 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4098 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4099 Likewise.
4100
4101 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4102
4103 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4104
4105 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4106
4107 PR driver/69805
4108 * testsuite/libgomp.c/pr69805.c: New test.
4109
4110 2016-02-16 Tom de Vries <tom@codesourcery.com>
4111
4112 PR lto/67709
4113 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4114
4115 2016-02-09 Tom de Vries <tom@codesourcery.com>
4116
4117 PR tree-optimization/69599
4118 * testsuite/libgomp.c/omp-nested-3.c: New test.
4119 * testsuite/libgomp.c/pr46032-2.c: New test.
4120 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4121 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4122
4123 2016-02-09 Tom de Vries <tom@codesourcery.com>
4124
4125 PR lto/69707
4126 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4127
4128 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4129
4130 * testsuite/libgomp.c/target-31.c: Fix testcase.
4131
4132 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4133
4134 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4135 clause.
4136 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4137 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4138 reduction and map clauses.
4139 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4140
4141 2016-02-02 James Norris <jnorris@codesourcery.com>
4142
4143 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4144
4145 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4146
4147 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4148 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4149
4150 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4151 cases.
4152
4153 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4154 variables.
4155 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4156 (hsa_kmt_lib): Set variables.
4157 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4158 always_ld_library_path.
4159 * Makefile.in: Regenerate.
4160 * configure: Likewise.
4161 * testsuite/Makefile.in: Likewise.
4162
4163 * plugin/configfrag.ac (offload_additional_options)
4164 (offload_additional_lib_paths): Don't amend for hsa offloading.
4165 * configure: Regenerate.
4166
4167 * plugin/configfrag.ac: Don't configure for offloading target if
4168 we don't build the corresponding plugin.
4169 * configure: Regenerate.
4170
4171 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4172
4173 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4174 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4175
4176 2016-01-26 Tom de Vries <tom@codesourcery.com>
4177
4178 PR tree-optimization/69110
4179 * testsuite/libgomp.c/pr69110.c: New test.
4180
4181 2016-01-25 Richard Biener <rguenther@suse.de>
4182
4183 PR lto/69393
4184 * testsuite/libgomp.c++/pr69393.C: New testcase.
4185
4186 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4187
4188 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4189 function wasn't mapped to the device with non-shared memory.
4190
4191 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4192
4193 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4194
4195 2016-01-19 Martin Jambor <mjambor@suse.cz>
4196 Martin Liska <mliska@suse.cz>
4197
4198 * plugin/Makefrag.am: Add HSA plugin requirements.
4199 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4200 (HSA_RUNTIME_LIB): Likewise.
4201 (HSA_RUNTIME_CPPFLAGS): Likewise.
4202 (HSA_RUNTIME_INCLUDE): New substitution.
4203 (HSA_RUNTIME_LIB): Likewise.
4204 (HSA_RUNTIME_LDFLAGS): Likewise.
4205 (hsa-runtime): New configure option.
4206 (hsa-runtime-include): Likewise.
4207 (hsa-runtime-lib): Likewise.
4208 (PLUGIN_HSA): New substitution variable.
4209 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4210 configure options.
4211 (PLUGIN_HSA_CPPFLAGS): Likewise.
4212 (PLUGIN_HSA_LDFLAGS): Likewise.
4213 (PLUGIN_HSA_LIBS): Likewise.
4214 Check that we have access to HSA run-time.
4215 * libgomp-plugin.h (offload_target_type): New element
4216 OFFLOAD_TARGET_TYPE_HSA.
4217 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4218 args.
4219 (bool gomp_create_target_task): Updated.
4220 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4221 new field can_run_func.
4222 * libgomp_g.h (GOMP_target_ext): Update prototype.
4223 * oacc-host.c (host_run): Added a new parameter args.
4224 * target.c (calculate_firstprivate_requirements): New function.
4225 (copy_firstprivate_data): Likewise.
4226 (gomp_target_fallback_firstprivate): Use them.
4227 (gomp_target_unshare_firstprivate): New function.
4228 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4229 devices.
4230 (GOMP_target): Do host fallback for all shared memory devices. Do not
4231 pass any args to plugins.
4232 (GOMP_target_ext): Introduce device-specific argument parameter args.
4233 Allow host fallback if device shares memory. Do not remap data if
4234 device has shared memory.
4235 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4236 like host fallback for mappings.
4237 (GOMP_target_data): Treat shared memory devices like host fallback.
4238 (GOMP_target_data_ext): Likewise.
4239 (GOMP_target_update): Likewise.
4240 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4241 gomp_create_target_task.
4242 (GOMP_target_enter_exit_data): Likewise.
4243 (omp_target_alloc): Treat shared memory devices like host fallback.
4244 (omp_target_free): Likewise.
4245 (omp_target_is_present): Likewise.
4246 (omp_target_memcpy): Likewise.
4247 (omp_target_memcpy_rect): Likewise.
4248 (omp_target_associate_ptr): Likewise.
4249 (gomp_load_plugin_for_device): Also load can_run.
4250 * task.c (GOMP_PLUGIN_target_task_completion): Free
4251 firstprivate_copies.
4252 (gomp_create_target_task): Accept new argument args and store it to
4253 ttask.
4254 * plugin/plugin-hsa.c: New file.
4255
4256 2016-01-18 Tom de Vries <tom@codesourcery.com>
4257
4258 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4259 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4260 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4261 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4262 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4263 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4265 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4266 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4267 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4268 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4269 Same.
4270 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4271 Same.
4272 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4273 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4274 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4275 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4276 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4277 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4278 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4279 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4280 Same.
4281 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4282
4283 2016-01-15 Jakub Jelinek <jakub@redhat.com>
4284
4285 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4286
4287 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4288
4289 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4290
4291 2016-01-12 James Norris <jnorris@codesourcery.com>
4292
4293 * libgomp.texi: Updates for OpenACC.
4294
4295 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
4296
4297 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4298
4299 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4300
4301 PR fortran/66680
4302 * testsuite/libgomp.fortran/pr66680.f90: New test.
4303
4304 2016-01-07 Jakub Jelinek <jakub@redhat.com>
4305
4306 PR middle-end/68960
4307 * testsuite/libgomp.c/pr68960.c: New test.
4308
4309 2016-01-06 Nathan Sidwell <nathan@acm.org>
4310
4311 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
4312 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4313
4314 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4315
4316 Update copyright years.
4317
4318 * libgomp.texi: Bump @copying's copyright year.
4319
4320 2015-12-31 Nathan Sidwell <nathan@acm.org>
4321
4322 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4323 dg-additional-options syntax.
4324 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4325 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4327 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4328 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4334 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4335 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4336 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4337 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4338 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4339 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4340 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4341 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4342
4343 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4344
4345 * libgomp.h (REFCOUNT_LINK): Define.
4346 (struct splay_tree_key_s): Add link_key.
4347 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4348 Replace target address of the pointer with target address of newly
4349 mapped object in the splay tree. Set link pointer on target to the
4350 device address of the mapped object.
4351 (gomp_unmap_vars): Restore target address of the pointer in the splay
4352 tree for REFCOUNT_LINK objects after unmapping.
4353 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4354 declare target link" objects.
4355 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4356 "omp declare target link" objects, which were mapped for the image.
4357 (gomp_exit_data): Restore target address of the pointer in the splay
4358 tree for REFCOUNT_LINK objects after unmapping.
4359 * testsuite/libgomp.c/target-link-1.c: New file.
4360
4361 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4362
4363 * libgomp.h (gomp_device_state): New enum.
4364 (struct gomp_device_descr): Replace is_initialized with state.
4365 (gomp_fini_device): Remove declaration.
4366 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4367 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4368 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4369 (acc_set_device_type): Use state instead of is_initialized.
4370 (acc_set_device_num): Likewise.
4371 * target.c (resolve_device): Use state instead of is_initialized.
4372 Do not initialize finalized device.
4373 (gomp_map_vars): Do nothing if device is finalized.
4374 (gomp_unmap_vars): Likewise.
4375 (gomp_update): Likewise.
4376 (GOMP_offload_register_ver): Use state instead of is_initialized.
4377 (GOMP_offload_unregister_ver): Likewise.
4378 (gomp_init_device): Likewise.
4379 (gomp_unload_device): Likewise.
4380 (gomp_fini_device): Remove.
4381 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4382 (GOMP_target): Go to host fallback if device is finalized.
4383 (GOMP_target_ext): Likewise.
4384 (gomp_exit_data): Do nothing if device is finalized.
4385 (gomp_target_task_fn): Go to host fallback if device is finalized.
4386 (gomp_target_fini): New static function.
4387 (gomp_target_init): Use state instead of is_initialized.
4388 Call gomp_target_fini at exit.
4389
4390 2015-12-09 Tom de Vries <tom@codesourcery.com>
4391
4392 PR tree-optimization/68716
4393 * testsuite/libgomp.c/omp-nested-2.c: New test.
4394
4395 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4396
4397 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4398 target openacc_nvidia_accel_selected.
4399 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4402 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4403
4404 2015-12-01 Julian Brown <julian@codesourcery.com>
4405 James Norris <James_Norris@mentor.com>
4406
4407 * oacc-parallel.c (GOACC_host_data): New function.
4408 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4409 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4410 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4411 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4412 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4413 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4414 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4415
4416 2015-11-30 James Norris <jnorris@codesourcery.com>
4417 Cesar Philippidis <cesar@codesourcery.com>
4418
4419 libgomp/
4420 * libgomp.oacc-fortran/routine-5.f90: New test.
4421 * libgomp.oacc-fortran/routine-7.f90: New test.
4422 * libgomp.oacc-fortran/routine-9.f90: New test.
4423
4424 2015-11-30 Tom de Vries <tom@codesourcery.com>
4425
4426 PR tree-optimization/46032
4427 * testsuite/libgomp.c/pr46032.c: New test.
4428
4429 2015-11-27 Jakub Jelinek <jakub@redhat.com>
4430
4431 PR libgomp/68579
4432 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4433 (gomp_create_target_task): Call it before freeing
4434 GOMP_TARGET_TASK_DATA tasks.
4435
4436 PR c/63326
4437 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4438 in between case label and OpenMP standalone directives.
4439 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4440
4441 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
4442
4443 * configure: Regenerate.
4444
4445 2015-11-26 Jakub Jelinek <jakub@redhat.com>
4446
4447 * testsuite/libgomp.c/target-35.c: New test.
4448
4449 2015-11-22 James Norris <jnorris@codesourcery.com>
4450 Cesar Philippidis <cesar@codesourcery.com>
4451
4452 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4453 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4454 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4455 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4456 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4457
4458 2015-11-20 Jakub Jelinek <jakub@redhat.com>
4459
4460 PR middle-end/68221
4461 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4462 * testsuite/libgomp.c/reduction-12.c: Likewise.
4463 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4464 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4465
4466 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4467
4468 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4469 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4470 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4471 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4472 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4473 and fix.
4474 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4475 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4476
4477 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4478
4479 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4480 worker & gang cases.
4481 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4482
4483 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4484
4485 * config/nvptx/priority_queue.c: New file.
4486
4487 2015-11-14 Jakub Jelinek <jakub@redhat.com>
4488
4489 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4490 sections.
4491
4492 2015-11-14 Jakub Jelinek <jakub@redhat.com>
4493 Aldy Hernandez <aldyh@redhat.com>
4494 Ilya Verbin <ilya.verbin@intel.com>
4495
4496 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4497 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4498 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4499 iterators or IV by chunk size.
4500 * parallel.c (gomp_resolve_num_threads): Don't assume that
4501 if thr->ts.team is non-NULL, then pool must be non-NULL.
4502 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4503 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4504 GOMP_PLUGIN_target_task_completion.
4505 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4506 * Makefile.in: Regenerate.
4507 * libgomp.h: Shuffle prototypes and forward definitions around so
4508 priority queues can be defined.
4509 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4510 (enum gomp_target_task_state): New enum.
4511 (struct gomp_target_task): Add state, tgt, task and team fields.
4512 (gomp_create_target_task): Change return type to bool, add
4513 state argument.
4514 (gomp_target_task_fn): Change return type to bool.
4515 (struct gomp_device_descr): Add async_run_func.
4516 (struct gomp_task): Remove children, next_child, prev_child,
4517 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4518 Add pnode field.
4519 (struct gomp_taskgroup): Remove children.
4520 Add taskgroup_queue.
4521 (struct gomp_team): Change task_queue type to a priority queue.
4522 (splay_compare): Define inline.
4523 (priority_queue_offset): New.
4524 (priority_node_to_task): New.
4525 (task_to_priority_node): New.
4526 * oacc-mem.c: Do not include splay-tree.h.
4527 * priority_queue.c: New file.
4528 * priority_queue.h: New file.
4529 * splay-tree.c: Do not include splay-tree.h.
4530 (splay_tree_foreach_internal): New.
4531 (splay_tree_foreach): New.
4532 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4533 (splay_tree_callback): Define typedef.
4534 * target.c (splay_compare): Move to libgomp.h.
4535 (GOMP_target): Don't adjust *thr in any way around running offloaded
4536 task.
4537 (GOMP_target_ext): Likewise. Handle target nowait.
4538 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4539 return value from gomp_create_target_task, if false, fallthrough
4540 as if no dependencies exist.
4541 (gomp_target_task_fn): Change return type to bool, return true
4542 if the task should have another part scheduled later. Handle
4543 target nowait.
4544 (gomp_load_plugin_for_device): Initialize async_run.
4545 * task.c (gomp_init_task): Initialize children_queue.
4546 (gomp_clear_parent_in_list): New.
4547 (gomp_clear_parent_in_tree): New.
4548 (gomp_clear_parent): Handle priorities.
4549 (GOMP_task): Likewise.
4550 (priority_queue_move_task_first,
4551 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4552 New functions.
4553 (gomp_create_target_task): Use priority queues. Change return type
4554 to bool, add state argument, return false if for async
4555 {{enter,exit} data,update} constructs no dependencies need to be
4556 waited for, handle target nowait. Set task->fn to NULL instead of
4557 gomp_target_task_fn.
4558 (verify_children_queue): Remove.
4559 (priority_list_upgrade_task): New.
4560 (priority_queue_upgrade_task): New.
4561 (verify_task_queue): Remove.
4562 (priority_list_downgrade_task): New.
4563 (priority_queue_downgrade_task): New.
4564 (gomp_task_run_pre): Use priority queues.
4565 Abstract code out to priority_queue_downgrade_task.
4566 (gomp_task_run_post_handle_dependers): Use priority queues.
4567 (gomp_task_run_post_remove_parent): Likewise.
4568 (gomp_task_run_post_remove_taskgroup): Likewise.
4569 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4570 tasks specially.
4571 (GOMP_taskwait): Likewise.
4572 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4573 priority-queue_upgrade_task.
4574 (GOMP_taskgroup_start): Use priority queues.
4575 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4576 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4577 barrier.
4578 * taskloop.c (GOMP_taskloop): Handle priorities.
4579 * team.c (gomp_new_team): Call priority_queue_init.
4580 (free_team): Call priority_queue_free.
4581 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4582 team created for target nowait in implicit parallel region.
4583 (gomp_team_start): For nested check, test thr->ts.level instead of
4584 thr->ts.team != NULL.
4585 * testsuite/libgomp.c/doacross-3.c: New test.
4586 * testsuite/libgomp.c/ordered-5.c: New test.
4587 * testsuite/libgomp.c/priority.c: New test.
4588 * testsuite/libgomp.c/target-31.c: New test.
4589 * testsuite/libgomp.c/target-32.c: New test.
4590 * testsuite/libgomp.c/target-33.c: New test.
4591 * testsuite/libgomp.c/target-34.c: New test.
4592
4593 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4594
4595 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4596
4597 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4598 loop is sequential.
4599
4600 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4601
4602 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4603 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4604
4605 2015-11-12 James Norris <jnorris@codesourcery.com>
4606 Joseph Myers <joseph@codesourcery.com>
4607
4608 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4609 * oacc-parallel.c (GOACC_declare): New function.
4610 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4611 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4612 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4613 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4614 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4615
4616 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4617
4618 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4619
4620 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4621
4622 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4623 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4624
4625 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4626
4627 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4628 inadvertent commit.
4629
4630 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4631
4632 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4633 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4634 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4635 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4636 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4637
4638 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4639
4640 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4641 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4642
4643 2015-11-05 Jakub Jelinek <jakub@redhat.com>
4644 Ilya Verbin <ilya.verbin@intel.com>
4645
4646 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4647 GOMP_loop_nonmonotonic_dynamic_start,
4648 GOMP_loop_nonmonotonic_guided_next,
4649 GOMP_loop_nonmonotonic_guided_start,
4650 GOMP_loop_ull_nonmonotonic_dynamic_next,
4651 GOMP_loop_ull_nonmonotonic_dynamic_start,
4652 GOMP_loop_ull_nonmonotonic_guided_next,
4653 GOMP_loop_ull_nonmonotonic_guided_start,
4654 GOMP_parallel_loop_nonmonotonic_dynamic,
4655 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4656 (GOMP_target_41): Renamed to ...
4657 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4658 arguments.
4659 (GOMP_target_data_41): Renamed to ...
4660 (GOMP_target_data_ext): ... this.
4661 (GOMP_target_update_41): Renamed to ...
4662 (GOMP_target_update_ext): ... this.
4663 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4664 GOMP_target_data_ext and GOMP_target_update_ext instead of
4665 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4666 Export GOMP_loop_nonmonotonic_dynamic_next,
4667 GOMP_loop_nonmonotonic_dynamic_start,
4668 GOMP_loop_nonmonotonic_guided_next,
4669 GOMP_loop_nonmonotonic_guided_start,
4670 GOMP_loop_ull_nonmonotonic_dynamic_next,
4671 GOMP_loop_ull_nonmonotonic_dynamic_start,
4672 GOMP_loop_ull_nonmonotonic_guided_next,
4673 GOMP_loop_ull_nonmonotonic_guided_start,
4674 GOMP_parallel_loop_nonmonotonic_dynamic and
4675 GOMP_parallel_loop_nonmonotonic_guided.
4676 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4677 GOMP_parallel_loop_nonmonotonic_guided,
4678 GOMP_loop_nonmonotonic_dynamic_start,
4679 GOMP_loop_nonmonotonic_guided_start,
4680 GOMP_loop_nonmonotonic_dynamic_next,
4681 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4682 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4683 GOMP_loop_ull_nonmonotonic_guided_start,
4684 GOMP_loop_ull_nonmonotonic_dynamic_next,
4685 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4686 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4687 functions.
4688 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4689 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4690 Use gomp_map_val function.
4691 (gomp_target_fallback_firstprivate): New static function.
4692 (GOMP_target_41): Renamed to ...
4693 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4694 arguments. Move firstprivate fallback handling into a new
4695 function.
4696 (GOMP_target_data_41): Renamed to ...
4697 (GOMP_target_data_ext): ... this.
4698 (GOMP_target_update_41): Renamed to ...
4699 (GOMP_target_update_ext): ... this.
4700 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4701 gomp_map_0len_lookup instead of gomp_map_lookup.
4702 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4703 gomp_map_lookup.
4704 * testsuite/libgomp.c/target-28.c: Likewise.
4705 * testsuite/libgomp.c/monotonic-1.c: New test.
4706 * testsuite/libgomp.c/monotonic-2.c: New test.
4707 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4708 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4709 * testsuite/libgomp.c/pr66199-5.c: New test.
4710 * testsuite/libgomp.c/pr66199-6.c: New test.
4711 * testsuite/libgomp.c/pr66199-7.c: New test.
4712 * testsuite/libgomp.c/pr66199-8.c: New test.
4713 * testsuite/libgomp.c/pr66199-9.c: New test.
4714 * testsuite/libgomp.c/reduction-11.c: New test.
4715 * testsuite/libgomp.c/reduction-12.c: New test.
4716 * testsuite/libgomp.c/reduction-13.c: New test.
4717 * testsuite/libgomp.c/reduction-14.c: New test.
4718 * testsuite/libgomp.c/reduction-15.c: New test.
4719 * testsuite/libgomp.c/target-12.c (main): Adjust for
4720 omp_target_is_present change for one-past-last element.
4721 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4722 the same var is both mapped and privatized.
4723 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4724 handling of zero-length array sections.
4725 * testsuite/libgomp.c/target-28.c: New test.
4726 * testsuite/libgomp.c/target-29.c: New test.
4727 * testsuite/libgomp.c/target-30.c: New test.
4728 * testsuite/libgomp.c/target-teams-1.c: New test.
4729 * testsuite/libgomp.c++/member-6.C: New test.
4730 * testsuite/libgomp.c++/member-7.C: New test.
4731 * testsuite/libgomp.c++/monotonic-1.C: New test.
4732 * testsuite/libgomp.c++/monotonic-2.C: New test.
4733 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4734 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4735 * testsuite/libgomp.c++/pr66199-3.C: New test.
4736 * testsuite/libgomp.c++/pr66199-4.C: New test.
4737 * testsuite/libgomp.c++/pr66199-5.C: New test.
4738 * testsuite/libgomp.c++/pr66199-6.C: New test.
4739 * testsuite/libgomp.c++/pr66199-7.C: New test.
4740 * testsuite/libgomp.c++/pr66199-8.C: New test.
4741 * testsuite/libgomp.c++/pr66199-9.C: New test.
4742 * testsuite/libgomp.c++/reduction-11.C: New test.
4743 * testsuite/libgomp.c++/reduction-12.C: New test.
4744 * testsuite/libgomp.c++/target-13.C: New test.
4745 * testsuite/libgomp.c++/target-14.C: New test.
4746 * testsuite/libgomp.c++/target-15.C: New test.
4747 * testsuite/libgomp.c++/target-16.C: New test.
4748 * testsuite/libgomp.c++/target-17.C: New test.
4749 * testsuite/libgomp.c++/target-18.C: New test.
4750 * testsuite/libgomp.c++/target-19.C: New test.
4751
4752 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4753
4754 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4755 and reduction copy.
4756 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4757 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4758 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4759 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4760 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4761 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4762 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4763 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4764 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4765 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4766 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4767 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4768 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4769 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4770
4771 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4772
4773 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4774 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4775 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4776 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4777 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4778 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4779 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4780 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4781
4782 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4783
4784 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4785 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4786 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4787 * oacc-host.c (host_openacc_exec): Likewise.
4788 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4789
4790 2015-11-03 Julian Brown <julian@codesourcery.com>
4791 Thomas Schwinge <thomas@codesourcery.com>
4792
4793 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4794 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4795 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4796 Likewise.
4797 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4798 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4799
4800 2015-11-03 James Norris <jnorris@codesourcery.com>
4801
4802 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4803 file.
4804 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4805 Likewise.
4806 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4807 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4808 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4809 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4810 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4811
4812 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4813
4814 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4815 compatibility.
4816 (enum acc_async_t): Reformat.
4817 (acc_on_device): Declare compatible with builtin and provide C++
4818 wrapper.
4819 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4820
4821 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4822 Cesar Philippidis <cesar@codesourcery.com>
4823
4824 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4825 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4826 ... this. Add a description of the test at the top of the file.
4827 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4828 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4829 ... this. Add a description of the test at the top of the file.
4830
4831 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4832
4833 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4834 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4835 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4836 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4837 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4838 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4839
4840 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4841
4842 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4843 dimensions.
4844
4845 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4846
4847 PR testsuite/68063
4848 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4849
4850 2015-10-27 James Norris <jnorris@codesourcery.com>
4851
4852 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4853 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4854
4855 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4856
4857 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4858 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4859
4860 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4861 acc_device_nvidia usage.
4862 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4863 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4864 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4865
4866 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4867 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4868
4869 PR libgomp/66518
4870 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4871
4872 PR libgomp/65437
4873 PR libgomp/66518
4874 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4875 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4876
4877 2015-10-23 Tom de Vries <tom@codesourcery.com>
4878
4879 PR testsuite/68063
4880 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4881
4882 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4883
4884 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4885 vector_length.
4886 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4887
4888 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4889 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4890
4891 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4892 to 0 when mapnum is 0.
4893
4894 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4895
4896 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4897 Cast to int from int32_t.
4898
4899 2015-10-13 Jakub Jelinek <jakub@redhat.com>
4900 Aldy Hernandez <aldyh@redhat.com>
4901 Ilya Verbin <ilya.verbin@intel.com>
4902
4903 * config/linux/affinity.c (omp_get_place_num_procs,
4904 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4905 * config/linux/doacross.h: New file.
4906 * config/posix/affinity.c (omp_get_place_num_procs,
4907 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4908 * config/posix/doacross.h: New file.
4909 * env.c: Include gomp-constants.h.
4910 (struct gomp_task_icv): Rename run_sched_modifier to
4911 run_sched_chunk_size.
4912 (gomp_max_task_priority_var): New variable.
4913 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4914 (handle_omp_display_env): Change _OPENMP value from 201307 to
4915 201511. Print OMP_MAX_TASK_PRIORITY.
4916 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4917 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4918 chunk_size and run_sched_modifier to run_sched_chunk_size.
4919 (omp_get_max_task_priority, omp_get_initial_device,
4920 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4921 omp_get_partition_place_nums): New functions.
4922 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4923 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4924 to chunk_size.
4925 (omp_get_num_places_, omp_get_place_num_procs_,
4926 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4927 omp_get_place_proc_ids_8_, omp_get_place_num_,
4928 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4929 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4930 omp_get_max_task_priority_): New functions.
4931 * libgomp_g.h (GOMP_loop_doacross_static_start,
4932 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4933 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4934 GOMP_loop_ull_doacross_dynamic_start,
4935 GOMP_loop_ull_doacross_guided_start,
4936 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4937 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4938 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4939 GOMP_target_data_41, GOMP_target_update_41,
4940 GOMP_target_enter_exit_data): New prototypes.
4941 (GOMP_task): Add prototype argument.
4942 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4943 (struct gomp_doacross_work_share): New type.
4944 (struct gomp_work_share): Add doacross field.
4945 (struct gomp_task_icv): Rename run_sched_modifier to
4946 run_sched_chunk_size.
4947 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4948 GOMP_TASK_UNDEFERRED. Add comments.
4949 (struct gomp_task_depend_entry): Add comments.
4950 (struct gomp_task): Likewise.
4951 (struct gomp_taskgroup): Likewise.
4952 (struct gomp_target_task): New type.
4953 (struct gomp_team): Add comment.
4954 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4955 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4956 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4957 (struct target_var_desc): New type.
4958 (struct target_mem_desc): Adjust comment. Use struct
4959 target_var_desc instead of splay_tree_key for list.
4960 (REFCOUNT_INFINITY): Define.
4961 (struct splay_tree_key_s): Remove copy_from field.
4962 (struct gomp_device_descr): Add dev2dev_func field.
4963 (enum gomp_map_vars_kind): New enum.
4964 (gomp_map_vars): Add one argument.
4965 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4966 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4967 omp_get_place_num_procs, omp_get_place_num_procs_,
4968 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4969 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4970 omp_get_place_num_, omp_get_partition_num_places,
4971 omp_get_partition_num_places_, omp_get_partition_place_nums,
4972 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4973 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4974 omp_target_free, omp_target_is_present, omp_target_memcpy,
4975 omp_target_memcpy_rect, omp_target_associate_ptr and
4976 omp_target_disassociate_ptr.
4977 (GOMP_4.0.2): Renamed to ...
4978 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4979 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4980 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4981 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4982 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4983 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4984 GOMP_loop_ull_doacross_guided_start,
4985 GOMP_loop_ull_doacross_runtime_start,
4986 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4987 GOMP_doacross_ull_wait.
4988 * libgomp.texi: Document omp_get_max_task_priority.
4989 Rename modifier argument to chunk_size for omp_set_schedule and
4990 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4991 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4992 to run_sched_chunk_size renaming.
4993 (GOMP_loop_ordered_runtime_start): Likewise.
4994 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4995 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4996 GOMP_parallel_loop_runtime_start): New functions.
4997 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4998 to run_sched_chunk_size renaming.
4999 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5000 GOMP_loop_doacross_guided_start): New functions or aliases.
5001 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5002 run_sched_modifier to run_sched_chunk_size renaming.
5003 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5004 (gomp_loop_ull_doacross_static_start,
5005 gomp_loop_ull_doacross_dynamic_start,
5006 gomp_loop_ull_doacross_guided_start,
5007 GOMP_loop_ull_doacross_runtime_start): New functions.
5008 (GOMP_loop_ull_doacross_static_start,
5009 GOMP_loop_ull_doacross_dynamic_start,
5010 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5011 * oacc-mem.c (acc_map_data, present_create_copy,
5012 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5013 to gomp_map_vars.
5014 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5015 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5016 instead of false to gomp_map_vars.
5017 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5018 * omp.h.in (omp_lock_hint_t): New type.
5019 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5020 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5021 omp_get_place_num, omp_get_partition_num_places,
5022 omp_get_partition_place_nums, omp_get_initial_device,
5023 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5024 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5025 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5026 prototypes.
5027 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5028 (omp_lock_hint_none, omp_lock_hint_uncontended,
5029 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5030 omp_lock_hint_speculative): New parameters.
5031 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5032 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5033 omp_get_place_num, omp_get_partition_num_places,
5034 omp_get_partition_place_nums, omp_get_initial_device,
5035 omp_get_max_task_priority): New interfaces.
5036 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5037 to chunk_size.
5038 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5039 (omp_lock_hint_none, omp_lock_hint_uncontended,
5040 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5041 omp_lock_hint_speculative): New parameters.
5042 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5043 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5044 omp_get_place_num, omp_get_partition_num_places,
5045 omp_get_partition_place_nums, omp_get_initial_device,
5046 omp_get_max_task_priority): New functions and subroutines.
5047 * ordered.c: Include stdarg.h and string.h.
5048 (MAX_COLLAPSED_BITS): Define.
5049 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5050 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5051 GOMP_doacross_ull_wait): New functions.
5052 * target.c: Include errno.h.
5053 (resolve_device): If device is not initialized, call
5054 gomp_init_device on it.
5055 (gomp_map_lookup): New function.
5056 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5057 Don't bump refcount if REFCOUNT_INFINITY. Handle
5058 GOMP_MAP_ALWAYS_TO_P.
5059 (get_kind): Rename is_openacc argument to short_mapkind.
5060 (gomp_map_pointer): Use gomp_map_lookup.
5061 (gomp_map_fields_existing): New function.
5062 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5063 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5064 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5065 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5066 Adjust for tgt->list changed type and copy_from living in there.
5067 (gomp_copy_from_async): Adjust for tgt->list changed type and
5068 copy_from living in there.
5069 (gomp_unmap_vars): Likewise.
5070 (gomp_update): Likewise. Rename is_openacc argument to
5071 short_mapkind. Don't fail if object is not mapped.
5072 (gomp_load_image_to_device): Initialize refcount to
5073 REFCOUNT_INFINITY.
5074 (gomp_target_fallback): New function.
5075 (gomp_get_target_fn_addr): Likewise.
5076 (GOMP_target): Adjust gomp_map_vars caller, use
5077 gomp_get_target_fn_addr and gomp_target_fallback.
5078 (GOMP_target_41): New function.
5079 (gomp_target_data_fallback): New function.
5080 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5081 (GOMP_target_data_41): New function.
5082 (GOMP_target_update): Adjust gomp_update caller.
5083 (GOMP_target_update_41): New function.
5084 (gomp_exit_data, GOMP_target_enter_exit_data,
5085 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5086 omp_target_is_present, omp_target_memcpy,
5087 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5088 omp_target_associate_ptr, omp_target_disassociate_ptr,
5089 gomp_load_plugin_for_device): New functions.
5090 * task.c: Include gomp-constants.h. Include taskloop.c
5091 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5092 (gomp_task_handle_depend): New function.
5093 (GOMP_task): Use it. Add priority argument. Use
5094 gomp-constant.h constants instead of hardcoded numbers.
5095 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5096 (gomp_create_target_task): New function.
5097 (verify_children_queue, verify_taskgroup_queue,
5098 verify_task_queue): New functions.
5099 (gomp_task_run_pre): Call verify_*_queue functions.
5100 If an upcoming tied task is about to leave the sibling or
5101 taskgroup queues in an invalid state, adjust appropriately.
5102 Remove taskgroup argument. Add comments.
5103 (gomp_task_run_post_handle_dependers): Add comments.
5104 (gomp_task_run_post_remove_parent): Likewise.
5105 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5106 (GOMP_taskwait): Likewise. Add comments.
5107 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5108 problem such that the first non parent_depends_on task does not
5109 end up at the end of the children queue.
5110 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5111 GOMP_TASK_UNDEFERRED.
5112 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5113 * taskloop.c: New file.
5114 * testsuite/lib/libgomp.exp
5115 (check_effective_target_offload_device_nonshared_as): New proc.
5116 * testsuite/libgomp.c/affinity-2.c: New test.
5117 * testsuite/libgomp.c/doacross-1.c: New test.
5118 * testsuite/libgomp.c/doacross-2.c: New test.
5119 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5120 Add map clause to target.
5121 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5122 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5123 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5124 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5125 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5126 Likewise.
5127 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5128 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5129 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5130 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5131 not defined. Use those where needed.
5132 * testsuite/libgomp.c/for-4.c: New test.
5133 * testsuite/libgomp.c/for-5.c: New test.
5134 * testsuite/libgomp.c/for-6.c: New test.
5135 * testsuite/libgomp.c/linear-1.c: New test.
5136 * testsuite/libgomp.c/ordered-4.c: New test.
5137 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5138 only allowed on the loop iterator.
5139 * testsuite/libgomp.c/pr66199-3.c: New test.
5140 * testsuite/libgomp.c/pr66199-4.c: New test.
5141 * testsuite/libgomp.c/reduction-7.c: New test.
5142 * testsuite/libgomp.c/reduction-8.c: New test.
5143 * testsuite/libgomp.c/reduction-9.c: New test.
5144 * testsuite/libgomp.c/reduction-10.c: New test.
5145 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5146 map(tofrom:s).
5147 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5148 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5149 * testsuite/libgomp.c/target-11.c: New test.
5150 * testsuite/libgomp.c/target-12.c: New test.
5151 * testsuite/libgomp.c/target-13.c: New test.
5152 * testsuite/libgomp.c/target-14.c: New test.
5153 * testsuite/libgomp.c/target-15.c: New test.
5154 * testsuite/libgomp.c/target-16.c: New test.
5155 * testsuite/libgomp.c/target-17.c: New test.
5156 * testsuite/libgomp.c/target-18.c: New test.
5157 * testsuite/libgomp.c/target-19.c: New test.
5158 * testsuite/libgomp.c/target-20.c: New test.
5159 * testsuite/libgomp.c/target-21.c: New test.
5160 * testsuite/libgomp.c/target-22.c: New test.
5161 * testsuite/libgomp.c/target-23.c: New test.
5162 * testsuite/libgomp.c/target-24.c: New test.
5163 * testsuite/libgomp.c/target-25.c: New test.
5164 * testsuite/libgomp.c/target-26.c: New test.
5165 * testsuite/libgomp.c/target-27.c: New test.
5166 * testsuite/libgomp.c/taskloop-1.c: New test.
5167 * testsuite/libgomp.c/taskloop-2.c: New test.
5168 * testsuite/libgomp.c/taskloop-3.c: New test.
5169 * testsuite/libgomp.c/taskloop-4.c: New test.
5170 * testsuite/libgomp.c++/ctor-13.C: New test.
5171 * testsuite/libgomp.c++/doacross-1.C: New test.
5172 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5173 Replace offload_device with offload_device_nonshared_as.
5174 * testsuite/libgomp.c++/for-12.C: New test.
5175 * testsuite/libgomp.c++/for-13.C: New test.
5176 * testsuite/libgomp.c++/for-14.C: New test.
5177 * testsuite/libgomp.c++/linear-1.C: New test.
5178 * testsuite/libgomp.c++/member-1.C: New test.
5179 * testsuite/libgomp.c++/member-2.C: New test.
5180 * testsuite/libgomp.c++/member-3.C: New test.
5181 * testsuite/libgomp.c++/member-4.C: New test.
5182 * testsuite/libgomp.c++/member-5.C: New test.
5183 * testsuite/libgomp.c++/ordered-1.C: New test.
5184 * testsuite/libgomp.c++/reduction-5.C: New test.
5185 * testsuite/libgomp.c++/reduction-6.C: New test.
5186 * testsuite/libgomp.c++/reduction-7.C: New test.
5187 * testsuite/libgomp.c++/reduction-8.C: New test.
5188 * testsuite/libgomp.c++/reduction-9.C: New test.
5189 * testsuite/libgomp.c++/reduction-10.C: New test.
5190 * testsuite/libgomp.c++/reference-1.C: New test.
5191 * testsuite/libgomp.c++/simd14.C: New test.
5192 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5193 * testsuite/libgomp.c++/target-5.C: New test.
5194 * testsuite/libgomp.c++/target-6.C: New test.
5195 * testsuite/libgomp.c++/target-7.C: New test.
5196 * testsuite/libgomp.c++/target-8.C: New test.
5197 * testsuite/libgomp.c++/target-9.C: New test.
5198 * testsuite/libgomp.c++/target-10.C: New test.
5199 * testsuite/libgomp.c++/target-11.C: New test.
5200 * testsuite/libgomp.c++/target-12.C: New test.
5201 * testsuite/libgomp.c++/taskloop-1.C: New test.
5202 * testsuite/libgomp.c++/taskloop-2.C: New test.
5203 * testsuite/libgomp.c++/taskloop-3.C: New test.
5204 * testsuite/libgomp.c++/taskloop-4.C: New test.
5205 * testsuite/libgomp.c++/taskloop-5.C: New test.
5206 * testsuite/libgomp.c++/taskloop-6.C: New test.
5207 * testsuite/libgomp.c++/taskloop-7.C: New test.
5208 * testsuite/libgomp.c++/taskloop-8.C: New test.
5209 * testsuite/libgomp.c++/taskloop-9.C: New test.
5210 * testsuite/libgomp.fortran/affinity1.f90: New test.
5211 * testsuite/libgomp.fortran/affinity2.f90: New test.
5212
5213 2015-10-13 Tom de Vries <tom@codesourcery.com>
5214
5215 PR tree-optimization/67476
5216 * testsuite/libgomp.c/autopar-3.c: New test.
5217 * testsuite/libgomp.c/autopar-4.c: New test.
5218 * testsuite/libgomp.c/autopar-5.c: New test.
5219 * testsuite/libgomp.c/autopar-6.c: New test.
5220 * testsuite/libgomp.c/autopar-7.c: New test.
5221 * testsuite/libgomp.c/autopar-8.c: New test.
5222
5223 2015-10-12 James Norris <jnorris@codesourcery.com>
5224
5225 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5226 initializer.
5227
5228 2015-10-09 David Malcolm <dmalcolm@redhat.com>
5229
5230 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5231 using load_gcc_lib.
5232
5233 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5234
5235 * oacc-ptx.h: Remove file, moving its content into...
5236 * config/nvptx/fortran.c: ... here...
5237 * config/nvptx/oacc-init.c: ..., here...
5238 * config/nvptx/oacc-parallel.c: ..., and here.
5239 * config/nvptx/openacc.f90: New file.
5240 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5241 (link_ptx): Don't link in predefined bits of PTX code.
5242
5243 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5244 Bernd Schmidt <bernds@codesourcery.com>
5245
5246 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5247 (struct targ_ptx_obj): New.
5248 (nvptx_tdata): Move earlier, change data format.
5249 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5250 objects.
5251 (GOMP_OFFLOAD_load_image): Adjust.
5252
5253 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5254
5255 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5256 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5258 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5259 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5260 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5261 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5262 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5263 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5264 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5265 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5266 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5267 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5268 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5269 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5270 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5271 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5272 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5273 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5274 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5275 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5276 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5277 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5278 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5279 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5280 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5281 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5282 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5283 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5284 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5285 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5286 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5287 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5288 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5289 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5290 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5291 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5292 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5293 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5294 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5295 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5296 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5297 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5298 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5299 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5300 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5301 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5302 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5303 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5304 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5305 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5306 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5307 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5308 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5309 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5310 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5311 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5312 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5313 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5314 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5315 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5316 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5317 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5318
5319 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5320
5321 * oacc-init.c (acc_on_device): Force optimization level.
5322
5323 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5324
5325 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5326 (cuda_errlist): Delete.
5327 (cuda_error): Reimplement.
5328
5329 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5330
5331 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5332 array.
5333 * libgomp.map (GOACC_parallel_keyed): New.
5334 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5335 all callers.
5336 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5337 and take keyed varargs list. Adjust call to exec_func.
5338 (GOACC_parallel): Force host fallback.
5339 * libgomp_g.h (GOACC_parallel): Remove.
5340 (GOACC_parallel_keyed): Declare.
5341 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5342 (stuct targ_gn_descriptor): Replace name field with launch field.
5343 (nvptx_exec): Lose separate geometry args, take array. Process
5344 dynamic dimensions and adjust.
5345 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5346 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5347 data.
5348 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5349 passing.
5350 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5351 passing.
5352
5353 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5354
5355 PR libgomp/67141
5356 * oacc-int.h (goacc_host_init): Add declaration.
5357 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5358 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5359
5360 2015-09-08 Aditya Kumar <hiraditya@msn.com>
5361 Sebastian Pop <s.pop@samsung.com>
5362
5363 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5364 match o/p.
5365 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5366 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5367 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5368 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5369 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5370
5371 2015-09-03 Jakub Jelinek <jakub@redhat.com>
5372
5373 * configure.tgt: Add missing ;; in between nvptx and rtems
5374 snippets.
5375
5376 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5377
5378 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5379 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5380 (gomp_thread_pool_reservoir): Add priority member.
5381 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5382 priority.
5383 (parse_thread_pools): Likewise.
5384 * team.c (gomp_team_start): Call configuration provided
5385 gomp_adjust_thread_attr(). Destroy thread attributes if
5386 necessary.
5387 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5388
5389 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5390
5391 * config/posix/pool.h: New.
5392 * config/rtems/pool.h: Likewise.
5393 * config/rtems/proc.c: Likewise.
5394 * libgomp.h (gomp_thread_destructor): Declare.
5395 * team.c: Include configuration provided "pool.h".
5396 (gomp_get_thread_pool): Define in configuration.
5397 (gomp_team_end): Call configuration defined
5398 gomp_release_thread_pool().
5399
5400 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5401
5402 * config/rtems/bar.c: New.
5403 * config/rtems/bar.h: Likewise.
5404 * config/rtems/mutex.c: Likewise.
5405 * config/rtems/mutex.h: Likewise.
5406 * config/rtems/sem.c: Likewise.
5407 * config/rtems/sem.h: Likewise.
5408 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5409 <sys/lock.h> header file.
5410 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5411 supported by Newlib.
5412 * configure: Regenerate.
5413
5414 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5415
5416 * team.c (gomp_new_thread_pool): Delete and move content to ...
5417 (gomp_get_thread_pool): ... new function. Allocate and
5418 initialize thread pool on demand.
5419 (get_last_team): Use gomp_get_thread_pool().
5420 (gomp_team_start): Delete thread pool initialization.
5421
5422 2015-09-03 Tom de Vries <tom@codesourcery.com>
5423
5424 PR tree-optimization/65637
5425 * testsuite/libgomp.c/autopar-2.c: New test.
5426
5427 2015-08-29 Tom de Vries <tom@codesourcery.com>
5428
5429 PR tree-optimization/46193
5430 * testsuite/libgomp.c/pr46193.c: New test.
5431
5432 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5433
5434 libgomp/
5435 * libgomp.map: Add 4.0.2 version.
5436 * target.c (offload_image_descr): Add version field.
5437 (gomp_load_image_to_device): Add version argument. Adjust plugin
5438 call. Improve load mismatch diagnostic.
5439 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5440 call.
5441 (GOMP_offload_regster): Make stub function, move bulk to ...
5442 (GOMP_offload_register_ver): ... here. Process version argument.
5443 (GOMP_offload_unregister): Make stub function, move bulk to ...
5444 (GOMP_offload_unregister_ver): ... here. Process version argument.
5445 (gomp_init_device): Process version field.
5446 (gomp_unload_device): Process version field.
5447 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5448 macros. Check plugin version.
5449 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5450 loader and unloader types.
5451 * oacc-host.c: Include gomp-constants.h.
5452 (host_version): New.
5453 (host_load_image, host_unload_image): Adjust.
5454 (host_dispatch): Add host_version.
5455 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5456 (GOMP_OFFLOAD_version): New.
5457 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5458 (GOMP_OFFLOAD_unload_image): Likewise.
5459 * plugin/plugin-host.c: Include gomp-constants.h.
5460 (GOMP_OFFLOAD_version): New.
5461 (GOMP_OFFLOAD_load_image): Add version arg.
5462 (GOMP_OFFLOAD_unload_image): Likewise.
5463
5464 2015-08-24 Tom de Vries <tom@codesourcery.com>
5465
5466 PR tree-optimization/65468
5467 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5468
5469 2015-08-24 Tom de Vries <tom@codesourcery.com>
5470
5471 PR tree-optimization/65468
5472 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5473
5474 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5475
5476 PR libgomp/66761
5477 PR libgomp/67303
5478 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5479 (gomp_iter_guided_next): Idem.
5480 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5481 (gomp_iter_ull_guided_next): Idem.
5482 * config/linux/wait.h (do_spin): Idem.
5483
5484 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5485
5486 * libgomp-plugin.h (enum offload_target_type): Remove
5487 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5488 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5489 * openacc.h (enum acc_device_t): Likewise.
5490 * openacc_lib.h: Likewise.
5491 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5492 (acc_on_device): Just use __builtin_acc_on_device.
5493 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5494 of acc_on_device builtin.
5495 * plugin/plugin-host.h: Remove file.
5496 * plugin/plugin-host.c: Likewise, but salvage some content into...
5497 * oacc-host.c: ... this file.
5498 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5499 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5500 * Makefile.in: Regenerate.
5501 * configure: Likewise.
5502 * testsuite/lib/libgomp.exp
5503 (check_effective_target_openacc_host_nonshm_selected): Remove.
5504 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5505 ACC_DEVICE_TYPE=host_nonshm.
5506 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5507 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5508 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5509 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5510 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5511 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5512
5513 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5514 Jakub Jelinek <jakub@redhat.com>
5515
5516 * config/nvptx/affinity.c: New file.
5517 * config/nvptx/alloc.c: Likewise.
5518 * config/nvptx/bar.c: Likewise.
5519 * config/nvptx/barrier.c: Likewise.
5520 * config/nvptx/critical.c: Likewise.
5521 * config/nvptx/env.c: Likewise.
5522 * config/nvptx/error.c: Likewise.
5523 * config/nvptx/fortran.c: Likewise.
5524 * config/nvptx/iter.c: Likewise.
5525 * config/nvptx/iter_ull.c: Likewise.
5526 * config/nvptx/libgomp-plugin.c: Likewise.
5527 * config/nvptx/lock.c: Likewise.
5528 * config/nvptx/loop.c: Likewise.
5529 * config/nvptx/loop_ull.c: Likewise.
5530 * config/nvptx/mutex.c: Likewise.
5531 * config/nvptx/oacc-async.c: Likewise.
5532 * config/nvptx/oacc-cuda.c: Likewise.
5533 * config/nvptx/oacc-host.c: Likewise.
5534 * config/nvptx/oacc-init.c: Likewise.
5535 * config/nvptx/oacc-mem.c: Likewise.
5536 * config/nvptx/oacc-parallel.c: Likewise.
5537 * config/nvptx/oacc-plugin.c: Likewise.
5538 * config/nvptx/omp-lock.h: Likewise.
5539 * config/nvptx/ordered.c: Likewise.
5540 * config/nvptx/parallel.c: Likewise.
5541 * config/nvptx/proc.c: Likewise.
5542 * config/nvptx/ptrlock.c: Likewise.
5543 * config/nvptx/sections.c: Likewise.
5544 * config/nvptx/sem.c: Likewise.
5545 * config/nvptx/single.c: Likewise.
5546 * config/nvptx/splay-tree.c: Likewise.
5547 * config/nvptx/target.c: Likewise.
5548 * config/nvptx/task.c: Likewise.
5549 * config/nvptx/team.c: Likewise.
5550 * config/nvptx/time.c: Likewise.
5551 * config/nvptx/work.c: Likewise.
5552 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5553 * configure: Regenerate.
5554 * configure.tgt (config_path): Set to "nvptx" for target
5555 nvptx*-*-*.
5556
5557 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5558
5559 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5560
5561 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5562
5563 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5564 (cuda_errlist): Constify.
5565 (errmsg): Move into ...
5566 (cuda_error): ... here. Make smaller.
5567 (_XSTR, _STR): Delete.
5568 (cuda_synames): Delete.
5569 (verify_device_library): Delete.
5570 (nvptx_init): Don't call it.
5571
5572 2015-07-28 Tom de Vries <tom@codesourcery.com>
5573
5574 * testsuite/libgomp.c/uns-outer-4.c: New test.
5575
5576 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5577
5578 * testsuite/libgomp.c/pr66714.c: New test.
5579
5580 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5581
5582 PR libgomp/66950
5583 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5584 (fib_ref): New function.
5585 (fib): Correct corner cases in the recursion.
5586 (main): Replace the non-simd loop with fib_ref call.
5587 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5588 subroutine.
5589 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5590 for the last array element value. Replace the non-simd loop with
5591 fib_ref call. Remove redundant b_ref array. Remove the comparison
5592 of the last array element with according Fibonacci sequence element.
5593 (fib): Correct corner cases in the recursion.
5594
5595 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5596
5597 * target.c (gomp_offload_image_to_device): Rename to ...
5598 (gomp_load_image_to_device): ... here.
5599 (GOMP_offload_register): Adjust call.
5600 (gomp_init_device): Likewise.
5601 (gomp_unload_image_from_device): New. Broken out of ...
5602 (GOMP_offload_unregister): ... here. Call it.
5603 (gomp_unload_device): New.
5604 * libgomp.h (gomp_unload_device): Declare.
5605 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5606 mem maps.
5607
5608 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5609
5610 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5611 wait=-specific if.
5612 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5613 !=0 condition.
5614 (goacc_waits): Move !num_waits handling to ...
5615 (GOACC_wait): ... here, the only caller that might have zero waits.
5616
5617 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5618 (struct ptx_image_data): Move earlier, add fns field.
5619 (struct ptx_device): Add images and image_lock fields.
5620 (ptx_images, ptx_image_lock): Delete.
5621 (nvptx_open_device): Initialize images and image_lock fields.
5622 (nvptx_close_device): Destroy image_lock.
5623 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5624 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5625 fields.
5626
5627 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5628
5629 * target.c (GOMP_offload_register): Use int for device type arg.
5630 (GOMP_offload_unregister): Likewise.
5631
5632 * target.c (struct_offload_image_descr): Constify host_table.
5633 (gomp_offload_image_to_device): Likewise.
5634 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5635
5636 * libgomp.h (gomp_device_descr): Constify target data arguments.
5637 * target.c (struct offload_image_descr): Constify target_data.
5638 (gomp_offload_image_to_device): Likewise.
5639 (GOMP_offload_register): Likewise.
5640 (GOMP_offload_unrefister): Likewise.
5641 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5642 GOMP_OFFLOAD_unload_image): Constify target data.
5643 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5644 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5645
5646 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5647
5648 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5649 Workaround driver library const error.
5650 (struct nvptx_tdata, nvptx_tdata_t): New.
5651 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5652 type.
5653
5654 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5655
5656 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5657 of EPS parameter from integer to real.
5658 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5659 type of EPS parameter from integer to real.
5660
5661 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5662
5663 * team.c (get_last_team): New.
5664 (gomp_new_team): Recycle last non-nested team if possible.
5665 (gomp_team_end): Move team work share list free lock destruction
5666 to ...
5667 (free_team): ... here.
5668
5669 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5670
5671 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5672 and ref from int to double. Replaced their comparison with
5673 an inequality of their difference and EPS.
5674 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5675 comparison of pri and a reference number with an inequality of their
5676 difference and EPS.
5677 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5678 the comparison of sum and sum_ref with an inequality of their
5679 difference and EPS.
5680 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5681 the comparison of pri and a reference number with an inequality of
5682 their difference and EPS.
5683
5684 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5685
5686 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5687 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5688 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5689 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5690 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5691 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5692 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5693 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5694 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5695 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5696 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5697 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5698 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5699 variables.
5700 (vec_mult): Likewise. Add #pragma omp taskwait.
5701 (main): Adjust caller.
5702 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5703 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5704 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5705 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5706 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5707 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5708 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5709 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5710 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5711 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5712 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5713 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5714 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5715 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5716 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5717 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5718 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5719 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5720 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5721 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5722 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5723 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5724 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5725 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5726 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5727 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5728 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5729 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5730 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5731 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5732 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5733 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5734 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5735 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5736 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5737 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5738 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5739 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5740 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5741 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5742 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5743 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5744 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5745 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5746 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5747 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5748 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5749 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5750 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5751 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5752 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5753 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5754 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5755 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5756 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5757 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5758 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5759 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5760 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5761 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5762 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5763 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5764 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5765 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5766 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5767 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5768 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5769 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5770 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5771 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5772 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5773 (vec_mult): Add !$omp taskwait.
5774 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5775 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5776 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5777 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5778 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5779 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5780 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5781 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5782 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5783 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5784 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5785 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5786 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5787 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5788 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5789 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5790 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5791 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5792 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5793 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5794 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5795 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5796 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5797 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5798 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5799 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5800 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5801 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5802 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5803 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5804 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5805 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5806 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5807 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5808 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5809 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5810 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5811 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5812 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5813 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5814 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5815 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5816 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5817 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5818 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5819 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5820 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5821 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5822 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5823 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5824 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5825 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5826 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5827 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5828 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5829 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5830 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5831 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5832 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5833 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5834 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5835 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5836 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5837 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5838 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5839 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5840 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5841
5842 2015-07-10 Tom de Vries <tom@codesourcery.com>
5843
5844 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5845 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5846
5847 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5848
5849 PR libgomp/65099
5850 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5851 in a 64-bit configuration.
5852 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5853 offloading testing if no such device is available.
5854 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5855 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5856
5857 2015-07-08 Tom de Vries <tom@codesourcery.com>
5858
5859 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5860 second call to f.
5861 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5862
5863 2015-07-07 Tom de Vries <tom@codesourcery.com>
5864
5865 PR tree-optimization/66642
5866 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5867 iteration count case.
5868 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5869 function, factor out of ...
5870 (main): ... here. Test low iteration count case.
5871
5872 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5873
5874 * libgomp.h (gomp_thread_pool): Comment last_team field.
5875
5876 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
5877
5878 * testsuite/libgomp.c++/pr66702-1.C: Require
5879 vect_simd_clones effective target.
5880 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5881
5882 2015-06-30 Tom de Vries <tom@codesourcery.com>
5883
5884 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5885 already set. Use DEFAULT_CFLAGS in dg-runtest.
5886 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5887 "-O2".
5888
5889 2015-06-30 Tom de Vries <tom@codesourcery.com>
5890
5891 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5892 already set. Use DEFAULT_CFLAGS in dg-runtest.
5893 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5894 * testsuite/libgomp.c++/pr64824.C: Same.
5895 * testsuite/libgomp.c++/pr64868.C: Same.
5896 * testsuite/libgomp.c++/pr66199-1.C: Same.
5897 * testsuite/libgomp.c++/pr66199-2.C: Same.
5898 * testsuite/libgomp.c++/target-2.C: Same.
5899 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5900 -std=<standard> option.
5901 * testsuite/libgomp.c++/udr-11.C: Same.
5902 * testsuite/libgomp.c++/udr-12.C: Same.
5903 * testsuite/libgomp.c++/udr-13.C: Same.
5904 * testsuite/libgomp.c++/udr-14.C: Same.
5905 * testsuite/libgomp.c++/udr-15.C: Same.
5906 * testsuite/libgomp.c++/udr-16.C: Same.
5907 * testsuite/libgomp.c++/udr-17.C: Same.
5908 * testsuite/libgomp.c++/udr-18.C: Same.
5909 * testsuite/libgomp.c++/udr-19.C: Same.
5910 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5911 * testsuite/libgomp.c++/simd-1.C: Same.
5912 * testsuite/libgomp.c++/simd-2.C: Same.
5913 * testsuite/libgomp.c++/simd-3.C: Same.
5914 * testsuite/libgomp.c++/simd-4.C: Same.
5915 * testsuite/libgomp.c++/simd-5.C: Same.
5916 * testsuite/libgomp.c++/simd-6.C: Same.
5917 * testsuite/libgomp.c++/simd-7.C: Same.
5918 * testsuite/libgomp.c++/simd-8.C: Same.
5919 * testsuite/libgomp.c++/simd-9.C: Same.
5920 * testsuite/libgomp.c++/simd10.C: Same.
5921 * testsuite/libgomp.c++/simd11.C: Same.
5922 * testsuite/libgomp.c++/simd12.C: Same.
5923 * testsuite/libgomp.c++/simd13.C: Same.
5924
5925 2015-06-30 Jakub Jelinek <jakub@redhat.com>
5926
5927 PR middle-end/66702
5928 * testsuite/libgomp.c++/pr66702-1.C: New test.
5929 * testsuite/libgomp.c++/pr66702-2.C: New test.
5930
5931 2015-06-30 Tom de Vries <tom@codesourcery.com>
5932
5933 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5934 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5935 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5936 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5937
5938 2015-06-30 Tom de Vries <tom@codesourcery.com>
5939
5940 PR tree-optimization/66652
5941 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5942 using restrict pointers.
5943 (main): Add arguments to calls to f.
5944 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5945
5946 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5947
5948 * configure.ac: Fix check for header <sys/sysctl.h>.
5949 * configure: Regenerate.
5950 * config.h.in: Likewise.
5951
5952 2015-06-23 Tom de Vries <tom@codesourcery.com>
5953
5954 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5955 abort.
5956 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5957
5958 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5959
5960 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5961 acc_device_nvidia.
5962
5963 PR libgomp/66518
5964 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5965 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5966
5967 2015-06-15 Tom de Vries <tom@codesourcery.com>
5968
5969 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5970 dg-additional-options for any remaining options.
5971 * testsuite/libgomp.c/atomic-2.c: Same.
5972 * testsuite/libgomp.c/atomic-4.c: Same.
5973 * testsuite/libgomp.c/atomic-5.c: Same.
5974 * testsuite/libgomp.c/atomic-6.c: Same.
5975 * testsuite/libgomp.c/autopar-1.c: Same.
5976 * testsuite/libgomp.c/copyin-1.c: Same.
5977 * testsuite/libgomp.c/copyin-2.c: Same.
5978 * testsuite/libgomp.c/copyin-3.c: Same.
5979 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5980 * testsuite/libgomp.c/nestedfn-5.c: Same.
5981 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5982 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5983 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5984 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5985 * testsuite/libgomp.c/pr32362-1.c: Same.
5986 * testsuite/libgomp.c/pr32362-2.c: Same.
5987 * testsuite/libgomp.c/pr32362-3.c: Same.
5988 * testsuite/libgomp.c/pr39591-1.c: Same.
5989 * testsuite/libgomp.c/pr39591-2.c: Same.
5990 * testsuite/libgomp.c/pr39591-3.c: Same.
5991 * testsuite/libgomp.c/pr58392.c: Same.
5992 * testsuite/libgomp.c/pr58756.c: Same.
5993 * testsuite/libgomp.c/simd-1.c: Same.
5994 * testsuite/libgomp.c/simd-10.c: Same.
5995 * testsuite/libgomp.c/simd-11.c: Same.
5996 * testsuite/libgomp.c/simd-12.c: Same.
5997 * testsuite/libgomp.c/simd-13.c: Same.
5998 * testsuite/libgomp.c/simd-14.c: Same.
5999 * testsuite/libgomp.c/simd-15.c: Same.
6000 * testsuite/libgomp.c/simd-2.c: Same.
6001 * testsuite/libgomp.c/simd-3.c: Same.
6002 * testsuite/libgomp.c/simd-4.c: Same.
6003 * testsuite/libgomp.c/simd-5.c: Same.
6004 * testsuite/libgomp.c/simd-6.c: Same.
6005 * testsuite/libgomp.c/simd-7.c: Same.
6006 * testsuite/libgomp.c/simd-8.c: Same.
6007 * testsuite/libgomp.c/simd-9.c: Same.
6008
6009 2015-06-15 Tom de Vries <tom@codesourcery.com>
6010
6011 * testsuite/libgomp.c/pr35625.c: Fix typo.
6012
6013 2015-06-15 Tom de Vries <tom@codesourcery.com>
6014
6015 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6016 in dg-options.
6017 * testsuite/libgomp.c/atomic-3.c: Same.
6018 * testsuite/libgomp.c/debug-1.c: Same.
6019 * testsuite/libgomp.c/nqueens-1.c: Same.
6020 * testsuite/libgomp.c/pr26171.c: Same.
6021 * testsuite/libgomp.c/pr48591.c: Same.
6022 * testsuite/libgomp.c/pr64824.c: Same.
6023 * testsuite/libgomp.c/pr64868.c: Same.
6024 * testsuite/libgomp.c/pr66133.c: Same.
6025 * testsuite/libgomp.c/pr66199-1.c: Same.
6026 * testsuite/libgomp.c/pr66199-2.c: Same.
6027 * testsuite/libgomp.c/target-8.c: Same.
6028
6029 2015-06-15 Tom de Vries <tom@codesourcery.com>
6030
6031 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6032 -std={gnu99,c99}.
6033 * testsuite/libgomp.c/for-1.c: Same.
6034 * testsuite/libgomp.c/for-2.c: Same.
6035 * testsuite/libgomp.c/for-3.c: Same.
6036 * testsuite/libgomp.c/pr35625.c: Same.
6037 * testsuite/libgomp.c/pr39154.c: Same.
6038 * testsuite/libgomp.c/simd-16.c: Same.
6039 * testsuite/libgomp.c/simd-17.c: Same.
6040
6041 2015-06-13 Tom de Vries <tom@codesourcery.com>
6042
6043 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6044
6045 2015-06-13 Tom de Vries <tom@codesourcery.com>
6046
6047 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6048 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6049 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6050 (N): Define.
6051 (main): Use N instead of hardcoded constants.
6052
6053 2015-06-05 Tom de Vries <tom@codesourcery.com>
6054
6055 merge from gomp4 branch:
6056 2015-05-28 Tom de Vries <tom@codesourcery.com>
6057
6058 PR tree-optimization/65443
6059 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6060 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6061 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6062
6063 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6064
6065 * testsuite/libgomp.graphite/bounds.c: Adjust for
6066 cleanup-tree-dump removal.
6067 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6068 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6069 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6070 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6071 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6072 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6073 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6074 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6075 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6076 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6077
6078 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
6079
6080 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6081 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6082 (futex_wake) [!__x86_64__]: Ditto.
6083
6084 2015-05-28 Julian Brown <julian@codesourcery.com>
6085
6086 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6087 function comment. Only call gomp_fatal if new argument is true.
6088 (acc_dev_num_out_of_range): New function.
6089 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6090 acc_dev_num_out_of_range as appropriate.
6091 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6092 (acc_get_device_num, acc_set_device_num): Update calls to
6093 resolve_device.
6094 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6095 output.
6096
6097 2015-05-28 Julian Brown <julian@codesourcery.com>
6098
6099 PR libgomp/65742
6100 * oacc-init.c (plugin/plugin-host.h): Include.
6101 (acc_on_device): Check whether we're in an offloaded region for
6102 host_nonshm
6103 plugin. Don't use __builtin_acc_on_device.
6104 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6105 nonshm_exec flag in thread-local data.
6106 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6107 data for host_nonshm plugin.
6108 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6109 for host_nonshm plugin.
6110 * plugin/plugin-host.h: New.
6111
6112 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6113
6114 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6115
6116 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6117
6118 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6119 Declare as int.
6120 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6121 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6122 Declare as int.
6123
6124 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6125
6126 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
6127
6128 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6129
6130 * target.c (gomp_map_pointer): New function abstracting out
6131 GOMP_MAP_POINTER handling.
6132 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6133 gomp_map_pointer().
6134
6135 2015-05-19 Jakub Jelinek <jakub@redhat.com>
6136
6137 PR middle-end/66199
6138 * testsuite/libgomp.c/pr66199-1.c: New test.
6139 * testsuite/libgomp.c/pr66199-2.c: New test.
6140 * testsuite/libgomp.c++/pr66199-1.C: New test.
6141 * testsuite/libgomp.c++/pr66199-2.C: New test.
6142 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6143 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6144
6145 2015-05-19 Julian Brown <julian@codesourcery.com>
6146
6147 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6148 on cuInit failure.
6149
6150 2015-05-13 Jakub Jelinek <jakub@redhat.com>
6151
6152 PR middle-end/66133
6153 * testsuite/libgomp.c/pr66133.c: New test.
6154
6155 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6156
6157 * Makefile.in: Regenerated with automake-1.11.6.
6158 * aclocal.m4: Likewise.
6159 * config.h.in: Likewise.
6160 * configure: Likewise.
6161 * testsuite/Makefile.in: Likewise.
6162
6163 2015-05-08 Jason Merrill <jason@redhat.com>
6164
6165 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6166 _Complex.
6167
6168 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6169
6170 2015-05-06 Julian Brown <julian@codesourcery.com>
6171
6172 * oacc-init.c (acc_device_lock): Add explanatory comment.
6173 (resolve_device): Add comment about locking requirement.
6174 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6175 gomp_init_device and gomp_fini_device calls.
6176 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6177 (acc_get_device_num, acc_set_device_num): Add locking around
6178 resolve_device and gomp_init_device calls.
6179
6180 2015-05-06 Julian Brown <julian@codesourcery.com>
6181
6182 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6183 goacc_thread_lock on error paths.
6184 * oacc-mem.c (lookup_host): Remove locking from function. Note
6185 locking requirement for caller in function comment.
6186 (lookup_dev): Likewise.
6187 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6188 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6189 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6190 Add locking.
6191
6192 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6193
6194 PR testsuite/65205
6195 PR libgomp/65993
6196 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6197 don't expect "0x" prefix for "%p" format specifier, don't expect
6198 "(nil)" for NULL pointer.
6199 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6200 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6201 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6202 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6203 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6204 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6205 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6206 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6207 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6208 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6210 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6211 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6212 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6213 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6214 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6215 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6216 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6217 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6218 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6219 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6220 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6221 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6222 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6223 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6224 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6225 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6226 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6227 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6228 accurately specify what we're looking for.
6229 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6230 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6231 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6232 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6233 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6234
6235 2015-04-30 James Norris <jnorris@codesourcery.com>
6236
6237 PR testsuite/65205
6238 * testsuite/lib/libgomp.exp
6239 (check_effective_target_openacc_host_selected)
6240 (check_effective_target_openacc_host_nonshm_selected): New
6241 procedures.
6242 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6243 dg-shouldfail.
6244 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6245 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6250 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6252 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6253 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6255 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6256 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6257 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6258 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6259 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6260 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6261 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6262 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6263 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6264 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6265 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6266 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6267 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6268 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6269 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6270 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6271 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6272 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6273 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6274 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6275 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6276 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6278 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6280 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6282 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6283 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6284 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6285 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6286 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6287
6288 2015-04-08 Julian Brown <julian@codesourcery.com>
6289
6290 * libgomp.h (target_mem_desc: Remove mem_map field.
6291 (acc_dispatch_t): Remove open_device_func, close_device_func,
6292 get_device_num_func, set_device_num_func, target_data members.
6293 Change create_thread_data_func argument to device number instead of
6294 generic pointer.
6295 * oacc-async.c (assert.h): Include.
6296 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6297 (acc_wait_all, acc_wait_all_async): Use current host thread's
6298 active device, not base_dev.
6299 * oacc-cuda.c (acc_get_current_cuda_device)
6300 (acc_get_current_cuda_context, acc_get_cuda_stream)
6301 (acc_set_cuda_stream): Likewise.
6302 * oacc-host.c (host_dispatch): Don't set open_device_func,
6303 close_device_func, get_device_num_func or set_device_num_func.
6304 * oacc-init.c (base_dev, init_key): Remove.
6305 (cached_base_dev): New.
6306 (name_of_acc_device_t): New.
6307 (acc_init_1): Initialise default-numbered device, not zeroth.
6308 (acc_shutdown_1): Close all devices of a given type.
6309 (goacc_destroy_thread): Don't use base_dev.
6310 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6311 (goacc_attach_host_thread_to_device): New.
6312 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6313 (acc_get_num_devices): Don't use base_dev.
6314 (acc_set_device_type): Reimplement.
6315 (acc_get_device_type): Don't use base_dev.
6316 (acc_get_device_num): Tweak logic.
6317 (acc_set_device_num): Likewise.
6318 (acc_on_device): Use acc_get_device_type.
6319 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6320 (goacc_lazy_initialize): Reimplement with acc_init and
6321 goacc_attach_host_thread_to_device.
6322 * oacc-int.h (goacc_thread): Add base_dev field.
6323 (base_dev): Remove extern declaration.
6324 (goacc_attach_host_thread_to_device): Add prototype.
6325 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6326 base_dev.
6327 (acc_free): Likewise.
6328 (acc_memcpy_to_device): Likewise.
6329 (acc_memcpy_from_device): Likewise.
6330 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6331 goacc_lazy_initialize (throughout).
6332 (GOACC_parallel): Use tgt_offset to locate target functions.
6333 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6334 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6335 (gomp_load_plugin_for_device): Remove open_device, close_device,
6336 get_device_num, set_device_num openacc hook initialisation. Don't set
6337 openacc.target_data.
6338 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6339 (GOMP_OFFLOAD_openacc_close_device)
6340 (GOMP_OFFLOAD_openacc_get_device_num)
6341 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6342 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6343 to int.
6344 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6345 (instantiated_devices, ptx_dev_lock): New.
6346 (struct ptx_image_data): New.
6347 (ptx_devices, ptx_images, ptx_image_lock): New.
6348 (fini_streams_for_device): Reorder cuStreamDestroy call.
6349 (nvptx_get_num_devices): Remove forward declaration.
6350 (nvptx_init): Change return type to bool.
6351 (nvptx_fini): Remove.
6352 (nvptx_attach_host_thread_to_device): New.
6353 (nvptx_open_device): Return struct ptx_device* instead of void*.
6354 (nvptx_close_device): Change argument type to struct ptx_device*,
6355 return type to void.
6356 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6357 (kernel_target_data, kernel_host_table): Remove static globals.
6358 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6359 (GOMP_OFFLOAD_init_device): Reimplement.
6360 (GOMP_OFFLOAD_fini_device): Likewise.
6361 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6362 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6363 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6364 (GOMP_OFFLOAD_openacc_open_device)
6365 (GOMP_OFFLOAD_openacc_close_device)
6366 (GOMP_OFFLOAD_openacc_set_device_num)
6367 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6368 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6369 (device number).
6370
6371 testsuite/
6372 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6373
6374 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6375
6376 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6377 * libgomp.h (struct gomp_memory_mapping): Remove.
6378 (struct target_mem_desc): Change type of mem_map from
6379 gomp_memory_mapping * to splay_tree_s *.
6380 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6381 Add load_image_func, unload_image_func.
6382 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6383 Remove offload_regions_registered.
6384 (gomp_init_tables): Remove.
6385 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6386 to splay_tree_s *.
6387 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6388 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6389 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6390 offload_regions_registered.
6391 Initialize load_image_func, unload_image_func, mem_map.root.
6392 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6393 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6394 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6395 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6396 gomp_memory_mapping *. Use dev's lock and splay_tree.
6397 (lookup_dev): Use dev's lock.
6398 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6399 (acc_is_present): Likewise.
6400 (acc_map_data): Likewise.
6401 (acc_unmap_data): Likewise. Use dev's lock.
6402 (present_create_copy): Likewise.
6403 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6404 (update_dev_host): Likewise.
6405 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6406 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6407 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6408 (GOMP_OFFLOAD_get_table): Remove
6409 (GOMP_OFFLOAD_load_image): New function.
6410 (GOMP_OFFLOAD_unload_image): New function.
6411 * target.c (register_lock): New mutex for offload image registration.
6412 (num_devices): Do not guard with PLUGIN_SUPPORT.
6413 (gomp_realloc_unlock): New static function.
6414 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6415 before gomp_fatal.
6416 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6417 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6418 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6419 mem_map's.
6420 (gomp_unmap_vars): Likewise.
6421 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6422 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6423 (gomp_offload_image_to_device): New static function.
6424 (GOMP_offload_register): Add mutex lock.
6425 Call gomp_offload_image_to_device for all initialized devices.
6426 Replace gomp_realloc with gomp_realloc_unlock.
6427 (GOMP_offload_unregister): New function.
6428 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6429 get_table_func from the plugin with calls to init_device_func and
6430 gomp_offload_image_to_device.
6431 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6432 to splay_tree_s *.
6433 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6434 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6435 (GOMP_target_data): Do not call gomp_init_tables.
6436 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6437 (gomp_load_plugin_for_device): Replace register_image and get_table
6438 with load_image and unload_image in DLSYM ().
6439 (gomp_register_images_for_device): Remove function.
6440 (gomp_target_init): Do not initialize current_device.mem_map.*,
6441 current_device.offload_regions_registered.
6442 Remove call to gomp_register_images_for_device.
6443 Do not free offload_images and num_offload_images.
6444
6445 2015-03-30 Jakub Jelinek <jakub@redhat.com>
6446
6447 PR fortran/65597
6448 * testsuite/libgomp.fortran/pr65597.f90: New test.
6449
6450 2015-03-27 Tom de Vries <tom@codesourcery.com>
6451
6452 PR testsuite/65594
6453 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6454 (init, check): New function.
6455 (foo): Change return type to void.
6456 (main): Call init and check.
6457
6458 2015-03-27 Tom de Vries <tom@codesourcery.com>
6459
6460 PR testsuite/65594
6461 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6462 (foo): Use M for non-inner loops to scale down test-case.
6463
6464 2015-03-25 Kai Tietz <ktietz@redhat.com>
6465
6466 PR libgomp/64972
6467 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6468 (GOACC_data_start): Likewise.
6469 * target.c (gomp_map_vars): Likewise.
6470
6471 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
6472
6473 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6474 hppa*-*-hpux*.
6475
6476 2015-03-19 Jakub Jelinek <jakub@redhat.com>
6477
6478 * testsuite/libgomp.c/target-10.c: New test.
6479 * testsuite/libgomp.c++/target-4.C: New test.
6480
6481 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6482
6483 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6484 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6485
6486 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6487
6488 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6489 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6490 (pthread.h): Check for this header file.
6491 * configure: Regenerate.
6492
6493 2015-02-25 Tom de Vries <tom@codesourcery.com>
6494
6495 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6496 (check_reduction_op, check_reduction_macro, max, min):
6497 Declare.
6498 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6499 function.
6500 (main): Use new functions.
6501
6502 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6503
6504 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6505 char * for variables holding dlerror return values.
6506 (DLSYM_OPT): Ditto.
6507
6508 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6509
6510 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6511
6512 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6513 Cesar Philippidis <cesar@codesourcery.com>
6514
6515 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6516 GOACC_ctaid, and GOACC_nctaid routines.
6517
6518 2015-02-11 Jakub Jelinek <jakub@redhat.com>
6519
6520 PR c/64824
6521 * testsuite/libgomp.c/atomic-18.c: New test.
6522 * testsuite/libgomp.c++/atomic-16.C: New test.
6523
6524 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6525
6526 PR c/64824
6527 PR c/64868
6528 * testsuite/libgomp.c/pr64824.c: New test.
6529 * testsuite/libgomp.c/pr64868.c: New test.
6530 * testsuite/libgomp.c++/pr64824.C: New test.
6531 * testsuite/libgomp.c++/pr64868.C: New test.
6532
6533 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
6534
6535 PR libgomp/64635
6536 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6537 Link with -lpthread.
6538 * config/aix/plugin-suffix.h: Delete.
6539
6540 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6541
6542 PR libgomp/64635
6543 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6544 (*-*-darwin*): Use config_path "bsd darwin posix".
6545 (*-*-hpux*): Use config_path "hpux posix".
6546 * target.c: Add include of plugin-suffix.h and use
6547 SONAME_SUFFIX macro.
6548 * config/aix/plugin-suffix.h: New file.
6549 * config/darwin/plugin-suffix.h: New file.
6550 * config/hpux/plugin-suffix.h: New file.
6551 * config/posix/plugin-suffix.h: New file.
6552
6553 2015-01-23 Jakub Jelinek <jakub@redhat.com>
6554
6555 PR middle-end/64734
6556 * libgomp.c/pr64734.c: New test.
6557
6558 2015-01-23 Tom de Vries <tom@codesourcery.com>
6559
6560 PR libgomp/64672
6561 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6562
6563 2015-01-23 Tom de Vries <tom@codesourcery.com>
6564
6565 PR libgomp/64707
6566 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6567 dg-options.
6568
6569 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6570
6571 PR libgomp/64625
6572 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6573 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6574 formal parameter. Update all users.
6575 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6576 Document unused formal parameter.
6577
6578 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6579
6580 * oacc-parallel.c: Don't include <alloca.h>.
6581 (GOACC_parallel): Use gomp_alloca instead of alloca.
6582
6583 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6584
6585 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6586
6587 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6588 James Norris <jnorris@codesourcery.com>
6589 Tom de Vries <tom@codesourcery.com>
6590 Julian Brown <julian@codesourcery.com>
6591 Cesar Philippidis <cesar@codesourcery.com>
6592 Nathan Sidwell <nathan@codesourcery.com>
6593 Tobias Burnus <burnus@net-b.de>
6594
6595 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6596 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6597 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6598 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6599 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6600 Include $(top_srcdir)/plugin/Makefrag.am.
6601 (nodist_libsubinclude_HEADERS): Add openacc.h.
6602 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6603 openacc.f90, openacc.mod, openacc_kinds.mod.
6604 (omp_lib.mod): Generalize into...
6605 (%.mod): ... this new rule.
6606 (openacc_kinds.mod, openacc.mod): New rules.
6607 * plugin/configfrag.ac: New file.
6608 * configure.ac: Move plugin/offloading support into it. Include
6609 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6610 * plugin/Makefrag.am: New file.
6611 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6612 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6613 export.
6614 (libgomp-test-support.exp): New rule.
6615 (all-local): Depend on it.
6616 * Makefile.in: Regenerate.
6617 * testsuite/Makefile.in: Regenerate.
6618 * config.h.in: Likewise.
6619 * configure: Likewise.
6620 * configure.tgt: Harden shell syntax.
6621 * env.c: Include "oacc-int.h".
6622 (parse_acc_device_type): New function.
6623 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6624 variables.
6625 (initialize_env): Initialize those. Call
6626 goacc_runtime_initialize.
6627 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6628 (gomp_fatal): Call gomp_vfatal.
6629 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6630 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6631 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6632 (splay_tree_node, splay_tree, splay_tree_key)
6633 (struct target_mem_desc, struct splay_tree_key_s)
6634 (struct gomp_memory_mapping, struct acc_dispatch_t)
6635 (struct gomp_device_descr, gomp_acc_insert_pointer)
6636 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6637 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6638 (gomp_free_memmap, gomp_fini_device): New declarations.
6639 (gomp_vdebug, gomp_debug): New macros.
6640 Include "splay-tree.h".
6641 * libgomp.map (OACC_2.0): New symbol version. Use for
6642 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6643 acc_set_device_type_h_, acc_get_device_type,
6644 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6645 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6646 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6647 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6648 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6649 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6650 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6651 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6652 acc_copyin_array_h_, acc_present_or_copyin,
6653 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6654 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6655 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6656 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6657 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6658 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6659 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6660 acc_update_device, acc_update_device_32_h_,
6661 acc_update_device_64_h_, acc_update_device_array_h_,
6662 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6663 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6664 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6665 acc_is_present_64_h_, acc_is_present_array_h_,
6666 acc_memcpy_to_device, acc_memcpy_from_device,
6667 acc_get_current_cuda_device, acc_get_current_cuda_context,
6668 acc_get_cuda_stream, acc_set_cuda_stream.
6669 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6670 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6671 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6672 GOACC_get_num_threads.
6673 (GOMP_PLUGIN_1.0): New symbol version. Use for
6674 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6675 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6676 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6677 GOMP_PLUGIN_acc_thread.
6678 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6679 environment variable.
6680 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6681 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6682 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6683 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6684 (splay_tree_remove): New declarations.
6685 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6686 (splay_tree_remove, splay_tree_lookup): Move into...
6687 * splay-tree.c: ... this new file.
6688 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6689 (splay_tree_node, splay_tree, splay_tree_key)
6690 (struct target_mem_desc, struct splay_tree_key_s)
6691 (struct gomp_device_descr): Don't declare.
6692 (num_devices_openmp): New variable.
6693 (gomp_get_num_devices ): Use it.
6694 (gomp_init_targets_once): New function.
6695 (gomp_get_num_devices ): Use it.
6696 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6697 (gomp_fini_device, gomp_register_image_for_device): New functions.
6698 (gomp_map_vars): Add devaddrs parameter.
6699 (gomp_update): Add mm parameter.
6700 (gomp_init_device): Move most of it into...
6701 (gomp_init_tables): ... this new function.
6702 (gomp_register_images_for_device): Remove function.
6703 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6704 Make them hidden instead of static.
6705 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6706 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6707 (GOMP_target_end_data, GOMP_target_update)
6708 (gomp_load_plugin_for_device, gomp_target_init): Update for
6709 OpenACC changes.
6710 * oacc-async.c: New file.
6711 * oacc-cuda.c: Likewise.
6712 * oacc-host.c: Likewise.
6713 * oacc-init.c: Likewise.
6714 * oacc-int.h: Likewise.
6715 * oacc-mem.c: Likewise.
6716 * oacc-parallel.c: Likewise.
6717 * oacc-plugin.c: Likewise.
6718 * oacc-plugin.h: Likewise.
6719 * oacc-ptx.h: Likewise.
6720 * openacc.f90: Likewise.
6721 * openacc.h: Likewise.
6722 * openacc_lib.h: Likewise.
6723 * plugin/plugin-host.c: Likewise.
6724 * plugin/plugin-nvptx.c: Likewise.
6725 * libgomp-plugin.c: Likewise.
6726 * libgomp-plugin.h: Likewise.
6727 * libgomp_target.h: Remove file after merging content into the
6728 former file. Update all users.
6729 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6730 (offload_targets_s, offload_targets_s_openacc): New variables.
6731 (check_effective_target_openacc_nvidia_accel_present)
6732 (check_effective_target_openacc_nvidia_accel_selected): New
6733 procedures.
6734 (libgomp_init): Update for OpenACC changes.
6735 * testsuite/libgomp-test-support.exp.in: New file.
6736 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6737 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6738 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6767 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6772 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6774 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6776 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6780 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6783 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6784 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6785 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6787 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6794 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6795 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6796 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6798 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6804 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6805 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6806 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6809 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6810 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6812 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6818 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6820 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6829 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6831 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6852 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6857 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6858 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6859 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6862 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6863 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6864 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6865 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6866 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6867 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6868 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6869 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6870 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6871 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6872 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6873 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6874 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6875 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6876 Likewise.
6877 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6878 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6879 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6880 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6881 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6882 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6883 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6884 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6885 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6886 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6887 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6888 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6889 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6890 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6891 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6892 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6893 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6894 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6895 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6896 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6897 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6898 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6899 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6900 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6901 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6902 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6903 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6904 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6905 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6906 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6907 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6908 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6909 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6910 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6911 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6912 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6913 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6914 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6915 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6916 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6917 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6918 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6919 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6920 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6921 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6922 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6923 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6924 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6925 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6926 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6927 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6928 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6929 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6930 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6931 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6932 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6933 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6934 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6935 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6936 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6937
6938 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6939 Julian Brown <julian@codesourcery.com>
6940 David Malcolm <dmalcolm@redhat.com>
6941
6942 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6943 to "GNU Offloading and Multi Processing Runtime Library". Change
6944 all users.
6945 * configure: Regenerate.
6946 * libgomp.texi: Update.
6947
6948 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6949
6950 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6951 "$tgt_dir/lib32".
6952 * configure: Regenerate.
6953
6954 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6955 "intelmic" in $offload_targets.
6956
6957 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6958
6959 Update copyright years.
6960
6961 * libgomp.texi: Bump @copying's copyright year.
6962
6963 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6964
6965 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6966 Move load of target-supportes.exp earlier.
6967
6968 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6969
6970 * testsuite/libgomp.c/target-9.c: New test.
6971
6972 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6973
6974 * config.h.in: Regenerate.
6975 * configure: Regenerate.
6976 * configure.ac: Add GCC_CHECK_EMUTLS.
6977 * libgomp.h: Add check for USE_EMUTLS: this case
6978 is equal to HAVE_TLS.
6979 * team.c: Likewise.
6980
6981 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
6982
6983 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6984
6985 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6986 Ilya Verbin <ilya.verbin@intel.com>
6987
6988 * testsuite/libgomp.c/target-critical-1.c: New test.
6989
6990 2014-11-26 Jakub Jelinek <jakub@redhat.com>
6991
6992 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
6993 to dg-options unless expensive testing is on.
6994 (TESTITERS): Define to N if not defined.
6995 (main): Use TESTITERS instead of N.
6996 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6997 dg-additional-options depending on whether expensive testing is on.
6998 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6999 Decrease N to 100000 and CHUNKSZ to 10000.
7000
7001 2014-11-24 Jakub Jelinek <jakub@redhat.com>
7002
7003 PR fortran/63938
7004 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7005 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
7006
7007 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
7008
7009 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7010
7011 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7012
7013 PR bootstrap/63784
7014 * configure: Regenerated.
7015
7016 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
7017
7018 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7019 vect_simd_clones effective target.
7020 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7021
7022 2014-11-14 Jakub Jelinek <jakub@redhat.com>
7023
7024 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7025 of 32 as block_size.
7026 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7027 instead of 32 as block_size.
7028
7029 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7030 Ilya Verbin <ilya.verbin@intel.com>
7031
7032 * Makefile.in: Regenerate.
7033 * configure: Regenerate.
7034 * configure.ac: Set up offload_additional_options,
7035 offload_additional_lib_paths and offload_targets.
7036 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7037 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7038 * testsuite/Makefile.in: Regenerate.
7039 * testsuite/lib/libgomp.exp (libgomp_init): Append
7040 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7041 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7042 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7043
7044 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7045 Ilya Verbin <ilya.verbin@intel.com>
7046 Kirill Yukhin <kirill.yukhin@intel.com>
7047 Ilya Tocar <ilya.tocar@intel.com>
7048
7049 * testsuite/lib/libgomp.exp
7050 (check_effective_target_offload_device): New.
7051 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7052 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7053 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7054 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7055 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7056 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7057 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7058 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7059 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7060 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7061 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7062 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7063 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7064 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7065 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7066 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7067 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7068 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7069 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7070 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7071 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7072 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7073 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7074 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7075 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7076 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7077 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7078 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7079 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7080 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7081 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7082 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7083 * testsuite/libgomp.c/target-7.c: Fix test.
7084 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7085 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7086 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7087 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7088 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7089 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7090 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7091 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7092 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7093 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7094 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7095 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7096 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7097 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7098 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7099 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7100 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7101 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7102 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7103 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7104 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7105 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7106 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7107 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7108 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7109 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7110 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7111 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7112 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7113 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7114 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7115
7116 2014-11-13 Jakub Jelinek <jakub@redhat.com>
7117 Ilya Verbin <ilya.verbin@intel.com>
7118 Thomas Schwinge <thomas@codesourcery.com>
7119 Andrey Turetskiy <andrey.turetskiy@intel.com>
7120
7121 * libgomp.map (GOMP_4.0.1): New symbol version.
7122 Add GOMP_offload_register.
7123 * libgomp_target.h: New file.
7124 * splay-tree.h: New file.
7125 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7126 (gomp_target_init): New forward declaration.
7127 (gomp_is_initialized): New static variable.
7128 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7129 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7130 New structures.
7131 (offload_images, num_offload_images, devices, num_devices): New static
7132 variables.
7133 (splay_compare): New static function.
7134 (struct gomp_device_descr): New structure.
7135 (gomp_get_num_devices): Call gomp_target_init.
7136 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7137 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7138 (GOMP_offload_register): New function.
7139 (GOMP_target): Arrange for host callback to be performed in a separate
7140 initial thread and contention group, inheriting ICVs from
7141 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7142 Add device initialization and lookup for target function in splay tree.
7143 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7144 (GOMP_target_end_data): Call gomp_unmap_vars.
7145 (GOMP_target_update): Add device initialization and call gomp_update.
7146 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7147 (gomp_target_init): New static functions.
7148
7149 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7150 Thomas Schwinge <thomas@codesourcery.com>
7151 Ilya Verbin <ilya.verbin@intel.com>
7152 Andrey Turetskiy <andrey.turetskiy@intel.com>
7153
7154 * config.h.in: Regenerate.
7155 * configure: Regenerate.
7156 * configure.ac: Check for libdl, required for plugin support.
7157 (PLUGIN_SUPPORT): Define if plugins are supported.
7158 (enable_offload_targets): Support Intel MIC targets.
7159 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7160
7161 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7162
7163 PR target/63610
7164 * configure: Regenerate.
7165
7166 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7167
7168 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7169
7170 2014-10-06 Marek Polacek <polacek@redhat.com>
7171
7172 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7173 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7174 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7175 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7176
7177 2014-10-06 Marek Polacek <polacek@redhat.com>
7178
7179 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7180 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7181 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7182 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7183 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7184 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7185 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7186 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7187 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7188 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7189 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7190 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7191 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7192 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7193 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7194 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7195 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7196 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7197 declarations.
7198
7199 2014-10-03 Jakub Jelinek <jakub@redhat.com>
7200
7201 PR libgomp/61200
7202 * testsuite/libgomp.c/pr61200.c: New test.
7203
7204 2014-09-18 Jakub Jelinek <jakub@redhat.com>
7205
7206 PR c++/63248
7207 * testsuite/libgomp.c++/pr63248.C: New test.
7208
7209 2014-08-04 Jakub Jelinek <jakub@redhat.com>
7210
7211 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7212 is not zero, but taskgroup->children is NULL and there are
7213 any task->children, schedule those instead of waiting.
7214 * testsuite/libgomp.c/depend-6.c: New test.
7215 * testsuite/libgomp.c/depend-7.c: New test.
7216 * testsuite/libgomp.c/depend-8.c: New test.
7217 * testsuite/libgomp.c/depend-9.c: New test.
7218 * testsuite/libgomp.c/depend-10.c: New test.
7219
7220 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7221
7222 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7223 (struct gomp_taskwait): New type.
7224 (struct gomp_task): Add taskwait and parent_depends_on, remove
7225 in_taskwait and taskwait_sem fields.
7226 (gomp_finish_task): Don't destroy taskwait_sem.
7227 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7228 taskwait and parent_depends_on.
7229 (GOMP_task): For if (0) tasks with depend clause that depend on
7230 earlier tasks don't defer them, instead call
7231 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7232 Initialize redundant_out field, for redundant out entries just
7233 move them at the end of linked list instead of removing them
7234 completely, and set redundant_out flag instead of redundant.
7235 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7236 that task.
7237 (gomp_task_run_post_handle_dependers): If parent is in
7238 gomp_task_maybe_wait_for_dependencies and newly runnable task
7239 is not parent_depends_on, queue it in parent->children linked
7240 list after all runnable tasks with parent_depends_on set.
7241 Adjust for addition of taskwait indirection.
7242 (gomp_task_run_post_remove_parent): If parent is in
7243 gomp_task_maybe_wait_for_dependencies and task to be removed
7244 is parent_depends_on, decrement n_depend and if needed awake
7245 parent. Adjust for addition of taskwait indirection.
7246 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7247 (gomp_task_maybe_wait_for_dependencies): New function.
7248 * testsuite/libgomp.c/depend-5.c: New test.
7249
7250 2014-07-13 Tobias Burnus <burnus@net-b.de>
7251
7252 * testsuite/libgomp.fortran/pr34020.f90: Make compile
7253 with TS 18508/Fortran 2015.
7254
7255 2014-07-06 Marek Polacek <polacek@redhat.com>
7256
7257 PR c/6940
7258 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7259
7260 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7261
7262 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7263 matches regex $lang_source_re, add $lang_include_flags to options.
7264 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7265 * testsuite/libgomp.c++/c++.exp: Likewise.
7266 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7267 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7268 ALWAYS_CFLAGS.
7269 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7270
7271 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7272
7273 * testsuite/libgomp.fortran/fortran.exp: Explain
7274 gfortran-dg-runtest usage.
7275
7276 2014-06-25 Jakub Jelinek <jakub@redhat.com>
7277
7278 * testsuite/libgomp.fortran/simd5.f90: New test.
7279 * testsuite/libgomp.fortran/simd6.f90: New test.
7280 * testsuite/libgomp.fortran/simd7.f90: New test.
7281
7282 2014-06-24 Jakub Jelinek <jakub@redhat.com>
7283
7284 * testsuite/libgomp.c/for-2.c: Define SC to static for
7285 #pragma omp for simd testing.
7286 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7287 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7288 SC macro.
7289 * testsuite/libgomp.c/simd-14.c: New test.
7290 * testsuite/libgomp.c/simd-15.c: New test.
7291 * testsuite/libgomp.c/simd-16.c: New test.
7292 * testsuite/libgomp.c/simd-17.c: New test.
7293 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7294 #pragma omp for simd testing.
7295 * testsuite/libgomp.c++/simd10.C: New test.
7296 * testsuite/libgomp.c++/simd11.C: New test.
7297 * testsuite/libgomp.c++/simd12.C: New test.
7298 * testsuite/libgomp.c++/simd13.C: New test.
7299
7300 * testsuite/libgomp.fortran/aligned1.f03: New test.
7301 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7302 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7303 tasks with !$omp parallel !$omp single.
7304 * testsuite/libgomp.fortran/target8.f90: New test.
7305 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7306 not to use trim in the combiner, instead call elemental function.
7307 (fn): New elemental function.
7308 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7309 Make elemental.
7310 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7311 omp_in): Likewise.
7312 * testsuite/libgomp.fortran/udr12.f90: New test.
7313 * testsuite/libgomp.fortran/udr13.f90: New test.
7314 * testsuite/libgomp.fortran/udr14.f90: New test.
7315 * testsuite/libgomp.fortran/udr15.f90: New test.
7316
7317 2014-06-18 Jakub Jelinek <jakub@redhat.com>
7318
7319 * omp_lib.f90.in (openmp_version): Set to 201307.
7320 * omp_lib.h.in (openmp_version): Likewise.
7321 * testsuite/libgomp.c/target-8.c: New test.
7322 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7323 and inbranch clauses.
7324 * testsuite/libgomp.fortran/depend-3.f90: New test.
7325 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7326 openmp_version.
7327 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7328 * testsuite/libgomp.fortran/target1.f90: New test.
7329 * testsuite/libgomp.fortran/target2.f90: New test.
7330 * testsuite/libgomp.fortran/target3.f90: New test.
7331 * testsuite/libgomp.fortran/target4.f90: New test.
7332 * testsuite/libgomp.fortran/target5.f90: New test.
7333 * testsuite/libgomp.fortran/target6.f90: New test.
7334 * testsuite/libgomp.fortran/target7.f90: New test.
7335
7336 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7337
7338 PR fortran/60928
7339 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7340 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7341 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7342 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7343 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7344 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7345 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7346 * testsuite/libgomp.fortran/associate1.f90: New test.
7347 * testsuite/libgomp.fortran/associate2.f90: New test.
7348 * testsuite/libgomp.fortran/procptr1.f90: New test.
7349
7350 2014-06-06 Jakub Jelinek <jakub@redhat.com>
7351
7352 * testsuite/libgomp.fortran/simd1.f90: New test.
7353 * testsuite/libgomp.fortran/udr1.f90: New test.
7354 * testsuite/libgomp.fortran/udr2.f90: New test.
7355 * testsuite/libgomp.fortran/udr3.f90: New test.
7356 * testsuite/libgomp.fortran/udr4.f90: New test.
7357 * testsuite/libgomp.fortran/udr5.f90: New test.
7358 * testsuite/libgomp.fortran/udr6.f90: New test.
7359 * testsuite/libgomp.fortran/udr7.f90: New test.
7360 * testsuite/libgomp.fortran/udr8.f90: New test.
7361 * testsuite/libgomp.fortran/udr9.f90: New test.
7362 * testsuite/libgomp.fortran/udr10.f90: New test.
7363 * testsuite/libgomp.fortran/udr11.f90: New test.
7364
7365 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
7366
7367 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7368 vect_simd_clones effective target.
7369 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7370
7371 2014-05-21 Jakub Jelinek <jakub@redhat.com>
7372
7373 PR middle-end/61252
7374 * testsuite/libgomp.c++/simd-9.C: New test.
7375
7376 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
7377
7378 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7379 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7380 texts according to their @menu entry positions.
7381
7382 2014-05-11 Jakub Jelinek <jakub@redhat.com>
7383
7384 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7385 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7386 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7387 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7388 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7389 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7390 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7391 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7392 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7393 * testsuite/libgomp.fortran/depend-1.f90: New test.
7394 * testsuite/libgomp.fortran/depend-2.f90: New test.
7395 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7396 * testsuite/libgomp.fortran/simd1.f90: New test.
7397 * testsuite/libgomp.fortran/simd2.f90: New test.
7398 * testsuite/libgomp.fortran/simd3.f90: New test.
7399 * testsuite/libgomp.fortran/simd4.f90: New test.
7400 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7401
7402 2014-05-02 Jakub Jelinek <jakub@redhat.com>
7403
7404 * testsuite/libgomp.c/simd-10.c: New test.
7405 * testsuite/libgomp.c/simd-11.c: New test.
7406 * testsuite/libgomp.c/simd-12.c: New test.
7407 * testsuite/libgomp.c/simd-13.c: New test.
7408
7409 2014-04-24 Jakub Jelinek <jakub@redhat.com>
7410
7411 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7412 atomic type clauses in any order and optional comma in between.
7413 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7414 * testsuite/libgomp.c/atomic-17.c: Likewise.
7415
7416 * testsuite/libgomp.c/simd-7.c: New test.
7417 * testsuite/libgomp.c/simd-8.c: New test.
7418 * testsuite/libgomp.c/simd-9.c: New test.
7419 * testsuite/libgomp.c/loop-16.c: New test.
7420
7421 2014-04-02 Richard Henderson <rth@redhat.com>
7422
7423 * config/linux/futex.h (futex_wait): Get error value from errno.
7424 (futex_wake): Likewise.
7425
7426 2014-03-25 Jakub Jelinek <jakub@redhat.com>
7427
7428 PR c++/60331
7429 * testsuite/libgomp.c++/udr-11.C: New test.
7430 * testsuite/libgomp.c++/udr-12.C: New test.
7431 * testsuite/libgomp.c++/udr-13.C: New test.
7432 * testsuite/libgomp.c++/udr-14.C: New test.
7433 * testsuite/libgomp.c++/udr-15.C: New test.
7434 * testsuite/libgomp.c++/udr-16.C: New test.
7435 * testsuite/libgomp.c++/udr-17.C: New test.
7436 * testsuite/libgomp.c++/udr-18.C: New test.
7437 * testsuite/libgomp.c++/udr-19.C: New test.
7438
7439 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7440
7441 Update copyright years
7442
7443 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7444
7445 * hashtab.h: Use the standard form for the copyright notice.
7446
7447 2014-01-02 Tobias Burnus <burnus@net-b.de>
7448
7449 * libgomp.texi: Bump @copying's copyright year.
7450
7451 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7452
7453 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7454 alloca () with __builtin_alloca ().
7455 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7456 * testsuite/libgomp.c/lock-3.c: Likewise.
7457 * testsuite/libgomp.c/pr48591.c: Likewise.
7458
7459 2013-12-17 Jakub Jelinek <jakub@redhat.com>
7460
7461 PR testsuite/59534
7462 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7463 comparisons.
7464
7465 2013-12-16 Jakub Jelinek <jakub@redhat.com>
7466
7467 PR libgomp/58756
7468 * testsuite/libgomp.c/pr58756.c: New test.
7469
7470 2013-12-12 Jakub Jelinek <jakub@redhat.com>
7471
7472 PR libgomp/59467
7473 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7474 !$omp parallel.
7475
7476 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7477
7478 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7479 ALWAYS_CFLAGS.
7480 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7481 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7482 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7483 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7484 Likewise.
7485
7486 * libgomp_g.h: Include <stddef.h> for size_t.
7487
7488 * libgomp.spec.in: Update comment about libgomp's dependencies.
7489 * configure.ac: Likewise.
7490 * configure: Regenerate.
7491
7492 2013-10-16 Tobias Burnus <burnus@net-b.de>
7493
7494 * libgomp.texi: (Runtime Library Routines): Update references for
7495 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7496 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7497 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7498 (Environment Variables): Update references for OpenMP 4.0. Add
7499 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7500 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7501 order.
7502
7503 2013-10-14 Jakub Jelinek <jakub@redhat.com>
7504
7505 * env.c (parse_bind_var): Initialize value to avoid
7506 (false positive) warning.
7507
7508 2013-10-12 Jakub Jelinek <jakub@redhat.com>
7509
7510 PR libgomp/58691
7511 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7512 to check variable.
7513 (gomp_init_num_threads): Move i variable declaration into
7514 #ifdef CPU_ALLOC_SIZE block.
7515 * config/linux/affinity.c (gomp_affinity_init_level): Test
7516 gomp_places_list_len == 0 rather than gomp_places_list == 0
7517 when checking for topology reading error.
7518 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7519 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7520 gomp_places_list, only parse env var and always return false.
7521 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7522 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7523 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7524 and either of these variables were parsed correctly into a places
7525 list.
7526
7527 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7528 Jakub Jelinek <jakub@redhat.com>
7529
7530 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7531 of 5 loopfn matches.
7532 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7533 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7534 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7535 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7536 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7537 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7538 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7539 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7540
7541 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7542
7543 * Makefile.am (omp_lib.mod): Streamline rule.
7544 * Makefile.in: Regenerate.
7545
7546 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7547 exceptions.
7548
7549 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7550 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7551 * testsuite/libgomp.fortran/lib2.f: Likewise.
7552 * testsuite/libgomp.fortran/lib3.f: Likewise.
7553
7554 * configure.ac: Typo fix.
7555 * configure: Regenerate.
7556
7557 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7558 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7559
7560 * omp.h.in: Don't touch the user's namespace.
7561
7562 2013-10-11 Jakub Jelinek <jakub@redhat.com>
7563 Tobias Burnus <burnus@net-b.de>
7564 Richard Henderson <rth@redhat.com>
7565
7566 * target.c: New file.
7567 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7568 * Makefile.in: Regenerated.
7569 * libgomp_g.h (GOMP_task): Add depend argument.
7570 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7571 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7572 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7573 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7574 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7575 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7576 GOMP_taskgroup_start, GOMP_taskgroup_end,
7577 GOMP_parallel_sections): New prototypes.
7578 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7579 (omp_is_initial_device_): New function.
7580 (ULP, STR1, STR2, ialias_redirect): Removed.
7581 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7582 omp_set_default_device_8_, omp_get_default_device_,
7583 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7584 functions.
7585 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7586 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7587 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7588 @@GOMP_4.0.
7589 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7590 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7591 omp_set_default_device, omp_set_default_device_,
7592 omp_set_default_device_8_, omp_get_default_device,
7593 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7594 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7595 omp_get_team_num_): Export @@OMP_4.0.
7596 * team.c (struct gomp_thread_start_data): Add place field.
7597 (gomp_thread_start): Clear thr->thread_pool and
7598 thr->task before returning. Use gomp_team_barrier_wait_final
7599 instead of gomp_team_barrier_wait. Initialize thr->place.
7600 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7601 team_cancelled and task_queued_count fields.
7602 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7603 before calling pthread_exit.
7604 (gomp_free_thread): No longer static. Use
7605 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7606 (gomp_team_start): Add flags argument. Set
7607 thr->thread_pool->threads_busy to nthreads immediately after creating
7608 new pool. Use gomp_managed_threads_lock instead of
7609 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7610 (gomp_team_end): Use gomp_managed_threads_lock instead of
7611 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7612 of gomp_team_barrier_wait. If team->team_cancelled, call
7613 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7614 rather than thr->ts.work_share.
7615 (initialize_team): Don't call gomp_sem_init here.
7616 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7617 caller.
7618 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7619 * env.c (gomp_global_icv): Add default_device_var, target_data and
7620 bind_var initializers.
7621 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7622 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7623 gomp_places_list_len): New variables.
7624 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7625 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7626 sized places.
7627 (gomp_cancel_var): New global variable.
7628 (parse_int): New function.
7629 (handle_omp_display_env): New function.
7630 (initialize_env): Use it. Initialize default_device_var.
7631 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7632 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7633 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7634 been successfully parsed (and call gomp_init_affinity in that case).
7635 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7636 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7637 omp_get_team_num, omp_is_initial_device): New functions.
7638 * libgomp.h: Include stdlib.h.
7639 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7640 Define.
7641 (struct target_mem_desc): Forward declare.
7642 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7643 and thread_limit_var fields.
7644 (gomp_get_num_devices): New prototype.
7645 (gomp_cancel_var): New extern decl.
7646 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7647 team_cancelled and task_queued_count fields. Add comments about
7648 task_{,queued_,running_}count.
7649 (gomp_cancel_kind): New enum.
7650 (gomp_work_share_end_cancel): New prototype.
7651 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7652 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7653 and depend fields.
7654 (struct gomp_taskgroup): New type.
7655 (struct gomp_task_depend_entry,
7656 struct gomp_dependers_vec): New types.
7657 (gomp_finish_task): Free depend_hash if non-NULL.
7658 (struct gomp_team_state): Add place_partition_off
7659 and place_partition_len fields.
7660 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7661 gomp_places_list_len): New extern decls.
7662 (struct gomp_thread): Add place field.
7663 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7664 (gomp_init_thread_affinity): Add place argument.
7665 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7666 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7667 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7668 gomp_affinity_init_level, gomp_affinity_print_place): New
7669 prototypes.
7670 (gomp_team_start): Add flags argument.
7671 (gomp_thread_limit_var, gomp_remaining_threads_count,
7672 gomp_remaining_threads_lock): Remove.
7673 (gomp_managed_threads_lock): New variable.
7674 (struct gomp_thread_pool): Add threads_busy field.
7675 (gomp_free_thread): New prototype.
7676 * task.c: Include hashtab.h.
7677 (hash_entry_type): New typedef.
7678 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7679 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7680 copy_ctors_done and taskgroup fields.
7681 (GOMP_task): Add depend argument, handle depend clauses. If
7682 gomp_team_barrier_cancelled or if it's taskgroup has been
7683 cancelled, don't queue or start new tasks. Set copy_ctors_done
7684 field if needed. Initialize taskgroup field. If copy_ctors_done
7685 and already cancelled, don't discard the task. If taskgroup is
7686 non-NULL, enqueue the task into taskgroup queue. Increment
7687 num_children field in taskgroup. Increment task_queued_count.
7688 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7689 gomp_task_run_post_remove_taskgroup): New inline functions.
7690 (gomp_task_run_post_handle_depend_hash,
7691 gomp_task_run_post_handle_dependers,
7692 gomp_task_run_post_handle_depend): New functions.
7693 (GOMP_taskwait): Use them. If more than one new tasks
7694 have been queued, wake other threads if needed.
7695 (gomp_barrier_handle_tasks): Likewise. If
7696 gomp_team_barrier_cancelled, don't start any new tasks, just free
7697 all tasks.
7698 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7699 * omp_lib.f90.in
7700 (omp_proc_bind_kind, omp_proc_bind_false,
7701 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7702 omp_proc_bind_spread): New params.
7703 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7704 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7705 omp_get_team_num, omp_is_initial_device): New interfaces.
7706 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7707 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7708 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7709 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7710 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7711 useless use omp_lib_kinds.
7712 * omp.h.in (omp_proc_bind_t): New typedef.
7713 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7714 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7715 omp_get_team_num, omp_is_initial_device): New prototypes.
7716 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7717 through to gomp_team_start.
7718 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7719 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7720 Adjust gomp_parallel_loop_start callers.
7721 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7722 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7723 GOMP_loop_end_cancel): New functions.
7724 (GOMP_parallel_end): Add ialias_redirect.
7725 * hashtab.h: New file.
7726 * libgomp.texi (Environment Variables): Minor cleanup,
7727 update section refs to OpenMP 4.0rc2.
7728 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7729 environment variables.
7730 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7731 team->work_shares_to_free to thr->ts.work_share before calling
7732 free_work_share.
7733 (gomp_work_share_end_cancel): New function.
7734 * config/linux/proc.c: Include errno.h.
7735 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7736 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7737 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7738 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7739 gomp_cpuset_size is sizeof (cpu_set_t).
7740 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7741 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7742 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7743 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7744 contain any logical CPUs.
7745 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7746 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7747 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7748 pthread_getaffinity_np. Check gomp_places_list instead of
7749 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7750 * config/linux/bar.c (gomp_barrier_wait_end,
7751 gomp_barrier_wait_last): Use BAR_* defines.
7752 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7753 from state where needed. Set work_share_cancelled to 0 on last
7754 thread.
7755 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7756 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7757 functions.
7758 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7759 Add cpusetsize argument.
7760 (gomp_cpuset_size, gomp_cpusetp): Declare.
7761 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7762 (affinity_counter): Remove.
7763 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7764 if CPU_ALLOC_SIZE isn't defined.
7765 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7766 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7767 bind current thread to the first place.
7768 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7769 pthread_setaffinity_np to gomp_places_list[place].
7770 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7771 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7772 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7773 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7774 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7775 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7776 (gomp_barrier_t): Add awaited_final field.
7777 (gomp_barrier_init): Initialize awaited_final field.
7778 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7779 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7780 prototypes.
7781 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7782 defines.
7783 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7784 gomp_team_barrier_cancelled): New inline functions.
7785 (gomp_barrier_last_thread,
7786 gomp_team_barrier_set_task_pending,
7787 gomp_team_barrier_clear_task_pending,
7788 gomp_team_barrier_set_waiting_for_tasks,
7789 gomp_team_barrier_waiting_for_tasks,
7790 gomp_team_barrier_done): Use BAR_* defines.
7791 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7792 (gomp_barrier_wait_end): Use BAR_* defines.
7793 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7794 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7795 Use BAR_* defines.
7796 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7797 gomp_team_barrier_cancel): New functions.
7798 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7799 argument.
7800 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7801 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7802 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7803 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7804 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7805 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7806 (gomp_barrier_t): Add cancellable field.
7807 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7808 gomp_team_barrier_cancel): New prototypes.
7809 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7810 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7811 gomp_team_barrier_cancelled): New inline functions.
7812 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7813 gomp_team_barrier_set_task_pending,
7814 gomp_team_barrier_clear_task_pending,
7815 gomp_team_barrier_set_waiting_for_tasks,
7816 gomp_team_barrier_waiting_for_tasks,
7817 gomp_team_barrier_done): Use BAR_* defines.
7818 * barrier.c (GOMP_barrier_cancel): New function.
7819 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7820 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7821 omp_proc_bind_spread): New params.
7822 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7823 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7824 omp_get_team_num, omp_is_initial_device): New externals.
7825 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7826 New functions.
7827 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7828 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7829 infinity. If not nested, just return minimum of max_num_threads
7830 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7831 to the returned value. Otherwise, don't update atomically
7832 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7833 (GOMP_parallel_end): Adjust for thread_limit now being in
7834 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7835 infinity. Adjust threads_busy in the pool rather than
7836 gomp_remaining_threads_count. Remember team->nthreads and call
7837 gomp_team_end before adjusting threads_busy, if not nested
7838 afterwards, just set it to 1 non-atomically. Add ialias.
7839 (GOMP_parallel_start): Adjust gomp_team_start caller.
7840 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7841 * testsuite/libgomp.c/affinity-1.c: New test.
7842 * testsuite/libgomp.c/atomic-15.c: New test.
7843 * testsuite/libgomp.c/atomic-16.c: New test.
7844 * testsuite/libgomp.c/atomic-17.c: New test.
7845 * testsuite/libgomp.c/cancel-for-1.c: New test.
7846 * testsuite/libgomp.c/cancel-for-2.c: New test.
7847 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7848 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7849 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7850 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7851 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7852 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7853 * testsuite/libgomp.c/depend-1.c: New test.
7854 * testsuite/libgomp.c/depend-2.c: New test.
7855 * testsuite/libgomp.c/depend-3.c: New test.
7856 * testsuite/libgomp.c/depend-4.c: New test.
7857 * testsuite/libgomp.c/for-1.c: New test.
7858 * testsuite/libgomp.c/for-1.h: New file.
7859 * testsuite/libgomp.c/for-2.c: New test.
7860 * testsuite/libgomp.c/for-2.h: New file.
7861 * testsuite/libgomp.c/for-3.c: New test.
7862 * testsuite/libgomp.c/pr58392.c: New test.
7863 * testsuite/libgomp.c/simd-1.c: New test.
7864 * testsuite/libgomp.c/simd-2.c: New test.
7865 * testsuite/libgomp.c/simd-3.c: New test.
7866 * testsuite/libgomp.c/simd-4.c: New test.
7867 * testsuite/libgomp.c/simd-5.c: New test.
7868 * testsuite/libgomp.c/simd-6.c: New test.
7869 * testsuite/libgomp.c/target-1.c: New test.
7870 * testsuite/libgomp.c/target-2.c: New test.
7871 * testsuite/libgomp.c/target-3.c: New test.
7872 * testsuite/libgomp.c/target-4.c: New test.
7873 * testsuite/libgomp.c/target-5.c: New test.
7874 * testsuite/libgomp.c/target-6.c: New test.
7875 * testsuite/libgomp.c/target-7.c: New test.
7876 * testsuite/libgomp.c/taskgroup-1.c: New test.
7877 * testsuite/libgomp.c/thread-limit-1.c: New test.
7878 * testsuite/libgomp.c/thread-limit-2.c: New test.
7879 * testsuite/libgomp.c/thread-limit-3.c: New test.
7880 * testsuite/libgomp.c/udr-1.c: New test.
7881 * testsuite/libgomp.c/udr-2.c: New test.
7882 * testsuite/libgomp.c/udr-3.c: New test.
7883 * testsuite/libgomp.c++/affinity-1.C: New test.
7884 * testsuite/libgomp.c++/atomic-10.C: New test.
7885 * testsuite/libgomp.c++/atomic-11.C: New test.
7886 * testsuite/libgomp.c++/atomic-12.C: New test.
7887 * testsuite/libgomp.c++/atomic-13.C: New test.
7888 * testsuite/libgomp.c++/atomic-14.C: New test.
7889 * testsuite/libgomp.c++/atomic-15.C: New test.
7890 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7891 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7892 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7893 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7894 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7895 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7896 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7897 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7898 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7899 * testsuite/libgomp.c++/cancel-test.h: New file.
7900 * testsuite/libgomp.c++/for-9.C: New test.
7901 * testsuite/libgomp.c++/for-10.C: New test.
7902 * testsuite/libgomp.c++/for-11.C: New test.
7903 * testsuite/libgomp.c++/simd-1.C: New test.
7904 * testsuite/libgomp.c++/simd-2.C: New test.
7905 * testsuite/libgomp.c++/simd-3.C: New test.
7906 * testsuite/libgomp.c++/simd-4.C: New test.
7907 * testsuite/libgomp.c++/simd-5.C: New test.
7908 * testsuite/libgomp.c++/simd-6.C: New test.
7909 * testsuite/libgomp.c++/simd-7.C: New test.
7910 * testsuite/libgomp.c++/simd-8.C: New test.
7911 * testsuite/libgomp.c++/target-1.C: New test.
7912 * testsuite/libgomp.c++/target-2.C: New test.
7913 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7914 * testsuite/libgomp.c++/target-3.C: New test.
7915 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7916 * testsuite/libgomp.c++/udr-1.C: New test.
7917 * testsuite/libgomp.c++/udr-2.C: New test.
7918 * testsuite/libgomp.c++/udr-3.C: New test.
7919 * testsuite/libgomp.c++/udr-4.C: New test.
7920 * testsuite/libgomp.c++/udr-5.C: New test.
7921 * testsuite/libgomp.c++/udr-6.C: New test.
7922 * testsuite/libgomp.c++/udr-7.C: New test.
7923 * testsuite/libgomp.c++/udr-8.C: New test.
7924 * testsuite/libgomp.c++/udr-9.C: New test.
7925
7926 2013-09-20 Jakub Jelinek <jakub@redhat.com>
7927
7928 PR testsuite/57605
7929 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7930 ALWAYS_CFLAGS.
7931
7932 2013-09-20 Alan Modra <amodra@gmail.com>
7933
7934 * configure: Regenerate.
7935
7936 2013-09-19 Jakub Jelinek <jakub@redhat.com>
7937
7938 * testsuite/libgomp.c/sections-2.c: New test.
7939
7940 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7941
7942 * testsuite/libgomp.fortran/strassen.f90:
7943 Add dg-skip-if aarch64_tiny.
7944
7945 2013-06-20 Iain Sandoe <iain@codesourcery.com>
7946 Cesar Philippidis <cesar@codesourcery.com>
7947
7948 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7949 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7950 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7951 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7952 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7953 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7954 Use dg-runtest rather than gfortran-dg-runtest.
7955
7956 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7957
7958 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7959 Linux-based x86 systems to cover all GNU systems.
7960 * testsuite/libgomp.c/lock-3.c: Likewise.
7961 * testsuite/libgomp.c/pr48591.c: Likewise.
7962
7963 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7964
7965 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7966 GNU/Hurd, as done for Linux-based systems.
7967
7968 * config/posix/ptrlock.h: Fix comment.
7969
7970 2013-05-27 Tobias Burnus <burnus@net-b.de>
7971
7972 PR fortran/57423
7973 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7974 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7975 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7976 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7977 omp_destroy_nest_lock): Correct arguments to match the one in
7978 the OpenMP spec.
7979 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7980 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7981 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7982 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7983
7984 2013-05-16 Jakub Jelinek <jakub@redhat.com>
7985
7986 * testsuite/libgomp.c/loop-13.c: New test.
7987 * testsuite/libgomp.c/loop-14.c: New test.
7988 * testsuite/libgomp.c/loop-15.c: New test.
7989 * testsuite/libgomp.c++/loop-13.C: New test.
7990 * testsuite/libgomp.c++/loop-14.C: New test.
7991 * testsuite/libgomp.c++/loop-15.C: New test.
7992
7993 2013-02-06 Jakub Jelinek <jakub@redhat.com>
7994
7995 PR middle-end/56217
7996 * testsuite/libgomp.c++/pr56217.C: New test.
7997
7998 2013-02-01 Alan Modra <amodra@gmail.com>
7999
8000 * task.c (GOMP_task, GOMP_taskwait): Comment.
8001
8002 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8003 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8004
8005 PR libgomp/55561
8006 * config/linux/wait.h (do_spin): Use atomic load for addr.
8007 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8008 for intptr and ptrlock.
8009 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8010 for ptrlock.
8011
8012 2013-01-22 Alan Modra <amodra@gmail.com>
8013
8014 PR libgomp/51376
8015 PR libgomp/56073
8016 * task.c (GOMP_task): Revert 2011-12-09 change.
8017 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8018 barrier to read task->children..
8019 (gomp_barrier_handle_tasks): ..and matching atomic store with
8020 release barrier here when setting parent->children to NULL.
8021
8022 2013-01-16 Jakub Jelinek <jakub@redhat.com>
8023 Tobias Burnus <burnus@net-b.de>
8024
8025 PR driver/55884
8026 * testsuite/libgomp.fortran/fortran.exp: Use
8027 -fintrinsic-modules-path= instead of
8028 -fintrinsic-modules-path.
8029
8030 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8031
8032 Update copyright years.
8033
8034 2012-12-19 Tobias Burnus <burnus@net-b.de>
8035
8036 * testsuite/libgomp.fortran/fortran.exp: Set
8037 -fintrinsic-modules-path.
8038
8039 2012-12-19 Tobias Burnus <burnus@net-b.de>
8040
8041 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8042 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8043
8044 2012-11-21 Jakub Jelinek <jakub@redhat.com>
8045
8046 PR libgomp/55411
8047 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8048 if pool had any threads_used.
8049
8050 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8051
8052 * testsuite/libgomp.c++/pr24455.C: Use
8053 -Wl,-undefined,dynamic_lookup on darwin.
8054
8055 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
8056
8057 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8058
8059 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8060
8061 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8062
8063 2012-10-23 Ian Bolton <ian.bolton@arm.com>
8064 Jim MacArthur <jim.macarthur@arm.com>
8065 Marcus Shawcroft <marcus.shawcroft@arm.com>
8066 Nigel Stephens <nigel.stephens@arm.com>
8067 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8068 Richard Earnshaw <rearnsha@arm.com>
8069 Sofiane Naci <sofiane.naci@arm.com>
8070 Stephen Thomas <stephen.thomas@arm.com>
8071 Tejas Belagod <tejas.belagod@arm.com>
8072 Yufeng Zhang <yufeng.zhang@arm.com>
8073
8074 * configure.tgt: Add AArch64.
8075
8076 2012-10-04 Jason Merrill <jason@redhat.com>
8077
8078 * testsuite/libgomp.c++/tls-init1.C: New.
8079
8080 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
8081
8082 * configure: Regenerated.
8083
8084 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8085
8086 * config/linux/mips/futex.h (sys_futex0): Change to static
8087 function with noinline, nomips16 attributes under MIPS16. Adjust
8088 asm statement to place 'li v0,SYS_futex' immediately before
8089 syscall insn.
8090
8091 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8092
8093 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8094 conflict with index.html on case-insensitive file systems.
8095
8096 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
8097
8098 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8099 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8100
8101 2012-07-02 Richard Guenther <rguenther@suse.de>
8102 Michael Matz <matz@suse.de>
8103 Tobias Grosser <tobias@grosser.es>
8104 Sebastian Pop <sebpop@gmail.com>
8105
8106 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8107 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8108 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8109 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8110
8111 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8112
8113 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8114
8115 2012-06-22 Richard Guenther <rguenther@suse.de>
8116
8117 Merge from graphite branch
8118 2012-01-13 Tobias Grosser <tobias@grosser.es>
8119
8120 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8121 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8122
8123 2012-06-07 Jakub Jelinek <jakub@redhat.com>
8124
8125 PR middle-end/53580
8126 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8127 use GOMP_barrier () call instead.
8128 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8129 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8130 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8131 call GOMP_barrier instead.
8132 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8133
8134 2012-06-06 Jakub Jelinek <jakub@redhat.com>
8135
8136 PR libgomp/52993
8137 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8138 argument to memset call.
8139
8140 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8141
8142 * configure: Regenerated.
8143
8144 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8145
8146 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8147
8148 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8149
8150 PR bootstrap/52812
8151 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8152
8153 2012-03-22 Jakub Jelinek <jakub@redhat.com>
8154
8155 PR middle-end/52547
8156 * testsuite/libgomp.c/pr52547.c: New test.
8157
8158 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8159
8160 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8161
8162 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8163
8164 * configure.tgt (mips-sgi-irix6*): Remove.
8165
8166 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8167
8168 * configure.tgt (alpha*-dec-osf*): Remove.
8169
8170 * config/osf/sem.h: Remove.
8171 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8172
8173 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8174
8175 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8176
8177 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8178
8179 PR libstdc++/52188
8180 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8181 Remove ENABLE_SYMVERS_SOL2.
8182 * configure: Regenerate.
8183 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8184 (PREPROCESS): New variable.
8185 (libgomp.ver): New target.
8186 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8187 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8188 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8189 Use libgomp.ver.
8190 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8191 * Makefile.in: Regenerate.
8192
8193 2012-02-14 Walter Lee <walt@tilera.com>
8194
8195 * configure.tgt: Handle tilegx and tilepro.
8196 * config/linux/tile/futex.h: New file.
8197
8198 2012-02-08 Richard Guenther <rguenther@suse.de>
8199
8200 PR tree-optimization/46886
8201 * testsuite/libgomp.c/pr46886.c: New testcase.
8202
8203 2012-01-25 Matthias Klose <doko@ubuntu.com>
8204
8205 * config/linux/arm: Remove empty directory.
8206 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8207
8208 2011-12-09 Alan Modra <amodra@gmail.com>
8209
8210 PR libgomp/51376
8211 * task.c (GOMP_taskwait): Don't access task->children outside of
8212 task_lock mutex region.
8213 (GOMP_task): Likewise.
8214
8215 2011-12-06 Jakub Jelinek <jakub@redhat.com>
8216
8217 PR libgomp/51132
8218 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8219 to file scope.
8220 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8221 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8222 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8223 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8224 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8225
8226 2011-12-02 Alan Modra <amodra@gmail.com>
8227
8228 * config/linux/affinity.c: Use atomic rather than sync builtin.
8229 * config/linux/lock.c: Likewise.
8230 * config/linux/ptrlock.h: Likewise.
8231 * config/linux/ptrlock.c: Likewise.
8232 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8233 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8234 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8235 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8236 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8237 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8238 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8239 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8240 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8241 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8242
8243 2011-11-30 Alan Modra <amodra@gmail.com>
8244
8245 PR libgomp/51298
8246 * config/linux/bar.h: Use atomic rather than sync builtins.
8247 * config/linux/bar.c: Likewise. Add missing acquire
8248 synchronisation on generation field.
8249 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8250 double unlock.
8251
8252 2011-11-30 Alan Modra <amodra@gmail.com>
8253
8254 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8255 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8256 * config/linux/mutex.h: Use atomic rather than sync builtins.
8257 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8258 * config/linux/omp-lock.h: Comment fix.
8259 * config/linux/arm/mutex.h: Delete.
8260 * config/linux/powerpc/mutex.h: Delete.
8261 * config/linux/ia64/mutex.h: Delete.
8262 * config/linux/mips/mutex.h: Delete.
8263
8264 2011-11-30 Alan Modra <amodra@gmail.com>
8265
8266 PR libgomp/51249
8267 * config/linux/sem.h: Rewrite.
8268 * config/linux/sem.c: Rewrite.
8269
8270 2011-11-28 Richard Henderson <rth@redhat.com>
8271
8272 * libgomp.h (enum memmodel): New.
8273
8274 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
8275
8276 * configure: Regenerate.
8277
8278 2011-10-10 Matthias Klose <doko@ubuntu.com>
8279
8280 * config/posix95: Remove empty directory.
8281
8282 2011-08-26 Jakub Jelinek <jakub@redhat.com>
8283
8284 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8285
8286 2011-08-19 Jakub Jelinek <jakub@redhat.com>
8287
8288 PR fortran/49792
8289 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8290 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8291
8292 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8293
8294 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8295
8296 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8297
8298 PR libgomp/49965
8299 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8300
8301 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
8302
8303 * config/linux/proc.h: New.
8304 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8305 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8306 (gomp_init_num_threads): Update call to cpuset_popcount.
8307 (get_num_procs): Ditto.
8308 * config/linux/affinity.c (gomp_init_affinity): Call
8309 gomp_cpuset_popcount.
8310
8311 2011-08-02 Jakub Jelinek <jakub@redhat.com>
8312
8313 PR fortran/42041
8314 PR fortran/46752
8315 * omp.h.in (omp_in_final): New prototype.
8316 * omp_lib.f90.in (omp_in_final): New interface.
8317 (omp_integer_kind, omp_logical_kind): Remove
8318 and replace all its uses in the module with 4.
8319 (openmp_version): Change to 201107.
8320 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8321 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8322 kind for the parameters.
8323 (omp_in_final): New external.
8324 (openmp_version): Change to 201107.
8325 * task.c (omp_in_final): New function.
8326 (gomp_init_task): Initialize final_task.
8327 (GOMP_task): Remove unused attribute from flags. Handle final
8328 tasks.
8329 (GOMP_taskyield): New function.
8330 (omp_in_final): Return true if if (false) or final (true) task
8331 or descendant of final (true).
8332 * fortran.c (omp_in_final_): New function.
8333 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8334 (GOMP_3.0): Export GOMP_taskyield.
8335 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8336 variables.
8337 (parse_unsigned_long_list): New function.
8338 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8339 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8340 even if parse_affinity returned false.
8341 * config/linux/affinity.c (gomp_init_affinity): Handle
8342 gomp_cpu_affinity_len == 0.
8343 * libgomp_g.h (GOMP_taskyield): New prototype.
8344 * libgomp.h (struct gomp_task): Add final_task field.
8345 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8346 * team.c (gomp_team_start): Override new task's nthreads_var icv
8347 if list form OMP_NUM_THREADS has been used and it has value for
8348 the new nesting level.
8349
8350 * testsuite/libgomp.c/atomic-11.c: New test.
8351 * testsuite/libgomp.c/atomic-12.c: New test.
8352 * testsuite/libgomp.c/atomic-13.c: New test.
8353 * testsuite/libgomp.c/atomic-14.c: New test.
8354 * testsuite/libgomp.c/reduction-6.c: New test.
8355 * testsuite/libgomp.c/task-5.c: New test.
8356 * testsuite/libgomp.c++/atomic-2.C: New test.
8357 * testsuite/libgomp.c++/atomic-3.C: New test.
8358 * testsuite/libgomp.c++/atomic-4.C: New test.
8359 * testsuite/libgomp.c++/atomic-5.C: New test.
8360 * testsuite/libgomp.c++/atomic-6.C: New test.
8361 * testsuite/libgomp.c++/atomic-7.C: New test.
8362 * testsuite/libgomp.c++/atomic-8.C: New test.
8363 * testsuite/libgomp.c++/atomic-9.C: New test.
8364 * testsuite/libgomp.c++/task-8.C: New test.
8365 * testsuite/libgomp.c++/reduction-4.C: New test.
8366 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8367 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8368 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8369 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8370 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8371 * testsuite/libgomp.fortran/pointer1.f90: New test.
8372 * testsuite/libgomp.fortran/pointer2.f90: New test.
8373 * testsuite/libgomp.fortran/task4.f90: New test.
8374
8375 2011-08-02 Tobias Burnus <burnus@net-b.de>
8376
8377 * libgomp.texi: Update OpenMP spec references to 3.1.
8378 (omp_in_final,OMP_PROC_BIND): New sections.
8379 (OMP_NUM_THREADS): Document that the value can be now a list.
8380 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8381
8382 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8383
8384 * config/linux/x86/futex.h: Check __x86_64__ instead of
8385 __LP64__.
8386
8387 2011-07-29 Jakub Jelinek <jakub@redhat.com>
8388
8389 PR middle-end/49897
8390 PR middle-end/49898
8391 * testsuite/libgomp.c/pr49897-1.c: New test.
8392 * testsuite/libgomp.c/pr49897-2.c: New test.
8393 * testsuite/libgomp.c/pr49898-1.c: New test.
8394 * testsuite/libgomp.c/pr49898-2.c: New test.
8395
8396 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8397
8398 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8399 for ia32 instead of ilp32.
8400
8401 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8402 * testsuite/libgomp.c/atomic-6.c: Likewise.
8403
8404 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8405
8406 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8407 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8408
8409 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8410
8411 PR libgomp/45351
8412 * config/osf/sem.h: New file.
8413 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8414
8415 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8416
8417 PR target/49541
8418 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8419 ldflags.
8420
8421 2011-07-15 Jakub Jelinek <jakub@redhat.com>
8422
8423 * config/linux/wait.h (do_spin): New inline, largely copied
8424 from do_wait, just don't do futex_wait here, instead return true if
8425 it should be done.
8426 (do_wait): Implement using do_spin.
8427 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8428 to prototype.
8429 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8430 __sync_bool_compare_and_swap, pass the oldval to
8431 gomp_mutex_lock_slow.
8432 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8433 If all mutex contenders are just spinning and not sleeping, don't
8434 change state to 2 unnecessarily. Optimize the loop when state has
8435 already become 2 to use just one atomic operation per loop instead
8436 of two.
8437 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8438 to prototype.
8439 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8440 __sync_bool_compare_and_swap, pass the oldval to
8441 gomp_mutex_lock_slow.
8442
8443 2011-06-22 Jakub Jelinek <jakub@redhat.com>
8444
8445 PR libgomp/49490
8446 * iter.c (gomp_iter_static_next): For chunk size 0
8447 only use n ceil/ nthreads size for the first
8448 n % nthreads threads in the team instead of
8449 all threads except for the last few ones which
8450 get less work or none at all.
8451 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8452 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8453 chunk argument, set run_sched_modifier to 0 for static
8454 resp. 1 for other kinds. If chunk argument is 0
8455 and not static, set value to 1.
8456
8457 2011-05-19 Jakub Jelinek <jakub@redhat.com>
8458
8459 PR c++/49043
8460 * testsuite/libgomp.c++/pr49043.C: New test.
8461
8462 PR c++/48869
8463 * testsuite/libgomp.c++/pr48869.C: New test.
8464
8465 2011-05-06 Jakub Jelinek <jakub@redhat.com>
8466
8467 PR fortran/48894
8468 * fortran.c: Include limits.h.
8469 (TO_INT): Define.
8470 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8471 *set.
8472 (omp_set_num_threads_8_, omp_set_schedule_8_,
8473 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8474 omp_get_team_size_8_): Use TO_INT macro.
8475 * testsuite/libgomp.fortran/pr48894.f90: New test.
8476
8477 2011-04-13 Jakub Jelinek <jakub@redhat.com>
8478
8479 PR middle-end/48591
8480 * testsuite/libgomp.c/pr48591.c: New test.
8481
8482 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8483
8484 PR bootstrap/48135
8485 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8486 * configure: Regenerate.
8487
8488 2011-02-27 Jakub Jelinek <jakub@redhat.com>
8489
8490 PR fortran/47886
8491 * testsuite/libgomp.fortran/task3.f90: New test.
8492
8493 2011-02-24 Tobias Burnus <burnus@net-b.de>
8494
8495 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8496
8497 2011-02-23 Jakub Jelinek <jakub@redhat.com>
8498
8499 PR libgomp/47854
8500 * libgomp.texi (omp_get_wtime): Don't say time in the past
8501 must be Unix Epoch.
8502
8503 2011-02-18 Jakub Jelinek <jakub@redhat.com>
8504
8505 PR libgomp/47804
8506 * testsuite/libgomp.fortran/fortran.exp: Check for both
8507 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8508 but $blddir != "", still append ${blddir}/${lang_library_path}
8509 to ld_library_path.
8510
8511 2011-02-16 Tobias Burnus <burnus@net-b.de>
8512
8513 PR libgomp/47758
8514 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8515 of libquadmath.a before adding its libpath to ldflags.
8516
8517 2011-02-14 Jakub Jelinek <jakub@redhat.com>
8518
8519 PR libgomp/47731
8520 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8521 to FUTEX_WAIT futex syscall.
8522 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8523
8524 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8525
8526 * configure: Regenerate.
8527
8528 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8529
8530 PR libstdc++/36104
8531 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8532
8533 2011-01-16 Gerald Pfeifer
8534
8535 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8536
8537 2010-12-14 Jakub Jelinek <jakub@redhat.com>
8538
8539 PR fortran/46874
8540 * libgomp.fortran/allocatable6.f90: New test.
8541
8542 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8543
8544 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8545 * configure: Regenerate.
8546
8547 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8548
8549 PR target/40125
8550 PR lto/46695
8551 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8552 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8553 * aclocal.m4: Regenerate.
8554 * configure: Regenerate.
8555 * Makefile.in: Regenerate.
8556 * testsuite/Makefile.in: Regenerate.
8557
8558 2010-12-02 Jakub Jelinek <jakub@redhat.com>
8559
8560 PR fortran/46753
8561 * libgomp.fortran/pr46753.f90: New test.
8562
8563 PR libgomp/43706
8564 * env.c (initialize_env): Default to spin count 300000
8565 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8566 is specified.
8567
8568 PR libgomp/45240
8569 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8570 at the end if sync builtins aren't supported.
8571
8572 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8573
8574 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8575
8576 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8577
8578 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8579
8580 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8581
8582 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8583
8584 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8585 Tobias Burnus <burnus@net-b.de>
8586
8587 PR fortran/32049
8588 * configure.ac:
8589 * configure: Regenerate.
8590
8591 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8592
8593 * config/linux/futex.h: New.
8594 * config/linux/arm/mutex.h: New.
8595 * configure.tgt (arm*-*-linux*): Add config path.
8596
8597 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8598
8599 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8600
8601 2010-09-23 Tobias Burnus <burnus@net-b.de>
8602
8603 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8604 Change Fortran datatype to LOGICAL.
8605 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8606 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8607
8608 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8609
8610 * configure: Regenerate.
8611
8612 2010-07-26 Jakub Jelinek <jakub@redhat.com>
8613
8614 * libgomp.texi: Add function keyword to a couple of Fortran
8615 interfaces, use integer instead of int for Fortran.
8616
8617 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
8618
8619 * libgomp.texi: Fix spelling and pasto problems throughout.
8620 Adjust prototypes to match code.
8621
8622 2010-07-24 Tobias Burnus <burnus@net-b.de>
8623
8624 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8625 silence -fwhole-file warning.
8626
8627 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8628
8629 * configure.tgt (*-*-solaris2.[56]*): Removed.
8630
8631 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8632
8633 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8634 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8635 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8636 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8637 targetting solaris2*.
8638 * configure: Regenerate.
8639 * config.h.in: Regenerate.
8640
8641 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8642 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8643 Add libgomp_version_dep.
8644 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8645 versioning.
8646 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8647 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8648 * Makefile.in: Regenerate.
8649
8650 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8651 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8652 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8653 to common block, protected by
8654 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8655
8656 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8657
8658 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8659
8660 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8661
8662 PR bootstrap/43170
8663 * configure: Regenerate.
8664
8665 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8666
8667 PR other/43620
8668 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8669 * configure: Regenerate.
8670 * Makefile.in: Regenerate.
8671 * testsuite/Makefile.in: Regenerate.
8672
8673 2010-04-26 Jakub Jelinek <jakub@redhat.com>
8674
8675 PR c/43893
8676 * testsuite/libgomp.c/pr43893.c: New test.
8677 * testsuite/libgomp.c++/pr43893.C: New test.
8678
8679 2010-04-21 Jakub Jelinek <jakub@redhat.com>
8680
8681 PR middle-end/43570
8682 * testsuite/libgomp.fortran/vla8.f90: New test.
8683
8684 2010-04-20 Jakub Jelinek <jakub@redhat.com>
8685
8686 PR libgomp/43706
8687 * config/linux/affinity.c (gomp_init_affinity): Decrease
8688 gomp_available_cpus if affinity mask confines the process to fewer
8689 CPUs.
8690 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8691 non-NULL, just return gomp_available_cpus.
8692
8693 PR libgomp/43569
8694 * sections.c (gomp_sections_init): Initialize ws->mode.
8695
8696 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
8697
8698 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8699 not unused bar variable.
8700 * configure: Regenerate.
8701
8702 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8703
8704 * Makefile.in: Regenerate.
8705 * aclocal.m4: Regenerate.
8706 * testsuite/Makefile.in: Regenerate.
8707
8708 2010-03-22 Jakub Jelinek <jakub@redhat.com>
8709
8710 PR libgomp/42942
8711 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8712 (initialize_env): Adjust callers.
8713 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8714 when the argument is 0.
8715
8716 * testsuite/libgomp.c/pr42942.c: New test.
8717
8718 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8719
8720 PR middle-end/42644
8721 PR middle-end/42130
8722 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8723 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8724
8725 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8726
8727 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8728 * testsuite/libgomp.c++/task-6.C: Likewise.
8729
8730 2010-01-28 Steve Ellcey <sje@cup.hp.com>
8731
8732 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8733
8734 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
8735
8736 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8737 * configure: Regenerate.
8738
8739 2010-01-26 Jakub Jelinek <jakub@redhat.com>
8740
8741 PR fortran/42866
8742 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8743
8744 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
8745
8746 * configure.ac: Test for executability of GFORTRAN.
8747 * configure: Regenerate.
8748
8749 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8750
8751 * configure: Regenerate.
8752
8753 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8754
8755 PR libgomp/42602
8756 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8757
8758 2010-01-03 Richard Guenther <rguenther@suse.de>
8759
8760 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8761
8762 2009-12-23 Sebastian Pop <sebpop@gmail.com>
8763
8764 * testsuite/libgomp.graphite/pr4118.c: New.
8765
8766 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8767
8768 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8769 for darwin, protect the test with require-effective-target tls_runtime.
8770 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8771
8772 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8773
8774 PR target/41605
8775 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8776 link spec %s substitutions for static libraries.
8777
8778 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8779
8780 PR testsuite/42135
8781 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8782
8783 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8784
8785 * Makefile.in: Regenerate.
8786 * configure: Regenerate.
8787 * testsuite/Makefile.in: Regenerate.
8788
8789 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8790
8791 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8792 settings for LC_ALL and LANG.
8793
8794 2009-11-25 Jakub Jelinek <jakub@redhat.com>
8795
8796 PR fortran/42162
8797 * testsuite/libgomp.fortran/pr42162.f90: New test.
8798
8799 2009-11-13 Jakub Jelinek <jakub@redhat.com>
8800
8801 PR middle-end/42029
8802 * testsuite/libgomp.c/pr42029.c: New test.
8803
8804 2009-10-26 Jakub Jelinek <jakub@redhat.com>
8805
8806 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8807 *s. Accept ld version without text in ()s.
8808 * configure: Regenerated.
8809
8810 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
8811
8812 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8813
8814 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8815
8816 PR libgomp/41418
8817 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8818 or a hyphen (happens with fortran language disabled).
8819 * configure: Regenerate.
8820
8821 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8822
8823 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8824 use sed script portable to Solaris /bin/sed for extracting ld
8825 version.
8826 * configure: Regenerate.
8827
8828 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
8829
8830 * testsuite/libgomp.graphite/bounds.c: New test.
8831
8832 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8833
8834 * Makefile.am (libgomp_la_LINK): New.
8835 * Makefile.in: Regenerate.
8836
8837 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8838
8839 * configure.ac (AC_PREREQ): Bump to 2.64.
8840
8841 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8842
8843 * Makefile.am (install-html, install-pdf): Remove.
8844 * Makefile.in: Regenerate.
8845
8846 * Makefile.in: Regenerate.
8847 * aclocal.m4: Regenerate.
8848 * config.h.in: Regenerate.
8849 * configure: Regenerate.
8850 * testsuite/Makefile.in: Regenerate.
8851
8852 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8853
8854 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8855 * Makefile.in: Regenerate.
8856
8857 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8858
8859 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8860 * Makefile.in: Regenerate.
8861
8862 2009-08-19 Tobias Burnus <burnus@net-b.de>
8863
8864 PR fortran/41102
8865 omp_lib.h.in: Fix -std=f95 errors.
8866
8867 2009-08-14 David Edelsohn <edelsohn@gnu.org>
8868
8869 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8870 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8871 * testsuite/libgomp.graphite/graphite.exp: New.
8872
8873 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8874
8875 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8876 only build.
8877
8878 2009-08-04 David Daney <ddaney@caviumnetworks.com>
8879
8880 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8881 needed memory barrier semantics.
8882 * config/linux/mips/mutex.h: New file.
8883
8884 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8885
8886 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8887
8888 2009-07-16 Joseph Myers <joseph@codesourcery.com>
8889
8890 * configure: Regenerate.
8891
8892 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8893
8894 PR testsuite/40699
8895 PR testsuite/40707
8896 PR testsuite/40709
8897 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8898 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8899 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8900
8901 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8902
8903 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8904 options when choosing a multilib.
8905
8906 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8907
8908 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8909 ld_library_path. Use add_path. Add just find_libgcc_s to
8910 ld_library_path, not every libgcc multilib directory.
8911 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8912 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8913 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8914 Use add_path.
8915 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8916
8917 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8918
8919 * Makefile.am (LTLDFLAGS): Define.
8920 (LINK): Define.
8921 * Makefile.in: Regenerate.
8922
8923 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8924
8925 PR fortran/39718
8926 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8927 libgfortranbegin, check existence of libgfortran.a instead of
8928 libgfortranbegin.a.
8929
8930 2009-05-20 Jakub Jelinek <jakub@redhat.com>
8931
8932 PR libgomp/40174
8933 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8934 (gomp_free_pool_helper): Likewise.
8935
8936 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8937 Jakub Jelinek <jakub@redhat.com>
8938
8939 PR fortran/35423
8940 * testsuite/libgomp.fortran/workshare2.f90: New test.
8941
8942 2009-04-09 Nick Clifton <nickc@redhat.com>
8943
8944 * iter.c: Change copyright header to refer to version 3 of the
8945 GNU General Public License with version 3.1 of the GCC Runtime
8946 Library Exception and to point readers at the COPYING3 and
8947 COPYING3.RUNTIME files and the FSF's license web page.
8948 * alloc.c: Likewise.
8949 * barrier.c: Likewise.
8950 * config/bsd/proc.c: Likewise.
8951 * config/linux/affinity.c: Likewise.
8952 * config/linux/alpha/futex.h: Likewise.
8953 * config/linux/bar.c: Likewise.
8954 * config/linux/bar.h: Likewise.
8955 * config/linux/ia64/futex.h: Likewise.
8956 * config/linux/ia64/mutex.h: Likewise.
8957 * config/linux/lock.c: Likewise.
8958 * config/linux/mips/futex.h: Likewise.
8959 * config/linux/mutex.c: Likewise.
8960 * config/linux/mutex.h: Likewise.
8961 * config/linux/powerpc/futex.h: Likewise.
8962 * config/linux/proc.c: Likewise.
8963 * config/linux/ptrlock.c: Likewise.
8964 * config/linux/ptrlock.h: Likewise.
8965 * config/linux/s390/futex.h: Likewise.
8966 * config/linux/sem.c: Likewise.
8967 * config/linux/sem.h: Likewise.
8968 * config/linux/sparc/futex.h: Likewise.
8969 * config/linux/wait.h: Likewise.
8970 * config/linux/x86/futex.h: Likewise.
8971 * config/mingw32/proc.c: Likewise.
8972 * config/mingw32/time.c: Likewise.
8973 * config/posix/affinity.c: Likewise.
8974 * config/posix/bar.c: Likewise.
8975 * config/posix/bar.h: Likewise.
8976 * config/posix/lock.c: Likewise.
8977 * config/posix/mutex.h: Likewise.
8978 * config/posix/proc.c: Likewise.
8979 * config/posix/ptrlock.h: Likewise.
8980 * config/posix/sem.c: Likewise.
8981 * config/posix/sem.h: Likewise.
8982 * config/posix/time.c: Likewise.
8983 * config/posix95/lock.c: Likewise.
8984 * critical.c: Likewise.
8985 * env.c: Likewise.
8986 * error.c: Likewise.
8987 * fortran.c: Likewise.
8988 * iter_ull.c: Likewise.
8989 * libgomp.h: Likewise.
8990 * libgomp_f.h.in: Likewise.
8991 * libgomp_g.h: Likewise.
8992 * loop.c: Likewise.
8993 * loop_ull.c: Likewise.
8994 * omp.h.in: Likewise.
8995 * omp_lib.f90.in: Likewise.
8996 * omp_lib.h.in: Likewise.
8997 * ordered.c: Likewise.
8998 * parallel.c: Likewise.
8999 * sections.c: Likewise.
9000 * single.c: Likewise.
9001 * task.c: Likewise.
9002 * team.c: Likewise.
9003 * work.c: Likewise.
9004
9005 2009-04-09 Jakub Jelinek <jakub@redhat.com>
9006
9007 * testsuite/config/default.exp: Change copyright header to refer to
9008 version 3 of the GNU General Public License and to point readers
9009 at the COPYING3 file and the FSF's license web page.
9010
9011 2009-04-08 Jakub Jelinek <jakub@redhat.com>
9012
9013 PR middle-end/39573
9014 * libgomp.c++/pr39573.C: New test.
9015
9016 2009-04-01 Jakub Jelinek <jakub@redhat.com>
9017
9018 PR other/39591
9019 * testsuite/libgomp.c/pr39591-1.c: New test.
9020 * testsuite/libgomp.c/pr39591-2.c: New test.
9021 * testsuite/libgomp.c/pr39591-3.c: New test.
9022
9023 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
9024
9025 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9026 * testsuite/libgomp.c/atomic-6.c: Ditto.
9027
9028 2009-03-23 Jakub Jelinek <jakub@redhat.com>
9029
9030 PR c/39495
9031 * testsuite/libgomp.c/loop-12.c: New test.
9032 * testsuite/libgomp.c/loop-11.c: New test.
9033 * testsuite/libgomp.c++/loop-11.C: New test.
9034 * testsuite/libgomp.c++/loop-12.C: New test.
9035 * testsuite/libgomp.c++/for-8.C: New test.
9036
9037 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9038
9039 * configure: Regenerate.
9040
9041 2009-02-11 Jakub Jelinek <jakub@redhat.com>
9042
9043 PR middle-end/39154
9044 * testsuite/libgomp.c/pr39154.c: New test.
9045
9046 2009-01-30 Ian Lance Taylor <iant@google.com>
9047
9048 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9049 libgomp_ld_is_gold. Get gold version number.
9050 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9051 * configure: Rebuild.
9052
9053 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9054
9055 * testsuite/lib/libgomp.exp: Add -B option for targets that
9056 use libgfortran.a%s in their specs.
9057
9058 2009-01-07 Jakub Jelinek <jakub@redhat.com>
9059
9060 PR libgomp/38086
9061 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9062 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9063 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9064 * configure: Regenerated.
9065 * config.h.in: Likewise.
9066
9067 2008-12-28 Jakub Jelinek <jakub@redhat.com>
9068
9069 PR c++/38650
9070 * testsuite/libgomp.c/pr38650.c: New test.
9071 * testsuite/libgomp.c++/pr38650.C: New test.
9072
9073 2008-12-27 Jakub Jelinek <jakub@redhat.com>
9074
9075 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9076
9077 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
9078
9079 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9080
9081 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9082
9083 * configure: Regenerate.
9084
9085 2008-12-08 Jakub Jelinek <jakub@redhat.com>
9086
9087 PR middle-end/36802
9088 * testsuite/libgomp.c/pr36802-1.c: New test.
9089 * testsuite/libgomp.c/pr36802-2.c: New test.
9090 * testsuite/libgomp.c/pr36802-3.c: New test.
9091
9092 2008-12-01 Janis Johnson <janis187@us.ibm.com>
9093
9094 PR libgomp/38270
9095 * config/linux/powerpc/mutex.h: New.
9096
9097 2008-12-01 Jakub Jelinek <jakub@redhat.com>
9098
9099 PR c++/38257
9100 * testsuite/libgomp.c++/for-7.C: New test.
9101
9102 PR c++/38348
9103 * testsuite/libgomp.c++/for-6.C: New test.
9104
9105 2008-11-26 Janis Johnson <janis187@us.ibm.com>
9106
9107 PR testsuite/28870
9108 * testsuite/lib/libgomp.exp: Include new timeout library files.
9109 (libgomp_target_compile): Set timeout value from new proc.
9110
9111 2008-11-13 Steve Ellcey <sje@cup.hp.com>
9112
9113 PR libgomp/37938
9114 * config/linux/ia64/mutex.h: New.
9115
9116 2008-11-04 Tobias Burnus <burnus@net-b.de>
9117
9118 PR libgomp/37935
9119 * libgomp.texi (Runtime library routines, environment variables):
9120 Update for OpenMP version 3.0.
9121
9122 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9123 Steve Ellcey <sje@cup.hp.com>
9124
9125 * configure: Regenerate for new libtool.
9126 * Makefile.in: Ditto.
9127 * testsuite/Makefile.in: Ditto.
9128
9129 2008-09-19 Jakub Jelinek <jakub@redhat.com>
9130 Andreas Tobler <a.tobler@schweiz.org>
9131
9132 * config/bsd/proc.c: New file.
9133 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
9134 * configure.ac: Check for header <sys/sysctl.h>
9135 * configure: Regenerate.
9136 * config.h.in: Likewise.
9137
9138 2008-09-05 Janis Johnson <janis187@us.ibm.com>
9139
9140 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9141
9142 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9143
9144 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9145 * Makefile.in: Regenerated.
9146 * testsuite/Makefile.in: Regenerated.
9147
9148 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
9149
9150 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
9151 depend on blddir if blddir exists.
9152 (libgomp_target_compile): Likewise.
9153 * testsuite/libgomp.c++/c++.exp: Likewise.
9154 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9155
9156 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9157
9158 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9159 Do not list GPL as Invariant Section.
9160
9161 2008-07-28 Ilie Garbacea <ilie@mips.com>
9162 Chao-ying Fu <fu@mips.com>
9163
9164 * configure.tgt: Enable futex for MIPS.
9165 * config/linux/mips/futex.h: New file.
9166
9167 2008-07-16 Jakub Jelinek <jakub@redhat.com>
9168
9169 * team.c (gomp_team_end): Free team immediately if it has
9170 just one thread.
9171
9172 2008-07-08 David Edelsohn <edelsohn@gnu.org>
9173
9174 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9175 * testsuite/libgomp.fortran/fortran.exp: Same.
9176 * testsuite/libgomp.c/c.exp: Same.
9177 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9178 directory to library path first.
9179
9180 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9181
9182 * env.c (parse_stacksize): Add cast to avoid warning.
9183 (parse_spincount): Likewise.
9184
9185 2008-06-27 Jakub Jelinek <jakub@redhat.com>
9186
9187 * testsuite/libgomp.c/loop-10.c: New test.
9188 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9189 * libgomp.c++/loop-6.C (main): Likewise.
9190
9191 PR debug/36617
9192 * testsuite/libgomp.c/debug-1.c: New test.
9193
9194 2008-06-19 Jakub Jelinek <jakub@redhat.com>
9195
9196 * testsuite/libgomp.c/nqueens-1.c: New test.
9197
9198 PR c++/36523
9199 * testsuite/libgomp.c++/task-7.C: New function.
9200
9201 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9202
9203 * configure: Regenerate.
9204
9205 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9206
9207 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9208 mutex when HAVE_SYNC_BUILTINS isn't defined.
9209
9210 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9211
9212 * libgomp.texi (omp_test_lock): Fix typo.
9213
9214 2008-06-12 Tobias Burnus <burnus@net-b.de>
9215
9216 * omp_lib.f90.in: Add "implicit none".
9217
9218 2008-06-12 Jakub Jelinek <jakub@redhat.com>
9219
9220 PR middle-end/36506
9221 * testsuite/libgomp.c/reduction-5.c: New test.
9222
9223 2008-06-11 Jakub Jelinek <jakub@redhat.com>
9224
9225 * libgomp.h (struct gomp_task): Add in_tied_task field.
9226 * task.c (gomp_init_task): Initialize it.
9227 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9228 unconditionally. Don't call gomp_team_barrier_wake if
9229 current task is implicit or if(0) from implicit and number of
9230 running tasks is equal to nthreads - 1.
9231
9232 PR libgomp/36471
9233 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9234 omp_get_team_size_8): Fix pastos.
9235
9236 PR libgomp/36469
9237 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9238 * configure: Regenerated.
9239 * config.h.in: Regenerated.
9240 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9241 defined.
9242
9243 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9244
9245 PR bootstrap/36452
9246 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9247 (GOMP_loop_ull_dynamic_start): Likewise.
9248 (GOMP_loop_ull_guided_start): Likewise.
9249 (GOMP_loop_ull_ordered_static_start): Likewise.
9250 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9251 (GOMP_loop_ull_ordered_guided_start): Likewise.
9252
9253 2008-06-06 Jakub Jelinek <jakub@redhat.com>
9254 Richard Henderson <rth@redhat.com>
9255 Ulrich Drepper <drepper@redhat.com>
9256 Jakob Blomer <jakob.blomer@ira.uka.de>
9257
9258 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9259 Substitute also OMP_*LOCK_25*.
9260 * configure: Regenerated.
9261 * config.h.in: Regenerated.
9262 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9263 ptrlock.c and task.c.
9264 * Makefile.in: Regenerated.
9265 * testsuite/Makefile.in: Regenerated.
9266 * task.c: New file.
9267 * loop_ull.c: New file.
9268 * iter_ull.c: New file.
9269 * libgomp.h: Include ptrlock.h.
9270 (enum gomp_task_kind): New type.
9271 (struct gomp_team): Add task_lock, task_queue, task_count,
9272 task_running_count, single_count fields. Add
9273 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9274 Remove work_share_lock, generation_mask,
9275 oldest_live_gen, num_live_gen and init_work_shares fields, add
9276 work work_share_list_alloc, work_share_list_free and work_share_chunk
9277 fields. Change work_shares from pointer to pointers into an array.
9278 Change ordered_release field into gomp_sem_t ** from flexible array
9279 member. Add implicit_task and initial_work_shares fields.
9280 Move close to the end of the struct.
9281 (struct gomp_team_state): Add single_count, last_work_share,
9282 active_level and level fields, remove work_share_generation.
9283 (gomp_barrier_handle_tasks): New prototype.
9284 (gomp_finish_task): New inline function.
9285 (struct gomp_work_share): Move chunk_size, end, incr into
9286 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9287 next_ll fields. Reshuffle fields. Add next_alloc,
9288 next_ws, next_free and inline_ordered_team_ids fields, change
9289 ordered_team_ids into pointer from flexible array member.
9290 Add mode field. Put lock and next into a different cache line
9291 from most of the write-once fields.
9292 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9293 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9294 gomp_iter_ull_guided_next): New prototypes.
9295 (gomp_new_icv): New prototype.
9296 (struct gomp_thread): Add thread_pool and task fields.
9297 (struct gomp_thread_pool): New type.
9298 (gomp_new_team): New prototype.
9299 (gomp_team_start): Change type of last argument.
9300 (gomp_new_work_share): Removed.
9301 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9302 (gomp_work_share_init_done): New static inline.
9303 (gomp_throttled_spin_count_var, gomp_available_cpus,
9304 gomp_managed_threads): New extern decls.
9305 (gomp_init_task): New prototype.
9306 (gomp_spin_count_var): New extern var decl.
9307 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9308 or no alias support, or if not PIC.
9309 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9310 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9311 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9312 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9313 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9314 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9315 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9316 gomp_test_nest_lock_25): New prototypes.
9317 (omp_lock_symver, strong_alias): Define.
9318 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9319 decls.
9320 (gomp_end_task): New.
9321 (struct gomp_task_icv, gomp_global_icv): New.
9322 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9323 (struct gomp_task): New.
9324 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9325 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9326 (gomp_icv): New.
9327 (gomp_schedule_type): Reorder enum to match
9328 omp_sched_t.
9329 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9330 fields.
9331 (gomp_thread_start): Add gomp_team_barrier_wait call.
9332 For non-nested case remove clearing of docked thread thr fields.
9333 Use pool fields instead of global gomp_* variables. Use
9334 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9335 Create tasks for each member thread.
9336 (free_team): Only destroy team barrier, task_lock here and free it.
9337 (gomp_free_thread): Free last_team if non-NULL.
9338 (gomp_team_end): Call gomp_team_barrier_wait instead of
9339 gomp_barrier_wait. For nested case call one extra
9340 gomp_barrier_wait. Move here some destruction from free_team.
9341 Call free_team on pool->last_team if any, rather than freeing
9342 current team. Destroy work_share_list_free_lock ifndef
9343 HAVE_SYNC_BUILTINS.
9344 (gomp_new_icv): New function.
9345 (gomp_threads, gomp_threads_size, gomp_threads_used,
9346 gomp_threads_dock): Removed.
9347 (gomp_thread_destructor): New variable.
9348 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9349 functions.
9350 (gomp_team_start): Create new pool if current thread doesn't have
9351 one. Use pool fields instead of global gomp_* variables.
9352 Initialize thread_pool field for new threads. Clear single_count.
9353 Change last argument from ws to team, don't create
9354 new team, set ts.work_share to &team->work_shares[0] and clear
9355 ts.last_work_share. Don't clear ts.work_share_generation.
9356 If number of threads changed, adjust atomically gomp_managed_threads.
9357 Use gomp_init_task instead of gomp_new_task,
9358 set thr->task to the corresponding implicit_task array entry.
9359 Create tasks for each member thread. Initialize ts.level.
9360 (initialize_team): Call pthread_key_create on
9361 gomp_thread_destructor.
9362 (team_destructor): New function.
9363 (new_team): Removed.
9364 (gomp_new_team): New function.
9365 (free_team): Free gomp_work_share blocks chained through next_alloc,
9366 instead of freeing work_shares and destroying work_share_lock.
9367 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9368 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9369 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9370 of gomp_barrier_wait.
9371 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9372 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9373 if gomp_work_share_start returned true. Don't unlock ws->lock.
9374 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9375 of gomp_barrier_wait.
9376 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9377 gomp_work_share_init_done if gomp_work_share_start returned true.
9378 Don't unlock ws->lock.
9379 * work.c: Include stddef.h.
9380 (free_work_share): Use work_share_list_free_lock instead
9381 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9382 Call gomp_fini_work_share and then either free ws if orphaned, or
9383 put it into work_share_list_free list of the current team.
9384 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9385 functions.
9386 (gomp_work_share_start, gomp_work_share_end,
9387 gomp_work_share_end_nowait): Rewritten.
9388 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9389 (openmp_version): Set to 200805.
9390 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9391 omp_sched_guided, omp_sched_auto): New parameters.
9392 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9393 omp_set_max_active_levels, omp_get_max_active_levels,
9394 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9395 omp_get_active_level): New interfaces.
9396 * omp_lib.h.in (openmp_version): Set to 200805.
9397 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9398 omp_sched_guided, omp_sched_auto): New parameters.
9399 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9400 omp_set_max_active_levels, omp_get_max_active_levels,
9401 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9402 omp_get_active_level): New externals.
9403 * loop.c: Include limits.h.
9404 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9405 GFS_AUTO.
9406 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9407 Likewise. Use gomp_icv.
9408 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9409 ts.static_trip here.
9410 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9411 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9412 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9413 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9414 don't unlock ws->lock, otherwise lock it.
9415 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9416 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9417 (gomp_parallel_loop_start): Call gomp_new_team instead of
9418 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9419 Adjust gomp_team_start caller. Pass 0 as second argument to
9420 gomp_resolve_num_threads.
9421 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9422 If adding ws->chunk_size nthreads + 1 times after end won't
9423 overflow, set ws->mode to 1.
9424 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9425 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9426 GOMP_loop_ull_ordered_static_start,
9427 GOMP_loop_ull_ordered_dynamic_start,
9428 GOMP_loop_ull_ordered_guided_start,
9429 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9430 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9431 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9432 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9433 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9434 prototypes.
9435 * libgomp.map: Export lock routines also @@OMP_2.0.
9436 (GOMP_loop_ordered_dynamic_first,
9437 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9438 GOMP_loop_ordered_static_first): Remove.
9439 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9440 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9441 GOMP_loop_ull_ordered_dynamic_next,
9442 GOMP_loop_ull_ordered_dynamic_start,
9443 GOMP_loop_ull_ordered_guided_next,
9444 GOMP_loop_ull_ordered_guided_start,
9445 GOMP_loop_ull_ordered_runtime_next,
9446 GOMP_loop_ull_ordered_runtime_start,
9447 GOMP_loop_ull_ordered_static_next,
9448 GOMP_loop_ull_ordered_static_start,
9449 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9450 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9451 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9452 (omp_set_schedule, omp_get_schedule,
9453 omp_get_thread_limit, omp_set_max_active_levels,
9454 omp_get_max_active_levels, omp_get_level,
9455 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9456 omp_set_schedule_, omp_set_schedule_8_,
9457 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9458 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9459 omp_get_max_active_levels_, omp_get_level_,
9460 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9461 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9462 New exports @@OMP_3.0.
9463 * omp.h.in (omp_sched_t): New type.
9464 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9465 omp_set_max_active_levels, omp_get_max_active_levels,
9466 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9467 omp_get_active_level): New prototypes.
9468 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9469 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9470 gomp_thread_limit_var, gomp_remaining_threads_count,
9471 gomp_remaining_threads_lock): New variables.
9472 (parse_spincount): New function.
9473 (initialize_env): Call gomp_init_num_threads unconditionally.
9474 Initialize gomp_available_cpus. Call parse_spincount,
9475 initialize gomp_{,throttled_}spin_count_var
9476 depending on presence and value of OMP_WAIT_POLICY and
9477 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9478 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9479 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9480 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9481 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9482 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9483 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9484 (gomp_global_icv): New.
9485 (parse_schedule): Use it. Parse "auto".
9486 (omp_set_num_threads): Use gomp_icv.
9487 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9488 Likewise.
9489 (omp_get_max_threads): Move from parallel.c.
9490 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9491 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9492 add ialias.
9493 (parse_stacksize, parse_wait_policy): New functions.
9494 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9495 both wrappers for compatibility and new locks.
9496 (omp_set_schedule, omp_get_schedule,
9497 omp_get_thread_limit, omp_set_max_active_levels,
9498 omp_get_max_active_levels, omp_get_level,
9499 omp_get_ancestor_thread_num, omp_get_team_size,
9500 omp_get_active_level): New ialias_redirect.
9501 (omp_set_schedule_, omp_set_schedule_8_,
9502 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9503 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9504 omp_get_max_active_levels_, omp_get_level_,
9505 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9506 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9507 New functions.
9508 * parallel.c: Include limits.h.
9509 (gomp_resolve_num_threads): Add count argument. Rewritten.
9510 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9511 argument to gomp_team_start. Pass 0 as second argument to
9512 gomp_resolve_num_threads.
9513 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9514 if gomp_thread_limit_var != ULONG_MAX.
9515 (omp_in_parallel): Implement using ts.active_level.
9516 (omp_get_max_threads): Move to env.c.
9517 (omp_get_level, omp_get_ancestor_thread_num,
9518 omp_get_team_size, omp_get_active_level): New functions,
9519 add ialias.
9520 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9521 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9522 gomp_iter_dynamic_next instead of the _locked variant and don't take
9523 lock around it, otherwise acquire it before calling
9524 gomp_iter_dynamic_next_locked.
9525 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9526 gomp_iter_dynamic_next instead of the _locked variant and don't take
9527 lock around it.
9528 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9529 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9530 Adjust gomp_team_start caller. Pass count as second argument to
9531 gomp_resolve_num_threads, don't adjust num_threads after the call.
9532 Use gomp_icv.
9533 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9534 ws->chunk_size by incr.
9535 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9536 code.
9537 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9538 types.
9539 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9540 (omp_check_defines): Check even the compat defines.
9541 * config/linux/ptrlock.c: New file.
9542 * config/linux/ptrlock.h: New file.
9543 * config/linux/wait.h: New file.
9544 * config/posix/ptrlock.c: New file.
9545 * config/posix/ptrlock.h: New file.
9546 * config/linux/bar.h (gomp_team_barrier_wait,
9547 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9548 (gomp_team_barrier_set_task_pending,
9549 gomp_team_barrier_clear_task_pending,
9550 gomp_team_barrier_set_waiting_for_tasks,
9551 gomp_team_barrier_waiting_for_tasks,
9552 gomp_team_barrier_done): New inlines.
9553 (gomp_barrier_t): Rewritten.
9554 (gomp_barrier_state_t): New typedef.
9555 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9556 gomp_barrier_wait_start): Rewritten.
9557 (gomp_barrier_wait_end): Change second argument to
9558 gomp_barrier_state_t.
9559 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9560 inlines.
9561 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9562 futex.h.
9563 (gomp_barrier_wait_end): Rewritten.
9564 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9565 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9566 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9567 (gomp_barrier_state_t): New typedef.
9568 (gomp_team_barrier_wait,
9569 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9570 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9571 into the return value. Return gomp_barrier_state_t.
9572 (gomp_team_barrier_set_task_pending,
9573 gomp_team_barrier_clear_task_pending,
9574 gomp_team_barrier_set_waiting_for_tasks,
9575 gomp_team_barrier_waiting_for_tasks,
9576 gomp_team_barrier_done): New inlines.
9577 (gomp_barrier_wait_end): Change second argument to
9578 gomp_barrier_state_t.
9579 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9580 inlines.
9581 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9582 (gomp_barrier_wait_end): Change second argument to
9583 gomp_barrier_state_t.
9584 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9585 gomp_team_barrier_wake): New functions.
9586 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9587 futex.h.
9588 (gomp_futex_wake, gomp_futex_wait): New variables.
9589 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9590 * config/linux/lock.c: Rewrite to make locks task owned,
9591 for backwards compatibility provide the old entrypoints
9592 if symbol versioning. Include wait.h instead of libgomp.h and
9593 futex.h.
9594 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9595 * config/posix95/lock.c: Rewrite to make locks task owned,
9596 for backwards compatibility provide the old entrypoints
9597 if symbol versioning.
9598 * config/posix/lock.c: Rewrite to make locks task owned,
9599 for backwards compatibility provide the old entrypoints
9600 if symbol versioning.
9601 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9602 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9603 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9604 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9605 (sys_futex0): Return error code.
9606 (futex_wake, futex_wait): If ENOSYS was returned, clear
9607 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9608 (cpu_relax, atomic_write_barrier): New static inlines.
9609 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9610 (futex_wake, futex_wait): If ENOSYS was returned, clear
9611 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9612 (cpu_relax, atomic_write_barrier): New static inlines.
9613 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9614 (sys_futex0): Return error code.
9615 (futex_wake, futex_wait): If ENOSYS was returned, clear
9616 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9617 (cpu_relax, atomic_write_barrier): New static inlines.
9618 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9619 (sys_futex0): Return error code.
9620 (futex_wake, futex_wait): If ENOSYS was returned, clear
9621 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9622 (cpu_relax, atomic_write_barrier): New static inlines.
9623 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9624 (sys_futex0): Return error code.
9625 (futex_wake, futex_wait): If ENOSYS was returned, clear
9626 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9627 (cpu_relax, atomic_write_barrier): New static inlines.
9628 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9629 (sys_futex0): Return error code.
9630 (futex_wake, futex_wait): If ENOSYS was returned, clear
9631 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9632 (cpu_relax, atomic_write_barrier): New static inlines.
9633 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9634 futex.h.
9635 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9636 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9637 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9638 types.
9639 (omp_nest_lock_t): Change owner into void *, add lock field.
9640 * config/posix95/omp-lock.h: Include semaphore.h.
9641 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9642 (omp_lock_t): Use sem_t instead of mutex if semaphores
9643 aren't broken.
9644 (omp_nest_lock_t): Likewise. Change owner to void *.
9645 * config/posix/omp-lock.h: Include semaphore.h.
9646 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9647 (omp_lock_t): Use sem_t instead of mutex if semaphores
9648 aren't broken.
9649 (omp_nest_lock_t): Likewise. Add owner field.
9650
9651 2008-06-06 Jakub Jelinek <jakub@redhat.com>
9652
9653 * testsuite/libgomp.c/collapse-1.c: New test.
9654 * testsuite/libgomp.c/collapse-2.c: New test.
9655 * testsuite/libgomp.c/collapse-3.c: New test.
9656 * testsuite/libgomp.c/icv-1.c: New test.
9657 * testsuite/libgomp.c/icv-2.c: New test.
9658 * testsuite/libgomp.c/lib-2.c: New test.
9659 * testsuite/libgomp.c/lock-1.c: New test.
9660 * testsuite/libgomp.c/lock-2.c: New test.
9661 * testsuite/libgomp.c/lock-3.c: New test.
9662 * testsuite/libgomp.c/loop-4.c: New test.
9663 * testsuite/libgomp.c/loop-5.c: New test.
9664 * testsuite/libgomp.c/loop-6.c: New test.
9665 * testsuite/libgomp.c/loop-7.c: New test.
9666 * testsuite/libgomp.c/loop-8.c: New test.
9667 * testsuite/libgomp.c/loop-9.c: New test.
9668 * testsuite/libgomp.c/nested-3.c: New test.
9669 * testsuite/libgomp.c/nestedfn-6.c: New test.
9670 * testsuite/libgomp.c/sort-1.c: New test.
9671 * testsuite/libgomp.c/task-1.c: New test.
9672 * testsuite/libgomp.c/task-2.c: New test.
9673 * testsuite/libgomp.c/task-3.c: New test.
9674 * testsuite/libgomp.c/task-4.c: New test.
9675 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9676 to C++ testsuite default compiler options.
9677 * testsuite/libgomp.c++/collapse-1.C: New test.
9678 * testsuite/libgomp.c++/collapse-2.C: New test.
9679 * testsuite/libgomp.c++/ctor-10.C: New test.
9680 * testsuite/libgomp.c++/for-1.C: New test.
9681 * testsuite/libgomp.c++/for-2.C: New test.
9682 * testsuite/libgomp.c++/for-3.C: New test.
9683 * testsuite/libgomp.c++/for-4.C: New test.
9684 * testsuite/libgomp.c++/for-5.C: New test.
9685 * testsuite/libgomp.c++/loop-8.C: New test.
9686 * testsuite/libgomp.c++/loop-9.C: New test.
9687 * testsuite/libgomp.c++/loop-10.C: New test.
9688 * testsuite/libgomp.c++/task-1.C: New test.
9689 * testsuite/libgomp.c++/task-2.C: New test.
9690 * testsuite/libgomp.c++/task-3.C: New test.
9691 * testsuite/libgomp.c++/task-4.C: New test.
9692 * testsuite/libgomp.c++/task-5.C: New test.
9693 * testsuite/libgomp.c++/task-6.C: New test.
9694 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9695 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9696 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9697 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9698 * testsuite/libgomp.fortran/collapse1.f90: New test.
9699 * testsuite/libgomp.fortran/collapse2.f90: New test.
9700 * testsuite/libgomp.fortran/collapse3.f90: New test.
9701 * testsuite/libgomp.fortran/collapse4.f90: New test.
9702 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9703 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9704 * testsuite/libgomp.fortran/lib4.f90: New test.
9705 * testsuite/libgomp.fortran/lock-1.f90: New test.
9706 * testsuite/libgomp.fortran/lock-2.f90: New test.
9707 * testsuite/libgomp.fortran/nested1.f90: New test.
9708 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9709 * testsuite/libgomp.fortran/strassen.f90: New test.
9710 * testsuite/libgomp.fortran/tabs1.f90: New test.
9711 * testsuite/libgomp.fortran/tabs2.f: New test.
9712 * testsuite/libgomp.fortran/task1.f90: New test.
9713 * testsuite/libgomp.fortran/task2.f90: New test.
9714 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9715 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9716 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9717 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9718 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9719
9720 2008-05-23 Jakub Jelinek <jakub@redhat.com>
9721
9722 PR c++/36308
9723 * testsuite/libgomp.c++/ctor-11.C: New test.
9724 * testsuite/libgomp.c++/ctor-12.C: New test.
9725
9726 2008-05-15 Janis Johnson <janis187@us.ibm.com>
9727
9728 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9729
9730 2008-05-07 Jakub Jelinek <jakub@redhat.com>
9731
9732 PR middle-end/36106
9733 * testsuite/libgomp.c/atomic-5.c: New test.
9734 * testsuite/libgomp.c/atomic-6.c: New test.
9735 * testsuite/libgomp.c/autopar-1.c: New test.
9736
9737 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9738
9739 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9740 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9741 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9742 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9743 * configure: Regenerate.
9744 * Makefile.in, testsuite/Makefile.in: Likewise.
9745
9746 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
9747
9748 PR bootstrap/35457
9749 * aclocal.m4: Regenerate.
9750 * configure: Regenerate.
9751
9752 2008-03-18 Jakub Jelinek <jakub@redhat.com>
9753
9754 PR middle-end/35611
9755 * testsuite/libgomp.c/atomic-4.c: New test.
9756
9757 PR libgomp/35625
9758 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9759 (gomp_iter_guided_next): Likewise.
9760 * testsuite/libgomp.c/pr35625.c: New test.
9761
9762 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9763
9764 * aclocal.m4: Regenerate.
9765 * configure: Likewise.
9766 * Makefile.in: Likewise.
9767 * testsuite/Makefile.in: Likewise.
9768
9769 2008-03-13 Jakub Jelinek <jakub@redhat.com>
9770
9771 PR middle-end/35185
9772 * testsuite/libgomp.c++/pr35185.C: New test.
9773
9774 2008-03-12 Jakub Jelinek <jakub@redhat.com>
9775
9776 PR middle-end/35549
9777 * testsuite/libgomp.c/pr35549.c: New test.
9778
9779 2008-03-06 Jakub Jelinek <jakub@redhat.com>
9780
9781 * testsuite/libgomp.c/atomic-3.c: New test.
9782
9783 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9784
9785 PR fortran/33197
9786 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
9787 .F08 file suffixes.
9788
9789 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9790
9791 PR libgomp/33131
9792 * configure.ac: Add ACX_HEADER_STRING.
9793 * env.c: Include strings.h.
9794 * aclocal.m4: Regenerate.
9795 * config.h.in: Regenerate.
9796 * configure: Regenerate.
9797 * Makefile.in: Regenerate.
9798 * testsuite/Makefile.in: Regenerate.
9799
9800 2008-02-15 Jakub Jelinek <jakub@redhat.com>
9801
9802 PR middle-end/35196
9803 * testsuite/libgomp.c/pr35196.c: New test.
9804
9805 PR middle-end/35130
9806 * testsuite/libgomp.fortran/pr35130.f90: New test.
9807 * testsuite/libgomp.c/pr35130.c: New test.
9808
9809 2008-01-25 Jakub Jelinek <jakub@redhat.com>
9810
9811 PR middle-end/33880
9812 * testsuite/libgomp.c/pr33880.c: New test.
9813 * testsuite/libgomp.fortran/pr33880.f90: New test.
9814
9815 2008-01-24 David Edelsohn <edelsohn@gnu.org>
9816
9817 * configure: Regenerate.
9818
9819 2008-01-08 Jakub Jelinek <jakub@redhat.com>
9820
9821 * configure.ac: Move futex checking into ../config/futex.m4.
9822 * configure: Rebuilt.
9823 * aclocal.m4: Rebuilt.
9824 * Makefile.in: Rebuilt.
9825
9826 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9827 2007-10-15 ../config/tls.m4 change.
9828
9829 2007-12-19 Jakub Jelinek <jakub@redhat.com>
9830
9831 PR c++/34513
9832 * testsuite/libgomp.c/pr34513.c: New test.
9833 * testsuite/libgomp.c++/pr34513.C: New test.
9834
9835 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9836
9837 PR target/32765
9838 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9839
9840 2007-12-04 Jakub Jelinek <jakub@redhat.com>
9841
9842 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9843
9844 2007-12-03 Jakub Jelinek <jakub@redhat.com>
9845
9846 * testsuite/libgomp.c/private-1.c: New test.
9847
9848 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9849 Paolo Bonzini <bonzini@gnu.org>
9850
9851 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9852 instead of 'VPATH ='.
9853 * Makefile.in: Regenerate.
9854
9855 2007-11-23 Matthias Klose <doko@ubuntu.com>
9856
9857 * configure.ac: Adjust makeinfo version check.
9858 * configure: Regenerate.
9859
9860 2007-11-10 Jakub Jelinek <jakub@redhat.com>
9861
9862 PR fortran/34020
9863 * testsuite/libgomp.fortran/pr34020.f90: New test.
9864
9865 2007-11-06 Jakub Jelinek <jakub@redhat.com>
9866
9867 PR c++/33894
9868 * testsuite/libgomp.c++/atomic-1.C: New test.
9869
9870 2007-10-25 Jakub Jelinek <jakub@redhat.com>
9871
9872 PR libgomp/33275
9873 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9874 Make x and y integers rather than (implicit) reals. Add private (j)
9875 clause to the last omp parallel.
9876
9877 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9878
9879 * configure: Regenerate following changes to ../config/tls.m4.
9880
9881 2007-09-28 Jakub Jelinek <jakub@redhat.com>
9882
9883 * testsuite/libgomp.fortran/stack.f90: New test.
9884
9885 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9886
9887 * config/mingw32/proc.c: New file.
9888
9889 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
9890
9891 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9892 (main): Use __get_cpuid to get i386 target fetaures.
9893 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9894 (main): Use __get_cpuid to get x86_64 target fetaures.
9895
9896 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9897
9898 PR target/32765
9899 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9900 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9901
9902 2007-07-12 Jakub Jelinek <jakub@redhat.com>
9903
9904 PR fortran/32550
9905 * testsuite/libgomp.fortran/pr32550.f90: New test.
9906 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9907
9908 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9909
9910 * aclocal.m4: Regenerated.
9911
9912 2007-07-05 Tobias Burnus <burnus@net-b.de>
9913
9914 PR fortran/32359
9915 * testsuite/libgomp.fortran/pr32359.f90: New.
9916
9917 2007-07-02 Jakub Jelinek <jakub@redhat.com>
9918
9919 PR libgomp/32468
9920 * sections.c (GOMP_parallel_sections_start): Only decrease
9921 number of threads to COUNT if dyn_var is true.
9922 * testsuite/libgomp.c/pr32468.c: New test.
9923
9924 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9925
9926 PR libgomp/26308
9927 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9928
9929 2007-06-21 Jakub Jelinek <jakub@redhat.com>
9930
9931 PR middle-end/32362
9932 * testsuite/libgomp.c/pr32362-1.c: New test.
9933 * testsuite/libgomp.c/pr32362-2.c: New test.
9934 * testsuite/libgomp.c/pr32362-3.c: New test.
9935
9936 2007-06-07 Jakub Jelinek <jakub@redhat.com>
9937
9938 * team.c (gomp_team_start): Fix setting up thread_attr
9939 stack size.
9940
9941 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
9942
9943 * configure: Regenerate.
9944
9945 2007-05-23 Steve Ellcey <sje@cup.hp.com>
9946
9947 * Makefile.in: Regenerate.
9948 * configure: Regenerate.
9949 * aclocal.m4: Regenerate.
9950 * testsuite/Makefile.in: Regenerate.
9951
9952 2007-05-04 Jakub Jelinek <jakub@redhat.com>
9953
9954 * config/linux/proc.c: New file.
9955
9956 PR libgomp/28482
9957 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9958
9959 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
9960
9961 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9962
9963 2007-04-16 Matthias Klose <doko@debian.org>
9964
9965 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9966 flags if not building with -m64.
9967 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9968 flag for i?86-*-* targets, if current target matches -m64.
9969
9970 2007-04-14 Steve Ellcey <sje@cup.hp.com>
9971
9972 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9973 * Makefile.in: Regenerate.
9974
9975 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9976
9977 PR testsuite/31369
9978 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9979 ld_library_path.
9980 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9981
9982 2007-04-04 Jakub Jelinek <jakub@redhat.com>
9983
9984 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9985 decls.
9986 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9987 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9988 (parse_affinity): New function.
9989 (initialize_env): Call it and gomp_init_affinity.
9990 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9991 create new pthread_attr_t and call gomp_init_thread_affinity
9992 on it for each thread before passing the attribute to pthread_create.
9993 * config/linux/affinity.c: New file.
9994 * config/posix/affinity.c: New file.
9995 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9996 * configure: Rebuilt.
9997 * config.h.in: Rebuilt.
9998 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9999 * Makefile.in: Rebuilt.
10000
10001 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10002
10003 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10004 *-*-darwin*.
10005 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10006 and use it if found.
10007
10008 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
10009
10010 * testsuite/config/default.exp: New file.
10011 * testsuite/lib/libgomp.exp: New file.
10012 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10013 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10014 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10015 (libgomp_load): Remove.
10016 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10017 always_ld_library_path, not ld_library_path. Set additional_flags
10018 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10019 (target_compile): Do not call libgomp_init. Append lang_library_path
10020 and lang_link_flags to options.
10021 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10022 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10023 here.
10024 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10025 always_ld_library_path. Set LD_LIBRARY_PATH here.
10026 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10027 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10028 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10029 CX8 flag.
10030 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10031 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10032 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10033 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10034 * testsuite/libgomp.c/atomic-10.c: Ditto.
10035
10036 2007-03-21 Jakub Jelinek <jakub@redhat.com>
10037
10038 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10039 dg-final cleanup-modules line.
10040 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10041 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10042 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10043 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10044 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10045 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10046 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10047
10048 2007-03-18 Andreas Schwab <schwab@suse.de>
10049
10050 * acinclude.m4: Adjust regular expression for ld version
10051 extraction.
10052 * configure: Regenerate.
10053
10054 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10055
10056 * Makefile.am: Add install-pdf target as copied from
10057 automake v1.10 rules.
10058 * Makefile.in: Regenerate
10059
10060 2007-02-07 Jakub Jelinek <jakub@redhat.com>
10061
10062 PR libgomp/28486
10063 * configure: Regenerate.
10064
10065 PR c++/30703
10066 * testsuite/libgomp.c++/pr30703.C: New test.
10067
10068 2007-02-02 Jakub Jelinek <jakub@redhat.com>
10069
10070 Revert:
10071 2006-07-05 Eric Christopher <echristo@apple.com>
10072 * configure.ac: Depend addition of -pthread on host OS.
10073 * configure: Regenerate.
10074
10075 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10076
10077 * libgomp.texi: Fix spacing after abbreviations.
10078
10079 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
10080
10081 PR libgomp/30546
10082 * configure.ac: Add check for makeinfo
10083 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10084 if an appropiate version of makeinfo is found.
10085 * aclocal.m4: Regenerated.
10086 * configure: Regenerated.
10087 * Makefile.in: Regenerated.
10088 * testsuite/Makefile.in: Regenerated.
10089
10090 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
10091
10092 PR libgomp/30540
10093 * libgomp.texi: More about implementation-dependent settings.
10094
10095 2007-01-26 Tobias Burnus <burnus@net-b.de>
10096
10097 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10098
10099 2007-01-24 Jakub Jelinek <jakub@redhat.com>
10100
10101 PR middle-end/30494
10102 * testsuite/libgomp.c/pr30494.c: New test.
10103
10104 2007-01-15 Tom Tromey <tromey@redhat.com>
10105
10106 * configure: Rebuilt.
10107 * configure.ac: Fixed comment.
10108
10109 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
10110
10111 * libgomp.texi: Document implementation specific default values of
10112 environment variables.
10113
10114 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
10115
10116 PR libgomp/28209
10117 * libgomp.texi: New file.
10118 * configure.ac: Add --enable-generated-files-in-srcdir option.
10119 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10120 files to srcdir.
10121 * Makefile.in: Regenerated.
10122 * config.h.in: Regenerated.
10123 * testsuite/Makefile.in: Regenerated.
10124 * NOTES: Removed.
10125
10126 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
10127
10128 PR libgomp/29949
10129 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10130
10131 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10132
10133 * configure: Regenerate.
10134
10135 2006-12-04 Jakub Jelinek <jakub@redhat.com>
10136
10137 PR libgomp/29947
10138 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10139 start if there shouldn't be any loop iterations.
10140 (gomp_loop_ordered_static_start): Remove start == end test.
10141 * testsuite/libgomp.c/pr29947-1.c: New test.
10142 * testsuite/libgomp.c/pr29947-2.c: New test.
10143
10144 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10145
10146 * configure.tgt: Force initial-exec TLS model on Linux only.
10147
10148 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10149
10150 * configure: Regenerated.
10151
10152 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
10153
10154 * env.c (parse_schedule): Reject out of range values.
10155 (parse_unsigned_long): Reject out of range, negative or zero values.
10156
10157 2006-10-29 Jakub Jelinek <jakub@redhat.com>
10158
10159 PR fortran/29629
10160 * testsuite/libgomp.fortran/pr29629.f90: New test.
10161
10162 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10163
10164 PR libgomp/29494
10165 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10166 * config/posix95: New directory.
10167 * config/posix95/omp-lock.h: New file.
10168 * config/posix95/lock.c: Likewise.
10169
10170 2006-10-14 Geoffrey Keating <geoffk@apple.com>
10171
10172 * aclocal.m4: Regenerate.
10173 * configure: Regenerate.
10174
10175 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10176
10177 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10178 '<' to '<='.
10179
10180 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10181
10182 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10183 test.
10184 * configure: Regenerate.
10185 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10186
10187 2006-09-26 Jakub Jelinek <jakub@redhat.com>
10188
10189 PR middle-end/25261
10190 PR middle-end/28790
10191 * testsuite/libgomp.c/nestedfn-4.c: New test.
10192 * testsuite/libgomp.c/nestedfn-5.c: New test.
10193 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10194
10195 PR fortran/29097
10196 * testsuite/libgomp.fortran/condinc1.f: New test.
10197 * testsuite/libgomp.fortran/condinc2.f: New test.
10198 * testsuite/libgomp.fortran/condinc3.f90: New test.
10199 * testsuite/libgomp.fortran/condinc4.f90: New test.
10200 * testsuite/libgomp.fortran/condinc1.inc: New file.
10201
10202 2006-09-18 Tom Tromey <tromey@redhat.com>
10203
10204 * configure: Rebuilt.
10205
10206 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10207
10208 PR c/28768
10209 PR preprocessor/14634
10210 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10211 to AC_DEFINE.
10212 * configure: Regenerate.
10213
10214 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10215
10216 * testsuite/libgomp.fortran/reduction3.f90: Change
10217 -2147483648 to -huge(i)-1 to avoid overflow.
10218 * testsuite/libgomp.fortran/reduction4.f90: Change
10219 Z'ffffffff' to not(0) to avoid overflow.
10220
10221 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10222
10223 PR libgomp/25938
10224 * Makefile.am (libsubincludedir): New.
10225 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10226 * Makefile.in: Regenerate.
10227
10228 2006-08-17 Jakub Jelinek <jakub@redhat.com>
10229
10230 PR libgomp/28725
10231 * env.c: Include ctype.h.
10232 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10233 leading and/or trailing whitespace and compare strings case
10234 insensitively.
10235
10236 2006-07-16 Jakub Jelinek <jakub@redhat.com>
10237
10238 PR fortran/28390
10239 * testsuite/libgomp.fortran/pr28390.f: New test.
10240
10241 2006-07-05 Eric Christopher <echristo@apple.com>
10242
10243 * configure.ac: Depend addition of -pthread on host OS.
10244 * configure: Regenerate.
10245
10246 2006-06-21 Jakub Jelinek <jakub@redhat.com>
10247
10248 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10249 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10250 defined.
10251
10252 2006-06-20 Jakub Jelinek <jakub@redhat.com>
10253
10254 PR libgomp/26175
10255 PR libgomp/26477
10256 * configure.ac: If neither --enable-linux-futex nor
10257 --disable-linux-futex is passed, determine the default by checking
10258 for compiling and/or running against NPTL. With --enable-linux-futex,
10259 check if SYS_gettid and SYS_futex are defined.
10260 * configure: Rebuilt.
10261
10262 2006-06-14 Richard Henderson <rth@redhat.com>
10263
10264 PR libgomp/28008
10265 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10266 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10267
10268 2006-06-09 Richard Henderson <rth@redhat.com>
10269
10270 * env.c (gomp_nthreads_var): Change to unsigned long.
10271 (gomp_run_sched_chunk): Likewise.
10272 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10273 (initialize_env): Initialize gomp_thread_attr.
10274 * libgomp.h (gomp_nthreads_var): Update decl.
10275 (gomp_run_sched_chunk): Likewise.
10276 (gomp_thread_attr): Declare.
10277 * team.c (gomp_thread_attr): Export.
10278 (initialize_team): Don't initialize it.
10279
10280 2006-06-09 Jakub Jelinek <jakub@redhat.com>
10281
10282 PR fortran/27916
10283 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10284 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10285
10286 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10287
10288 * config/mingw32/time.c: New file.
10289 * configure.tgt: Use it.
10290
10291 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10292
10293 * Makefile.am: Add install-html target. Add install-html to .PHONY
10294 * Makefile.in: Regenerate.
10295
10296 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10297
10298 PR libgomp/27612
10299 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10300 * testsuite/libgomp.c/critical-1.c: Likewise.
10301 * testsuite/libgomp.c/loop-1.c: Likewise.
10302 * testsuite/libgomp.c/loop-2.c: Likewise.
10303 * testsuite/libgomp.c/single-1.c: Likewise.
10304 * testsuite/libgomp.c/ordered-1.c: Likewise.
10305 * testsuite/libgomp.c/ordered-2.c: Likewise.
10306
10307 2006-05-15 Jakub Jelinek <jakub@redhat.com>
10308
10309 PR middle-end/27416
10310 * libgomp.fortran/pr27416-1.f90: New test.
10311
10312 2006-05-03 Jakub Jelinek <jakub@redhat.com>
10313
10314 PR fortran/27395
10315 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10316 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10317
10318 2006-05-02 Jakub Jelinek <jakub@redhat.com>
10319
10320 PR c++/26943
10321 * testsuite/libgomp.c/pr26943-1.c: New test.
10322 * testsuite/libgomp.c/pr26943-2.c: New test.
10323 * testsuite/libgomp.c/pr26943-3.c: New test.
10324 * testsuite/libgomp.c/pr26943-4.c: New test.
10325 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10326 * testsuite/libgomp.c++/pr26943.C: New test.
10327
10328 2006-05-02 Jakub Jelinek <jakub@redhat.com>
10329
10330 PR middle-end/27337
10331 * testsuite/libgomp.c++/pr27337.C: New test.
10332
10333 2006-04-26 Jakub Jelinek <jakub@redhat.com>
10334
10335 PR c/26171
10336 * testsuite/libgomp.c/pr26171.c: New test.
10337
10338 2006-04-25 Richard Henderson <rth@redhat.com>
10339
10340 PR libgomp/25865
10341 * configure.ac: Use GCC_CHECK_TLS.
10342 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10343 * Makefile.in, aclocal.m4, configure: Regenerate.
10344
10345 2006-04-10 Matthias Klose <doko@debian.org>
10346
10347 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10348 directory names containing underscores.
10349
10350 2006-03-21 Jakub Jelinek <jakub@redhat.com>
10351
10352 PR c++/26691
10353 * testsuite/libgomp.c++/pr26691.C: New test.
10354
10355 2006-03-13 Jakub Jelinek <jakub@redhat.com>
10356
10357 * testsuite/libgomp.fortran/retval2.f90: New test.
10358
10359 2006-03-09 Diego Novillo <dnovillo@redhat.com>
10360
10361 * testsuite/libgomp.c++: New directory.
10362
10363 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
10364
10365 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10366 * config/posix/sem.c: Implement the above.
10367
10368 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10369
10370 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10371 define HAVE_BROKEN_POSIX_SEMAPHORES.
10372 * configure: Rebuilt.
10373 * config.h.in: Rebuilt.
10374
10375 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10376
10377 PR bootstrap/26161
10378 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10379 for the other pthread check.
10380 * configure: Regenerate.
10381 * config.h.in: Regenerate.
10382
10383 2006-02-15 Jakub Jelinek <jakub@redhat.com>
10384
10385 PR libgomp/25938
10386 PR libgomp/25984
10387 * Makefile.am (fincludedir): New variable.
10388 (nodist_include_HEADERS): Remove Fortran files.
10389 (nodist_finclude_HEADERS): New variable.
10390 * Makefile.in: Regenerated.
10391
10392 2006-02-13 Jakub Jelinek <jakub@redhat.com>
10393
10394 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10395 Remove tests for returning assumed character length arrays.
10396
10397 2006-02-12 Roger Sayle <roger@eyesopen.com>
10398 John David Anglin <dave@hiauly1.hia.nrc.ca>
10399
10400 PR libgomp/25936
10401 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
10402
10403 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10404
10405 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10406
10407 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10408
10409 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10410 part of LD_LIBRARY_PATH manually.
10411
10412 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10413
10414 PR libgomp/25852
10415 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10416 libgomp_init.
10417
10418 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
10419
10420 PR libgomp/25884
10421 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10422 * configure.ac (PERL): Don't set.
10423 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10424 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10425 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10426 * omp.h.in: Wrap the new configure substitutions with @ characters.
10427 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10428 * aclocal.m4, configure, Makefile.in: Regenerate.
10429 * mkomp_h.pl: Delete.
10430
10431 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
10432
10433 PR libgomp/25259
10434 * configure.ac: Use GCC_HEADER_STDINT.
10435 * libgomp.h: Include gstdint.h.
10436 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10437 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10438
10439 2006-01-24 Richard Henderson <rth@redhat.com>
10440
10441 PR libgomp/25942
10442 * configure.ac: Add AM_MAINTAINER_MODE.
10443 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10444
10445 2006-01-24 Diego Novillo <dnovillo@redhat.com>
10446
10447 * Makefile.in: Regenerate.
10448 * testsuite/Makefile.in: Regenerate.
10449 * aclocal.m4: Regenerate.
10450
10451 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10452
10453 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10454 Solaris.
10455 * configure.ac: Add check for loadavg.h.
10456 (link_gomp): Adjust comment.
10457 * configure: Regenerate.
10458 * config.h.in: Regenerate.
10459
10460 2006-01-21 Steve Ellcey <sje@cup.hp.com>
10461
10462 PR libgomp/25877
10463 * configure.ac: Remove check for alloca.h.
10464 * configure: Regenerate.
10465 * config.h.in: Regenerate.
10466 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10467 * team.c: Remove use of alloca.h.
10468 Call gomp_alloca instead of alloca.
10469
10470 2006-01-20 Steve Ellcey <sje@cup.hp.com>
10471
10472 PR libgomp/25877
10473 * team.c: Add include of alloca.h.
10474 * configure.ac: Add check for alloca.h.
10475 * configure: Regenerate.
10476 * config.h.in: Regenerate.
10477
10478 2006-01-17 Jakub Jelinek <jakub@redhat.com>
10479
10480 PR fortran/25219
10481 * testsuite/libgomp.fortran/pr25219.f90: New test.
10482
10483 2005-12-05 Uros Bizjak <uros@kss-loka.si>
10484
10485 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10486 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10487 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10488 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10489 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10490 testsuite/libgomp.fortran/threadprivate1.f90,
10491 testsuite/libgomp.fortran/threadprivate2.f90,
10492 testsuite/libgomp.fortran/threadprivate3.f90,
10493 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10494 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10495 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10496 effective-target to TLS runtime.
10497
10498 * testsuite/libgomp.fortran/pr25162.f: Require
10499 effective-target TLS runtime.
10500
10501 2005-12-01 Jakub Jelinek <jakub@redhat.com>
10502
10503 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10504 * testsuite/libgomp.c/nestedfn-3.c: New test.
10505
10506 2005-11-30 Jakub Jelinek <jakub@redhat.com>
10507
10508 PR fortran/25162
10509 * testsuite/libgomp.fortran/pr25162.f: New test.
10510
10511 2005-11-28 Jakub Jelinek <jakub@redhat.com>
10512
10513 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10514 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10515
10516 2005-11-25 Jakub Jelinek <jakub@redhat.com>
10517
10518 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10519 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10520 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10521 single.c, team.c, work.c, config/linux/alpha/futex.h,
10522 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10523 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10524 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10525 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10526 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10527 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10528 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10529 FSF address.
10530
10531 2005-11-18 Jakub Jelinek <jakub@redhat.com>
10532
10533 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10534 to nodist_noinst_HEADERS.
10535 * Makefile.in: Rebuilt.
10536
10537 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10538 add integer count field.
10539 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10540 omp_nest_lock_t type change.
10541 (omp_init_nest_lock): Likewise. Initialize count to 0.
10542 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10543 Increment count.
10544 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10545 Decrement count.
10546 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10547 Increment count if successful and return the new nesting level.
10548 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10549 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10550 * testsuite/libgomp.c/lib-1.c: New test.
10551 * testsuite/libgomp.fortran/lib1.f90: New test.
10552 * testsuite/libgomp.fortran/lib2.f: New test.
10553 * testsuite/libgomp.fortran/lib3.f: New test.
10554
10555 2005-11-17 Richard Henderson <rth@redhat.com>
10556
10557 PR 24845
10558 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10559 * configure.ac (link_gomp): New. Substitute it.
10560 (AC_CONFIG_FILES): Add libgomp.spec.
10561 * libgomp.spec.in: New file.
10562 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10563 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10564
10565 2005-11-18 Jakub Jelinek <jakub@redhat.com>
10566
10567 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10568 reduction(-:var) behaving the same as reduction(+:var).
10569 * testsuite/libgomp.c/reduction-4.c: New test.
10570
10571 2005-11-15 Uros Bizjak <uros@kss-loka.si>
10572
10573 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10574 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10575 testsuite/libgomp.c/copyin-3.c,
10576 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10577 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10578 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10579 testsuite/libgomp.c++/pr24455.C,
10580 testsuite/libgomp.fortran/threadprivate1.f90,
10581 testsuite/libgomp.fortran/threadprivate2.f90,
10582 testsuite/libgomp.fortran/threadprivate3.f90,
10583 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10584 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10585 testsuite/libgomp.fortran/omp_parse3.f90: Require
10586 effective-target TLS.
10587
10588 2005-11-14 Diego Novillo <dnovillo@redhat.com>
10589
10590 * HEADER: Remove.
10591
10592 2005-11-13 Jakub Jelinek <jakub@redhat.com>
10593
10594 PR libgomp/24797
10595 * team.c (initialize_team): Pass NULL rather than free as
10596 pthread_key_create destructor. Initialize thread specific data
10597 pointer in initial thread to a static local variable rather than
10598 malloced memory.
10599
10600 2005-11-11 Uros Bizjak <uros@kss-loka.si>
10601
10602 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10603 its location to ld_library_path.
10604
10605 2005-11-10 Diego Novillo <dnovillo@redhat.com>
10606
10607 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10608
10609 2005-11-10 Diego Novillo <dnovillo@redhat.com>
10610
10611 * testsuite/libgomp.c: Rename from libgomp.dg.
10612
10613 2005-11-09 Diego Novillo <dnovillo@redhat.com>
10614
10615 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10616 threadprivate variable 'i'.
10617
10618 2005-11-09 Jakub Jelinek <jakub@redhat.com>
10619
10620 * config/linux/s390/futex.h: New file.
10621 * configure.tgt: Use it.
10622
10623 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10624 before the parallel.
10625
10626 2005-11-08 Jakub Jelinek <jakub@redhat.com>
10627
10628 PR c++/24734
10629 * testsuite/libgomp.c++/master-1.C: New test.
10630
10631 2005-11-07 Jakub Jelinek <jakub@redhat.com>
10632
10633 * testsuite/libgomp.dg/copyin-3.c: New test.
10634
10635 2005-11-07 Jakub Jelinek <jakub@redhat.com>
10636
10637 * testsuite/libgomp.fortran/retval1.f90: New test.
10638 * testsuite/libgomp.fortran/vla7.f90: New test.
10639
10640 2005-11-06 Jakub Jelinek <jakub@redhat.com>
10641
10642 * testsuite/libgomp.fortran/vla2.f90: New test.
10643 * testsuite/libgomp.fortran/vla3.f90: New test.
10644 * testsuite/libgomp.fortran/vla4.f90: New test.
10645 * testsuite/libgomp.fortran/vla5.f90: New test.
10646 * testsuite/libgomp.fortran/vla6.f90: New test.
10647
10648 2005-11-01 Jakub Jelinek <jakub@redhat.com>
10649
10650 * config/linux/sparc/futex.h: New file.
10651 * configure.tgt: Use it.
10652 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10653
10654 * critical.c: Include stdlib.h.
10655 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10656 ignoring return value.
10657 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10658 LIBGOMP_CHECK_SYNC_BUILTINS check.
10659 * configure: Rebuilt.
10660
10661 2005-10-31 Jakub Jelinek <jakub@redhat.com>
10662
10663 * testsuite/libgomp.fortran/vla1.f90: New test.
10664
10665 2005-10-31 Richard Henderson <rth@redhat.com>
10666
10667 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10668 setting 's' in different threads.
10669
10670 2005-10-31 Jakub Jelinek <jakub@redhat.com>
10671
10672 * libgomp.h (attribute_hidden, ialias): Define.
10673 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10674 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10675 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10676 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10677 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10678 omp_test_lock, omp_test_nest_lock): Likewise.
10679 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10680 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10681 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10682 omp_test_lock, omp_test_nest_lock): Likewise.
10683 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10684 omp_get_dynamic, omp_get_nested): Likewise.
10685 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10686 omp_get_thread_num, omp_in_parallel): Likewise.
10687 * fortran.c (ialias_redirect): Define.
10688 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10689 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10690 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10691 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10692 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10693 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10694 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10695 omp_get_wtime): Add ialias_redirect.
10696
10697 2005-10-30 Jakub Jelinek <jakub@redhat.com>
10698
10699 * fortran.c: Include stdlib.h.
10700
10701 2005-10-29 Jakub Jelinek <jakub@redhat.com>
10702
10703 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10704 * Makefile.in: Regenerated.
10705
10706 2005-10-28 Jakub Jelinek <jakub@redhat.com>
10707
10708 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10709 * libgomp_f.h.in (omp_check_defines): New function.
10710 * env.c: Include libgomp_f.h.
10711 (initialize_env): Call omp_check_defines.
10712
10713 * testsuite/libgomp.dg/copyin-2.c: New test.
10714 * testsuite/libgomp.c++/copyin-2.C: New test.
10715 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10716
10717 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10718 * testsuite/libgomp.fortran/sharing2.f90: New test.
10719
10720 * testsuite/libgomp.dg/copyin-1.c: New test.
10721 * testsuite/libgomp.c++/copyin-1.C: New test.
10722
10723 2005-10-26 Jakub Jelinek <jakub@redhat.com>
10724
10725 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10726
10727 * testsuite/libgomp.fortran/workshare1.f90: New test.
10728
10729 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10730 only test.
10731 * libgomp.fortran/sharing1.f90: New test.
10732
10733 2005-10-24 Jakub Jelinek <jakub@redhat.com>
10734
10735 PR c++/24502
10736 * testsuite/libgomp.c++/loop-7.C: New test.
10737
10738 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10739
10740 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10741 * testsuite/libgomp.fortran/reduction6.f90: New test.
10742 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10743
10744 2005-10-23 Richard Henderson <rth@redhat.com>
10745
10746 * testsuite/libgomp.c++/ctor-1.C: New.
10747 * testsuite/libgomp.c++/ctor-2.C: New.
10748 * testsuite/libgomp.c++/ctor-3.C: New.
10749 * testsuite/libgomp.c++/ctor-4.C: New.
10750 * testsuite/libgomp.c++/ctor-5.C: New.
10751 * testsuite/libgomp.c++/ctor-6.C: New.
10752 * testsuite/libgomp.c++/ctor-7.C: New.
10753 * testsuite/libgomp.c++/ctor-8.C: New.
10754 * testsuite/libgomp.c++/ctor-9.C: New.
10755
10756 2005-10-21 Diego Novillo <dnovillo@redhat.com>
10757
10758 PR 24455
10759 * testsuite/libgomp.c++/pr24455-1.C: New test.
10760 * testsuite/libgomp.c++/pr24455.C: New test.
10761 * testsuite/libgomp.dg/pr24455-1.c: New test.
10762 * testsuite/libgomp.dg/pr24455.c: New test.
10763
10764 2005-10-20 Richard Henderson <rth@redhat.com>
10765
10766 * testsuite/libgomp.c++/loop-6.C: New.
10767 * testsuite/libgomp.dg/loop-3.c: New.
10768
10769 2005-10-20 Jakub Jelinek <jakub@redhat.com>
10770
10771 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10772 explicitly private.
10773 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10774 explicitly shared.
10775
10776 2005-10-19 Diego Novillo <dnovillo@redhat.com>
10777
10778 * testsuite/libgomp.fortran/jacobi.f: New test.
10779
10780 2005-10-19 Richard Henderson <rth@redhat.com>
10781
10782 * configure.tgt (i?86-linux): Default to with_arch instead of
10783 CFLAGS. Add -mtune to match target_cpu.
10784 (x86_64-linux): Tune to i686.
10785
10786 * fortran.c (omp_test_nest_lock_): Fix typo.
10787
10788 2005-10-19 Jakub Jelinek <jakub@redhat.com>
10789
10790 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10791 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10792 * testsuite/libgomp.dg/ordered-3.c: New test.
10793
10794 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10795 Remove volatile keyword.
10796
10797 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10798 in COMMON block to avoid warnings on 64-bit targets.
10799
10800 2005-10-18 Diego Novillo <dnovillo@redhat.com>
10801
10802 * testsuite/libgomp.dg/shared-3.c: New test.
10803
10804 2005-10-18 Jakub Jelinek <jakub@redhat.com>
10805
10806 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10807 * testsuite/libgomp.fortran/reduction5.f90: New test.
10808
10809 2005-10-18 Jakub Jelinek <jakub@redhat.com>
10810
10811 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10812 dg-options.
10813 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10814 flush loop now that __sync_synchronize has proper memory barrier.
10815 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10816 Add -ffixed-form to dg-options.
10817
10818 2005-10-17 Diego Novillo <dnovillo@redhat.com>
10819
10820 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10821 from subdirectories.
10822 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10823 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10824 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10825 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10826 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10827 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10828 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10829 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10830 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10831 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10832 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10833 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10834 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10835 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10836 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10837 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10838 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10839 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10840 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10841 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10842 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10843 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10844 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10845 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10846 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10847
10848 2005-10-17 Jakub Jelinek <jakub@redhat.com>
10849
10850 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10851 lang_library_path exists. Use find instead of glob to gather tests.
10852 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10853
10854 2005-10-17 Diego Novillo <dnovillo@redhat.com>
10855
10856 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10857 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10858 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10859 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10860 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10861 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10862 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10863 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10864 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10865 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10866 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10867 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10868 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10869
10870 2005-10-15 Jakub Jelinek <jakub@redhat.com>
10871
10872 * testsuite/libgomp.dg/vla-1.c: New test.
10873
10874 * testsuite/libgomp.fortran/reference2.f90: New test.
10875
10876 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10877 declaration of omp_get_thread_num.
10878 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10879 use omp_lib.
10880
10881 * testsuite/libgomp.fortran/reduction1.f90: New test.
10882 * testsuite/libgomp.fortran/reduction2.f90: New test.
10883 * testsuite/libgomp.fortran/reduction3.f90: New test.
10884 * testsuite/libgomp.fortran/reduction4.f90: New test.
10885
10886 2005-10-13 Richard Henderson <rth@redhat.com>
10887
10888 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10889 * Makefile.in: Regenerate.
10890 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10891 * libgomp.h: Include bar.h.
10892 (struct gomp_barrier): Remove.
10893 (struct gomp_team): Add barrier. Replace master_barrier with
10894 master_release. Replace threads with ordered_release.
10895 (struct gomp_thread): Replace barrier with release.
10896 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10897 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10898 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10899 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10900 (GOMP_single_copy_end): Likewise.
10901 * team.c (gomp_threads_dock): New.
10902 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10903 (gomp_thread_start): Use gomp_barrier_wait.
10904 (new_team, free_team): Update for gomp_team changes.
10905 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10906 (gomp_team_end): Use gomp_barrier_wait.
10907 (initialize_team): Update for gomp_thread changes.
10908 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10909 (gomp_work_share_end_nowait): Use atomic ops when available.
10910 * config/linux/bar.c, config/linux/bar.h: New files.
10911 * config/posix/bar.c, config/posix/bar.h: New files.
10912
10913 2005-10-13 Jakub Jelinek <jakub@redhat.com>
10914
10915 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10916 * testsuite/libgomp.dg/single-2.c: New test.
10917
10918 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10919 lang_link_flags): Unset, so that they aren't inherited from previously
10920 sourced *.exp.
10921
10922 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10923
10924 2005-10-12 Richard Henderson <rth@redhat.com>
10925
10926 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10927 (libgomp_init): Use lang_test_file, lang_library_path, and
10928 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10929
10930 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10931 (lang_test_file, lang_link_flags): New.
10932 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10933
10934 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10935 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10936 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10937 testsuite/libgomp.c++/parallel-1.C,
10938 testsuite/libgomp.c++/reduction-1.C,
10939 testsuite/libgomp.c++/reduction-2.C,
10940 testsuite/libgomp.c++/reduction-3.C,
10941 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10942 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10943 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10944 New files, largely cribbed from the C testsuite.
10945
10946 2005-10-12 Jakub Jelinek <jakub@redhat.com>
10947
10948 * testsuite/libgomp.fortran/character1.f90: New test.
10949 * testsuite/libgomp.fortran/character2.f90: New test.
10950
10951 * testsuite/libgomp.dg/nested-1.c: New test.
10952 * testsuite/libgomp.dg/nested-2.c: New test.
10953 * testsuite/libgomp.fortran/do1.f90: New test.
10954 * testsuite/libgomp.fortran/do2.f90: New test.
10955
10956 * testsuite/libgomp.fortran/reference1.f90: New test.
10957
10958 2005-10-11 Jakub Jelinek <jakub@redhat.com>
10959
10960 * testsuite/libgomp.dg/reduction-1.c: New test.
10961 * testsuite/libgomp.dg/reduction-2.c: New test.
10962 * testsuite/libgomp.dg/reduction-3.c: New test.
10963
10964 2005-10-10 Jakub Jelinek <jakub@redhat.com>
10965
10966 * testsuite/libgomp.dg/atomic-1.c: New test.
10967 * testsuite/libgomp.dg/atomic-2.c: New test.
10968
10969 2005-10-09 Richard Henderson <rth@redhat.com>
10970
10971 * critical.c (atomic_lock): New.
10972 (initialize_critical): Initialize it.
10973 (GOMP_atomic_start, GOMP_atomic_end): New.
10974 * libgomp.map: Export them.
10975 * libgomp_g.h: Declare them.
10976
10977 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10978
10979 2005-10-02 Richard Henderson <rth@redhat.com>
10980
10981 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10982 to XCFLAGS instead of CFLAGS.
10983
10984 2005-09-30 Richard Henderson <rth@redhat.com>
10985
10986 * configure.ac: Determine whether -pthread or -lpthread is needed.
10987 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10988 * Makefine.in, configure: Rebuild.
10989
10990 2005-09-28 Richard Henderson <rth@redhat.com>
10991
10992 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10993 * testsuite/libgomp.dg/omp-single-3.c: New test.
10994
10995 2005-09-28 Diego Novillo <dnovillo@redhat.com>
10996
10997 * testsuite/libgomp.dg/omp-single-2.c: New test.
10998 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10999
11000 2005-09-27 Richard Henderson <rth@redhat.com>
11001
11002 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11003 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11004
11005 2005-09-27 Jakub Jelinek <jakub@redhat.com>
11006
11007 * testsuite/libgomp.dg/omp-loop03.c: New test.
11008
11009 2005-09-27 Diego Novillo <dnovillo@redhat.com>
11010
11011 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11012
11013 2005-09-27 Diego Novillo <dnovillo@redhat.com>
11014
11015 * testsuite/libgomp.dg/omp-single-1.c: New test.
11016 * testsuite/libgomp.dg/shared-1.c: Return 0.
11017 Add prototype for abort.
11018 * testsuite/libgomp.dg/shared-2.c: Likewise.
11019
11020 2005-09-26 Jakub Jelinek <jakub@redhat.com>
11021
11022 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11023 constructs.
11024
11025 2005-09-26 Diego Novillo <dnovillo@redhat.com>
11026
11027 * testsuite/libgomp.dg/shared-1.c: New test.
11028 * testsuite/libgomp.dg/shared-2.c: New test.
11029
11030 2005-09-24 Richard Henderson <rth@redhat.com>
11031
11032 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11033
11034 2005-09-24 Richard Henderson <rth@redhat.com>
11035
11036 * iter.c (gomp_iter_static_next): Round up when computing number
11037 of iterations. Don't bother distributing a remainder equally.
11038
11039 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11040 Don't call srand. Zero b before testing.
11041 (main): New.
11042
11043 2005-09-24 Jakub Jelinek <jakub@redhat.com>
11044
11045 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11046 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11047
11048 2005-09-23 Jakub Jelinek <jakub@redhat.com>
11049
11050 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11051 without !$omp end do, followed immediately by subroutine end.
11052
11053 2005-09-23 Diego Novillo <dnovillo@redhat.com>
11054
11055 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11056
11057 2005-09-22 Richard Henderson <rth@redhat.com>
11058
11059 * critical.c (GOMP_critical_name_start): Change argument to void**.
11060 Reuse the pointer space if the mutex fits.
11061 (GOMP_critical_name_end): Likewise.
11062 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11063 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11064 (GOMP_critical_name_end): Likewise.
11065 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11066 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11067
11068 2005-09-20 Richard Henderson <rth@redhat.com>
11069
11070 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11071 (create_lock_lock): New.
11072 (initialize_critical): Initialize it.
11073 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11074 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11075
11076 2005-09-20 Diego Novillo <dnovillo@redhat.com>
11077
11078 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11079
11080 2005-09-20 Diego Novillo <dnovillo@redhat.com>
11081
11082 * testsuite/libgomp.dg/omp-loop01.c: New test.
11083 * testsuite/libgomp.dg/omp-loop02.c: New test.
11084
11085 2005-09-20 Jakub Jelinek <jakub@redhat.com>
11086
11087 * configure.ac (AC_PROG_FC): Add.
11088 (USE_FORTRAN): New automake conditional.
11089 * configure: Rebuilt.
11090 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11091 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11092 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11093 Add rules to build them.
11094 * Makefile.in: Rebuilt.
11095 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11096 OMP_NEST_LOCK_KIND.
11097 * libgomp.map: Add Fortran wrappers.
11098 * libgomp_f.h.in: New file.
11099 * omp_lib.h.in: New file.
11100 * omp_lib.f90.in: New file.
11101 * fortran.c: New file.
11102 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11103 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11104 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11105 libgfortran has been built.
11106 * testsuite/libgomp.fortran/fortran.exp: New file.
11107 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11108 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11109 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11110 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11111 * testsuite/libgomp.fortran/omp_hello.f: New test.
11112 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11113 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11114 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11115 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11116 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11117 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11118 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11119 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11120
11121 2005-08-30 Richard Henderson <rth@redhat.com>
11122
11123 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11124 function for when aliases are not usable.
11125 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11126 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11127 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11128 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11129 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11130 GOMP_loop_ordered_guided_next): Likewise.
11131 * ordered.c (GOMP_ordered_start): Likewise.
11132
11133 2005-08-01 Diego Novillo <dnovillo@redhat.com>
11134
11135 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11136 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11137 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11138 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11139 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11140 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11141 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11142 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11143 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11144
11145 2005-07-07 Eric Christopher <echristo@redhat.com>
11146 Diego Novillo <dnovillo@redhat.com>
11147
11148 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11149 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11150 up code.
11151 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11152 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11153 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11154 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11155 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11156 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11157 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11158
11159 2005-06-13 Diego Novillo <dnovillo@redhat.com>
11160
11161 * TOPLEVEL.patch: Remove.
11162
11163 2005-05-16 Richard Henderson <rth@redhat.com>
11164
11165 * configure.ac: Test for clock_gettime.
11166 * config.h.in, configure: Rebuild.
11167 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11168 (omp_get_wtime): Use clock_gettime if available.
11169 (omp_get_wtick): Use clock_getres if available.
11170
11171 2005-05-11 Richard Henderson <rth@redhat.com>
11172
11173 * config/linux/ia64/futex.h: New file.
11174 * configure.tgt: Use it.
11175
11176 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11177
11178 2005-05-07 Richard Henderson <rth@redhat.com>
11179
11180 * config/linux/powerpc/futex.h: New file.
11181 * configure.tgt: Use it.
11182
11183 * config/linux/i486/futex.h: Merge ...
11184 * config/linux/x86_64/futex.h: ... into ...
11185 * config/linux/x86/futex.h: ... here.
11186 * configure.tgt: Update to match.
11187
11188 2005-05-06 Richard Henderson <rth@redhat.com>
11189
11190 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11191 * config/linux/i486/futex.h: Likewise.
11192 * config/linux/x86_64/futex.h: Likewise.
11193
11194 * config/linux/lock.c: New file.
11195 * config/linux/omp-lock.h: New file.
11196
11197 * critical.c, env.h: Don't include omp.h
11198 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11199 * config/posix/time.c: Likewise.
11200 * config/posix/omp-lock.h: New file.
11201 * libgomp.h: Include omp-lock.h and omp.h.
11202 * Makefile.am (nodist_include_HEADERS): New.
11203 (omp.h): New rule.
11204 * configure.ac (PERL): New.
11205 * mkomp_h.pl: New file.
11206 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11207 with templates.
11208 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11209
11210 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11211 build directory. Re-add -march=i486 hack.
11212
11213 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11214 (libgomp_link_flags): Remove.
11215 (libgomp_initialized): Remove.
11216 (libgomp_init): Don't protect from reinitialization. Copy code
11217 from libstdc++ for getting the multilib set correctly.
11218
11219 2005-05-05 Richard Henderson <rth@redhat.com>
11220
11221 * config/linux/alpha/futex.h: New file.
11222 * configure.tgt (alpha*-*-linux*): Use it.
11223
11224 * config/posix/mutex.c: New file.
11225 * config/posix/sem.c: Use libgomp.h.
11226
11227 * configure.tgt (x86_64-linux): Also test CC for -m32.
11228 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11229
11230 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
11231 after $gccpath.
11232
11233 * Makefile.am (SUBDIRS): New.
11234 (libgomp_la_LDFLAGS): Add -lpthread.
11235 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11236 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11237
11238 * libgomp_g.h: New file.
11239 * libgomp.h: Split out all public declarations to libgomp_g.h.
11240 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11241 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11242 * config/linux/sem.h: Likewise.
11243 * config/posix/sem.h: Likewise.
11244
11245 * Makefile.am (AM_LDFLAGS): New.
11246 (libgomp_version_script): Split out from ...
11247 (libgomp_la_LDFLAGS): ... here.
11248 (libgomp_version_info): New.
11249 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11250 (LIBGOMP_ENABLE): New.
11251 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11252 (LIBGOMP_ENABLE_SYMVERS): New.
11253 * configure.ac (AC_INIT): Version 1.0.
11254 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11255 (enable-linux-futex): Likewise. Rename from enable-futex.
11256 (libtool_VERSION): New.
11257 (LIBGOMP_ENABLE_SYMVERS): Use it.
11258 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11259 * Makefile.in, aclocal.m4, configure: Rebuild.
11260
11261 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11262 (gomp_mutex_unlock_slow): Fix typo.
11263 * config/linux/sem.c: Similarly.
11264 (gomp_sem_post_slow): Fix typo.
11265 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11266 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11267 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11268
11269 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11270 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11271 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11272 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11273 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11274 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11275 LDFLAGS. Pull enable_futex check to top-level.
11276 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11277 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11278
11279 First attempt at real configury.
11280 * Makefile, config.h: Remove file.
11281 * Makefile.am, Makefile.in: New file.
11282 * acinclude.m4 aclocal.m4: New file.
11283 * configure.ac, configure.tgt, configure: New file.
11284
11285 * config/posix/lock.c: Rename from sys-lock.c.
11286 * config/posix/mutex.h: Rename from sys-mutex.h.
11287 * config/posix/sem.c: Rename from sys-sem.c.
11288 * config/posix/sem.h: Rename from sys-sem.h.
11289 * config/posix/proc.c: Rename from sys-proc.c.
11290 * config/posix/time.c: Rename from sys-proc.c.
11291
11292 * config/linux/mutex.c: New file.
11293 * config/linux/mutex.h: New file.
11294 * config/linux/sem.c: New file.
11295 * config/linux/sem.h: New file.
11296 * config/linux/i486/futex.h: New file.
11297 * config/linux/x86_64/futex.h: New file.
11298
11299 2005-05-04 Richard Henderson <rth@redhat.com>
11300
11301 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11302 * libgomp.h: Declare them.
11303 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11304 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11305
11306 2005-05-04 Richard Henderson <rth@redhat.com>
11307
11308 * libgomp-1 code drop
11309
11310 2005-05-04 Richard Henderson <rth@redhat.com>
11311
11312 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11313 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11314 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11315 (gomp_iter_static_next): Update.
11316 (gomp_ordered_static_next): Update.
11317 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11318 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11319 totally empty range.
11320 (gomp_loop_ordered_static_next): Refine test for calling
11321 gomp_ordered_static_next.
11322 * testsuite/ordered-1.c: Add case for more threads than iterations.
11323
11324 * iter.c (gomp_iter_runtime_next_locked): Remove.
11325 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
11326 gomp_loop_guided_start, gomp_loop_ordered_static_start,
11327 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11328 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11329 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11330 gomp_loop_ordered_guided_next): Downcase name, make static, add
11331 an external alias with the old name.
11332 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11333 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11334 switch and call one of the above static functions.
11335 * libgomp.h: Update.
11336
11337 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11338 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11339 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11340 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11341 GOMP_loop_ordered_guided_start): Update to match.
11342 * sections.c (GOMP_sections_start): Likewise.
11343 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11344
11345 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11346 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11347 Use bounds check instead of modulus.
11348 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11349 (gomp_ordered_last): Don't sync with ordered_owner here.
11350 (gomp_ordered_next): Likewise.
11351 (gomp_ordered_static_loop_next): Likewise.
11352 * loop.c, libgomp.h: Update to match.
11353
11354 * libgomp.h (GOMP_barrier): Declare.
11355
11356 * testsuite/barrier-1.c: New file.
11357 * testsuite/critical-1.c: New file.
11358 * testsuite/ordered-2.c: New file.
11359 * testsuite/ordered-1.c: New file.
11360 * testsuite/sections-1.c: New file.
11361 * testsuite/single-1.c: New file.
11362 * testsuite/Makefile (TESTS): Add them.
11363
11364 2005-05-04 Richard Henderson <rth@redhat.com>
11365
11366 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11367 * loop.c (GOMP_loop_static_start): If not the startup thread,
11368 acquire the mutex to wait for initialization complete.
11369 (GOMP_loop_ordered_static_start): Likewise.
11370 (GOMP_loop_ordered_runtime_start): Likewise.
11371 (GOMP_loop_ordered_static_first): Remove.
11372 (GOMP_loop_ordered_dynamic_first): Remove.
11373 (GOMP_loop_ordered_guided_first): Remove.
11374 (GOMP_loop_ordered_runtime_first): Remove.
11375 * ordered.c (gomp_ordered_loop_first): Post to own release when
11376 we're the first thread.
11377 (gomp_ordered_loop_last): Wait on release if not owner.
11378 (gomp_ordered_loop_next): Likewise.
11379 (gomp_ordered_static_loop_init): New.
11380 (gomp_ordered_static_loop_next): Use ordered_owner.
11381 (GOMP_ordered_start): Likewise.
11382 * work.c (gomp_new_work_share): Initialize ordered_owner.
11383
11384 2005-05-03 Richard Henderson <rth@redhat.com>
11385
11386 * Makefile (OPT): New.
11387 (CFLAGS): Use it.
11388
11389 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11390 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11391 * libgomp.h, libgomp.map, NOTES: Update to match.
11392
11393 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11394 Add initialized and thr members.
11395 (gomp_thread_start): Pause when initially spawned to wait for
11396 the whole team to be created.
11397 (gomp_team_start): Release team members at the end.
11398
11399 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11400 (f_foo_1): Use GOMP_loop_end.
11401 (f_foo_2): Use GOMP_loop_end_nowait.
11402
11403 * testsuite/loop-2.c: New file.
11404 * testsuite/Makefile (TESTS): Add it.
11405
11406 2005-05-03 Richard Henderson <rth@redhat.com>
11407
11408 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11409 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11410 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11411 initial work_share.
11412
11413 * testsuite/Makefile: New file.
11414 * testsuite/loop-1.c: New file.
11415
11416 2005-05-03 Richard Henderson <rth@redhat.com>
11417
11418 Initial implementation and checkin.
11419 \f
11420 Copyright (C) 2005-2019 Free Software Foundation, Inc.
11421
11422 Copying and distribution of this file, with or without modification,
11423 are permitted in any medium without royalty provided the copyright
11424 notice and this notice are preserved.