]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Fix typo in tests.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
a7155c2e
RO
12019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * configure.ac: Call AX_COUNT_CPUS.
4 Substitute CPU_COUNT.
5 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6 count fallback.
7 * aclocal.m4: Regenerate.
8 * configure: Regenerate.
9 * Makefile.in, testsuite/Makefile.in: Regenerate.
10
7e47198b
JJ
112019-05-29 Jakub Jelinek <jakub@redhat.com>
12
13 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
14 to ...
15 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
16 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
17 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
18
fcfb8032
JJ
192019-05-27 Jakub Jelinek <jakub@redhat.com>
20
8e7757ba
JJ
21 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
22
36c7a3ff
JJ
23 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
24
fcfb8032
JJ
25 PR libgomp/90641
26 * work.c (gomp_init_work_share): Instead of aligning final ordered
27 value to multiples of long long alignment, align to that the
28 first part (ordered team ids) and if inline_ordered_team_ids
29 is not on a long long alignment boundary within the structure,
30 use __alignof__ (long long) - 1 pad size always.
31 * loop.c (GOMP_loop_start): Fix *mem computation if
32 inline_ordered_team_ids is not aligned on long long alignment boundary
33 within the structure.
34 * loop-ull.c (GOMP_loop_ull_start): Likewise.
35 * sections.c (GOMP_sections2_start): Likewise.
36
b5c26449
JJ
372019-05-24 Jakub Jelinek <jakub@redhat.com>
38
6c7ae8c5
JJ
39 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
40 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
41
b5c26449
JJ
42 PR libgomp/90585
43 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
44 HAVE_INTTYPES_H is defined.
45 (print_uint64_t): New typedef.
46 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
47 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
48 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
49 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
50 before casting to void *.
51 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
52 * oacc-mem.c: Don't include config.h nor stdint.h.
53 * target.c: Don't include config.h.
54 * oacc-cuda.c: Likewise.
55 * oacc-host.c: Don't include stdint.h.
56
3e03ed66
JJ
572019-05-20 Jakub Jelinek <jakub@redhat.com>
58
59 PR libgomp/90527
60 * alloc.c (_GNU_SOURCE): Define.
61
5fae049d
TS
622019-05-17 Thomas Schwinge <thomas@codesourcery.com>
63
64 * acc_prof.h: New file.
65 * oacc-profiling.c: Likewise.
66 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
67 Add these, respectively.
68 * Makefile.in: Regenerate.
69 * env.c (initialize_env): Call goacc_profiling_initialize.
70 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
71 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
72 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
73 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
74 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
75 acc_prof_register, acc_prof_unregister, and acc_register_library.
76 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
77 GOMP_PLUGIN_goacc_thread.
78 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
79 prof_callbacks_enabled members.
80 (goacc_prof_enabled, goacc_profiling_initialize)
81 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
82 (goacc_profiling_dispatch): Declare.
83 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
84 (GOACC_PROFILING_SETUP_P): Define.
85 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
86 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
87 OpenACC Profiling Interface.
88 * oacc-cuda.c (acc_get_current_cuda_device)
89 (acc_get_current_cuda_context, acc_get_cuda_stream)
90 (acc_set_cuda_stream): Likewise.
91 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
92 (acc_init, acc_set_device_type, acc_get_device_type)
93 (acc_get_device_num, goacc_lazy_initialize): Likewise.
94 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
95 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
96 (acc_unmap_data, present_create_copy, delete_copyout)
97 (update_dev_host): Likewise.
98 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
99 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
100 Likewise.
101 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
102 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
103 Likewise.
104 * libgomp.texi: Update.
105 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
106 file.
107 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
108 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
109 Likewise.
110 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
111 Likewise.
112 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
113 Likewise.
114 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
115 Likewise.
116
1f4c5b9b
CLT
1172019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
118
119 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
120 (struct goacc_asyncqueue_list): Likewise.
121 (goacc_aq): Likewise.
122 (goacc_aq_list): Likewise.
123 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
124 (GOMP_OFFLOAD_openacc_async_test): Remove.
125 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
126 (GOMP_OFFLOAD_openacc_async_wait): Remove.
127 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
128 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
129 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
130 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
131 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
132 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
133 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
134 (GOMP_OFFLOAD_openacc_async_exec): Declare.
135 (GOMP_OFFLOAD_openacc_async_construct): Declare.
136 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
137 (GOMP_OFFLOAD_openacc_async_test): Declare.
138 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
139 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
140 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
141 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
142 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
143
144 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
145 (gomp_acc_insert_pointer): Adjust declaration.
146 (gomp_copy_host2dev): New declaration.
147 (gomp_copy_dev2host): Likewise.
148 (gomp_map_vars_async): Likewise.
149 (gomp_unmap_tgt): Likewise.
150 (gomp_unmap_vars_async): Likewise.
151 (gomp_fini_device): Likewise.
152
153 * oacc-async.c (get_goacc_thread): New function.
154 (get_goacc_thread_device): New function.
155 (lookup_goacc_asyncqueue): New function.
156 (get_goacc_asyncqueue): New function.
157 (acc_async_test): Adjust code to use new async design.
158 (acc_async_test_all): Likewise.
159 (acc_wait): Likewise.
160 (acc_wait_async): Likewise.
161 (acc_wait_all): Likewise.
162 (acc_wait_all_async): Likewise.
163 (goacc_async_free): New function.
164 (goacc_init_asyncqueues): Likewise.
165 (goacc_fini_asyncqueues): Likewise.
166 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
167 design.
168 (acc_set_cuda_stream): Likewise.
169 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
170 (host_openacc_register_async_cleanup): Remove.
171 (host_openacc_async_exec): New function.
172 (host_openacc_async_test): Adjust parameters.
173 (host_openacc_async_test_all): Remove.
174 (host_openacc_async_wait): Remove.
175 (host_openacc_async_wait_async): Remove.
176 (host_openacc_async_wait_all): Remove.
177 (host_openacc_async_wait_all_async): Remove.
178 (host_openacc_async_set_async): Remove.
179 (host_openacc_async_synchronize): New function.
180 (host_openacc_async_serialize): New function.
181 (host_openacc_async_host2dev): New function.
182 (host_openacc_async_dev2host): New function.
183 (host_openacc_async_queue_callback): New function.
184 (host_openacc_async_construct): New function.
185 (host_openacc_async_destruct): New function.
186 (struct gomp_device_descr host_dispatch): Remove initialization of old
187 interface, add intialization of new async sub-struct.
188 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
189 (goacc_attach_host_thread_to_device): Remove old async code usage.
190 * oacc-int.h (goacc_init_asyncqueues): New declaration.
191 (goacc_fini_asyncqueues): Likewise.
192 (goacc_async_copyout_unmap_vars): Likewise.
193 (goacc_async_free): Likewise.
194 (get_goacc_asyncqueue): Likewise.
195 (lookup_goacc_asyncqueue): Likewise.
196 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
197 design.
198 (present_create_copy): Adjust code to use new async design.
199 (delete_copyout): Likewise.
200 (update_dev_host): Likewise.
201 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
202 async design.
203 (gomp_acc_remove_pointer): Adjust code to use new async design.
204 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
205 design.
206 (GOACC_enter_exit_data): Likewise.
207 (goacc_wait): Likewise.
208 (GOACC_update): Likewise.
209 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
210 when called, warn as obsolete in comment.
211 * target.c (goacc_device_copy_async): New function.
212 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
213 add goacc_device_copy_async case.
214 (gomp_copy_dev2host): Likewise.
215 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
216 (gomp_map_pointer): Likewise.
217 (gomp_map_fields_existing): Likewise.
218 (gomp_map_vars_internal): New always_inline function, renamed from
219 gomp_map_vars.
220 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
221 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
222 passing goacc_asyncqueue argument.
223 (gomp_unmap_tgt): Remove static, add attribute_hidden.
224 (gomp_unref_tgt): New function.
225 (gomp_unmap_vars_internal): New always_inline function, renamed from
226 gomp_unmap_vars.
227 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
228 (gomp_unmap_vars_async): Implement by calling
229 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
230 (gomp_fini_device): New function.
231 (gomp_exit_data): Adjust gomp_copy_dev2host call.
232 (gomp_load_plugin_for_device): Remove old interface, adjust to load
233 new async interface.
234 (gomp_target_fini): Adjust code to call gomp_fini_device.
235
236 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
237 (struct ptx_stream): Remove.
238 (struct nvptx_thread): Remove current_stream field.
239 (cuda_map_create): Remove.
240 (cuda_map_destroy): Remove.
241 (map_init): Remove.
242 (map_fini): Remove.
243 (map_pop): Remove.
244 (map_push): Remove.
245 (struct goacc_asyncqueue): Define.
246 (struct nvptx_callback): Define.
247 (struct ptx_free_block): Define.
248 (struct ptx_device): Remove null_stream, active_streams, async_streams,
249 stream_lock, and next fields.
250 (enum ptx_event_type): Remove.
251 (struct ptx_event): Remove.
252 (ptx_event_lock): Remove.
253 (ptx_events): Remove.
254 (init_streams_for_device): Remove.
255 (fini_streams_for_device): Remove.
256 (select_stream_for_async): Remove.
257 (nvptx_init): Remove ptx_events and ptx_event_lock references.
258 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
259 case.
260 (nvptx_open_device): Add free_blocks initialization, remove
261 init_streams_for_device call.
262 (nvptx_close_device): Remove fini_streams_for_device call, add
263 free_blocks destruct code.
264 (event_gc): Remove.
265 (event_add): Remove.
266 (nvptx_exec): Adjust parameters and code.
267 (nvptx_free): Likewise.
268 (nvptx_host2dev): Remove.
269 (nvptx_dev2host): Remove.
270 (nvptx_set_async): Remove.
271 (nvptx_async_test): Remove.
272 (nvptx_async_test_all): Remove.
273 (nvptx_wait): Remove.
274 (nvptx_wait_async): Remove.
275 (nvptx_wait_all): Remove.
276 (nvptx_wait_all_async): Remove.
277 (nvptx_get_cuda_stream): Remove.
278 (nvptx_set_cuda_stream): Remove.
279 (GOMP_OFFLOAD_alloc): Adjust code.
280 (GOMP_OFFLOAD_free): Likewise.
281 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
282 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
283 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
284 (GOMP_OFFLOAD_openacc_async_wait): Remove.
285 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
286 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
287 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
288 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
289 (cuda_free_argmem): New function.
290 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
291 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
292 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
293 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
294 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
295 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
296 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
297 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
298 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
299 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
300 (cuda_callback_wrapper): New function.
301 (cuda_memcpy_sanity_check): New function.
302 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
303 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
304 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
305 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
306
da2d30c1
TS
3072019-05-07 Thomas Schwinge <thomas@codesourcery.com>
308
309 PR target/87835
310 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
311
2bbbfa4e
TS
3122019-05-06 Thomas Schwinge <thomas@codesourcery.com>
313
314 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
315
bbf1efe1
KB
3162019-03-27 Kevin Buettner <kevinb@redhat.com>
317
318 * team.c (gomp_team_start): Initialize pool->threads[0].
319
1241136c
TS
3202019-02-22 Thomas Schwinge <thomas@codesourcery.com>
321
b03d721a
TS
322 * testsuite/libgomp.oacc-c++/c++.exp: Specify
323 "-foffload=$offload_target".
324 * testsuite/libgomp.oacc-c/c.exp: Likewise.
325 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
326 * testsuite/lib/libgomp.exp
327 (check_effective_target_openacc_nvidia_accel_configured): Remove,
328 as (conceptually) merged into
329 check_effective_target_openacc_nvidia_accel_selected. Adjust all
330 users.
331
0a0384b4
TS
332 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
333 * testsuite/libgomp-test-support.exp.in: Adjust.
334 * testsuite/lib/libgomp.exp: Likewise. Don't populate
335 openacc_device_types_s.
336 (offload_target_to_openacc_device_type): New proc.
337 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
338 * testsuite/libgomp.oacc-c/c.exp: Likewise.
339 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
340 * Makefile.in: Regenerate.
341 * configure: Likewise.
342 * testsuite/Makefile.in: Likewise.
343
ee332b4a
TS
344 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
345 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
346 instead of OFFLOAD_TARGETS.
347 * target.c (gomp_target_init): Adjust.
348 * testsuite/libgomp-test-support.exp.in: Likewise.
349 * testsuite/lib/libgomp.exp: Likewise. Populate
350 openacc_device_types_s instead of offload_targets_s_openacc.
351 (check_effective_target_openacc_nvidia_accel_selected)
352 (check_effective_target_openacc_host_selected): Adjust.
353 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
354 * testsuite/libgomp.oacc-c/c.exp: Likewise.
355 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
356 * Makefile.in: Regenerate.
357 * config.h.in: Likewise.
358 * configure: Likewise.
359 * testsuite/Makefile.in: Likewise.
360
1241136c
TS
361 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
362 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
363 "offloading: supported, but hardware not accessible".
364 * testsuite/libgomp.oacc-c/c.exp: Likewise.
365 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
366
19695f4d
CLT
3672019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
368
369 PR c/87924
370 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
371 goacc_wait().
372 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
373 and related adjustment.
374
8b44f8ec
JJ
3752019-01-30 Jakub Jelinek <jakub@redhat.com>
376
377 PR c++/88988
378 * testsuite/libgomp.c++/pr88988.C: New test.
379
be3a87e7
JJ
3802019-01-28 Jakub Jelinek <jakub@redhat.com>
381
382 PR middle-end/89002
383 * testsuite/libgomp.c/pr89002.c: New test.
384
497ef4d7
RB
3852019-01-28 Richard Biener <rguenther@suse.de>
386
387 PR testsuite/89064
388 PR tree-optimization/86865
389 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
390
738c56d4
TV
3912019-01-24 Tom de Vries <tdevries@suse.de>
392
393 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
394 once instantiated_devices drops to 0.
395
4a75460b
TV
3962019-01-23 Tom de Vries <tdevries@suse.de>
397
398 PR target/PR88946
399 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
400 cuMemFree.
401 (nvptx_exec): Don't call map_push if mapnum == 0.
402 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
403
4fef8e4d
TV
4042019-01-23 Tom de Vries <tdevries@suse.de>
405
406 PR target/88941
407 PR target/88939
408 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
409 (map_fini): Remove "assert (!s->map->active)".
410 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
411
2ee6cb22
TV
4122019-01-23 Tom de Vries <tdevries@suse.de>
413
414 PR target/87835
415 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
416 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
417
d41d952c
TV
4182019-01-15 Tom de Vries <tdevries@suse.de>
419
420 PR target/80547
421 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
422 New test.
423
efb56ae8
TV
4242019-01-12 Tom de Vries <tdevries@suse.de>
425
426 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
427 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
428 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
429 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
430
2c2ff168
TV
4312019-01-12 Tom de Vries <tdevries@suse.de>
432
433 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
434
a1057758
TV
4352019-01-12 Tom de Vries <tdevries@suse.de>
436
437 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
438 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
439 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
440
56314b77
TV
4412019-01-12 Tom de Vries <tdevries@suse.de>
442
443 PR target/85486
444 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
445 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
446
b39e4366
TV
4472019-01-12 Tom de Vries <tdevries@suse.de>
448
449 PR target/85381
450 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
451 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
452
2cb7a501
TV
4532019-01-12 Tom de Vries <tdevries@suse.de>
454
455 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
456 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
457 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
458
8e77f71e
TV
4592019-01-12 Tom de Vries <tdevries@suse.de>
460
461 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
462 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
463 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
464
52d22ece
TV
4652019-01-12 Tom de Vries <tdevries@suse.de>
466
467 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
468 resources diagnostic.
469
2b9d9e39
TV
4702019-01-12 Tom de Vries <tdevries@suse.de>
471
472 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
473 vector length to be 128.
474 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
475 length 2097152 to be reduced to 1024 instead of 32.
476
4102bda6
TS
4772019-01-11 Thomas Schwinge <thomas@codesourcery.com>
478 James Norris <jnorris@codesourcery.com>
479
480 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
481 Library Routines", and "Environment Variables".
482
052aaace
TV
4832019-01-11 Tom de Vries <tdevries@suse.de>
484
485 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
486 num_workers 16.
487
9390f916
TV
4882019-01-11 Tom de Vries <tdevries@suse.de>
489
490 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
491 -foffload=-w.
492 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
493 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
494 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
495 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
496
2c3e7ad2
TV
4972019-01-11 Tom de Vries <tdevries@suse.de>
498
499 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
500 test.
501
e222497d
NS
5022019-01-10 Nathan Sidwell <nathan@acm.org>
503 Julian Brown <julian@codesourcery.com>
504
505 PR lto/71959
506 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
507 * testsuite/libgomp.oacc-c++/pr71959.C: New.
508
cb87fec3
SH
5092019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
510
511 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
512 and paste code.
513
30b4d0d0
SH
5142019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
515
516 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
517 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
518 write.
519
5d0bc70a
TV
5202019-01-09 Tom de Vries <tdevries@suse.de>
521
522 PR target/88756
523 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
524 #define instead of "const int".
525 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
526 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
527 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
528 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
529
2c372e81
TV
5302019-01-09 Tom de Vries <tdevries@suse.de>
531
532 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
533 one worker.
534
43493c97
TV
5352019-01-07 Tom de Vries <tdevries@suse.de>
536
537 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
538 GOMP_OPENACC_DIM argument.
539
5c571497
TV
5402019-01-03 Tom de Vries <tdevries@suse.de>
541
542 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
543 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
544
a5544970
JJ
5452019-01-01 Jakub Jelinek <jakub@redhat.com>
546
547 Update copyright years.
548
3f27508c
JJ
5492019-01-01 Jakub Jelinek <jakub@redhat.com>
550
551 * libgomp.texi: Bump @copying's copyright year.
552
59d5960c
TS
5532018-12-28 Thomas Schwinge <thomas@codesourcery.com>
554
555 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
556 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
557 (GOACC_declare): Redefine the "device" argument to "flags".
558
a44c1790
TS
5592018-12-28 Thomas Schwinge <thomas@codesourcery.com>
560 Cesar Philippidis <cesar@codesourcery.com>
561
562 * target.c (struct gomp_coalesce_chunk): New structure.
563 (struct gomp_coalesce_buf): Update the chunks member to use that
564 type. Adjust all users.
565
a152954e
TV
5662018-12-19 Tom de Vries <tdevries@suse.de>
567
568 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
569 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
570 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
571
49188cd1
TV
5722018-12-19 Tom de Vries <tdevries@suse.de>
573
574 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
575 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
576 gcc/testsuite/gcc.dg/goacc.
577 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
578
c759830b
TS
5792018-12-14 Thomas Schwinge <thomas@codesourcery.com>
580 Chung-Lin Tang <cltang@codesourcery.com>
581
582 * oacc-mem.c (acc_present_or_create): Remove definition and change
583 to alias of acc_create.
584 (acc_present_or_copyin): Remove definition and change to alias of
585 acc_copyin.
586 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
587 of acc_present_or_create.
588 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
589 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
590 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
591 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
592 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
593 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
594 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
595 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
596 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
597 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
598 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
599 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
600 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
601 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
602 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
603 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
604
7de562ee
TS
6052018-12-14 Thomas Schwinge <thomas@codesourcery.com>
606
f847198e
TS
607 PR libgomp/88495
608 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
609 "identical parameters".
610 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
611 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
612
c8ab8aab
TS
613 PR libgomp/88484
614 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
615 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
616
1404af62
TS
617 PR libgomp/88407
618 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
619 (nvptx_wait_async): Unseen async-argument is a no-op.
620 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
621 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
622 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
623 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
624 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
625 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
626 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
627 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
628 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
629
7de562ee
TS
630 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
631 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
632
17469af7
CLT
6332018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
634
635 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
636 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
637 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
638
18c247cc
TS
6392018-12-14 Thomas Schwinge <thomas@codesourcery.com>
640
641 PR libgomp/88370
642 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
643 (acc_set_cuda_stream): Clarify.
644 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
645 "async_valid_p".
646 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
647 acc_async_sync".
648 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
649 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
650 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
651 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
652
b0aba46c
TV
6532018-12-14 Tom de Vries <tdevries@suse.de>
654
655 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
656 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
657 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
658 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
659 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
660
fe0827ee
TV
6612018-12-13 Tom de Vries <tdevries@suse.de>
662
663 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
664 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
665 * fortran.c (omp_display_affinity_): ... here.
666 * libgomp.h (gomp_print_string): Declare.
667 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
668 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
669 write.
670
a51f8c92
JJ
6712018-12-13 Jakub Jelinek <jakub@redhat.com>
672
673 PR libgomp/88460
674 * testsuite/libgomp.c++/for-24.C (results): Include it in
675 omp declare target region.
676 (main): Use map (always, tofrom: results) instead of
677 map (tofrom: results).
678
a6ef2ac9
JJ
6792018-12-12 Jakub Jelinek <jakub@redhat.com>
680
7a289b7d
JJ
681 PR fortran/88463
682 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
683 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
684
a6ef2ac9
JJ
685 * testsuite/libgomp.c-c++-common/for-16.c: New test.
686
9c47a019
AS
6872018-12-12 Andreas Schwab <schwab@suse.de>
688
689 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
690 clobbered.
691
d0cbb206
TK
6922018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
693
694 PR fortran/88411
695 * testsuite/libgomp.fortran/async_io_8.f90: New test.
696
84ca08d2
TS
6972018-12-09 Thomas Schwinge <thomas@codesourcery.com>
698 Jakub Jelinek <jakub@redhat.com>
699
700 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
701 devicep->host2dev_func.
702
6997628d
JJ
7032018-12-08 Jakub Jelinek <jakub@redhat.com>
704
705 PR libgomp/87995
706 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
707 tls_runtime effective target.
708 (t): New threadprivate variable.
709 (main): Set t in threads which execute iterations of the worksharing
710 loop. Propagate that to the task after the loop and don't abort
711 if the current taskgroup hasn't been cancelled.
712
daa8c1d7
JJ
7132018-12-02 Jakub Jelinek <jakub@redhat.com>
714
4a82df9a
JJ
715 * testsuite/libgomp.c/task-reduction-3.c: New test.
716
daa8c1d7
JJ
717 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
718
fe570ff8
CP
7192018-11-30 Cesar Philippidis <cesar@codesourcery.com>
720
721 PR libgomp/88288
722 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
723 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
724
c223608f
TS
7252018-11-30 Thomas Schwinge <thomas@codesourcery.com>
726
727 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
728
fc60283c
RB
7292018-10-19 Richard Biener <rguenther@suse.de>
730
731 PR tree-optimization/88182
732 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
733
ffcf3b79
JJ
7342018-11-26 Jakub Jelinek <jakub@redhat.com>
735
736 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
737 (RUNTEST): Don't define.
738 (RUNTESTDEFAULTFLAGS): Add.
739 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
740 (distclean-am): Depend on distclean-DEJAGNU.
741 (check-am): If -j% option is present in MFLAGS and if
742 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
743 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
744 * testsuite/Makefile.in: Regenerated.
745
ef6e6914
RB
7462018-11-26 Richard Biener <rguenther@suse.de>
747
748 PR tree-optimization/88182
749 * testsuite/libgomp.c++/pr88182.C: New testcase.
750
72d3bb76
JJ
7512018-11-20 Jakub Jelinek <jakub@redhat.com>
752
753 PR bootstrap/88106
754 * config/mingw32/affinity-fmt.c: New file.
755
207286c3
JJ
7562018-11-09 Jakub Jelinek <jakub@redhat.com>
757
9666c522
JJ
758 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
759 (gomp_display_affinity): Use __builtin_choose_expr to handle
760 properly handle argument having integral, or pointer or some other
761 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
762 with uint64_t type instead of %llx and unsigned long long.
763
207286c3
JJ
764 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
765 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
766
2033f45b
RO
7672018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
768
769 * affinity.c: Include <string.h>, <stdio.h>.
770 (gomp_display_affinity_place): Remove cpusetp.
771 * teams.c: Include <limits.h>.
772
28567c40
JJ
7732018-11-08 Jakub Jelinek <jakub@redhat.com>
774
8991d779
JJ
775 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
776 in_reduction clause for s[0].
777
28567c40
JJ
778 * affinity.c (gomp_display_affinity_place): New function.
779 * affinity-fmt.c: New file.
780 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
781 * config/linux/affinity.c (gomp_display_affinity_place): New function.
782 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
783 Move these functions to ...
784 * config/nvptx/teams.c: ... here. New file.
785 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
786 New functions.
787 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
788 functions.
789 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
790 and _aligned_malloc.
791 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
792 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
793 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
794 gomp_affinity_format_len): New variables.
795 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
796 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
797 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
798 modifiers. Display (non-default) chunk sizes. Print
799 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
800 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
801 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
802 * fortran.c: Include stdio.h and string.h.
803 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
804 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
805 (omp_set_affinity_format_, omp_get_affinity_format_,
806 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
807 omp_pause_resource_all_): New functions.
808 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
809 switch.
810 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
811 functions to ...
812 * teams.c: ... here. New file.
813 * libgomp_g.h: Include gstdint.h.
814 (GOMP_loop_nonmonotonic_runtime_start,
815 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
816 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
817 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
818 GOMP_parallel_loop_nonmonotonic_runtime,
819 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
820 GOMP_loop_ull_nonmonotonic_runtime_start,
821 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
822 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
823 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
824 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
825 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
826 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
827 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
828 GOMP_teams_reg): Declare.
829 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
830 gomp_aligned_alloc uses fallback implementation.
831 (gomp_aligned_alloc, gomp_aligned_free): Declare.
832 (enum gomp_schedule_type): Add GFS_MONOTONIC.
833 (struct gomp_doacross_work_share): Add extra field.
834 (struct gomp_work_share): Add task_reductions field.
835 (struct gomp_taskgroup): Add workshare and reductions fields.
836 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
837 (gomp_thread_handle): New typedef.
838 (gomp_display_affinity_place, gomp_set_affinity_format,
839 gomp_display_string, gomp_display_affinity,
840 gomp_display_affinity_thread): Declare.
841 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
842 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
843 gomp_workshare_task_reduction_register): Declare.
844 (gomp_team_start): Add taskgroup argument.
845 (gomp_pause_host): Declare.
846 (gomp_init_work_share, gomp_work_share_start): Change bool argument
847 to size_t.
848 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
849 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
850 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
851 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
852 GOMP_loop_ull_doacross_start,
853 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
854 GOMP_loop_maybe_nonmonotonic_runtime_next,
855 GOMP_loop_maybe_nonmonotonic_runtime_start,
856 GOMP_loop_nonmonotonic_runtime_next,
857 GOMP_loop_nonmonotonic_runtime_start,
858 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
859 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
860 GOMP_loop_ull_nonmonotonic_runtime_next,
861 GOMP_loop_ull_nonmonotonic_runtime_start,
862 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
863 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
864 GOMP_taskgroup_reduction_register,
865 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
866 GOMP_teams_reg and GOMP_taskwait_depend.
867 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
868 omp_{capture,display}_affinity{,_}, and
869 omp_[gs]et_affinity_format{,_}.
870 * loop.c: Include string.h.
871 (GOMP_loop_runtime_next): Add ialias.
872 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
873 (gomp_loop_static_start, gomp_loop_dynamic_start,
874 gomp_loop_guided_start, gomp_loop_ordered_static_start,
875 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
876 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
877 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
878 or gomp_doacross_init callers.
879 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
880 GOMP_loop_doacross_start): New functions.
881 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
882 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
883 Mask off GFS_MONOTONIC bit.
884 (GOMP_loop_maybe_nonmonotonic_runtime_next,
885 GOMP_loop_maybe_nonmonotonic_runtime_start,
886 GOMP_loop_nonmonotonic_runtime_next,
887 GOMP_loop_nonmonotonic_runtime_start,
888 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
889 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
890 functions.
891 (gomp_parallel_loop_start): Pass NULL as taskgroup to
892 gomp_team_start.
893 * loop_ull.c: Include string.h.
894 (GOMP_loop_ull_runtime_next): Add ialias.
895 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
896 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
897 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
898 gomp_loop_ull_ordered_dynamic_start,
899 gomp_loop_ull_ordered_guided_start,
900 gomp_loop_ull_doacross_static_start,
901 gomp_loop_ull_doacross_dynamic_start,
902 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
903 and gomp_doacross_ull_init callers.
904 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
905 GOMP_loop_ull_doacross_start): New functions.
906 (GOMP_loop_ull_runtime_start,
907 GOMP_loop_ull_ordered_runtime_start,
908 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
909 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
910 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
911 GOMP_loop_ull_nonmonotonic_runtime_next,
912 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
913 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
914 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
915 (omp_pause_resource_t, omp_depend_t): New typedefs.
916 (enum omp_lock_hint_t): Renamed to ...
917 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
918 enumerators using numbers and omp_lock_hint_* as their aliases.
919 (omp_lock_hint_t): New typedef. Rename to ...
920 (omp_sync_hint_t): ... this.
921 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
922 omp_sync_hint_t instead of omp_lock_hint_t.
923 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
924 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
925 Declare.
926 (omp_target_is_present, omp_target_disassociate_ptr):
927 Change first argument from void * to const void *.
928 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
929 from void * to const void *.
930 (omp_target_associate_ptr): Change first and second arguments from
931 void * to const void *.
932 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
933 omp_pause_hard): New parameters.
934 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
935 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
936 New interfaces.
937 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
938 omp_pause_hard): New parameters.
939 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
940 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
941 New externals.
942 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
943 EXTRA argument. If not needed to prepare array, if extra is 0,
944 clear ws->doacross, otherwise allocate just doacross structure and
945 extra payload. If array is needed, allocate also extra payload.
946 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
947 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
948 doacross == NULL.
949 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
950 gomp_team_start.
951 (GOMP_parallel): Likewise. Formatting fix.
952 (GOMP_parallel_reductions): New function.
953 (GOMP_cancellation_point): If taskgroup has workshare
954 flag set, check cancelled of prev taskgroup if any.
955 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
956 on prev taskgroup if any.
957 * sections.c: Include string.h.
958 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
959 (GOMP_sections_start): Adjust gomp_work_share_start caller.
960 (GOMP_sections2_start): New function.
961 (GOMP_parallel_sections_start, GOMP_parallel_sections):
962 Pass NULL as taskgroup to gomp_team_start.
963 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
964 gomp_work_share_start callers.
965 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
966 If taskgroup has workshare flag set, check cancelled on prev
967 taskgroup if any. Guard all cancellation tests with
968 gomp_cancel_var test.
969 (omp_target_is_present, omp_target_disassociate_ptr):
970 Change ptr argument from void * to const void *.
971 (omp_target_memcpy): Change src argument from void * to const void *.
972 (omp_target_memcpy_rect): Likewise.
973 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
974 instead of char * where needed.
975 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
976 from void * to const void *.
977 (omp_pause_resource, omp_pause_resource_all): New functions.
978 * task.c (gomp_task_handle_depend): Handle new depend array format
979 in addition to the old. Handle mutexinoutset kinds the same as
980 inout for now, handle unspecified kinds.
981 (gomp_create_target_task): If taskgroup has workshare flag set, check
982 cancelled on prev taskgroup if any. Guard all cancellation tests with
983 gomp_cancel_var test. Handle new depend array format count in
984 addition to the old.
985 (GOMP_task): Likewise. Adjust function comment.
986 (gomp_task_run_pre): If taskgroup has workshare flag set, check
987 cancelled on prev taskgroup if any. Guard all cancellation tests with
988 gomp_cancel_var test.
989 (GOMP_taskwait_depend): New function.
990 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
991 format in addition to the old. Handle mutexinoutset kinds the same as
992 inout for now, handle unspecified kinds. Fix a function comment typo.
993 (gomp_taskgroup_init): New function.
994 (GOMP_taskgroup_start): Use it.
995 (gomp_reduction_register, gomp_create_artificial_team,
996 GOMP_taskgroup_reduction_register,
997 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
998 gomp_parallel_reduction_register,
999 gomp_workshare_task_reduction_register,
1000 gomp_workshare_taskgroup_start,
1001 GOMP_workshare_task_reduction_unregister): New functions.
1002 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1003 check cancelled on prev taskgroup if any. Guard all cancellation
1004 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1005 by calling GOMP_taskgroup_reduction_register.
1006 * team.c (gomp_thread_attr): Remove comment.
1007 (struct gomp_thread_start_data): Add handle field.
1008 (gomp_thread_start): Call pthread_detach.
1009 (gomp_new_team): Adjust gomp_init_work_share caller.
1010 (gomp_free_pool_helper): Call pthread_detach.
1011 (gomp_team_start): Add taskgroup argument, initialize implicit
1012 tasks' taskgroup field to that. Don't call
1013 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1014 (gomp_team_end): Determine nesting by thr->ts.level != 0
1015 rather than thr->ts.team != NULL.
1016 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1017 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1018 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1019 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1020 if more than 1 allocate also extra payload at the end of array. Never
1021 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1022 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1023 return true instead of ws.
1024 * Makefile.in: Regenerated.
1025 * configure: Regenerated.
1026 * config.h.in: Regenerated.
1027 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1028 in some cases.
1029 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1030 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1031 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1032 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1033 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1034 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1035 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1036 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1037 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1038 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1039 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1040 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1041 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1042 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1043 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1044 define a different N(test), don't define N(f0) to N(f14), but instead
1045 define N(f20) to N(f34) using != comparisons.
1046 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1047 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1048 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1049 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1050 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1051 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1052 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1053 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1054 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1055 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1056 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1057 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1058 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1059 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1060 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1061 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1062 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1063 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1064 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1065 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1066 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1067 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1068 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1069 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1070 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1071 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1072 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1073 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1074 * testsuite/libgomp.c++/depend-1.C: New test.
1075 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1076 * testsuite/libgomp.c++/depobj-1.C: New test.
1077 * testsuite/libgomp.c++/for-16.C: New test.
1078 * testsuite/libgomp.c++/for-21.C: New test.
1079 * testsuite/libgomp.c++/for-22.C: New test.
1080 * testsuite/libgomp.c++/for-23.C: New test.
1081 * testsuite/libgomp.c++/for-24.C: New test.
1082 * testsuite/libgomp.c++/for-25.C: New test.
1083 * testsuite/libgomp.c++/for-26.C: New test.
1084 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1085 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1086 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1087 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1088 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1089 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1090 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1091 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1092 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1093 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1094 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1095 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1096 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1097 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1098 * testsuite/libgomp.c/task-reduction-1.c: New test.
1099 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1100 * testsuite/libgomp.c/task-reduction-2.c: New test.
1101 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1102 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1103 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1104 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1105 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1106 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1107 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1108 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1109 * testsuite/libgomp.c/teams-1.c: New test.
1110 * testsuite/libgomp.c/teams-2.c: New test.
1111 * testsuite/libgomp.c/thread-limit-4.c: New test.
1112 * testsuite/libgomp.c/thread-limit-5.c: New test.
1113 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1114
58168bbf
CLT
11152018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1116
1117 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1118 acc_memcpy_to/from_device functions, now with async parameter.
1119 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1120 (acc_memcpy_from_device): Likewise.
1121 (acc_memcpy_to_device_async): New API function.
1122 (acc_memcpy_from_device_async): Likewise.
1123 (present_create_copy): Add async parameter and async setting/unsetting.
1124 (acc_create): Adjust present_create_copy call.
1125 (acc_copyin): Likewise.
1126 (acc_present_or_create): Likewise.
1127 (acc_present_or_copyin): Likewise.
1128 (acc_create_async): New API function.
1129 (acc_copyin_async): New API function.
1130 (delete_copyout): Add async parameter and async setting/unsetting.
1131 (acc_delete): Adjust delete_copyout call.
1132 (acc_copyout): Likewise.
1133 (acc_delete_async): New API function.
1134 (acc_copyout_async): Likewise.
1135 (update_dev_host): Add async parameter and async setting/unsetting.
1136 (acc_update_device): Adjust update_dev_host call.
1137 (acc_update_self): Likewise.
1138 (acc_update_device_async): New API function.
1139 (acc_update_self_async): Likewise.
1140 * openacc.h (acc_copyin_async): Declare new API function.
1141 (acc_create_async): Likewise.
1142 (acc_copyout_async): Likewise.
1143 (acc_delete_async): Likewise.
1144 (acc_update_device_async): Likewise.
1145 (acc_update_self_async): Likewise.
1146 (acc_memcpy_to_device_async): Likewise.
1147 (acc_memcpy_from_device_async): Likewise.
1148 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1149 (acc_copyin_async_64_h): New subroutine.
1150 (acc_copyin_async_array_h): New subroutine.
1151 (acc_create_async_32_h): New subroutine.
1152 (acc_create_async_64_h): New subroutine.
1153 (acc_create_async_array_h): New subroutine.
1154 (acc_copyout_async_32_h): New subroutine.
1155 (acc_copyout_async_64_h): New subroutine.
1156 (acc_copyout_async_array_h): New subroutine.
1157 (acc_delete_async_32_h): New subroutine.
1158 (acc_delete_async_64_h): New subroutine.
1159 (acc_delete_async_array_h): New subroutine.
1160 (acc_update_device_async_32_h): New subroutine.
1161 (acc_update_device_async_64_h): New subroutine.
1162 (acc_update_device_async_array_h): New subroutine.
1163 (acc_update_self_async_32_h): New subroutine.
1164 (acc_update_self_async_64_h): New subroutine.
1165 (acc_update_self_async_array_h): New subroutine.
1166 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1167 (acc_copyin_async_64_h): New subroutine.
1168 (acc_copyin_async_array_h): New subroutine.
1169 (acc_create_async_32_h): New subroutine.
1170 (acc_create_async_64_h): New subroutine.
1171 (acc_create_async_array_h): New subroutine.
1172 (acc_copyout_async_32_h): New subroutine.
1173 (acc_copyout_async_64_h): New subroutine.
1174 (acc_copyout_async_array_h): New subroutine.
1175 (acc_delete_async_32_h): New subroutine.
1176 (acc_delete_async_64_h): New subroutine.
1177 (acc_delete_async_array_h): New subroutine.
1178 (acc_update_device_async_32_h): New subroutine.
1179 (acc_update_device_async_64_h): New subroutine.
1180 (acc_update_device_async_array_h): New subroutine.
1181 (acc_update_self_async_32_h): New subroutine.
1182 (acc_update_self_async_64_h): New subroutine.
1183 (acc_update_self_async_array_h): New subroutine.
1184 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1185 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1186 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1187 acc_memcpy_to_device_async*, acc_update_device_async*, and
1188 acc_update_self_async* entries.
1189 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1190 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1191 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1192
22e05272
JM
11932018-10-31 Joseph Myers <joseph@codesourcery.com>
1194
1195 PR bootstrap/82856
1196 * Makefile.am: Include multilib.am
1197 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1198 (CLEANFILES): Remove libgomp.info.
1199 * configure.ac: Remove AC_PREREQ.
1200 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1201 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1202 Regenerate.
1203
87a5ccfb
JM
12042018-10-29 Joseph Myers <joseph@codesourcery.com>
1205 Julian Brown <julian@codesourcery.com>
1206
1207 * testsuite/libgomp.oacc-c++/this.C: New.
1208
2049befd
CP
12092018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1210
1211 * plugin/plugin-nvptx.c (struct cuda_map): New.
1212 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1213 h_tail with (cuda_map *) map.
1214 (cuda_map_create): New function.
1215 (cuda_map_destroy): New function.
1216 (map_init): Update to use a linked list of cuda_map objects.
1217 (map_fini): Likewise.
1218 (map_pop): Likewise.
1219 (map_push): Likewise. Return CUdeviceptr instead of void.
1220 (init_streams_for_device): Remove stales references to ptx_stream
1221 members.
1222 (select_stream_for_async): Likewise.
1223 (nvptx_exec): Update call to map_init.
1224
8e36332c
CP
12252018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1226 Julian Brown <julian@codesourcery.com>
1227
1228 PR middle-end/86336
1229 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1230
2b4c9065
NK
12312018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1232 Thomas Koenig <tkoenig@gcc.gnu.org>
1233
1234 PR fortran/25829
1235 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1236 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1237 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1238 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1239 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1240 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1241 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1242
bd9b3d3d
CP
12432018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1244 Tom de Vries <tdevries@suse.de>
1245
1246 PR target/85590
1247 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1248 (cuOccupancyMaxPotentialBlockSize): Declare.
1249 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1250 CUDA_ONE_CALL_MAYBE_NULL.
1251 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1252 CUoccupancyB2DSize and declare
1253 cuOccupancyMaxPotentialBlockSize.
1254 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1255 default num_gangs and num_workers when the driver supports it.
1256
8e09a12f
TV
12572018-08-08 Tom de Vries <tdevries@suse.de>
1258
1259 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1260 CUDA_ONE_CALL_MAYBE_NULL.
1261 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1262 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1263 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1264 are not found.
1265
cedd9bd0
TV
12662018-08-08 Tom de Vries <tdevries@suse.de>
1267
1268 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1269 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1270 present.
1271
b113af95
TV
12722018-08-08 Tom de Vries <tdevries@suse.de>
1273
1274 * plugin/plugin-nvptx.c
1275 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1276 (nvptx_open_device): Use
1277 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1278
94767dac
TV
12792018-08-08 Tom de Vries <tdevries@suse.de>
1280
1281 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1282 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1283
02150de8
TV
12842018-08-07 Tom de Vries <tdevries@suse.de>
1285
1286 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1287 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1288 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1289 corresponding call in CUDA_ONE_CALL. Add def/undef of
1290 CUDA_ONE_CALL_MAYBE_NULL.
1291 (CUDA_CALL_EXISTS): Define.
1292
9e28b107
TV
12932018-08-07 Tom de Vries <tdevries@suse.de>
1294
1295 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1296 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1297 corresponding undefs right after.
1298
09940090
TV
12992018-08-04 Tom de Vries <tdevries@suse.de>
1300
1301 * plugin/configfrag.ac: For --without-cuda-driver, set
1302 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1303 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1304 * configure: Regenerate.
1305
77e0a97a
TV
13062018-08-02 Tom de Vries <tdevries@suse.de>
1307
1308 PR target/86660
1309 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1310 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1311 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1312 Same.
1313 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1314 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1315 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1316
701d080a
CP
13172018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1318 Thomas Schwinge <thomas@codesourcery.com>
1319
1320 * config/nvptx/oacc-parallel.c: Truncate.
1321
094db6be
CP
13222018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1323 James Norris <jnorris@codesourcery.com>
1324
1325 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
1326 (map_init, map_pop): Remove use of struct map.
1327 (map_push): Likewise and change argument list.
094db6be
CP
1328 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1329
8c6310a2
TV
13302018-08-01 Tom de Vries <tdevries@suse.de>
1331
1332 * plugin/cuda-lib.def: New file. Factor out of ...
1333 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1334 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1335 using CUDA_CALLS.
1336
1d4a51cf
AV
13372018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1338
1339 Revert 'AsyncI/O patch committed'.
1340 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1341 Thomas Koenig <tkoenig@gcc.gnu.org>
1342
1343 PR fortran/25829
1344 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1345 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1346 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1347 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1348 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1349 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1350 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1351
4cdfee3f
TV
13522018-07-30 Tom de Vries <tdevries@suse.de>
1353
1354 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1355 (nvptx_exec): Ensure worker and vector default dims don't exceed
1356 targ_fn->max_threads_per_block.
1357
0b210c43
TV
13582018-07-30 Tom de Vries <tdevries@suse.de>
1359
1360 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1361 (nvptx_open_device): Init default_dims for device.
1362 (nvptx_exec): Use default_dims from device.
1363
5883c5cc
JJ
13642018-07-26 Jakub Jelinek <jakub@redhat.com>
1365
5d36384c
JJ
1366 PR testsuite/86660
1367 * testsuite/libgomp.c++/for-15.C (results): Include it in
1368 omp declare target region.
1369 (main): Use map (always, tofrom: results) instead of
1370 map (tofrom: results).
1371
5883c5cc
JJ
1372 PR middle-end/86660
1373 * testsuite/libgomp.c/pr86660.c: New test.
1374
88a4654d
CP
13752018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1376 Tom de Vries <tdevries@suse.de>
1377
1378 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1379 sufficient resources to launch a kernel, and give a hint on how to fix
1380 it.
1381
0c6c2f5f
CP
13822018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1383 Tom de Vries <tdevries@suse.de>
1384
1385 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1386 max_threads_per_block and max_threads_per_multiprocessor fields.
1387 (nvptx_open_device): Initialize new fields.
1388 (nvptx_exec): Use num_sms, and new fields.
1389
6dd58010
TV
13902018-07-26 Tom de Vries <tdevries@suse.de>
1391
1392 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1393 to correct locations. Remove xfail.
1394
b2eb1779
TV
13952018-07-26 Tom de Vries <tdevries@suse.de>
1396
1397 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1398 acc_wait. Move acc_async_test calls to correct locations. Remove
1399 xfail.
1400
b1f45884
NK
14012018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1402 Thomas Koenig <tkoenig@gcc.gnu.org>
1403
1404 PR fortran/25829
1405 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1406 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1407 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1408 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1409 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1410 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1411 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1412
3a106211
JJ
14132018-07-17 Jakub Jelinek <jakub@redhat.com>
1414
a3bccfa1
JJ
1415 PR middle-end/86542
1416 * testsuite/libgomp.c++/pr86542.C: New test.
1417
3a106211
JJ
1418 PR middle-end/86539
1419 * testsuite/libgomp.c++/pr86539.C: New test.
1420
2bae8b2f
JJ
14212018-07-11 Jakub Jelinek <jakub@redhat.com>
1422
1423 PR c++/86443
1424 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1425 (results): Make sure the variable is not inside declare target region.
1426 (qux): Remove unused function.
1427
0b27c3ed
JJ
14282018-07-10 Jakub Jelinek <jakub@redhat.com>
1429
1430 PR c++/86443
1431 * testsuite/libgomp.c++/for-15.C: New test.
1432
f0391511
JJ
14332018-06-26 Jakub Jelinek <jakub@redhat.com>
1434
1435 PR c++/86291
1436 * testsuite/libgomp.c++/pr86291.C: New test.
1437
1a6d1d24
GP
14382018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1439
1440 * libgomp.texi (Top): Move www.openmp.org to https.
1441 (Enabling OpenMP): Ditto.
1442 (omp_get_active_level): Ditto.
1443 (omp_get_ancestor_thread_num): Ditto.
1444 (omp_get_cancellation): Ditto.
1445 (omp_get_default_device): Ditto.
1446 (omp_get_dynamic): Ditto.
1447 (omp_get_level): Ditto.
1448 (omp_get_max_active_levels): Ditto.
1449 (omp_get_max_task_priority): Ditto.
1450 (omp_get_max_threads): Ditto.
1451 (omp_get_nested): Ditto.
1452 (omp_get_num_devices): Ditto.
1453 (omp_get_num_procs): Ditto.
1454 (omp_get_num_teams): Ditto.
1455 (omp_get_num_threads): Ditto.
1456 (omp_get_proc_bind): Ditto.
1457 (omp_get_schedule): Ditto.
1458 (omp_get_team_num): Ditto.
1459 (omp_get_team_size): Ditto.
1460 (omp_get_thread_limit): Ditto.
1461 (omp_get_thread_num): Ditto.
1462 (omp_in_parallel): Ditto.
1463 (omp_in_final): Ditto.
1464 (omp_is_initial_device): Ditto.
1465 (omp_set_default_device): Ditto.
1466 (omp_set_dynamic): Ditto.
1467 (omp_set_max_active_levels): Ditto.
1468 (omp_set_nested): Ditto.
1469 (omp_set_num_threads): Ditto.
1470 (omp_set_schedule): Ditto.
1471 (omp_init_lock): Ditto.
1472 (omp_set_lock): Ditto.
1473 (omp_test_lock): Ditto.
1474 (omp_unset_lock): Ditto.
1475 (omp_destroy_lock): Ditto.
1476 (omp_init_nest_lock): Ditto.
1477 (omp_set_nest_lock): Ditto.
1478 (omp_test_nest_lock): Ditto.
1479 (omp_unset_nest_lock): Ditto.
1480 (omp_destroy_nest_lock): Ditto.
1481 (omp_get_wtick): Ditto.
1482 (omp_get_wtime): Ditto.
1483 (OMP_CANCELLATION): Ditto.
1484 (OMP_DISPLAY_ENV): Ditto.
1485 (OMP_DEFAULT_DEVICE): Ditto.
1486 (OMP_DYNAMIC): Ditto.
1487 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1488 (OMP_MAX_TASK_PRIORITY): Ditto.
1489 (OMP_NESTED): Ditto.
1490 (OMP_NUM_THREADS): Ditto.
1491 (OMP_PROC_BIND): Ditto.
1492 (OMP_PLACES): Ditto.
1493 (OMP_STACKSIZE): Ditto.
1494 (OMP_SCHEDULE): Ditto.
1495 (OMP_THREAD_LIMIT): Ditto.
1496 (OMP_WAIT_POLICY): Ditto.
1497
31dd69b7
CP
14982018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1499 James Norris <jnorris@codesourcery.com>
1500 Julian Brown <julian@codesourcery.com>
1501 Thomas Schwinge <thomas@codesourcery.com>
1502 Tom de Vries <tom@codesourcery.com>
1503
1504 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1505 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1506 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1508 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1509 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1510 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1511 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1512 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1514 Likewise.
1515 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1516 Likewise.
1517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1518 Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1520 Likewise.
1521 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1522 Likewise.
1523 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1524 Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1526 Likewise.
1527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1528 Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1530 Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1532 Likewise.
1533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1534 Likewise.
1535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1536 Likewise.
1537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1538 Likewise.
1539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1540 Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1542 Likewise.
1543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1544 Likewise.
1545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1546 Likewise.
1547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1548 Likewise.
1549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1550 Likewise.
1551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1552 Likewise.
1553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1554 Likewise.
1555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1556 Likewise.
1557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1558 Likewise.
1559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1560 Likewise.
1561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1562 Likewise.
1563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1564 Likewise.
1565 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1566 Likewise.
1567 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1568 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1569 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1570 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1571 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1572 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1573 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1574 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1575 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1576 Likewise.
1577 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1578 Likewise.
1579 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1580 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1581 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1582 Likewise.
1583 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1584 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1585 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1586 Likewise.
1587 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1588 Likewise.
1589 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1590 Likewise.
1591 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1592 Likewise.
1593 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1594 Likewise.
1595 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1596 Likewise.
1597 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1598 Likewise.
1599 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1600 Likewise.
1601 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1602 Likewise.
1603 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1604 Likewise.
1605 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1606 Likewise.
1607 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1608 Likewise.
1609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1610 Likewise.
1611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1612 Likewise.
1613 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1614 Likewise.
1615 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1616 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1617 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1618 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1619 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1620 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1621 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1622
829c6349
CLT
16232018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1624 Thomas Schwinge <thomas@codesourcery.com>
1625 Cesar Philippidis <cesar@codesourcery.com>
1626
1627 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1628 (gomp_acc_remove_pointer): Update declaration.
1629 (gomp_acc_declare_allocate): Declare.
1630 (gomp_remove_var): Declare.
1631 * libgomp.map (OACC_2.5): Define.
1632 * oacc-mem.c (acc_map_data): Update refcount.
1633 (acc_unmap_data): Likewise.
1634 (present_create_copy): Likewise.
1635 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1636 (acc_copyin): Likewise.
1637 (FLAG_FINALIZE): Define.
1638 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1639 (acc_delete_finalize): New function.
1640 (acc_delete_finalize_async): New function.
1641 (acc_copyout_finalize): New function.
1642 (acc_copyout_finalize_async): New function.
1643 (gomp_acc_insert_pointer): Update refcounts.
1644 (gomp_acc_remove_pointer): Return if data is not present on the
1645 accelerator.
1646 * oacc-parallel.c (find_pset): Rename to find_pointer.
1647 (find_pointer): Add support for GOMP_MAP_POINTER.
1648 (handle_ftn_pointers): New function.
1649 (GOACC_parallel_keyed): Update refcounts of variables.
1650 (GOACC_enter_exit_data): Add support for finalized data mappings.
1651 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1652 of fortran arrays.
1653 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1654 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1655 for GOMP_MAP_FORCE_FROM.
1656 * openacc.f90 (module openacc_internal): Add
1657 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1658 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1659 acc_copyout_finalize and acc_delete_finalize.
1660 (acc_copyout_finalize_32_h): New subroutine.
1661 (acc_copyout_finalize_64_h): New subroutine.
1662 (acc_copyout_finalize_array_h): New subroutine.
1663 (acc_delete_finalize_32_h): New subroutine.
1664 (acc_delete_finalize_64_h): New subroutine.
1665 (acc_delete_finalize_array_h): New subroutine.
1666 * openacc.h (acc_copyout_finalize): Declare.
1667 (acc_copyout_finalize_async): Declare.
1668 (acc_delete_finalize): Declare.
1669 (acc_delete_finalize_async): Declare.
1670 * openacc_lib.h (acc_copyout_finalize): New interface.
1671 (acc_delete_finalize): New interface.
1672 * target.c (gomp_map_vars): Update dynamic_refcount.
1673 (gomp_remove_var): New function.
1674 (gomp_unmap_vars): Use it.
1675 (gomp_unload_image_from_device): Likewise.
1676 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1677 case to utilize OpenACC 2.5 data clause semantics.
1678 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1679 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1680 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1681 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1682 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1683 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1684 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1685 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1686 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1687 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1688 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1689 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1690 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1691 utilize OpenACC 2.5 data clause semantics.
1692 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1693 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1694 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1695 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1696 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1697 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1698 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1699 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1700 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1701
4358400b
JW
17022018-05-21 Janus Weil <janus@gcc.gnu.org>
1703
1704 PR fortran/85841
1705 PR testsuite/85865
1706 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1707 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1708 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1709 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1710 * testsuite/libgomp.fortran/task2.f90: Ditto.
1711 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1712 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1713 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1714 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1715 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1716 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1717 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1718 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1719 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1720
950ad0ba
CP
17212018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1722
1723 PR c++/85782
1724 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1725
f5ad16f1
TV
17262018-05-09 Tom de Vries <tom@codesourcery.com>
1727
1728 PR libgomp/82901
1729 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1730 to GOACC_enter_exit_data.
1731
edbd038a
TV
17322018-05-09 Tom de Vries <tom@codesourcery.com>
1733
1734 PR libgomp/83792
1735 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1736 (async_synchronous_p): New function.
1737 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1738 async_valid_p.
1739 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1740 async_valid_stream_id_p.
1741 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1742 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1743
37d6c719
TV
17442018-05-07 Tom de Vries <tom@codesourcery.com>
1745
1746 PR testsuite/85677
1747 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1748 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1749
63f12215
TV
17502018-05-03 Tom de Vries <tom@codesourcery.com>
1751
1752 PR testsuite/85106
1753 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1754 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1755 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1756 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1757
ec00d3fa
TV
17582018-05-02 Tom de Vries <tom@codesourcery.com>
1759
1760 PR libgomp/85411
1761 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1762 GOMP_OPENACC_DIM ...
1763 * env.c (parse_gomp_openacc_dim): ... here. New function.
1764 (initialize_env): Call parse_gomp_openacc_dim.
1765 (goacc_default_dims): Define.
1766 * libgomp.h (goacc_default_dims): Declare.
1767 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1768 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1769 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1770 GOMP_PLUGIN_acc_default_dim.
1771 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1772 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1773
92243e7c
TV
17742018-05-02 Tom de Vries <tom@codesourcery.com>
1775
1776 PR testsuite/83791
1777 * testsuite/libgomp.c++/udr-9.C: Update.
1778 * testsuite/libgomp.c++/atomic-16.C: Remove.
1779 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1780 * testsuite/libgomp.c++/loop-13.C: Remove.
1781 * testsuite/libgomp.c++/loop-14.C: Remove.
1782 * testsuite/libgomp.c++/loop-15.C: Remove.
1783 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1784 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1785 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1786 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1787 * testsuite/libgomp.c++/ordered-1.C: Remove.
1788 * testsuite/libgomp.c++/pr45784.C: Remove.
1789 * testsuite/libgomp.c++/pr64824.C: Remove.
1790 * testsuite/libgomp.c++/pr64868.C: Remove.
1791 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1792 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1793 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1794 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1795 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1796 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1797 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1798 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1799 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1800 * testsuite/libgomp.c++/pr69389.C: Remove.
1801 * testsuite/libgomp.c++/simd10.C: Remove.
1802 * testsuite/libgomp.c++/simd11.C: Remove.
1803 * testsuite/libgomp.c++/simd12.C: Remove.
1804 * testsuite/libgomp.c++/simd13.C: Remove.
1805 * testsuite/libgomp.c++/target-1.C: Remove.
1806 * testsuite/libgomp.c++/target-3.C: Remove.
1807 * testsuite/libgomp.c++/target-4.C: Remove.
1808 * testsuite/libgomp.c++/target-5.C: Remove.
1809 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1810 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1811 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1812 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1813 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1814 * testsuite/libgomp.c++/udr-9.C: Remove.
1815 * testsuite/libgomp.c++/for-10.C: Remove.
1816 * testsuite/libgomp.c++/for-11.C: Remove.
1817 * testsuite/libgomp.c++/for-12.C: Remove.
1818 * testsuite/libgomp.c++/for-13.C: Remove.
1819 * testsuite/libgomp.c++/for-14.C: Remove.
1820 * testsuite/libgomp.c++/for-9.C: Remove.
1821 * testsuite/libgomp.c/atomic-18.c: Move ...
1822 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1823 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1824 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1825 * testsuite/libgomp.c/loop-13.c: Move ...
1826 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1827 * testsuite/libgomp.c/loop-14.c: Move ...
1828 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1829 * testsuite/libgomp.c/loop-15.c: Remove.
1830 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1831 * testsuite/libgomp.c/monotonic-1.c: Move ...
1832 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1833 * testsuite/libgomp.c/monotonic-2.c: Move ...
1834 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1835 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1836 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1837 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1838 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1839 * testsuite/libgomp.c/ordered-4.c: Move ...
1840 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1841 * testsuite/libgomp.c/pr45784.c: Move ...
1842 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1843 * testsuite/libgomp.c/pr64824.c: Move ...
1844 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1845 * testsuite/libgomp.c/pr64868.c: Move ...
1846 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1847 * testsuite/libgomp.c/pr66199-1.c: Move ...
1848 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1849 * testsuite/libgomp.c/pr66199-2.c: Move ...
1850 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1851 * testsuite/libgomp.c/pr66199-3.c: Move ...
1852 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1853 * testsuite/libgomp.c/pr66199-4.c: Move ...
1854 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1855 * testsuite/libgomp.c/pr66199-5.c: Move ...
1856 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1857 * testsuite/libgomp.c/pr66199-6.c: Move ...
1858 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1859 * testsuite/libgomp.c/pr66199-7.c: Move ...
1860 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1861 * testsuite/libgomp.c/pr66199-8.c: Move ...
1862 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1863 * testsuite/libgomp.c/pr66199-9.c: Move ...
1864 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1865 * testsuite/libgomp.c/pr69389.c: Move ...
1866 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1867 * testsuite/libgomp.c/simd-14.c: Move ...
1868 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1869 * testsuite/libgomp.c/simd-15.c: Move ...
1870 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1871 * testsuite/libgomp.c/simd-16.c: Move ...
1872 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1873 * testsuite/libgomp.c/simd-17.c: Move ...
1874 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1875 * testsuite/libgomp.c/target-1.c: Move ...
1876 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1877 * testsuite/libgomp.c/target-10.c: Move ...
1878 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1879 * testsuite/libgomp.c/target-13.c: Move ...
1880 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1881 * testsuite/libgomp.c/target-2.c: Move ...
1882 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1883 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1884 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1885 * testsuite/libgomp.c/taskloop-1.c: Move ...
1886 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1887 * testsuite/libgomp.c/taskloop-2.c: Move ...
1888 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1889 * testsuite/libgomp.c/taskloop-3.c: Move ...
1890 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1891 * testsuite/libgomp.c/taskloop-4.c: Move ...
1892 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1893 * testsuite/libgomp.c/udr-1.c: Move ...
1894 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1895 * testsuite/libgomp.c/for-1.c: Move ...
1896 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1897 * testsuite/libgomp.c/for-1.h: Move ...
1898 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1899 * testsuite/libgomp.c/for-2.c: Move ...
1900 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1901 * testsuite/libgomp.c/for-2.h: Move ...
1902 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1903 * testsuite/libgomp.c/for-3.c: Move ...
1904 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1905 * testsuite/libgomp.c/for-4.c: Move ...
1906 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1907 * testsuite/libgomp.c/for-5.c: Move ...
1908 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1909 * testsuite/libgomp.c/for-6.c: Move ...
1910 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1911
1f62d637
TV
19122018-05-02 Tom de Vries <tom@codesourcery.com>
1913
1914 PR libgomp/82428
1915 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1916 __builtin_goacc_parlevel_{id,size}.
1917 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1918 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1919 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1920 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1921 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1922 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1923 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1924 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1925 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1926 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1927 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1928 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1929 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1930 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1931 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1932 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1933 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1934 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1935 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1936 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1937 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1938 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1939 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1940
9220b511
TV
19412018-05-02 Tom de Vries <tom@codesourcery.com>
1942
1943 PR testsuite/85106
1944 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1945
6c3c13c1
TV
19462018-05-02 Tom de Vries <tom@codesourcery.com>
1947
1948 PR testsuite/85106
1949 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1950
8d70b61e
JB
19512018-04-29 Julian Brown <julian@codesourcery.com>
1952 Tom de Vries <tom@codesourcery.com>
1953
1954 PR testsuite/85527
1955 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1956 arbitrary order for iterations of atomic subtract check.
1957
4a57a4b6
TV
19582018-04-28 Tom de Vries <tom@codesourcery.com>
1959
1960 PR testsuite/85527
1961 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1962 atomic capture results obtained in parallel loop to an array, instead of
1963 to a scalar.
1964
df36a3d3
TV
19652018-04-26 Tom de Vries <tom@codesourcery.com>
1966
1967 PR libgomp/84020
1968 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1969 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1970 (process_GOMP_NVPTX_JIT): New function.
1971 (link_ptx): Use process_GOMP_NVPTX_JIT.
1972
d160ae78
RB
19732018-04-26 Richard Biener <rguenther@suse.de>
1974 Tom de Vries <tom@codesourcery.com>
1975
1976 PR lto/85422
1977 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1978
ca9dc642
TV
19792018-04-26 Tom de Vries <tom@codesourcery.com>
1980
1981 PR target/85519
1982 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1983 recursion depth from 25 to 23.
1984 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1985
7b47ecf2
L
19862018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1987
1988 * configure: Regenerated.
1989
e91eba31
NS
19902018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1991 Tom de Vries <tom@codesourcery.com>
1992
1993 PR target/85445
1994 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1995
6e0d40b6
TS
19962018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1997
1998 PR libgomp/85463
1999 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2000 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2001 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2002 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2003 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2004 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2005
2006 PR libfortran/85166
2007 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2008 abort".
2009 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2010
a0e1df88
JJ
20112018-04-19 Jakub Jelinek <jakub@redhat.com>
2012
2013 * configure: Regenerated.
2014
001ddaa8
DM
20152018-04-18 David Malcolm <dmalcolm@redhat.com>
2016
2017 PR jit/85384
2018 * configure: Regenerate.
2019
05e0af43
CP
20202018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2021 Tom de Vries <tom@codesourcery.com>
2022
2023 PR middle-end/84955
2024 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2025 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2026
bc436e10
TK
20272018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2028
2029 PR fortran/83064
2030 PR testsuite/85346
2031 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2032 test from gfortran.dg to here.
2033
ffb164c7
JJ
20342018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2035
2036 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2037 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2038
20392018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2040
2041 PR middle-end/84955
2042 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2043 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2044
2ba16fd2
TV
20452018-04-05 Tom de Vries <tom@codesourcery.com>
2046
2047 PR target/85204
2048 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2049
46dbeb40
TV
20502018-03-26 Tom de Vries <tom@codesourcery.com>
2051
2052 PR tree-optimization/85063
2053 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2054 * testsuite/libgomp.c/switch-conversion.c: New test.
2055 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2056 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2057
bfc24e32
TK
20582018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2059
2060 PR fortran/84381
2061 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2062 call abort by STOP n.
2063 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2064 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2065 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2066 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2067 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2068 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2069 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2070 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2071 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2072 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2073 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2074 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2075 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2076 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2077 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2078 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2079 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2080 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2081 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2082 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2083 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2084 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2085 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2086 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2087 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2088 * testsuite/libgomp.fortran/character1.f90: Likewise.
2089 * testsuite/libgomp.fortran/character2.f90: Likewise.
2090 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2091 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2092 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2093 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2094 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2095 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2096 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2097 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2098 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2099 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2100 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2101 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2102 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2103 * testsuite/libgomp.fortran/do1.f90: Likewise.
2104 * testsuite/libgomp.fortran/do2.f90: Likewise.
2105 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2106 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2107 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2108 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2109 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2110 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2111 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2112 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2113 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2114 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2115 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2116 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2117 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2118 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2119 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2120 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2121 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2122 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2123 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2124 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2125 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2126 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2127 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2128 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2129 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2130 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2131 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2132 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2133 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2134 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2135 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2136 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2137 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2138 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2139 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2140 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2141 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2142 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2143 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2144 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2145 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2146 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2147 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2148 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2149 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2150 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2151 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2152 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2153 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2154 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2155 * testsuite/libgomp.fortran/lib2.f: Likewise.
2156 * testsuite/libgomp.fortran/lib3.f: Likewise.
2157 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2158 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2159 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2160 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2161 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2162 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2163 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2164 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2165 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2166 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2167 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2168 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2169 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2170 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2171 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2172 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2173 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2174 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2175 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2176 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2177 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2178 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2179 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2180 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2181 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2182 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2183 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2184 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2185 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2186 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2187 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2188 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2189 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2190 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2191 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2192 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2193 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2194 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2195 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2196 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2197 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2198 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2199 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2200 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2201 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2202 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2203 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2204 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2205 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2206 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2207 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2208 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2209 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2210 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2211 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2212 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2213 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2214 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2215 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2216 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2217 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2218 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2219 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2220 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2221 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2222 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2223 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2224 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2225 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2226 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2227 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2228 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2229 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2230 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2231 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2232 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2233 * testsuite/libgomp.fortran/stack.f90: Likewise.
2234 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2235 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2236 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2237 * testsuite/libgomp.fortran/target1.f90: Likewise.
2238 * testsuite/libgomp.fortran/target2.f90: Likewise.
2239 * testsuite/libgomp.fortran/target3.f90: Likewise.
2240 * testsuite/libgomp.fortran/target4.f90: Likewise.
2241 * testsuite/libgomp.fortran/target5.f90: Likewise.
2242 * testsuite/libgomp.fortran/target6.f90: Likewise.
2243 * testsuite/libgomp.fortran/target7.f90: Likewise.
2244 * testsuite/libgomp.fortran/target8.f90: Likewise.
2245 * testsuite/libgomp.fortran/task1.f90: Likewise.
2246 * testsuite/libgomp.fortran/task2.f90: Likewise.
2247 * testsuite/libgomp.fortran/task3.f90: Likewise.
2248 * testsuite/libgomp.fortran/task4.f90: Likewise.
2249 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2250 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2251 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2252 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2253 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2254 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2255 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2256 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2257 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2258 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2259 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2260 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2261 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2262 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2263 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2264 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2265 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2266 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2267 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2268 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2269 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2270 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2271 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2272 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2273 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2274 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2275 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2276 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2277 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2278 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2279 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2280 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2281 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2282 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2283 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2284 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2285 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2286 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2287 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2288 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2289 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2290 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2291 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2292 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2293 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2294 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2295 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2296 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2297 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2298 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2299 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2300 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2301 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2302 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2303 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2304 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2305 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2306 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2307 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2308 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2309 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2310 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2311 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2312 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2313 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2314 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2315 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2316 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2317 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2318 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2319 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2320 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2321 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2322 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2323 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2324 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2325 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2326 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2327 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2328 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2329 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2330 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2331 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2332 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2333 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2334 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2335 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2336 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2337 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2338 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2339 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2340 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2341 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2342 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2343 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2344 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2345 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2346 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2347 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2348 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2349 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2350 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2351 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2352 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2353 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2354 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2355 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2356 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2357 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2358 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2359 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2360 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2361 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2362 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2363 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2364 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2365 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2366 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2367 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2368 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2369 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2370 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2371 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2372 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2373 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2374 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2375
79cf14ae
RB
23762018-03-20 Richard Biener <rguenther@suse.de>
2377
2378 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2379 parallelizable loop.
2380
14e335ed
IT
23812018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2382
2383 PR target/84148
2384 * configure: Regenerate.
2385
83d9be55
JJ
23862018-02-16 Jakub Jelinek <jakub@redhat.com>
2387
2388 PR fortran/84418
2389 * libgomp.fortran/pr84418-1.f90: New test.
2390 * libgomp.fortran/pr84418-2.f90: New test.
2391
d1fe6124
JJ
23922018-02-14 Jakub Jelinek <jakub@redhat.com>
2393
2394 PR fortran/84313
2395 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2396 -std=f2003 -fall-intrinsics into dg-additional-options.
2397
3d224921
MJ
23982018-02-08 Martin Jambor <mjambor@suse.cz>
2399
2400 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2401 clonable.
2402
c7c30edd
MJ
24032018-02-08 Martin Jambor <mjambor@suse.cz>
2404
2405 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2406
f320fdfd
RO
24072018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2408
2409 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2410 [__cplusplus]: Declare extern "C".
2411
c31bc4ac
TV
24122018-02-07 Tom de Vries <tom@codesourcery.com>
2413
2414 PR libgomp/84217
2415 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2416
99ae7ce5
CS
24172018-01-29 Christoph Spiel <cspiel@freenet.de>
2418 Jakub Jelinek <jakub@redhat.com>
2419
2420 PR libgomp/84096
2421 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2422 instead of omp_lock_t.
2423
e77a1236
TV
24242018-01-25 Tom de Vries <tom@codesourcery.com>
2425
2426 PR target/84028
2427 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2428
3dede32b
TV
24292018-01-24 Tom de Vries <tom@codesourcery.com>
2430
2431 PR target/83589
2432 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2433
be606483
TV
24342018-01-24 Tom de Vries <tom@codesourcery.com>
2435
2436 PR target/81352
2437 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2438
8c8e9a6b
TV
24392018-01-19 Tom de Vries <tom@codesourcery.com>
2440 Cesar Philippidis <cesar@codesourcery.com>
2441
2442 PR target/83920
2443 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2444 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2445
65e6aea3
JJ
24462018-01-03 Jakub Jelinek <jakub@redhat.com>
2447
85ec4feb
JJ
2448 Update copyright years.
2449
65e6aea3
JJ
2450 * libgomp.texi: Bump @copying's copyright year.
2451
60bf575c
TV
24522017-12-30 Tom de Vries <tom@codesourcery.com>
2453
2454 PR libgomp/83046
2455 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2456 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2457
7ec16b79
TV
24582017-12-27 Tom de Vries <tom@codesourcery.com>
2459
2460 PR c++/83046
2461 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2462 (test_nonstatic): Fix return type to workaround PR83046.
2463
ac550b9a
JJ
24642017-12-05 Jakub Jelinek <jakub@redhat.com>
2465
2466 PR testsuite/83281
2467 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2468 j suffix instead of i.
2469 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2470 Likewise.
2471
ebdc83f0
CP
24722017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2473
2474 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2475 call to acc_wait (1).
2476
3b3e6283
JJ
24772017-11-24 Jakub Jelinek <jakub@redhat.com>
2478
2479 PR fortran/81304
2480 * testsuite/libgomp.fortran/pr81304.f90: New test.
2481
3b575376
JJ
24822017-11-23 Jakub Jelinek <jakub@redhat.com>
2483
2484 PR fortran/81841
2485 * libgomp.fortran/pr81841.f90: New test.
2486
b13547d8
JJ
24872017-11-22 Jakub Jelinek <jakub@redhat.com>
2488
2489 PR libgomp/83106
2490 * target.c (gomp_target_init): Compute lengths just once and
2491 use them in both malloc size and subsequent copying.
2492
efe33ced
IT
24932017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2494
2495 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2496 * acinclude.m4: Add cet.m4.
2497 * configure: Regenerate.
2498 * Makefile.in: Likewise.
2499 * testsuite/Makefile.in: Likewise.
2500
a7cf2612
TV
25012017-11-15 Tom de Vries <tom@codesourcery.com>
2502
2503 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2504 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2505 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2506 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2507 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2508 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2509
dde76623
TV
25102017-11-14 Tom de Vries <tom@codesourcery.com>
2511
2512 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2513 non-nvidia devices.
2514
4dbeb716
JJ
25152017-11-07 Jakub Jelinek <jakub@redhat.com>
2516
2517 PR c++/82835
2518 * testsuite/libgomp.c++/pr82835.C: New test.
2519
454f8b2b
ML
25202017-11-06 Martin Liska <mliska@suse.cz>
2521
2522 * testsuite/libgomp.c++/loop-2.C: Return a value
2523 for functions with non-void return type, or change type to void,
2524 or add -Wno-return-type for test.
2525 * testsuite/libgomp.c++/loop-4.C: Likewise.
2526 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2527 * testsuite/libgomp.c++/shared-1.C: Likewise.
2528 * testsuite/libgomp.c++/single-1.C: Likewise.
2529 * testsuite/libgomp.c++/single-2.C: Likewise.
2530
12e9c8ce
TV
25312017-10-31 Tom de Vries <tom@codesourcery.com>
2532
2533 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2534 "do {} while (false)".
2535 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2536 after HSA_DEBUG call.
2537
7324369a
JJ
25382017-10-28 Jakub Jelinek <jakub@redhat.com>
2539
2540 * target.c (struct gomp_coalesce_buf): New type.
2541 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2542 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2543 (gomp_copy_host2dev): Add CBUF argument, if copying into
2544 the cached ranges, memcpy into buffer instead of copying
2545 into device.
2546 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2547 Add CBUF argument, pass it through to other calls.
2548 (gomp_map_vars): Aggregate copies from host to device if small enough
2549 and with small enough gaps in between into memcpy into a buffer and
2550 fewer host to device copies from the buffer.
2551 (gomp_update): Adjust gomp_copy_host2dev caller.
2552
933ab0e6
TS
25532017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2554
2555 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2556 run" directive.
2557 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2558 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2559 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2560 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2561
92d5d01a
TV
25622017-10-16 Tom de Vries <tom@codesourcery.com>
2563
2564 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2565 openacc_nvidia_accel_selected.
2566 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2567 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2568 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2569 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2570 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2571 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2572 openacc_nvidia_accel_selected. Skip for shared memory device.
2573 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2574 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2575
191411e4
MJ
25762017-10-09 Martin Jambor <mjambor@suse.cz>
2577
2578 PR hsa/82416
2579 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2580
e923330e
TV
25812017-10-07 Tom de Vries <tom@codesourcery.com>
2582
2583 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2584 Remove acc_device_nvidia references.
2585 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2586 Same.
2587
8fe3ed4c
TV
25882017-10-05 Tom de Vries <tom@codesourcery.com>
2589
2590 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2591 vector_length(32) clause from acc parallel directive.
2592 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2593
26596ee5
TV
25942017-10-04 Tom de Vries <tom@codesourcery.com>
2595
2596 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2597 (main): Reduce sum of arr elements. Assert that hres is exactly
2598 representable in 32-bit floating point.
2599 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2600 (main): Reduce sum of arr elements. Assert that hres and hmres are
2601 exactly representable in 32-bit floating point.
2602 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2603
5c561fa9
TV
26042017-09-28 Tom de Vries <tom@codesourcery.com>
2605
2606 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2607 setting.
2608 * testsuite/libgomp.c++/pr69393.C: Same.
2609 * testsuite/libgomp.c++/taskloop-1.C: Same.
2610 * testsuite/libgomp.c++/taskloop-3.C: Same.
2611 * testsuite/libgomp.c++/taskloop-4.C: Same.
2612 * testsuite/libgomp.c/for-4.c: Same.
2613 * testsuite/libgomp.c/pr66199-3.c: Same.
2614 * testsuite/libgomp.c/pr66199-4.c: Same.
2615 * testsuite/libgomp.c/pr66199-6.c: Same.
2616 * testsuite/libgomp.c/taskloop-1.c: Same.
2617 * testsuite/libgomp.c/taskloop-3.c: Same.
2618 * testsuite/libgomp.c/taskloop-4.c: Same.
2619 * testsuite/libgomp.fortran/aligned1.f03: Same.
2620 * testsuite/libgomp.fortran/condinc1.f: Same.
2621 * testsuite/libgomp.fortran/condinc3.f90: Same.
2622 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2623 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2624 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2625 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2626 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2627 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2628 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2629 * testsuite/libgomp.fortran/recursion1.f90: Same.
2630 * testsuite/libgomp.fortran/target2.f90: Same.
2631 * testsuite/libgomp.fortran/target5.f90: Same.
2632 * testsuite/libgomp.fortran/task3.f90: Same.
2633
7d6206fe
TV
26342017-09-28 Tom de Vries <tom@codesourcery.com>
2635
2636 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2637 vector_length(32) clause from acc parallel directive.
2638 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2639
84c8627c
TV
26402017-09-27 Tom de Vries <tom@codesourcery.com>
2641
2642 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2643 Remove acc_device_nvidia references.
2644
ebc6a85e
TV
26452017-09-16 Tom de Vries <tom@codesourcery.com>
2646
2647 PR c/81875
2648 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2649
82419efb
TV
26502017-09-14 Tom de Vries <tom@codesourcery.com>
2651
2652 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2653 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2654 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2655 * testsuite/libgomp.c/c.exp: Include test-cases from
2656 libgomp.c-c++-common.
2657 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2658 files.
2659
8b586510
JJ
26602017-09-14 Jakub Jelinek <jakub@redhat.com>
2661
2662 PR c++/81314
2663 * testsuite/libgomp.c++/pr81314.C: New test.
2664
9651fbaf
GP
26652017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2666
2667 * libgomp.texi (Top): www.openacc.org now uses https.
2668 (Enabling OpenACC): Ditto.
2669 (acc_get_num_devices): Ditto.
2670 (acc_set_device_type): Ditto.
2671 (acc_get_device_type): Ditto.
2672 (acc_set_device_num): Ditto.
2673 (acc_get_device_num): Ditto.
2674 (acc_async_test): Ditto.
2675 (acc_async_test_all): Ditto.
2676 (acc_wait): Ditto.
2677 (acc_wait_all): Ditto.
2678 (acc_wait_all_async): Ditto.
2679 (acc_wait_async): Ditto.
2680 (acc_init): Ditto.
2681 (acc_shutdown): Ditto.
2682 (acc_on_device): Ditto.
2683 (acc_malloc): Ditto.
2684 (acc_free): Ditto.
2685 (acc_copyin): Ditto.
2686 (acc_present_or_copyin): Ditto.
2687 (acc_create): Ditto.
2688 (acc_present_or_create): Ditto.
2689 (acc_copyout): Ditto.
2690 (acc_delete): Ditto.
2691 (acc_update_device): Ditto.
2692 (acc_update_self): Ditto.
2693 (acc_map_data): Ditto.
2694 (acc_unmap_data): Ditto.
2695 (acc_deviceptr): Ditto.
2696 (acc_hostptr): Ditto.
2697 (acc_is_present): Ditto.
2698 (acc_memcpy_to_device): Ditto.
2699 (acc_memcpy_from_device): Ditto.
2700 (acc_get_current_cuda_device): Ditto.
2701 (acc_get_current_cuda_context): Ditto.
2702 (acc_get_cuda_stream): Ditto.
2703 (acc_set_cuda_stream): Ditto.
2704 (ACC_DEVICE_TYPE): Ditto.
2705 (ACC_DEVICE_NUM): Ditto.
2706 (OpenACC Library Interoperability): Ditto.
2707
50aa16c3
JJ
27082017-08-09 Jakub Jelinek <jakub@redhat.com>
2709
2710 PR c/81687
2711 * testsuite/libgomp.c/pr81687-1.c: New test.
2712 * testsuite/libgomp.c/pr81687-2.c: New test.
2713
56b5041c
JJ
27142017-08-07 Jakub Jelinek <jakub@redhat.com>
2715
2716 PR c/69389
2717 * testsuite/libgomp.c/pr69389.c: New test.
2718 * testsuite/libgomp.c++/pr69389.C: New test.
2719
f4c222c0
TV
27202017-08-07 Tom de Vries <tom@codesourcery.com>
2721
2722 PR middle-end/78266
2723 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2724 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2725
a40ff0ae
JJ
27262017-07-27 Jakub Jelinek <jakub@redhat.com>
2727
2728 PR c/45784
2729 * testsuite/libgomp.c/pr45784.c: New test.
2730 * testsuite/libgomp.c++/pr45784.C: New test.
2731
3717fbe3
TV
27322017-07-19 Tom de Vries <tom@codesourcery.com>
2733
2734 * testsuite/libgomp.oacc-c/vec.c: New test.
2735
9607b014
TV
27362017-07-03 Tom de Vries <tom@codesourcery.com>
2737
2738 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2739
dfb15f6b
TV
27402017-06-27 Tom de Vries <tom@codesourcery.com>
2741
2742 * plugin/plugin-nvptx.c (notify_var): New function.
2743 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2744
22f1a037
TV
27452017-06-27 Tom de Vries <tom@codesourcery.com>
2746
2747 * env.c (parse_unsigned_long_1): Factor out of ...
2748 (parse_unsigned_long): ... here.
2749 (parse_int_1): Factor out of ...
2750 (parse_int): ... here.
2751 (parse_int_secure): New function.
2752 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2753 * secure_getenv.h: Factor out of ...
2754 * plugin/plugin-hsa.c: ... here.
2755 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2756
d54d1fc3
JJ
27572017-06-21 Jakub Jelinek <jakub@redhat.com>
2758
2759 PR c++/81130
2760 * testsuite/libgomp.c++/pr81130.C: New test.
2761
4f4b0ab8
RO
27622017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2763
2764 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2765 default args.
2766 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2767 dg-xfail-run-if default args.
2768
40ffd95f
BE
27692017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2770
2771 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2772 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2773
01275e1e
JJ
27742017-05-30 Jakub Jelinek <jakub@redhat.com>
2775
2776 PR libgomp/80822
2777 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2778 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2779 sibling lists, depending on level just pick up what CPUs to put
2780 together into a place vs. whether add multiple ordered places.
2781
78672bd8
TS
27822017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2783
7ce64403
TS
2784 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2785 * libgomp.map (OACC_2.0.1): Add these.
2786 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2787 for "acc_wait", and "acc_wait_all", respectively.
2788 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2789 for "acc_wait", and "acc_wait_all", respectively.
2790 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2791 * libgomp.texi (acc_wait, acc_wait_all): Update.
2792 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2793 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2794 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2795
318686c2
TS
2796 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2797 acc_present_or_copyin and acc_present_or_create procedures,
2798 respectively.
2799 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2800 generally different variants of OpenACC Runtime Library functions.
2801 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2802
a6745534
TS
2803 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2804 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2805
9b94fbc7
TS
2806 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2807 of preprocessor definitions.
2808 * libgomp.h (strong_alias): Guard by "#ifdef
2809 HAVE_ATTRIBUTE_ALIAS".
2810 * oacc-mem.c: Provide "acc_pcreate" as alias for
2811 "acc_present_or_create", and "acc_pcopyin" as alias for
2812 "acc_present_or_copyin".
2813 * libgomp.map: New version "OACC_2.0.1".
2814 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2815 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2816 its content into...
2817 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2818 Extend testing.
2819
78672bd8
TS
2820 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2821 when disabling nvptx offloading.
2822
0c36d0d5
TS
28232017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2824
fd71a9a2
TS
2825 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2826 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2827 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2828
0c36d0d5
TS
2829 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2830 * testsuite/lib/libgomp.exp
2831 (check_effective_target_openacc_nvidia_accel_configured): New
2832 proc.
2833 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2834 (check_effective_target_c++): New procs.
2835 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2836 (check_effective_target_c++): Likewise.
2837
c24783c4
JJ
28382017-05-22 Jakub Jelinek <jakub@redhat.com>
2839
655e5265
JJ
2840 PR middle-end/80809
2841 * testsuite/libgomp.c/pr80809-2.c: New test.
2842 * testsuite/libgomp.c/pr80809-3.c: New test.
2843
e9e2ef9f
JJ
2844 PR middle-end/80809
2845 * testsuite/libgomp.c/pr80809-1.c: New test.
2846
c24783c4
JJ
2847 PR middle-end/80853
2848 * testsuite/libgomp.c/pr80853.c: New test.
2849
0da2f96a
TS
28502017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2851
7fd549d2
TS
2852 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2853 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2854 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2855 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2856 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2857
0da2f96a
TS
2858 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2859 Debug output for failure.
2860
62ffe920
RO
28612017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2862
2863 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2864
f49215b1
JJ
28652017-04-27 Jakub Jelinek <jakub@redhat.com>
2866
2867 PR bootstrap/80531
2868 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2869 bootstrap compare failures.
2870
2260d19d
AM
28712017-04-20 Alexander Monakov <amonakov@ispras.ru>
2872
2873 * testsuite/libgomp.c/target-36.c: New testcase.
2874
19929ba9
JJ
28752017-04-13 Jakub Jelinek <jakub@redhat.com>
2876
2877 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2878 instead of char.
2879
fbc698e0
JJ
28802017-04-11 Jakub Jelinek <jakub@redhat.com>
2881
2882 PR libgomp/80394
2883 * testsuite/libgomp.c/pr80394.c: New test.
2884
c4060df4
JJ
28852017-04-04 Jakub Jelinek <jakub@redhat.com>
2886
2887 PR libgomp/79876
2888 * config/posix/thread-stacksize.h: New file.
2889 * config/darwin/thread-stacksize.h: New file.
2890 * config/nvptx/thread-stacksize.h: New file.
2891 * env.c: Include thread-stacksize.h.
2892 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2893 instead of 0. Call pthread_attr_setstacksize even if
2894 GOMP_DEFAULT_STACKSIZE is non-zero.
2895
e02d868a
JJ
28962017-03-30 Jakub Jelinek <jakub@redhat.com>
2897
2898 * env.c (initialize_env): Initialize stacksize to 0.
2899
7ba8651e
CP
29002017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2901
2902 PR c++/80029
2903 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2904
eebc5e2d
JJ
29052017-03-08 Jakub Jelinek <jakub@redhat.com>
2906
2907 PR c/79940
2908 * testsuite/libgomp.c/pr79940.c: New test.
2909
1eb08f52
RO
29102017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2911
2912 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2913 targets.
2914 Add __float128 options.
2915
b0f78ff3
JDA
29162017-02-11 John David Anglin <danglin@gcc.gnu.org>
2917
2918 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2919 hppa*-*-* dg-skip-if directive.
2920
1bbe0d8f
JJ
29212017-02-09 Jakub Jelinek <jakub@redhat.com>
2922
2923 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2924 dg-skip-if directive into a comment.
2925
02889d23
CLT
29262017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2927 Chung-Lin Tang <cltang@codesourcery.com>
2928
2929 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2930 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2931 add additional case.
2932 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2933 "openacc_nvidia_accel_selected".
2934 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2935 Add num_workers(8) clause.
2936
5896a41d
JDA
29372017-02-08 John David Anglin <danglin@gcc.gnu.org>
2938
2939 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2940 hppa*-*-*.
2941 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2942 include complex.h on hppa*-*-hpux*.
2943 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2944
345a8c17
TS
29452017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2946
e70ab10d
TS
2947 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2948
345a8c17
TS
2949 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2950 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2951 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2952 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2953 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2954 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2955 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2956 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2957 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2958 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2959
dced339c
TS
29602017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2961
2962 * libgomp-plugin.h: #include <stdbool.h>.
2963 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2964 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2965 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2966 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2967 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2968 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2969 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2970 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2971 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2972 (GOMP_OFFLOAD_openacc_async_test)
2973 (GOMP_OFFLOAD_openacc_async_test_all)
2974 (GOMP_OFFLOAD_openacc_async_wait)
2975 (GOMP_OFFLOAD_openacc_async_wait_async)
2976 (GOMP_OFFLOAD_openacc_async_wait_all)
2977 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2978 (GOMP_OFFLOAD_openacc_async_set_async)
2979 (GOMP_OFFLOAD_openacc_create_thread_data)
2980 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2981 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2982 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2983 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2984 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2985 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2986 these.
2987 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2988 (GOMP_OFFLOAD_unload_image): Fix argument types.
2989
23749904
JJ
29902017-01-26 Jakub Jelinek <jakub@redhat.com>
2991
c1cadde1
JJ
2992 * testsuite/lib/libgomp.exp
2993 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2994 check_compile invocation. Fix up removal of executable. Drop
2995 bogus "2>&1" argument.
2996
23749904
JJ
2997 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2998 directive.
2999
30002017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3001 Martin Jambor <mjambor@suse.cz>
3002
3003 * plugin/hsa.h: Moved to top level include.
3004 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3005
73aa401e
JJ
30062017-01-21 Jakub Jelinek <jakub@redhat.com>
3007
3008 PR other/79046
3009 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3010 of cat to get version from BASE-VER file.
3011 * testsuite/Makefile.in: Regenerated.
3012
b32e85fa
JJ
30132017-01-19 Jakub Jelinek <jakub@redhat.com>
3014
3015 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3016 for _WIN64.
3017
3c36aa6b
JJ
30182017-01-17 Jakub Jelinek <jakub@redhat.com>
3019
d190d5c0
JJ
3020 * plugin/hsa.h: Add GCC runtime library exception.
3021 * plugin/hsa_ext_finalize.h: Likewise.
3022
2393d337
JJ
3023 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3024 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3025 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3026 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3027 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3028 library to link ptx plugin against.
3029 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3030 (CUDA_CALLS): Define.
3031 (cuda_lib, cuda_lib_inited): New variables.
3032 (init_cuda_lib): New function.
3033 (CUDA_CALL_PREFIX): Define.
3034 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3035 (CUDA_CALL): Use FN instead of (FN).
3036 (CUDA_CALL_NOCHECK): Define.
3037 (cuda_error, fini_streams_for_device, select_stream_for_async,
3038 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3039 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3040 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3041 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3042 CUDA_CALL_NOCHECK.
3043 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3044 CUDA_CALL_NOCHECK.
3045 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3046 Use CUDA_CALL_NOCHECK.
3047 * plugin/cuda/cuda.h: New file.
3048 * config.h.in: Regenerated.
3049 * configure: Regenerated.
3050
3c36aa6b
JJ
3051 PR other/79046
3052 * configure.ac: Add GCC_BASE_VER.
3053 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3054 get version from BASE-VER file.
3055 * testsuite/Makefile.in: Regenerated.
3056 * configure: Regenerated.
3057 * Makefile.in: Regenerated.
3058
c508bc2d
FXC
30592017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3060
3061 PR libgomp/60670
3062 * Makefile.am: Make fincludedir multilib-aware.
3063 * Makefile.in: Regenerate.
3064
c1a9c369
JJ
30652017-01-01 Jakub Jelinek <jakub@redhat.com>
3066
cbe34bb5
JJ
3067 Update copyright years.
3068
c1a9c369
JJ
3069 * libgomp.texi: Bump @copying's copyright year.
3070
e7a7f4be
SH
30712016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3072
3073 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3074 pthread_spinlock_t instead of gomp_mutex_t lock.
3075 (gomp_get_thread_pool): Likewise.
3076 (gomp_release_thread_pool): Likewise.
3077 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3078 Likewise.
3079
d313d52c
SH
30802016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3081
3082 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3083 thread pool in case nthreads == 1.
3084
630e3c3a
AM
30852016-11-30 Alexander Monakov <amonakov@ispras.ru>
3086
3087 * config/nvptx/env.c: Delete.
3088 * icv.c: Move definitions of ICV variables back ...
3089 * env.c: ...here. Do not compile environment-related functionality if
3090 LIBGOMP_OFFLOADED_ONLY is set.
3091
9e38af5c
AM
30922016-11-30 Alexander Monakov <amonakov@ispras.ru>
3093
3094 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3095 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3096 * configure: Regenerate.
3097 * config.h.in: Likewise.
3098
f96b7f1f
AM
30992016-11-30 Alexander Monakov <amonakov@ispras.ru>
3100
3101 * Makefile.in: Regenerate with automake-1.11.6.
3102 * aclocal.m4: Likewise.
3103 * configure: Likewise.
3104 * testsuite/Makefile.in: Likewise.
3105
6a6951b1
AM
31062016-11-28 Alexander Monakov <amonakov@ispras.ru>
3107
3108 * config/nvptx/critical.c: Delete to use generic implementation.
3109
c7ac071f
JH
31102016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3111
3112 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3113 ../../affinity.c as fallback.
3114 * config/nvptx/affinity.c: Delete to use fallback implementation.
3115
6103184e 31162016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3117 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3118 Dmitry Melnik <dm@ispras.ru>
3119
3120 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3121 * Makefile.in. Regenerate.
3122 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3123 (LIBGOMP_USE_PTHREADS): ...here; new define.
3124 * configure: Regenerate.
3125 * config.h.in: Likewise.
3126 * config/posix/affinity.c: Move to...
3127 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3128 interface by LIBGOMP_USE_PTHREADS.
3129 * critical.c: Split out GOMP_atomic_{start,end} into...
3130 * atomic.c: ...here (new file).
3131 * env.c: Split out ICV definitions into...
3132 * icv.c: ...here (new file) and...
3133 * icv-device.c: ...here. New file.
3134 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3135 (gomp_destroy_lock_30): Ditto.
3136 (gomp_set_lock_30): Ditto.
3137 (gomp_unset_lock_30): Ditto.
3138 (gomp_test_lock_30): Ditto.
3139 (gomp_init_nest_lock_30): Ditto.
3140 (gomp_destroy_nest_lock_30): Ditto.
3141 (gomp_set_nest_lock_30): Ditto.
3142 (gomp_unset_nest_lock_30): Ditto.
3143 (gomp_test_nest_lock_30): Ditto.
3144 * lock.c: New.
3145 * config/nvptx/lock.c: New.
3146 * config/nvptx/bar.c: New.
3147 * config/nvptx/bar.h: New.
3148 * config/nvptx/doacross.h: New.
3149 * config/nvptx/error.c: New.
3150 * config/nvptx/icv-device.c: New.
3151 * config/nvptx/mutex.h: New.
3152 * config/nvptx/pool.h: New.
3153 * config/nvptx/proc.c: New.
3154 * config/nvptx/ptrlock.h: New.
3155 * config/nvptx/sem.h: New.
3156 * config/nvptx/simple-bar.h: New.
3157 * config/nvptx/target.c: New.
3158 * config/nvptx/task.c: New.
3159 * config/nvptx/team.c: New.
3160 * config/nvptx/time.c: New.
3161 * config/posix/simple-bar.h: New.
3162 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3163 (gomp_num_teams_var): Declare.
3164 (struct gomp_thread_pool): Change threads_dock member to
3165 gomp_simple_barrier_t.
3166 [__nvptx__] (gomp_thread): New implementation.
3167 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3168 (gomp_thread_destructor): Ditto.
3169 (gomp_init_thread_affinity): Ditto.
3170 * team.c: Guard uses of Pthreads-specific interfaces by
3171 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3172 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3173 * config/nvptx/alloc.c: Delete.
3174 * config/nvptx/barrier.c: Ditto.
3175 * config/nvptx/fortran.c: Ditto.
3176 * config/nvptx/iter.c: Ditto.
3177 * config/nvptx/iter_ull.c: Ditto.
3178 * config/nvptx/loop.c: Ditto.
3179 * config/nvptx/loop_ull.c: Ditto.
3180 * config/nvptx/ordered.c: Ditto.
3181 * config/nvptx/parallel.c: Ditto.
3182 * config/nvptx/priority_queue.c: Ditto.
3183 * config/nvptx/sections.c: Ditto.
3184 * config/nvptx/single.c: Ditto.
3185 * config/nvptx/splay-tree.c: Ditto.
3186 * config/nvptx/work.c: Ditto.
3187 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3188 -foffload=-lgfortran in addition to -lgfortran.
3189 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3190 * plugin/plugin-nvptx.c: Include <limits.h>.
3191 (struct targ_fn_descriptor): Add new fields.
3192 (struct ptx_device): Ditto. Set them...
3193 (nvptx_open_device): ...here.
3194 (nvptx_adjust_launch_bounds): New.
3195 (nvptx_host2dev): Allow NULL 'nvthd'.
3196 (nvptx_dev2host): Ditto.
3197 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3198 (link_ptx): Adjust log sizes.
3199 (nvptx_host2dev): Allow NULL 'nvthd'.
3200 (nvptx_dev2host): Ditto.
3201 (nvptx_set_clocktick): New. Use it...
3202 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3203 fields.
3204 (GOMP_OFFLOAD_dev2dev): New.
3205 (nvptx_adjust_launch_bounds): New.
3206 (nvptx_stacks_size): New.
3207 (nvptx_stacks_alloc): New.
3208 (nvptx_stacks_free): New.
3209 (GOMP_OFFLOAD_run): New.
3210 (GOMP_OFFLOAD_async_run): New (stub).
3211
56b1c60e
MJ
32122016-11-23 Martin Jambor <mjambor@suse.cz>
3213
3214 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3215 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3216 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3217
b8d89b03 32182016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3219 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3220
3221 * plugin/hsa.h: New file.
3222 * plugin/hsa_ext_finalize.h: New file.
3223 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3224 header file unistd.h, and functions secure_getenv, __secure_getenv,
3225 getuid, geteuid, getgid and getegid.
3226 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3227 -D_GNU_SOURCE.
3228 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3229 Handle various cases of secure_getenv presence, add an implementation
3230 when we can test effective UID and GID.
3231 (struct hsa_runtime_fn_info): New structure.
3232 (hsa_runtime_fn_info hsa_fns): New variable.
3233 (hsa_runtime_lib): Likewise.
3234 (support_cpu_devices): Likewise.
3235 (init_enviroment_variables): Load newly introduced ENV
3236 variables.
3237 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3238 (hsa_fatal): Likewise.
3239 (DLSYM_FN): New macro.
3240 (init_hsa_runtime_functions): New function.
3241 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3242 structure. Depending on environment, also allow CPU devices.
3243 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3244 (get_kernarg_memory_region): Likewise.
3245 (GOMP_OFFLOAD_init_device): Likewise.
3246 (destroy_hsa_program): Likewise.
3247 (init_basic_kernel_info): New function.
3248 (GOMP_OFFLOAD_load_image): Use it.
3249 (create_and_finalize_hsa_program): Call hsa run-time functions via
3250 hsa_fns structure.
3251 (create_single_kernel_dispatch): Likewise.
3252 (release_kernel_dispatch): Likewise.
3253 (init_single_kernel): Likewise.
3254 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3255 (get_group_size): New function.
3256 (run_kernel): Likewise.
3257 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3258 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3259 structure.
3260 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3261 * testsuite/libgomp-test-support.exp.in: Likewise.
3262 * Makefile.in: Regenerated.
3263 * aclocal.m4: Likewise.
3264 * config.h.in: Likewise.
3265 * configure: Likewise.
3266 * testsuite/Makefile.in: Likewise.
3267
18d2ada8 32682016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 3269 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
3270
3271 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3272 mapping clauses to target constructs.
3273 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3274
84c1b9d3
MK
32752016-11-15 Matthias Klose <doko@ubuntu.com>
3276
3277 * configure: Regenerate.
3278
b4c3a85b
JJ
32792016-11-10 Jakub Jelinek <jakub@redhat.com>
3280
8ebd1b31
JJ
3281 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3282 * omp_lib.h.in (openmp_version): Likewise.
3283 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3284 of 201307.
3285 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3286
b4c3a85b
JJ
3287 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3288 (fib_wrapper): Add map(from: x) clause.
3289 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3290 (e_53_2): Likewise.
3291 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3292 (accum): Add map(tmp) clause.
3293 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3294 (accum): Add map(tofrom: tmp) clause.
3295 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3296 (gramSchmidt): Likewise.
3297 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3298 map(tofrom: sum) clause.
3299 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3300 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3301 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3302 only allowed on the loop iterator.
3303 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3304 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3305 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3306 * testsuite/libgomp.fortran/doacross1.f90: New test.
3307 * testsuite/libgomp.fortran/doacross3.f90: New test.
3308 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3309 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3310 * testsuite/libgomp.fortran/doacross2.f90: New test.
3311 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3312 #pragma omp atomic read.
3313 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3314 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3315
6668eb45
CP
33162016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3317 Nathan Sidwell <nathan@acm.org>
3318
3319 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3320 to determine default geometry.
3321 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3322 dimension.
3323
f10e37a1
JJ
33242016-11-01 Jakub Jelinek <jakub@redhat.com>
3325
3326 * hashtab.h: Use standard GPLv3 with runtime exception
3327 boilerplate.
3328
015c7760
AH
33292016-10-27 Aldy Hernandez <aldyh@redhat.com>
3330
3331 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3332 size when allocating new thread.
3333
20a1e5b8
MP
33342016-09-14 Marek Polacek <polacek@redhat.com>
3335
3336 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3337
1cad9284
JJ
33382016-08-19 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR fortran/71014
3341 * testsuite/libgomp.fortran/pr71014.f90: New test.
3342
2c71d454
CLT
33432016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3344
3345 PR middle-end/70895
3346 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3347 firstprivate clauses.
3348 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3349 copy clauses.
3350 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3351 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3352 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3353 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3354 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3355 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3356 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3357 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3358 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3359 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3360 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3361 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3362
7c713714
CLT
33632016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3364
3365 PR fortran/70598
3366 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3367
5c934396
JJ
33682016-08-08 Jakub Jelinek <jakub@redhat.com>
3369
3370 PR c++/58706
3371 * testsuite/libgomp.c++/pr58706.C: New test.
3372
9ef64248
TS
33732016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3374
bbc79c0e
TS
3375 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3376 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3377 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3378 Likewise.
3379 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3380 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3381 Likewise.
3382 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3383
9ef64248
TS
3384 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3385 test, and don't hardcode -O0.
3386
c1311c86
NS
33872016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3388
3389 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3390
b1c9c068
CP
33912016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3392
3393 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3394 test.
3395
b4410f63
L
33962016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3397
3398 PR middle-end/71734
3399 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3400 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3401
a8dbab92
JJ
34022016-07-01 Jakub Jelinek <jakub@redhat.com>
3403
3404 PR fortran/71717
3405 * testsuite/libgomp.fortran/associate3.f90: New test.
3406
9b6a8d0f
JJ
34072016-06-17 Jakub Jelinek <jakub@redhat.com>
3408
3409 * testsuite/libgomp.c++/target-21.C: New test.
3410
283635f9
JJ
34112016-06-16 Jakub Jelinek <jakub@redhat.com>
3412
3413 * testsuite/libgomp.c++/target-20.C: New test.
3414
27d6ba88
TS
34152016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3416 Cesar Philippidis <cesar@codesourcery.com>
3417
3418 PR middle-end/71373
3419 * libgomp.oacc-c/nested-function-1.c: New file.
3420 * libgomp.oacc-c/nested-function-2.c: Likewise.
3421 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3422 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3423 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3424
4b1ffdb1
TS
34252016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3426
3427 PR c/71381
3428 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3429 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3430 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3431
d821b794
CLT
34322016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3433
3434 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3435 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3436
3616a8c5
CP
34372016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3438
3439 PR c/70688
5eed9a88 3440 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 3441
7211a097
JJ
34422016-05-26 Jakub Jelinek <jakub@redhat.com>
3443
3444 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3445 instead of invalid schedule(static, 0).
3446 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3447
b4557008
CLT
34482016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3449
3450 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3451 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3452 parameter, use to set async stream around call to gomp_unmap_vars,
3453 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3454 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3455 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3456 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3457 (event_add): Add int parameter, initialize 'val' field when
3458 adding new ptx_event struct.
3459 (nvptx_evec): Adjust event_add() call arguments.
3460 (nvptx_host2dev): Likewise.
3461 (nvptx_dev2host): Likewise.
3462 (nvptx_wait_async): Likewise.
3463 (nvptx_wait_all_async): Likewise.
3464 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3465 pass to event_add() call.
3466 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3467 parameter.
3468 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3469 call openacc.register_async_cleanup_func() hook.
3470 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3471 * target.c (gomp_copy_from_async): Delete function.
3472 (gomp_map_vars): Remove async_refcount.
3473 (gomp_unmap_vars): Likewise.
3474 (gomp_load_image_to_device): Likewise.
3475 (omp_target_associate_ptr): Likewise.
3476 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3477 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3478 (gomp_copy_from_async): Remove.
3479
6ce13072
CLT
34802016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3481
3482 * target.c (gomp_device_copy): New function.
3483 (gomp_copy_host2dev): Likewise.
3484 (gomp_copy_dev2host): Likewise.
3485 (gomp_free_device_memory): Likewise.
3486 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3487 (gomp_map_pointer): Likewise.
3488 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3489 NULL value from alloc_func plugin hook.
3490 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3491 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3492 (gomp_unmap_vars): Likewise.
3493 (gomp_update): Adjust to call gomp_copy_dev2host and
3494 gomp_copy_host2dev functions.
3495 (gomp_unload_image_from_device): Handle false value from
3496 unload_image_func plugin hook.
3497 (gomp_init_device): Handle false value from init_device_func
3498 plugin hook.
3499 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3500 (omp_target_free): Adjust to call gomp_free_device_memory.
3501 (omp_target_memcpy): Handle return values from host2dev_func,
3502 dev2host_func, and dev2dev_func plugin hooks.
3503 (omp_target_memcpy_rect_worker): Likewise.
3504 (gomp_target_fini): Handle false value from fini_device_func
3505 plugin hook.
3506 * libgomp.h (struct gomp_device_descr): Adjust return type of
3507 init_device_func, fini_device_func, unload_image_func, free_func,
3508 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3509 * oacc-init.c (acc_shutdown_1): Handle false value from
3510 fini_device_func plugin hook.
3511 * oacc-host.c (host_init_device): Change return type to bool.
3512 (host_fini_device): Likewise.
3513 (host_unload_image): Likewise.
3514 (host_free): Likewise.
3515 (host_dev2host): Likewise.
3516 (host_host2dev): Likewise.
3517 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3518 (acc_memcpy_to_device): Likewise.
3519 (acc_memcpy_from_device): Likewise.
3520 (delete_copyout): Add libfnname parameter, handle free_func
3521 hook fatal error case.
3522 (acc_delete): Adjust delete_copyout call.
3523 (acc_copyout): Likewise.
3524 (update_dev_host): Move gomp_mutex_unlock to after
3525 host2dev/dev2host hook calls.
3526
3527 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3528 to 'hsa_error_msg', for clarity.
3529 (hsa_fatal): Likewise.
3530 (hsa_error): New function.
3531 (init_hsa_context): Change return type to bool, adjust to return
3532 false on error.
3533 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3534 return value.
3535 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3536 return false on error.
3537 (get_agent_info): Adjust to return NULL on error.
3538 (destroy_hsa_program): Change return type to bool, adjust to
3539 return false on error.
3540 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3541 (destroy_module): Change return type to bool, adjust to
3542 return false on error.
3543 (GOMP_OFFLOAD_unload_image): Likewise.
3544 (GOMP_OFFLOAD_fini_device): Likewise.
3545 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3546 (GOMP_OFFLOAD_free): Change to return false when called.
3547 (GOMP_OFFLOAD_dev2host): Likewise.
3548 (GOMP_OFFLOAD_host2dev): Likewise.
3549 (GOMP_OFFLOAD_dev2dev): Likewise.
3550
3551 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3552 (CUDA_CALL): Likewise.
3553 (CUDA_CALL_ASSERT): Likewise.
3554 (map_init): Change return type to bool, use CUDA_CALL* macros.
3555 (map_fini): Likewise.
3556 (init_streams_for_device): Change return type to bool, adjust
3557 call to map_init.
3558 (fini_streams_for_device): Change return type to bool, adjust
3559 call to map_fini.
3560 (select_stream_for_async): Release stream_lock before calls to
3561 GOMP_PLUGIN_fatal, adjust call to map_init.
3562 (nvptx_init): Use CUDA_CALL* macros.
3563 (nvptx_attach_host_thread_to_device): Change return type to bool,
3564 use CUDA_CALL* macros.
3565 (nvptx_open_device): Use CUDA_CALL* macros.
3566 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3567 macros.
3568 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3569 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3570 (nvptx_exec): Use CUDA_CALL* macros.
3571 (nvptx_alloc): Use CUDA_CALL* macros.
3572 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3573 (nvptx_host2dev): Likewise.
3574 (nvptx_dev2host): Likewise.
3575 (nvptx_wait): Use CUDA_CALL* macros.
3576 (nvptx_wait_async): Likewise.
3577 (nvptx_wait_all): Likewise.
3578 (nvptx_wait_all_async): Likewise.
3579 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3580 use CUDA_CALL* macros, adjust call to map_fini.
3581 (GOMP_OFFLOAD_init_device): Change return type to bool,
3582 adjust code accordingly.
3583 (GOMP_OFFLOAD_fini_device): Likewise.
3584 (GOMP_OFFLOAD_load_image): Adjust calls to
3585 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3586 use CUDA_CALL* macros.
3587 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3588 return code.
3589 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3590 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3591 handle error return.
3592 (GOMP_OFFLOAD_dev2host): Likewise.
3593 (GOMP_OFFLOAD_host2dev): Likewise.
3594 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3595 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3596
e46c7770
CP
35972016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3598
3599 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3600 (acc_free): Likewise.
3601 (acc_memcpy_to_device): Likewise.
3602 (acc_memcpy_from_device): Likewise.
3603 (acc_deviceptr): Likewise.
3604 (acc_hostptr): Likewise.
3605 (acc_is_present): Likewise.
3606 (acc_map_data): Likewise.
3607 (acc_unmap_data): Likewise.
3608 (present_create_copy): Likewise.
3609 (delete_copyout): Likewise.
3610 (update_dev_host): Likewise.
3611 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3612 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3613 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3614 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3615 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3616 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3617 it only runs on nvptx targets.
3618 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3619 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3621 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3622 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3623 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3624 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3625 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3626 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3627 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3628 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3629 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3630 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3631 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3632 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3633 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3634 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3635 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3636 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3637 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3638 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3639 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3640 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3641
a5057543
MJ
36422016-05-23 Martin Jambor <mjambor@suse.cz>
3643
3644 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3645
e37288a6
CLT
36462016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3647
3648 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3649 to gomp_init_targets_once.
3650 (acc_set_device_type): Remove !cached_base_dev condition on call to
3651 gomp_init_targets_once, move call to before acc_device_lock acquire,
3652 to avoid deadlock.
3653 (acc_get_device_num): Remove !cached_base_dev condition on call to
3654 gomp_init_targets_once.
3655 (acc_set_device_num): Likewise.
3656
51d9ed48
MJ
36572016-05-16 Martin Jambor <mjambor@suse.cz>
3658
92a285c1 3659 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 3660
5b37e866
NS
36612016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3662
3663 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3664 expected partitioning.
3665
e7ff0319
CP
36662016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3667
3668 PR middle-end/70626
3669 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3670 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3671 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3672
c2bd3b69
AM
36732016-04-21 Alexander Monakov <amonakov@ispras.ru>
3674
3675 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3676 non-fatal.
3677
84311083
JJ
36782016-04-19 Jakub Jelinek <jakub@redhat.com>
3679
3680 PR middle-end/70680
3681 * testsuite/libgomp.c/pr70680-1.c: New test.
3682 * testsuite/libgomp.c/pr70680-2.c: New test.
3683
aadc043f
CP
36842016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3685
3686 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3687 pass parameter variables to subroutines.
3688
e387fc64
CP
36892016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3690
3691 PR middle-end/70643
3692 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3693
10c3c424
CP
36942016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3695
3696 PR testsuite/68242
3697 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3698 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3699
27f9add3
TS
37002016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3701
58d32aeb
TS
3702 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3703 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3704 GOACC_declare prototype.
3705
d97633ef
TS
3706 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3707 Merge this file, and...
3708 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3709 ... this file, and...
3710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3711 ... this file, and...
3712 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3713 ... this file, and...
3714 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3715 ... this file, and...
3716 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3717 ... this file, and...
3718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3719 ... this file, and...
3720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3721 ... this file, and...
3722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3723 ... this file, and...
3724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3725 ... this file, and...
3726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3727 ... this file, and...
3728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3729 ... this file, and...
3730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3731 ... this file into...
3732 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3733 file.
3734
27f9add3
TS
3735 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3736 Make failure observable.
3737
21f3a236
JJ
37382016-04-12 Jakub Jelinek <jakub@redhat.com>
3739
3740 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3741 field.
3742 * target.c (gomp_target_fallback_firstprivate,
3743 gomp_target_unshare_firstprivate): Removed.
3744 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3745 before waiting for dependencies.
3746 (gomp_target_task_fn): Don't copy firstprivate vars here.
3747 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3748 firstprivate_copies here.
3749 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3750 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3751 explicit/implicit firstprivate.
3752
c42cfb5c
CP
37532016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3754
3755 PR lto/70289
3756 PR ipa/70348
3757 PR tree-optimization/70373
3758 PR middle-end/70533
3759 PR middle-end/70534
3760 PR middle-end/70535
3761 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3762 test.
3763 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3764 test.
3765 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3766 test.
3767 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3768 test.
3769 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3770 test.
3771 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3772 test.
3773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3774 test.
3775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3776 test.
3777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3778 test.
3779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3780 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3782 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3783 test.
3784 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3785 test.
3786 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3787 test.
3788 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3789 test.
3790 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3791 coverage.
3792 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3793 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3794 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3795 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3796 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3797 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3798 coverage.
3799 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3800 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3801 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3802 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3803 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3804 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3805 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3806 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3807 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3808 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3809 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3810 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3811 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3812 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3813 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3814
2620c80d
TS
38152016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3816 James Norris <jnorris@codesourcery.com>
3817 Nathan Sidwell <nathan@codesourcery.com>
3818 Julian Brown <julian@codesourcery.com>
3819 Cesar Philippidis <cesar@codesourcery.com>
3820 Chung-Lin Tang <cltang@codesourcery.com>
3821 Tom de Vries <tom@codesourcery.com>
3822
3823 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3824 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3825 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3826 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3827 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3831 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3832 XFAIL.
3833 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3834 Incorporate...
3835 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3836 file.
3837 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3838 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3839 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3840 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3841 Likewise.
3842 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3843 Likewise.
3844 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3845 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3846 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3847 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3848 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3849 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3850 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3851 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3852 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3853 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3854 Likewise.
3855 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3856 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3857 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3858 file...
3859 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3860 file into...
3861 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3862 file. Update.
3863 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3864 file.
3865 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3866 Likewise.
3867 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3868 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3869 ... this new file. Update.
3870 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3871 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3872 ... this new file. Update.
3873 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3874 file. Incorporate...
3875 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3876 file, and...
3877 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3878 file, and...
3879 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3880 file.
3881 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3882
ce83104b
TS
38832016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3884
3885 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3886 set-torture-options.
3887
6e0df3b7
TS
38882016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3889
3890 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3891 gcc-dg-runtest.
3892 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3893 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3894 -fno-builtin-acc_on_device instead of -O0.
3895 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3896 -O0.
3897 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3898 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3899 Likewise.
3900 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3901 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3902 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3903 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3904 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3905 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3906 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3907 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3908 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3909 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3910 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3911 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3912 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3913 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3914 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3915 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3916 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3917 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3918 Don't specify -O2.
3919 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3920 Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3922 Likewise.
3923
f9c8babb
ML
39242016-03-24 Martin Liska <mliska@suse.cz>
3925
3926 * plugin/plugin-hsa.c (packet_store_release): New function
3927 that is taken from the HSA runtime manual.
3928 (GOMP_OFFLOAD_run): Use the function.
3929
04833609
JJ
39302016-03-23 Jakub Jelinek <jakub@redhat.com>
3931
3932 PR c++/70376
3933 * testsuite/libgomp.c++/pr70376.C: New test.
3934
d79ee524
TV
39352016-03-23 Tom de Vries <tom@codesourcery.com>
3936
3937 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3938 initialization of lresult and lvresult.
3939 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3940
b6d1f2b5
JN
39412016-03-23 James Norris <jnorris@codesourcery.com>
3942 Daichi Fukuoka <dc-fukuoka@sgi.com>
3943
3944 PR libgomp/69414
3945 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3946 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3947 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3948 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3949
7397fce2
ML
39502016-03-23 Martin Liska <mliska@suse.cz>
3951
3952 PR hsa/70337
3953 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3954 argument just in case a dispatched kernel uses that argument.
3955
ee2e7d51
TS
39562016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3957
3958 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3959 -ftree-parallelize-loops/-fopenacc changes.
3960 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3961 Likewise.
3962 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3963 Likewise.
3964 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3965 Likewise.
3966 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3967 Likewise.
3968 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3969 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3970
be9f7143
TS
39712016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3972
3973 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3974 always_ld_library_path the path to libgcc_s.
3975
f6c1032d
CP
39762016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3977
3978 PR testsuite/70009
3979 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3980
5a6452e6
TV
39812016-03-09 Tom de Vries <tom@codesourcery.com>
3982
3983 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3984 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3985 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3986 Same.
3987 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3988 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3989 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3990 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3991
96a71bd5
MJ
39922016-03-07 Martin Jambor <mjambor@suse.cz>
3993
3994 * testsuite/lib/libgomp.exp
3995 (check_effective_target_hsa_offloading_selected_nocache): New.
3996 (check_effective_target_hsa_offloading_selected): Likewise.
3997 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3998 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3999 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4000 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4001 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4002 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4003 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4004 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4005 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4006 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4007 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4008 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4009 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4010 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4011 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4012 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4013 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4014
02e0b5b2
MJ
40152016-03-07 Martin Jambor <mjambor@suse.cz>
4016
4017 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4018 non-shared memory accelerators.
4019 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4020 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4021 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4022 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4023 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4024 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4025 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4026 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4027 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4028
45548f30
MJ
40292016-03-07 Martin Jambor <mjambor@suse.cz>
4030
4031 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4032 ALWAYS_CFLAGS.
4033
da3d46cb
JJ
40342016-03-02 Jakub Jelinek <jakub@redhat.com>
4035
4036 PR libgomp/69555
4037 * testsuite/libgomp.c++/pr69555-1.C: New test.
4038 * testsuite/libgomp.c++/pr69555-2.C: New test.
4039
622174b2
KM
40402016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4041 Martin Jambor <mjambor@suse.cz>
4042
4043 * testsuite/lib/libgomp.exp
4044 (check_effective_target_offload_device_shared_as): New proc.
4045 * testsuite/libgomp.c++/declare_target-1.C: New test.
4046
e6861a99
IV
40472016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4048
4049 PR driver/68463
4050 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4051
f99c3557
TS
40522016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4053
4054 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4055 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4056 dims.
4057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4058 -ftree-parallelize-loops/-fopenacc changes.
4059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4061 Likewise.
4062 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4063 Likewise.
4064 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4065 Likewise.
4066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4067 Likewise.
4068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4069 Likewise.
4070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4071 Likewise.
4072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4073 Likewise.
4074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4076 Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4078 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4079 Likewise.
4080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4082 Likewise.
4083
d5ace3b5
CP
40842016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4085
4086 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4087
f3609a89
JJ
40882016-02-19 Jakub Jelinek <jakub@redhat.com>
4089
4090 PR driver/69805
4091 * testsuite/libgomp.c/pr69805.c: New test.
4092
2175df99
TV
40932016-02-16 Tom de Vries <tom@codesourcery.com>
4094
4095 PR lto/67709
4096 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4097
17b6426c
TV
40982016-02-09 Tom de Vries <tom@codesourcery.com>
4099
4100 PR tree-optimization/69599
4101 * testsuite/libgomp.c/omp-nested-3.c: New test.
4102 * testsuite/libgomp.c/pr46032-2.c: New test.
4103 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4104 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4105
34df756c
TV
41062016-02-09 Tom de Vries <tom@codesourcery.com>
4107
4108 PR lto/69707
4109 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4110
5854ee30
AM
41112016-02-02 Alexander Monakov <amonakov@ispras.ru>
4112
4113 * testsuite/libgomp.c/target-31.c: Fix testcase.
4114
e70b6ad7
AM
41152016-02-02 Alexander Monakov <amonakov@ispras.ru>
4116
4117 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4118 clause.
4119 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4120 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4121 reduction and map clauses.
4122 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4123
bd78a45f
JN
41242016-02-02 James Norris <jnorris@codesourcery.com>
4125
4126 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4127
41d809d3
TS
41282016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4129
18f60146
TS
4130 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4131 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4132
1a06f5e6
TS
4133 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4134 cases.
4135
033ff3d1
TS
4136 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4137 variables.
4138 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4139 (hsa_kmt_lib): Set variables.
4140 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4141 always_ld_library_path.
4142 * Makefile.in: Regenerate.
4143 * configure: Likewise.
4144 * testsuite/Makefile.in: Likewise.
4145
4a88d9b7
TS
4146 * plugin/configfrag.ac (offload_additional_options)
4147 (offload_additional_lib_paths): Don't amend for hsa offloading.
4148 * configure: Regenerate.
4149
41d809d3
TS
4150 * plugin/configfrag.ac: Don't configure for offloading target if
4151 we don't build the corresponding plugin.
4152 * configure: Regenerate.
4153
b6adbb9f
NS
41542016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4155
4156 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4157 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4158
8dfdb419
TV
41592016-01-26 Tom de Vries <tom@codesourcery.com>
4160
4161 PR tree-optimization/69110
4162 * testsuite/libgomp.c/pr69110.c: New test.
4163
02ef53f2
RB
41642016-01-25 Richard Biener <rguenther@suse.de>
4165
4166 PR lto/69393
4167 * testsuite/libgomp.c++/pr69393.C: New testcase.
4168
eb4048f2
IV
41692016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4170
4171 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4172 function wasn't mapped to the device with non-shared memory.
4173
b235cdd5
IV
41742016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4175
4176 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4177
b2b40051
MJ
41782016-01-19 Martin Jambor <mjambor@suse.cz>
4179 Martin Liska <mliska@suse.cz>
4180
4181 * plugin/Makefrag.am: Add HSA plugin requirements.
4182 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4183 (HSA_RUNTIME_LIB): Likewise.
4184 (HSA_RUNTIME_CPPFLAGS): Likewise.
4185 (HSA_RUNTIME_INCLUDE): New substitution.
4186 (HSA_RUNTIME_LIB): Likewise.
4187 (HSA_RUNTIME_LDFLAGS): Likewise.
4188 (hsa-runtime): New configure option.
4189 (hsa-runtime-include): Likewise.
4190 (hsa-runtime-lib): Likewise.
4191 (PLUGIN_HSA): New substitution variable.
4192 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4193 configure options.
4194 (PLUGIN_HSA_CPPFLAGS): Likewise.
4195 (PLUGIN_HSA_LDFLAGS): Likewise.
4196 (PLUGIN_HSA_LIBS): Likewise.
4197 Check that we have access to HSA run-time.
4198 * libgomp-plugin.h (offload_target_type): New element
4199 OFFLOAD_TARGET_TYPE_HSA.
4200 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4201 args.
4202 (bool gomp_create_target_task): Updated.
4203 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4204 new field can_run_func.
4205 * libgomp_g.h (GOMP_target_ext): Update prototype.
4206 * oacc-host.c (host_run): Added a new parameter args.
4207 * target.c (calculate_firstprivate_requirements): New function.
4208 (copy_firstprivate_data): Likewise.
4209 (gomp_target_fallback_firstprivate): Use them.
4210 (gomp_target_unshare_firstprivate): New function.
4211 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4212 devices.
4213 (GOMP_target): Do host fallback for all shared memory devices. Do not
4214 pass any args to plugins.
4215 (GOMP_target_ext): Introduce device-specific argument parameter args.
4216 Allow host fallback if device shares memory. Do not remap data if
4217 device has shared memory.
4218 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4219 like host fallback for mappings.
4220 (GOMP_target_data): Treat shared memory devices like host fallback.
4221 (GOMP_target_data_ext): Likewise.
4222 (GOMP_target_update): Likewise.
4223 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4224 gomp_create_target_task.
4225 (GOMP_target_enter_exit_data): Likewise.
4226 (omp_target_alloc): Treat shared memory devices like host fallback.
4227 (omp_target_free): Likewise.
4228 (omp_target_is_present): Likewise.
4229 (omp_target_memcpy): Likewise.
4230 (omp_target_memcpy_rect): Likewise.
4231 (omp_target_associate_ptr): Likewise.
4232 (gomp_load_plugin_for_device): Also load can_run.
4233 * task.c (GOMP_PLUGIN_target_task_completion): Free
4234 firstprivate_copies.
4235 (gomp_create_target_task): Accept new argument args and store it to
4236 ttask.
4237 * plugin/plugin-hsa.c: New file.
4238
5d7804a9
TV
42392016-01-18 Tom de Vries <tom@codesourcery.com>
4240
4241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4242 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4243 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4244 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4245 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4246 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4247 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4248 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4249 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4250 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4251 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4252 Same.
4253 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4254 Same.
4255 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4256 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4258 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4259 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4260 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4261 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4262 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4263 Same.
4264 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4265
cb11f3cf
JJ
42662016-01-15 Jakub Jelinek <jakub@redhat.com>
4267
4268 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4269
33a126a6
CP
42702016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4271
4272 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4273
cdf6119d
JN
42742016-01-12 James Norris <jnorris@codesourcery.com>
4275
4276 * libgomp.texi: Updates for OpenACC.
4277
0d58938e
AM
42782016-01-11 Alexander Monakov <amonakov@ispras.ru>
4279
4280 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4281
95918b49
L
42822016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4283
4284 PR fortran/66680
4285 * testsuite/libgomp.fortran/pr66680.f90: New test.
4286
8fc708b7
JJ
42872016-01-07 Jakub Jelinek <jakub@redhat.com>
4288
4289 PR middle-end/68960
4290 * testsuite/libgomp.c/pr68960.c: New test.
4291
e9b596c1
NS
42922016-01-06 Nathan Sidwell <nathan@acm.org>
4293
1a14faf2 4294 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
4295 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4296
21fa2a29
JJ
42972016-01-04 Jakub Jelinek <jakub@redhat.com>
4298
818ab71a
JJ
4299 Update copyright years.
4300
21fa2a29
JJ
4301 * libgomp.texi: Bump @copying's copyright year.
4302
9310efbc
NS
43032015-12-31 Nathan Sidwell <nathan@acm.org>
4304
4305 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4306 dg-additional-options syntax.
4307 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4308 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4309 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4311 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4312 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4313 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4314 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4315 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4316 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4317 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4318 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4319 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4320 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4321 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4325
4a38b02b
IV
43262015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4327
4328 * libgomp.h (REFCOUNT_LINK): Define.
4329 (struct splay_tree_key_s): Add link_key.
4330 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4331 Replace target address of the pointer with target address of newly
4332 mapped object in the splay tree. Set link pointer on target to the
4333 device address of the mapped object.
4334 (gomp_unmap_vars): Restore target address of the pointer in the splay
4335 tree for REFCOUNT_LINK objects after unmapping.
4336 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4337 declare target link" objects.
4338 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4339 "omp declare target link" objects, which were mapped for the image.
4340 (gomp_exit_data): Restore target address of the pointer in the splay
4341 tree for REFCOUNT_LINK objects after unmapping.
4342 * testsuite/libgomp.c/target-link-1.c: New file.
4343
d84ffc0a
IV
43442015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4345
4346 * libgomp.h (gomp_device_state): New enum.
4347 (struct gomp_device_descr): Replace is_initialized with state.
4348 (gomp_fini_device): Remove declaration.
4349 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4350 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4351 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4352 (acc_set_device_type): Use state instead of is_initialized.
4353 (acc_set_device_num): Likewise.
4354 * target.c (resolve_device): Use state instead of is_initialized.
4355 Do not initialize finalized device.
4356 (gomp_map_vars): Do nothing if device is finalized.
4357 (gomp_unmap_vars): Likewise.
4358 (gomp_update): Likewise.
4359 (GOMP_offload_register_ver): Use state instead of is_initialized.
4360 (GOMP_offload_unregister_ver): Likewise.
4361 (gomp_init_device): Likewise.
4362 (gomp_unload_device): Likewise.
4363 (gomp_fini_device): Remove.
4364 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4365 (GOMP_target): Go to host fallback if device is finalized.
4366 (GOMP_target_ext): Likewise.
4367 (gomp_exit_data): Do nothing if device is finalized.
4368 (gomp_target_task_fn): Go to host fallback if device is finalized.
4369 (gomp_target_fini): New static function.
4370 (gomp_target_init): Use state instead of is_initialized.
4371 Call gomp_target_fini at exit.
4372
76680678
TV
43732015-12-09 Tom de Vries <tom@codesourcery.com>
4374
4375 PR tree-optimization/68716
4376 * testsuite/libgomp.c/omp-nested-2.c: New test.
4377
ff7a55bf
TS
43782015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4379
4380 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4381 target openacc_nvidia_accel_selected.
4382 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4383 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4384 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4385 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4386
37d5ad46
JB
43872015-12-01 Julian Brown <julian@codesourcery.com>
4388 James Norris <James_Norris@mentor.com>
4389
4390 * oacc-parallel.c (GOACC_host_data): New function.
4391 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4392 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4393 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4394 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4395 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4396 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4397 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4398
db941d7e
CP
43992015-11-30 James Norris <jnorris@codesourcery.com>
4400 Cesar Philippidis <cesar@codesourcery.com>
4401
4402 libgomp/
4403 * libgomp.oacc-fortran/routine-5.f90: New test.
4404 * libgomp.oacc-fortran/routine-7.f90: New test.
4405 * libgomp.oacc-fortran/routine-9.f90: New test.
4406
e0ca27c5
TV
44072015-11-30 Tom de Vries <tom@codesourcery.com>
4408
4409 PR tree-optimization/46032
4410 * testsuite/libgomp.c/pr46032.c: New test.
4411
aec17bfe
JJ
44122015-11-27 Jakub Jelinek <jakub@redhat.com>
4413
8e4e4719
JJ
4414 PR libgomp/68579
4415 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4416 (gomp_create_target_task): Call it before freeing
4417 GOMP_TARGET_TASK_DATA tasks.
4418
aec17bfe
JJ
4419 PR c/63326
4420 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4421 in between case label and OpenMP standalone directives.
4422 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4423
6cfe90e6
DE
44242015-11-26 David Edelsohn <dje.gcc@gmail.com>
4425
4426 * configure: Regenerate.
4427
0e65fd7d
JJ
44282015-11-26 Jakub Jelinek <jakub@redhat.com>
4429
4430 * testsuite/libgomp.c/target-35.c: New test.
4431
dc7a8b4b
JN
44322015-11-22 James Norris <jnorris@codesourcery.com>
4433 Cesar Philippidis <cesar@codesourcery.com>
4434
4435 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4436 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4437 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4438 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4439 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4440
48a78aee
JJ
44412015-11-20 Jakub Jelinek <jakub@redhat.com>
4442
4443 PR middle-end/68221
4444 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4445 * testsuite/libgomp.c/reduction-12.c: Likewise.
4446 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4447 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4448
2d256816
NS
44492015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4450
4451 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4452 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4453 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4454 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4455 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4456 and fix.
4457 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4458 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4459
33f47f42
NS
44602015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4461
4462 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4463 worker & gang cases.
4464 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4465
3d7bfee0
CP
44662015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4467
4468 * config/nvptx/priority_queue.c: New file.
4469
00b9bd52
JJ
44702015-11-14 Jakub Jelinek <jakub@redhat.com>
4471
4472 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4473 sections.
4474
e4606348
JJ
44752015-11-14 Jakub Jelinek <jakub@redhat.com>
4476 Aldy Hernandez <aldyh@redhat.com>
4477 Ilya Verbin <ilya.verbin@intel.com>
4478
4479 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4480 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4481 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4482 iterators or IV by chunk size.
4483 * parallel.c (gomp_resolve_num_threads): Don't assume that
4484 if thr->ts.team is non-NULL, then pool must be non-NULL.
4485 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4486 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4487 GOMP_PLUGIN_target_task_completion.
4488 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4489 * Makefile.in: Regenerate.
4490 * libgomp.h: Shuffle prototypes and forward definitions around so
4491 priority queues can be defined.
4492 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4493 (enum gomp_target_task_state): New enum.
4494 (struct gomp_target_task): Add state, tgt, task and team fields.
4495 (gomp_create_target_task): Change return type to bool, add
4496 state argument.
4497 (gomp_target_task_fn): Change return type to bool.
4498 (struct gomp_device_descr): Add async_run_func.
4499 (struct gomp_task): Remove children, next_child, prev_child,
4500 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4501 Add pnode field.
4502 (struct gomp_taskgroup): Remove children.
4503 Add taskgroup_queue.
4504 (struct gomp_team): Change task_queue type to a priority queue.
4505 (splay_compare): Define inline.
4506 (priority_queue_offset): New.
4507 (priority_node_to_task): New.
4508 (task_to_priority_node): New.
4509 * oacc-mem.c: Do not include splay-tree.h.
4510 * priority_queue.c: New file.
4511 * priority_queue.h: New file.
4512 * splay-tree.c: Do not include splay-tree.h.
4513 (splay_tree_foreach_internal): New.
4514 (splay_tree_foreach): New.
4515 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4516 (splay_tree_callback): Define typedef.
4517 * target.c (splay_compare): Move to libgomp.h.
4518 (GOMP_target): Don't adjust *thr in any way around running offloaded
4519 task.
4520 (GOMP_target_ext): Likewise. Handle target nowait.
4521 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4522 return value from gomp_create_target_task, if false, fallthrough
4523 as if no dependencies exist.
4524 (gomp_target_task_fn): Change return type to bool, return true
4525 if the task should have another part scheduled later. Handle
4526 target nowait.
4527 (gomp_load_plugin_for_device): Initialize async_run.
4528 * task.c (gomp_init_task): Initialize children_queue.
4529 (gomp_clear_parent_in_list): New.
4530 (gomp_clear_parent_in_tree): New.
4531 (gomp_clear_parent): Handle priorities.
4532 (GOMP_task): Likewise.
4533 (priority_queue_move_task_first,
4534 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4535 New functions.
4536 (gomp_create_target_task): Use priority queues. Change return type
4537 to bool, add state argument, return false if for async
4538 {{enter,exit} data,update} constructs no dependencies need to be
4539 waited for, handle target nowait. Set task->fn to NULL instead of
4540 gomp_target_task_fn.
4541 (verify_children_queue): Remove.
4542 (priority_list_upgrade_task): New.
4543 (priority_queue_upgrade_task): New.
4544 (verify_task_queue): Remove.
4545 (priority_list_downgrade_task): New.
4546 (priority_queue_downgrade_task): New.
4547 (gomp_task_run_pre): Use priority queues.
4548 Abstract code out to priority_queue_downgrade_task.
4549 (gomp_task_run_post_handle_dependers): Use priority queues.
4550 (gomp_task_run_post_remove_parent): Likewise.
4551 (gomp_task_run_post_remove_taskgroup): Likewise.
4552 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4553 tasks specially.
4554 (GOMP_taskwait): Likewise.
4555 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4556 priority-queue_upgrade_task.
4557 (GOMP_taskgroup_start): Use priority queues.
4558 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4559 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4560 barrier.
4561 * taskloop.c (GOMP_taskloop): Handle priorities.
4562 * team.c (gomp_new_team): Call priority_queue_init.
4563 (free_team): Call priority_queue_free.
4564 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4565 team created for target nowait in implicit parallel region.
4566 (gomp_team_start): For nested check, test thr->ts.level instead of
4567 thr->ts.team != NULL.
4568 * testsuite/libgomp.c/doacross-3.c: New test.
4569 * testsuite/libgomp.c/ordered-5.c: New test.
4570 * testsuite/libgomp.c/priority.c: New test.
4571 * testsuite/libgomp.c/target-31.c: New test.
4572 * testsuite/libgomp.c/target-32.c: New test.
4573 * testsuite/libgomp.c/target-33.c: New test.
4574 * testsuite/libgomp.c/target-34.c: New test.
4575
1d1ab74f
NS
45762015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4577
c5a64cfe
NS
4578 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4579
1d1ab74f
NS
4580 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4581 loop is sequential.
4582
dd3c1b14
NS
45832015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4584
4585 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4586 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4587
6e232ba4
JN
45882015-11-12 James Norris <jnorris@codesourcery.com>
4589 Joseph Myers <joseph@codesourcery.com>
4590
4591 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4592 * oacc-parallel.c (GOACC_declare): New function.
4593 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4594 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4595 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4596 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4597 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4598
fffeedeb
NS
45992015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4600
4601 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4602
182190f2
NS
46032015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4604
4605 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4606 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4607
36fa0f5f
NS
46082015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4609
d350c40c
NS
4610 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4611 inadvertent commit.
4612
46132015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4614
36fa0f5f
NS
4615 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4616 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4617 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4618 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4619 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4620
66a5f0b4
TS
46212015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4622
4623 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4624 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4625
e01d41e5
JJ
46262015-11-05 Jakub Jelinek <jakub@redhat.com>
4627 Ilya Verbin <ilya.verbin@intel.com>
4628
4629 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4630 GOMP_loop_nonmonotonic_dynamic_start,
4631 GOMP_loop_nonmonotonic_guided_next,
4632 GOMP_loop_nonmonotonic_guided_start,
4633 GOMP_loop_ull_nonmonotonic_dynamic_next,
4634 GOMP_loop_ull_nonmonotonic_dynamic_start,
4635 GOMP_loop_ull_nonmonotonic_guided_next,
4636 GOMP_loop_ull_nonmonotonic_guided_start,
4637 GOMP_parallel_loop_nonmonotonic_dynamic,
4638 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4639 (GOMP_target_41): Renamed to ...
4640 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4641 arguments.
4642 (GOMP_target_data_41): Renamed to ...
4643 (GOMP_target_data_ext): ... this.
4644 (GOMP_target_update_41): Renamed to ...
4645 (GOMP_target_update_ext): ... this.
4646 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4647 GOMP_target_data_ext and GOMP_target_update_ext instead of
4648 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4649 Export GOMP_loop_nonmonotonic_dynamic_next,
4650 GOMP_loop_nonmonotonic_dynamic_start,
4651 GOMP_loop_nonmonotonic_guided_next,
4652 GOMP_loop_nonmonotonic_guided_start,
4653 GOMP_loop_ull_nonmonotonic_dynamic_next,
4654 GOMP_loop_ull_nonmonotonic_dynamic_start,
4655 GOMP_loop_ull_nonmonotonic_guided_next,
4656 GOMP_loop_ull_nonmonotonic_guided_start,
4657 GOMP_parallel_loop_nonmonotonic_dynamic and
4658 GOMP_parallel_loop_nonmonotonic_guided.
4659 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4660 GOMP_parallel_loop_nonmonotonic_guided,
4661 GOMP_loop_nonmonotonic_dynamic_start,
4662 GOMP_loop_nonmonotonic_guided_start,
4663 GOMP_loop_nonmonotonic_dynamic_next,
4664 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4665 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4666 GOMP_loop_ull_nonmonotonic_guided_start,
4667 GOMP_loop_ull_nonmonotonic_dynamic_next,
4668 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4669 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4670 functions.
4671 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4672 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4673 Use gomp_map_val function.
4674 (gomp_target_fallback_firstprivate): New static function.
4675 (GOMP_target_41): Renamed to ...
4676 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4677 arguments. Move firstprivate fallback handling into a new
4678 function.
4679 (GOMP_target_data_41): Renamed to ...
4680 (GOMP_target_data_ext): ... this.
4681 (GOMP_target_update_41): Renamed to ...
4682 (GOMP_target_update_ext): ... this.
4683 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4684 gomp_map_0len_lookup instead of gomp_map_lookup.
4685 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4686 gomp_map_lookup.
4687 * testsuite/libgomp.c/target-28.c: Likewise.
4688 * testsuite/libgomp.c/monotonic-1.c: New test.
4689 * testsuite/libgomp.c/monotonic-2.c: New test.
4690 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4691 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4692 * testsuite/libgomp.c/pr66199-5.c: New test.
4693 * testsuite/libgomp.c/pr66199-6.c: New test.
4694 * testsuite/libgomp.c/pr66199-7.c: New test.
4695 * testsuite/libgomp.c/pr66199-8.c: New test.
4696 * testsuite/libgomp.c/pr66199-9.c: New test.
4697 * testsuite/libgomp.c/reduction-11.c: New test.
4698 * testsuite/libgomp.c/reduction-12.c: New test.
4699 * testsuite/libgomp.c/reduction-13.c: New test.
4700 * testsuite/libgomp.c/reduction-14.c: New test.
4701 * testsuite/libgomp.c/reduction-15.c: New test.
4702 * testsuite/libgomp.c/target-12.c (main): Adjust for
4703 omp_target_is_present change for one-past-last element.
4704 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4705 the same var is both mapped and privatized.
4706 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4707 handling of zero-length array sections.
4708 * testsuite/libgomp.c/target-28.c: New test.
4709 * testsuite/libgomp.c/target-29.c: New test.
4710 * testsuite/libgomp.c/target-30.c: New test.
4711 * testsuite/libgomp.c/target-teams-1.c: New test.
4712 * testsuite/libgomp.c++/member-6.C: New test.
4713 * testsuite/libgomp.c++/member-7.C: New test.
4714 * testsuite/libgomp.c++/monotonic-1.C: New test.
4715 * testsuite/libgomp.c++/monotonic-2.C: New test.
4716 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4717 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4718 * testsuite/libgomp.c++/pr66199-3.C: New test.
4719 * testsuite/libgomp.c++/pr66199-4.C: New test.
4720 * testsuite/libgomp.c++/pr66199-5.C: New test.
4721 * testsuite/libgomp.c++/pr66199-6.C: New test.
4722 * testsuite/libgomp.c++/pr66199-7.C: New test.
4723 * testsuite/libgomp.c++/pr66199-8.C: New test.
4724 * testsuite/libgomp.c++/pr66199-9.C: New test.
4725 * testsuite/libgomp.c++/reduction-11.C: New test.
4726 * testsuite/libgomp.c++/reduction-12.C: New test.
4727 * testsuite/libgomp.c++/target-13.C: New test.
4728 * testsuite/libgomp.c++/target-14.C: New test.
4729 * testsuite/libgomp.c++/target-15.C: New test.
4730 * testsuite/libgomp.c++/target-16.C: New test.
4731 * testsuite/libgomp.c++/target-17.C: New test.
4732 * testsuite/libgomp.c++/target-18.C: New test.
4733 * testsuite/libgomp.c++/target-19.C: New test.
4734
ccc8282b
NS
47352015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4736
4737 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4738 and reduction copy.
4739 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4740 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4741 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4742 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4743 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4744 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4745 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4746 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4747 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4748 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4749 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4750 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4751 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4752 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4753
5d6823a2
NS
47542015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4755
4756 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4757 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4758 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4759 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4760 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4761 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4762 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4763 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4764
5c06742f
NS
47652015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4766
4767 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4768 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4769 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4770 * oacc-host.c (host_openacc_exec): Likewise.
4771 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4772
4bf9e5a8
TS
47732015-11-03 Julian Brown <julian@codesourcery.com>
4774 Thomas Schwinge <thomas@codesourcery.com>
4775
4776 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4777 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4778 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4779 Likewise.
4780 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4781 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4782
47832015-11-03 James Norris <jnorris@codesourcery.com>
4784
4785 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4786 file.
4787 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4788 Likewise.
4789 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4790 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4791 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4792 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4793 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4794
a0e701d8
NS
47952015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4796
4797 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4798 compatibility.
4799 (enum acc_async_t): Reformat.
4800 (acc_on_device): Declare compatible with builtin and provide C++
4801 wrapper.
4802 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4803
41e977ac
TS
48042015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4805 Cesar Philippidis <cesar@codesourcery.com>
4806
4807 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4808 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4809 ... this. Add a description of the test at the top of the file.
4810 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4811 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4812 ... this. Add a description of the test at the top of the file.
4813
e3091406
NS
48142015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4815
4816 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4817 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4818 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4819 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4820 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4821 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4822
a1c1908b
NS
48232015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4824
4825 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4826 dimensions.
4827
b3962a4a
TS
48282015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4829
4830 PR testsuite/68063
4831 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4832
88bae6f4
TS
48332015-10-27 James Norris <jnorris@codesourcery.com>
4834
4835 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4836 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4837
8baa7864
TS
48382015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4839
bdeb752c
TS
4840 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4841 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4842
ecd4fd43
TS
4843 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4844 acc_device_nvidia usage.
4845 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4847 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4848
aa8b7d30
TS
4849 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4850 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4851
7c8f138d
TS
4852 PR libgomp/66518
4853 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4854
8baa7864
TS
4855 PR libgomp/65437
4856 PR libgomp/66518
4857 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4858 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4859
88ebcde5
TV
48602015-10-23 Tom de Vries <tom@codesourcery.com>
4861
4862 PR testsuite/68063
4863 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4864
9ef83c04
NS
48652015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4866
4867 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4868 vector_length.
4869 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4870
3837c6d6
IV
48712015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4872 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4873
4874 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4875 to 0 when mapnum is 0.
4876
ac8a1965
SH
48772015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4878
4879 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4880 Cast to int from int32_t.
4881
d9a6bd32
JJ
48822015-10-13 Jakub Jelinek <jakub@redhat.com>
4883 Aldy Hernandez <aldyh@redhat.com>
4884 Ilya Verbin <ilya.verbin@intel.com>
4885
4886 * config/linux/affinity.c (omp_get_place_num_procs,
4887 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4888 * config/linux/doacross.h: New file.
4889 * config/posix/affinity.c (omp_get_place_num_procs,
4890 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4891 * config/posix/doacross.h: New file.
4892 * env.c: Include gomp-constants.h.
4893 (struct gomp_task_icv): Rename run_sched_modifier to
4894 run_sched_chunk_size.
4895 (gomp_max_task_priority_var): New variable.
4896 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4897 (handle_omp_display_env): Change _OPENMP value from 201307 to
4898 201511. Print OMP_MAX_TASK_PRIORITY.
4899 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4900 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4901 chunk_size and run_sched_modifier to run_sched_chunk_size.
4902 (omp_get_max_task_priority, omp_get_initial_device,
4903 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4904 omp_get_partition_place_nums): New functions.
4905 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4906 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4907 to chunk_size.
4908 (omp_get_num_places_, omp_get_place_num_procs_,
4909 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4910 omp_get_place_proc_ids_8_, omp_get_place_num_,
4911 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4912 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4913 omp_get_max_task_priority_): New functions.
4914 * libgomp_g.h (GOMP_loop_doacross_static_start,
4915 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4916 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4917 GOMP_loop_ull_doacross_dynamic_start,
4918 GOMP_loop_ull_doacross_guided_start,
4919 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4920 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4921 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4922 GOMP_target_data_41, GOMP_target_update_41,
4923 GOMP_target_enter_exit_data): New prototypes.
4924 (GOMP_task): Add prototype argument.
4925 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4926 (struct gomp_doacross_work_share): New type.
4927 (struct gomp_work_share): Add doacross field.
4928 (struct gomp_task_icv): Rename run_sched_modifier to
4929 run_sched_chunk_size.
4930 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4931 GOMP_TASK_UNDEFERRED. Add comments.
4932 (struct gomp_task_depend_entry): Add comments.
4933 (struct gomp_task): Likewise.
4934 (struct gomp_taskgroup): Likewise.
4935 (struct gomp_target_task): New type.
4936 (struct gomp_team): Add comment.
4937 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4938 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4939 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4940 (struct target_var_desc): New type.
4941 (struct target_mem_desc): Adjust comment. Use struct
4942 target_var_desc instead of splay_tree_key for list.
4943 (REFCOUNT_INFINITY): Define.
4944 (struct splay_tree_key_s): Remove copy_from field.
4945 (struct gomp_device_descr): Add dev2dev_func field.
4946 (enum gomp_map_vars_kind): New enum.
4947 (gomp_map_vars): Add one argument.
4948 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4949 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4950 omp_get_place_num_procs, omp_get_place_num_procs_,
4951 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4952 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4953 omp_get_place_num_, omp_get_partition_num_places,
4954 omp_get_partition_num_places_, omp_get_partition_place_nums,
4955 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4956 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4957 omp_target_free, omp_target_is_present, omp_target_memcpy,
4958 omp_target_memcpy_rect, omp_target_associate_ptr and
4959 omp_target_disassociate_ptr.
4960 (GOMP_4.0.2): Renamed to ...
4961 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4962 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4963 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4964 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4965 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4966 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4967 GOMP_loop_ull_doacross_guided_start,
4968 GOMP_loop_ull_doacross_runtime_start,
4969 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4970 GOMP_doacross_ull_wait.
4971 * libgomp.texi: Document omp_get_max_task_priority.
4972 Rename modifier argument to chunk_size for omp_set_schedule and
4973 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4974 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4975 to run_sched_chunk_size renaming.
4976 (GOMP_loop_ordered_runtime_start): Likewise.
4977 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4978 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4979 GOMP_parallel_loop_runtime_start): New functions.
4980 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4981 to run_sched_chunk_size renaming.
4982 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4983 GOMP_loop_doacross_guided_start): New functions or aliases.
4984 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4985 run_sched_modifier to run_sched_chunk_size renaming.
4986 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4987 (gomp_loop_ull_doacross_static_start,
4988 gomp_loop_ull_doacross_dynamic_start,
4989 gomp_loop_ull_doacross_guided_start,
4990 GOMP_loop_ull_doacross_runtime_start): New functions.
4991 (GOMP_loop_ull_doacross_static_start,
4992 GOMP_loop_ull_doacross_dynamic_start,
4993 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4994 * oacc-mem.c (acc_map_data, present_create_copy,
4995 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4996 to gomp_map_vars.
4997 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4998 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4999 instead of false to gomp_map_vars.
5000 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5001 * omp.h.in (omp_lock_hint_t): New type.
5002 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5003 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5004 omp_get_place_num, omp_get_partition_num_places,
5005 omp_get_partition_place_nums, omp_get_initial_device,
5006 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5007 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5008 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5009 prototypes.
5010 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5011 (omp_lock_hint_none, omp_lock_hint_uncontended,
5012 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5013 omp_lock_hint_speculative): New parameters.
5014 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5015 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5016 omp_get_place_num, omp_get_partition_num_places,
5017 omp_get_partition_place_nums, omp_get_initial_device,
5018 omp_get_max_task_priority): New interfaces.
5019 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5020 to chunk_size.
5021 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5022 (omp_lock_hint_none, omp_lock_hint_uncontended,
5023 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5024 omp_lock_hint_speculative): New parameters.
5025 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5026 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5027 omp_get_place_num, omp_get_partition_num_places,
5028 omp_get_partition_place_nums, omp_get_initial_device,
5029 omp_get_max_task_priority): New functions and subroutines.
5030 * ordered.c: Include stdarg.h and string.h.
5031 (MAX_COLLAPSED_BITS): Define.
5032 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5033 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5034 GOMP_doacross_ull_wait): New functions.
5035 * target.c: Include errno.h.
5036 (resolve_device): If device is not initialized, call
5037 gomp_init_device on it.
5038 (gomp_map_lookup): New function.
5039 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5040 Don't bump refcount if REFCOUNT_INFINITY. Handle
5041 GOMP_MAP_ALWAYS_TO_P.
5042 (get_kind): Rename is_openacc argument to short_mapkind.
5043 (gomp_map_pointer): Use gomp_map_lookup.
5044 (gomp_map_fields_existing): New function.
5045 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5046 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5047 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5048 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5049 Adjust for tgt->list changed type and copy_from living in there.
5050 (gomp_copy_from_async): Adjust for tgt->list changed type and
5051 copy_from living in there.
5052 (gomp_unmap_vars): Likewise.
5053 (gomp_update): Likewise. Rename is_openacc argument to
5054 short_mapkind. Don't fail if object is not mapped.
5055 (gomp_load_image_to_device): Initialize refcount to
5056 REFCOUNT_INFINITY.
5057 (gomp_target_fallback): New function.
5058 (gomp_get_target_fn_addr): Likewise.
5059 (GOMP_target): Adjust gomp_map_vars caller, use
5060 gomp_get_target_fn_addr and gomp_target_fallback.
5061 (GOMP_target_41): New function.
5062 (gomp_target_data_fallback): New function.
5063 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5064 (GOMP_target_data_41): New function.
5065 (GOMP_target_update): Adjust gomp_update caller.
5066 (GOMP_target_update_41): New function.
5067 (gomp_exit_data, GOMP_target_enter_exit_data,
5068 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5069 omp_target_is_present, omp_target_memcpy,
5070 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5071 omp_target_associate_ptr, omp_target_disassociate_ptr,
5072 gomp_load_plugin_for_device): New functions.
5073 * task.c: Include gomp-constants.h. Include taskloop.c
5074 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5075 (gomp_task_handle_depend): New function.
5076 (GOMP_task): Use it. Add priority argument. Use
5077 gomp-constant.h constants instead of hardcoded numbers.
5078 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5079 (gomp_create_target_task): New function.
5080 (verify_children_queue, verify_taskgroup_queue,
5081 verify_task_queue): New functions.
5082 (gomp_task_run_pre): Call verify_*_queue functions.
5083 If an upcoming tied task is about to leave the sibling or
5084 taskgroup queues in an invalid state, adjust appropriately.
5085 Remove taskgroup argument. Add comments.
5086 (gomp_task_run_post_handle_dependers): Add comments.
5087 (gomp_task_run_post_remove_parent): Likewise.
5088 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5089 (GOMP_taskwait): Likewise. Add comments.
5090 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5091 problem such that the first non parent_depends_on task does not
5092 end up at the end of the children queue.
5093 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5094 GOMP_TASK_UNDEFERRED.
5095 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5096 * taskloop.c: New file.
5097 * testsuite/lib/libgomp.exp
5098 (check_effective_target_offload_device_nonshared_as): New proc.
5099 * testsuite/libgomp.c/affinity-2.c: New test.
5100 * testsuite/libgomp.c/doacross-1.c: New test.
5101 * testsuite/libgomp.c/doacross-2.c: New test.
5102 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5103 Add map clause to target.
5104 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5105 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5106 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5107 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5108 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5109 Likewise.
5110 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5111 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5112 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5113 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5114 not defined. Use those where needed.
5115 * testsuite/libgomp.c/for-4.c: New test.
5116 * testsuite/libgomp.c/for-5.c: New test.
5117 * testsuite/libgomp.c/for-6.c: New test.
5118 * testsuite/libgomp.c/linear-1.c: New test.
5119 * testsuite/libgomp.c/ordered-4.c: New test.
5120 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5121 only allowed on the loop iterator.
5122 * testsuite/libgomp.c/pr66199-3.c: New test.
5123 * testsuite/libgomp.c/pr66199-4.c: New test.
5124 * testsuite/libgomp.c/reduction-7.c: New test.
5125 * testsuite/libgomp.c/reduction-8.c: New test.
5126 * testsuite/libgomp.c/reduction-9.c: New test.
5127 * testsuite/libgomp.c/reduction-10.c: New test.
5128 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5129 map(tofrom:s).
5130 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5131 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5132 * testsuite/libgomp.c/target-11.c: New test.
5133 * testsuite/libgomp.c/target-12.c: New test.
5134 * testsuite/libgomp.c/target-13.c: New test.
5135 * testsuite/libgomp.c/target-14.c: New test.
5136 * testsuite/libgomp.c/target-15.c: New test.
5137 * testsuite/libgomp.c/target-16.c: New test.
5138 * testsuite/libgomp.c/target-17.c: New test.
5139 * testsuite/libgomp.c/target-18.c: New test.
5140 * testsuite/libgomp.c/target-19.c: New test.
5141 * testsuite/libgomp.c/target-20.c: New test.
5142 * testsuite/libgomp.c/target-21.c: New test.
5143 * testsuite/libgomp.c/target-22.c: New test.
5144 * testsuite/libgomp.c/target-23.c: New test.
5145 * testsuite/libgomp.c/target-24.c: New test.
5146 * testsuite/libgomp.c/target-25.c: New test.
5147 * testsuite/libgomp.c/target-26.c: New test.
5148 * testsuite/libgomp.c/target-27.c: New test.
5149 * testsuite/libgomp.c/taskloop-1.c: New test.
5150 * testsuite/libgomp.c/taskloop-2.c: New test.
5151 * testsuite/libgomp.c/taskloop-3.c: New test.
5152 * testsuite/libgomp.c/taskloop-4.c: New test.
5153 * testsuite/libgomp.c++/ctor-13.C: New test.
5154 * testsuite/libgomp.c++/doacross-1.C: New test.
5155 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5156 Replace offload_device with offload_device_nonshared_as.
5157 * testsuite/libgomp.c++/for-12.C: New test.
5158 * testsuite/libgomp.c++/for-13.C: New test.
5159 * testsuite/libgomp.c++/for-14.C: New test.
5160 * testsuite/libgomp.c++/linear-1.C: New test.
5161 * testsuite/libgomp.c++/member-1.C: New test.
5162 * testsuite/libgomp.c++/member-2.C: New test.
5163 * testsuite/libgomp.c++/member-3.C: New test.
5164 * testsuite/libgomp.c++/member-4.C: New test.
5165 * testsuite/libgomp.c++/member-5.C: New test.
5166 * testsuite/libgomp.c++/ordered-1.C: New test.
5167 * testsuite/libgomp.c++/reduction-5.C: New test.
5168 * testsuite/libgomp.c++/reduction-6.C: New test.
5169 * testsuite/libgomp.c++/reduction-7.C: New test.
5170 * testsuite/libgomp.c++/reduction-8.C: New test.
5171 * testsuite/libgomp.c++/reduction-9.C: New test.
5172 * testsuite/libgomp.c++/reduction-10.C: New test.
5173 * testsuite/libgomp.c++/reference-1.C: New test.
5174 * testsuite/libgomp.c++/simd14.C: New test.
5175 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5176 * testsuite/libgomp.c++/target-5.C: New test.
5177 * testsuite/libgomp.c++/target-6.C: New test.
5178 * testsuite/libgomp.c++/target-7.C: New test.
5179 * testsuite/libgomp.c++/target-8.C: New test.
5180 * testsuite/libgomp.c++/target-9.C: New test.
5181 * testsuite/libgomp.c++/target-10.C: New test.
5182 * testsuite/libgomp.c++/target-11.C: New test.
5183 * testsuite/libgomp.c++/target-12.C: New test.
5184 * testsuite/libgomp.c++/taskloop-1.C: New test.
5185 * testsuite/libgomp.c++/taskloop-2.C: New test.
5186 * testsuite/libgomp.c++/taskloop-3.C: New test.
5187 * testsuite/libgomp.c++/taskloop-4.C: New test.
5188 * testsuite/libgomp.c++/taskloop-5.C: New test.
5189 * testsuite/libgomp.c++/taskloop-6.C: New test.
5190 * testsuite/libgomp.c++/taskloop-7.C: New test.
5191 * testsuite/libgomp.c++/taskloop-8.C: New test.
5192 * testsuite/libgomp.c++/taskloop-9.C: New test.
5193 * testsuite/libgomp.fortran/affinity1.f90: New test.
5194 * testsuite/libgomp.fortran/affinity2.f90: New test.
5195
1f600fea
TV
51962015-10-13 Tom de Vries <tom@codesourcery.com>
5197
5198 PR tree-optimization/67476
5199 * testsuite/libgomp.c/autopar-3.c: New test.
5200 * testsuite/libgomp.c/autopar-4.c: New test.
5201 * testsuite/libgomp.c/autopar-5.c: New test.
5202 * testsuite/libgomp.c/autopar-6.c: New test.
5203 * testsuite/libgomp.c/autopar-7.c: New test.
5204 * testsuite/libgomp.c/autopar-8.c: New test.
5205
058a654b
JN
52062015-10-12 James Norris <jnorris@codesourcery.com>
5207
5208 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5209 initializer.
5210
9e531d37
DM
52112015-10-09 David Malcolm <dmalcolm@redhat.com>
5212
5213 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5214 using load_gcc_lib.
5215
113020dc
TS
52162015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5217
5218 * oacc-ptx.h: Remove file, moving its content into...
5219 * config/nvptx/fortran.c: ... here...
5220 * config/nvptx/oacc-init.c: ..., here...
5221 * config/nvptx/oacc-parallel.c: ..., and here.
5222 * config/nvptx/openacc.f90: New file.
5223 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5224 (link_ptx): Don't link in predefined bits of PTX code.
5225
cc3cd79b
NS
52262015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5227 Bernd Schmidt <bernds@codesourcery.com>
5228
5229 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5230 (struct targ_ptx_obj): New.
5231 (nvptx_tdata): Move earlier, change data format.
5232 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5233 objects.
5234 (GOMP_OFFLOAD_load_image): Adjust.
5235
4e2a5450
TS
52362015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5237
5238 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5239 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5240 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5241 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5242 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5243 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5244 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5245 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5246 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5247 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5248 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5249 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5250 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5251 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5252 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5253 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5254 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5255 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5256 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5258 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5259 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5260 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5261 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5262 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5263 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5264 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5265 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5266 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5267 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5268 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5269 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5270 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5271 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5272 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5273 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5274 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5275 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5276 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5277 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5278 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5279 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5280 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5281 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5282 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5283 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5284 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5285 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5286 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5287 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5288 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5289 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5290 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5291 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5292 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5293 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5294 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5295 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5296 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5297 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5298 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5299 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5300 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5301
164453bb
NS
53022015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5303
5304 * oacc-init.c (acc_on_device): Force optimization level.
5305
a12a0437
NS
53062015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5307
5308 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5309 (cuda_errlist): Delete.
5310 (cuda_error): Reimplement.
5311
3e32ee19
NS
53122015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5313
5314 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5315 array.
5316 * libgomp.map (GOACC_parallel_keyed): New.
5317 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5318 all callers.
5319 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5320 and take keyed varargs list. Adjust call to exec_func.
5321 (GOACC_parallel): Force host fallback.
5322 * libgomp_g.h (GOACC_parallel): Remove.
5323 (GOACC_parallel_keyed): Declare.
5324 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5325 (stuct targ_gn_descriptor): Replace name field with launch field.
5326 (nvptx_exec): Lose separate geometry args, take array. Process
5327 dynamic dimensions and adjust.
5328 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5329 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5330 data.
5331 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5332 passing.
5333 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5334 passing.
5335
6bb4c3e2
CLT
53362015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5337
5338 PR libgomp/67141
5339 * oacc-int.h (goacc_host_init): Add declaration.
5340 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5341 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5342
74032f47 53432015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 5344 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
5345
5346 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5347 match o/p.
5348 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5349 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5350 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5351 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5352 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5353
97875f4a
JJ
53542015-09-03 Jakub Jelinek <jakub@redhat.com>
5355
5356 * configure.tgt: Add missing ;; in between nvptx and rtems
5357 snippets.
5358
06441dd5
SH
53592015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5360
5361 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5362 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5363 (gomp_thread_pool_reservoir): Add priority member.
5364 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5365 priority.
5366 (parse_thread_pools): Likewise.
5367 * team.c (gomp_team_start): Call configuration provided
5368 gomp_adjust_thread_attr(). Destroy thread attributes if
5369 necessary.
5370 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5371
66c59f92
SH
53722015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5373
5374 * config/posix/pool.h: New.
5375 * config/rtems/pool.h: Likewise.
5376 * config/rtems/proc.c: Likewise.
5377 * libgomp.h (gomp_thread_destructor): Declare.
5378 * team.c: Include configuration provided "pool.h".
5379 (gomp_get_thread_pool): Define in configuration.
5380 (gomp_team_end): Call configuration defined
5381 gomp_release_thread_pool().
5382
13c41b2e
SH
53832015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5384
5385 * config/rtems/bar.c: New.
5386 * config/rtems/bar.h: Likewise.
5387 * config/rtems/mutex.c: Likewise.
5388 * config/rtems/mutex.h: Likewise.
5389 * config/rtems/sem.c: Likewise.
5390 * config/rtems/sem.h: Likewise.
5391 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5392 <sys/lock.h> header file.
5393 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5394 supported by Newlib.
5395 * configure: Regenerate.
5396
7892ec67
SH
53972015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5398
5399 * team.c (gomp_new_thread_pool): Delete and move content to ...
5400 (gomp_get_thread_pool): ... new function. Allocate and
5401 initialize thread pool on demand.
5402 (get_last_team): Use gomp_get_thread_pool().
5403 (gomp_team_start): Delete thread pool initialization.
5404
1b96e9a4
TV
54052015-09-03 Tom de Vries <tom@codesourcery.com>
5406
5407 PR tree-optimization/65637
5408 * testsuite/libgomp.c/autopar-2.c: New test.
5409
3ff2d74e
TV
54102015-08-29 Tom de Vries <tom@codesourcery.com>
5411
5412 PR tree-optimization/46193
5413 * testsuite/libgomp.c/pr46193.c: New test.
5414
2a21ff19
NS
54152015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5416
5417 libgomp/
5418 * libgomp.map: Add 4.0.2 version.
5419 * target.c (offload_image_descr): Add version field.
5420 (gomp_load_image_to_device): Add version argument. Adjust plugin
5421 call. Improve load mismatch diagnostic.
5422 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5423 call.
5424 (GOMP_offload_regster): Make stub function, move bulk to ...
5425 (GOMP_offload_register_ver): ... here. Process version argument.
5426 (GOMP_offload_unregister): Make stub function, move bulk to ...
5427 (GOMP_offload_unregister_ver): ... here. Process version argument.
5428 (gomp_init_device): Process version field.
5429 (gomp_unload_device): Process version field.
5430 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5431 macros. Check plugin version.
5432 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5433 loader and unloader types.
5434 * oacc-host.c: Include gomp-constants.h.
5435 (host_version): New.
5436 (host_load_image, host_unload_image): Adjust.
5437 (host_dispatch): Add host_version.
5438 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5439 (GOMP_OFFLOAD_version): New.
5440 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5441 (GOMP_OFFLOAD_unload_image): Likewise.
5442 * plugin/plugin-host.c: Include gomp-constants.h.
5443 (GOMP_OFFLOAD_version): New.
5444 (GOMP_OFFLOAD_load_image): Add version arg.
5445 (GOMP_OFFLOAD_unload_image): Likewise.
5446
1358a747
TV
54472015-08-24 Tom de Vries <tom@codesourcery.com>
5448
5449 PR tree-optimization/65468
5450 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5451
6be5c241
TV
54522015-08-24 Tom de Vries <tom@codesourcery.com>
5453
5454 PR tree-optimization/65468
5455 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5456
bfe7ac89
JV
54572015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5458
5459 PR libgomp/66761
5460 PR libgomp/67303
5461 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5462 (gomp_iter_guided_next): Idem.
5463 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5464 (gomp_iter_ull_guided_next): Idem.
5465 * config/linux/wait.h (do_spin): Idem.
5466
b97e78b7
TS
54672015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5468
5469 * libgomp-plugin.h (enum offload_target_type): Remove
5470 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5471 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5472 * openacc.h (enum acc_device_t): Likewise.
5473 * openacc_lib.h: Likewise.
5474 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5475 (acc_on_device): Just use __builtin_acc_on_device.
5476 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5477 of acc_on_device builtin.
5478 * plugin/plugin-host.h: Remove file.
5479 * plugin/plugin-host.c: Likewise, but salvage some content into...
5480 * oacc-host.c: ... this file.
5481 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5482 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5483 * Makefile.in: Regenerate.
5484 * configure: Likewise.
5485 * testsuite/lib/libgomp.exp
5486 (check_effective_target_openacc_host_nonshm_selected): Remove.
5487 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5488 ACC_DEVICE_TYPE=host_nonshm.
5489 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5490 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5491 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5492 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5493 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5494 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5495
44a7d18d
TS
54962015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5497 Jakub Jelinek <jakub@redhat.com>
5498
5499 * config/nvptx/affinity.c: New file.
5500 * config/nvptx/alloc.c: Likewise.
5501 * config/nvptx/bar.c: Likewise.
5502 * config/nvptx/barrier.c: Likewise.
5503 * config/nvptx/critical.c: Likewise.
5504 * config/nvptx/env.c: Likewise.
5505 * config/nvptx/error.c: Likewise.
5506 * config/nvptx/fortran.c: Likewise.
5507 * config/nvptx/iter.c: Likewise.
5508 * config/nvptx/iter_ull.c: Likewise.
5509 * config/nvptx/libgomp-plugin.c: Likewise.
5510 * config/nvptx/lock.c: Likewise.
5511 * config/nvptx/loop.c: Likewise.
5512 * config/nvptx/loop_ull.c: Likewise.
5513 * config/nvptx/mutex.c: Likewise.
5514 * config/nvptx/oacc-async.c: Likewise.
5515 * config/nvptx/oacc-cuda.c: Likewise.
5516 * config/nvptx/oacc-host.c: Likewise.
5517 * config/nvptx/oacc-init.c: Likewise.
5518 * config/nvptx/oacc-mem.c: Likewise.
5519 * config/nvptx/oacc-parallel.c: Likewise.
5520 * config/nvptx/oacc-plugin.c: Likewise.
5521 * config/nvptx/omp-lock.h: Likewise.
5522 * config/nvptx/ordered.c: Likewise.
5523 * config/nvptx/parallel.c: Likewise.
5524 * config/nvptx/proc.c: Likewise.
5525 * config/nvptx/ptrlock.c: Likewise.
5526 * config/nvptx/sections.c: Likewise.
5527 * config/nvptx/sem.c: Likewise.
5528 * config/nvptx/single.c: Likewise.
5529 * config/nvptx/splay-tree.c: Likewise.
5530 * config/nvptx/target.c: Likewise.
5531 * config/nvptx/task.c: Likewise.
5532 * config/nvptx/team.c: Likewise.
5533 * config/nvptx/time.c: Likewise.
5534 * config/nvptx/work.c: Likewise.
5535 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5536 * configure: Regenerate.
5537 * configure.tgt (config_path): Set to "nvptx" for target
5538 nvptx*-*-*.
5539
96a2d174
TS
55402015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5541
5542 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5543
9ebddeb0
NS
55442015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5545
5546 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5547 (cuda_errlist): Constify.
5548 (errmsg): Move into ...
5549 (cuda_error): ... here. Make smaller.
5550 (_XSTR, _STR): Delete.
5551 (cuda_synames): Delete.
5552 (verify_device_library): Delete.
5553 (nvptx_init): Don't call it.
5554
12efb1d7
TV
55552015-07-28 Tom de Vries <tom@codesourcery.com>
5556
5557 * testsuite/libgomp.c/uns-outer-4.c: New test.
5558
710ee218
CP
55592015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5560
5561 * testsuite/libgomp.c/pr66714.c: New test.
5562
27c4ac7d
MB
55632015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5564
5565 PR libgomp/66950
5566 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5567 (fib_ref): New function.
5568 (fib): Correct corner cases in the recursion.
5569 (main): Replace the non-simd loop with fib_ref call.
5570 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5571 subroutine.
5572 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5573 for the last array element value. Replace the non-simd loop with
5574 fib_ref call. Remove redundant b_ref array. Remove the comparison
5575 of the last array element with according Fibonacci sequence element.
5576 (fib): Correct corner cases in the recursion.
5577
22be2349
NS
55782015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5579
5580 * target.c (gomp_offload_image_to_device): Rename to ...
5581 (gomp_load_image_to_device): ... here.
5582 (GOMP_offload_register): Adjust call.
5583 (gomp_init_device): Likewise.
5584 (gomp_unload_image_from_device): New. Broken out of ...
5585 (GOMP_offload_unregister): ... here. Call it.
5586 (gomp_unload_device): New.
5587 * libgomp.h (gomp_unload_device): Declare.
5588 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5589 mem maps.
5590
f3e9a059
NS
55912015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5592
a091118d
NS
5593 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5594 wait=-specific if.
5595 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5596 !=0 condition.
5597 (goacc_waits): Move !num_waits handling to ...
5598 (GOACC_wait): ... here, the only caller that might have zero waits.
5599
f3e9a059
NS
5600 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5601 (struct ptx_image_data): Move earlier, add fns field.
5602 (struct ptx_device): Add images and image_lock fields.
5603 (ptx_images, ptx_image_lock): Delete.
5604 (nvptx_open_device): Initialize images and image_lock fields.
5605 (nvptx_close_device): Destroy image_lock.
5606 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5607 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5608 fields.
5609
afb2d80b
NS
56102015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5611
896c28a7
NS
5612 * target.c (GOMP_offload_register): Use int for device type arg.
5613 (GOMP_offload_unregister): Likewise.
5614
ebe4a560
NS
5615 * target.c (struct_offload_image_descr): Constify host_table.
5616 (gomp_offload_image_to_device): Likewise.
5617 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5618
afb2d80b
NS
5619 * libgomp.h (gomp_device_descr): Constify target data arguments.
5620 * target.c (struct offload_image_descr): Constify target_data.
5621 (gomp_offload_image_to_device): Likewise.
5622 (GOMP_offload_register): Likewise.
5623 (GOMP_offload_unrefister): Likewise.
5624 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5625 GOMP_OFFLOAD_unload_image): Constify target data.
5626 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5627 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5628
a4cb876d
NS
56292015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5630
5631 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5632 Workaround driver library const error.
5633 (struct nvptx_tdata, nvptx_tdata_t): New.
5634 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5635 type.
5636
28ef6a27
MB
56372015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5638
5639 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5640 of EPS parameter from integer to real.
5641 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5642 type of EPS parameter from integer to real.
5643
6dba0113
SH
56442015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5645
5646 * team.c (get_last_team): New.
5647 (gomp_new_team): Recycle last non-nested team if possible.
5648 (gomp_team_end): Move team work share list free lock destruction
5649 to ...
5650 (free_team): ... here.
5651
4c1cb4da
MB
56522015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5653
5654 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5655 and ref from int to double. Replaced their comparison with
5656 an inequality of their difference and EPS.
5657 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5658 comparison of pri and a reference number with an inequality of their
5659 difference and EPS.
5660 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5661 the comparison of sum and sum_ref with an inequality of their
5662 difference and EPS.
5663 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5664 the comparison of pri and a reference number with an inequality of
5665 their difference and EPS.
5666
343587dc
MB
56672015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5668
5669 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5670 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5671 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5672 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5673 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5674 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5675 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5676 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5677 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5678 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5679 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5680 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5681 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5682 variables.
5683 (vec_mult): Likewise. Add #pragma omp taskwait.
5684 (main): Adjust caller.
5685 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5686 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5687 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5688 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5689 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5690 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5691 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5692 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5693 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5694 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5695 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5696 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5697 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5698 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5699 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5700 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5701 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5702 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5703 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5704 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5705 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5706 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5707 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5708 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5709 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5710 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5711 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5712 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5713 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5714 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5715 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5716 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5717 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5718 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5719 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5720 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5721 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5722 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5723 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5724 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5725 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5726 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5727 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5728 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5729 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5730 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5731 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5732 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5733 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5734 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5735 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5736 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5737 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5738 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5739 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5740 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5741 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5742 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5743 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5744 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5745 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5746 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5747 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5748 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5749 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5750 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5751 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5752 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5753 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5754 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5755 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5756 (vec_mult): Add !$omp taskwait.
5757 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5758 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5759 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5760 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5761 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5762 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5763 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5764 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5765 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5766 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5767 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5768 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5769 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5770 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5771 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5772 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5773 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5774 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5775 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5776 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5777 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5778 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5779 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5780 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5781 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5782 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5783 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5784 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5785 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5786 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5787 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5788 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5789 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5790 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5791 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5792 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5793 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5794 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5795 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5796 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5797 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5798 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5799 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5800 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5801 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5802 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5803 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5804 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5805 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5806 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5807 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5808 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5809 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5810 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5811 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5812 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5813 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5814 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5815 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5816 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5817 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5818 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5819 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5820 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5821 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5822 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5823 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5824
9f620bf1
TV
58252015-07-10 Tom de Vries <tom@codesourcery.com>
5826
5827 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5828 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5829
a92defda
TS
58302015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5831
5832 PR libgomp/65099
5833 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5834 in a 64-bit configuration.
5835 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5836 offloading testing if no such device is available.
5837 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5838 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5839
cadb53a5
TV
58402015-07-08 Tom de Vries <tom@codesourcery.com>
5841
5842 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5843 second call to f.
5844 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5845
712cb0bb
TV
58462015-07-07 Tom de Vries <tom@codesourcery.com>
5847
5848 PR tree-optimization/66642
5849 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5850 iteration count case.
5851 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5852 function, factor out of ...
5853 (main): ... here. Test low iteration count case.
5854
e5210c77
SH
58552015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5856
5857 * libgomp.h (gomp_thread_pool): Comment last_team field.
5858
f70360e7
UB
58592015-07-02 Uros Bizjak <ubizjak@gmail.com>
5860
5861 * testsuite/libgomp.c++/pr66702-1.C: Require
5862 vect_simd_clones effective target.
5863 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5864
b451c271
TV
58652015-06-30 Tom de Vries <tom@codesourcery.com>
5866
5867 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5868 already set. Use DEFAULT_CFLAGS in dg-runtest.
5869 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5870 "-O2".
5871
f8e89d9f
TV
58722015-06-30 Tom de Vries <tom@codesourcery.com>
5873
5874 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5875 already set. Use DEFAULT_CFLAGS in dg-runtest.
5876 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5877 * testsuite/libgomp.c++/pr64824.C: Same.
5878 * testsuite/libgomp.c++/pr64868.C: Same.
5879 * testsuite/libgomp.c++/pr66199-1.C: Same.
5880 * testsuite/libgomp.c++/pr66199-2.C: Same.
5881 * testsuite/libgomp.c++/target-2.C: Same.
5882 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5883 -std=<standard> option.
5884 * testsuite/libgomp.c++/udr-11.C: Same.
5885 * testsuite/libgomp.c++/udr-12.C: Same.
5886 * testsuite/libgomp.c++/udr-13.C: Same.
5887 * testsuite/libgomp.c++/udr-14.C: Same.
5888 * testsuite/libgomp.c++/udr-15.C: Same.
5889 * testsuite/libgomp.c++/udr-16.C: Same.
5890 * testsuite/libgomp.c++/udr-17.C: Same.
5891 * testsuite/libgomp.c++/udr-18.C: Same.
5892 * testsuite/libgomp.c++/udr-19.C: Same.
5893 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5894 * testsuite/libgomp.c++/simd-1.C: Same.
5895 * testsuite/libgomp.c++/simd-2.C: Same.
5896 * testsuite/libgomp.c++/simd-3.C: Same.
5897 * testsuite/libgomp.c++/simd-4.C: Same.
5898 * testsuite/libgomp.c++/simd-5.C: Same.
5899 * testsuite/libgomp.c++/simd-6.C: Same.
5900 * testsuite/libgomp.c++/simd-7.C: Same.
5901 * testsuite/libgomp.c++/simd-8.C: Same.
5902 * testsuite/libgomp.c++/simd-9.C: Same.
5903 * testsuite/libgomp.c++/simd10.C: Same.
5904 * testsuite/libgomp.c++/simd11.C: Same.
5905 * testsuite/libgomp.c++/simd12.C: Same.
5906 * testsuite/libgomp.c++/simd13.C: Same.
5907
3446fe48
JJ
59082015-06-30 Jakub Jelinek <jakub@redhat.com>
5909
5910 PR middle-end/66702
5911 * testsuite/libgomp.c++/pr66702-1.C: New test.
5912 * testsuite/libgomp.c++/pr66702-2.C: New test.
5913
8a36714a
TV
59142015-06-30 Tom de Vries <tom@codesourcery.com>
5915
5916 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5917 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5918 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5919 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5920
4f75d608
TV
59212015-06-30 Tom de Vries <tom@codesourcery.com>
5922
5923 PR tree-optimization/66652
5924 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5925 using restrict pointers.
5926 (main): Add arguments to calls to f.
5927 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5928
6d9d1eeb
AT
59292015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5930
5931 * configure.ac: Fix check for header <sys/sysctl.h>.
5932 * configure: Regenerate.
5933 * config.h.in: Likewise.
5934
1222f22b
TV
59352015-06-23 Tom de Vries <tom@codesourcery.com>
5936
5937 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5938 abort.
5939 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5940
d7efbbf6
TS
59412015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5942
bfcd036f
TS
5943 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5944 acc_device_nvidia.
5945
d7efbbf6
TS
5946 PR libgomp/66518
5947 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5948 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5949
d7bfc710
TV
59502015-06-15 Tom de Vries <tom@codesourcery.com>
5951
5952 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5953 dg-additional-options for any remaining options.
5954 * testsuite/libgomp.c/atomic-2.c: Same.
5955 * testsuite/libgomp.c/atomic-4.c: Same.
5956 * testsuite/libgomp.c/atomic-5.c: Same.
5957 * testsuite/libgomp.c/atomic-6.c: Same.
5958 * testsuite/libgomp.c/autopar-1.c: Same.
5959 * testsuite/libgomp.c/copyin-1.c: Same.
5960 * testsuite/libgomp.c/copyin-2.c: Same.
5961 * testsuite/libgomp.c/copyin-3.c: Same.
5962 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5963 * testsuite/libgomp.c/nestedfn-5.c: Same.
5964 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5965 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5966 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5967 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5968 * testsuite/libgomp.c/pr32362-1.c: Same.
5969 * testsuite/libgomp.c/pr32362-2.c: Same.
5970 * testsuite/libgomp.c/pr32362-3.c: Same.
5971 * testsuite/libgomp.c/pr39591-1.c: Same.
5972 * testsuite/libgomp.c/pr39591-2.c: Same.
5973 * testsuite/libgomp.c/pr39591-3.c: Same.
5974 * testsuite/libgomp.c/pr58392.c: Same.
5975 * testsuite/libgomp.c/pr58756.c: Same.
5976 * testsuite/libgomp.c/simd-1.c: Same.
5977 * testsuite/libgomp.c/simd-10.c: Same.
5978 * testsuite/libgomp.c/simd-11.c: Same.
5979 * testsuite/libgomp.c/simd-12.c: Same.
5980 * testsuite/libgomp.c/simd-13.c: Same.
5981 * testsuite/libgomp.c/simd-14.c: Same.
5982 * testsuite/libgomp.c/simd-15.c: Same.
5983 * testsuite/libgomp.c/simd-2.c: Same.
5984 * testsuite/libgomp.c/simd-3.c: Same.
5985 * testsuite/libgomp.c/simd-4.c: Same.
5986 * testsuite/libgomp.c/simd-5.c: Same.
5987 * testsuite/libgomp.c/simd-6.c: Same.
5988 * testsuite/libgomp.c/simd-7.c: Same.
5989 * testsuite/libgomp.c/simd-8.c: Same.
5990 * testsuite/libgomp.c/simd-9.c: Same.
5991
fb5b5352
TV
59922015-06-15 Tom de Vries <tom@codesourcery.com>
5993
5994 * testsuite/libgomp.c/pr35625.c: Fix typo.
5995
ca431bef
TV
59962015-06-15 Tom de Vries <tom@codesourcery.com>
5997
5998 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5999 in dg-options.
6000 * testsuite/libgomp.c/atomic-3.c: Same.
6001 * testsuite/libgomp.c/debug-1.c: Same.
6002 * testsuite/libgomp.c/nqueens-1.c: Same.
6003 * testsuite/libgomp.c/pr26171.c: Same.
6004 * testsuite/libgomp.c/pr48591.c: Same.
6005 * testsuite/libgomp.c/pr64824.c: Same.
6006 * testsuite/libgomp.c/pr64868.c: Same.
6007 * testsuite/libgomp.c/pr66133.c: Same.
6008 * testsuite/libgomp.c/pr66199-1.c: Same.
6009 * testsuite/libgomp.c/pr66199-2.c: Same.
6010 * testsuite/libgomp.c/target-8.c: Same.
6011
0d8a9e20
TV
60122015-06-15 Tom de Vries <tom@codesourcery.com>
6013
6014 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6015 -std={gnu99,c99}.
6016 * testsuite/libgomp.c/for-1.c: Same.
6017 * testsuite/libgomp.c/for-2.c: Same.
6018 * testsuite/libgomp.c/for-3.c: Same.
6019 * testsuite/libgomp.c/pr35625.c: Same.
6020 * testsuite/libgomp.c/pr39154.c: Same.
6021 * testsuite/libgomp.c/simd-16.c: Same.
6022 * testsuite/libgomp.c/simd-17.c: Same.
6023
a6860be9
TV
60242015-06-13 Tom de Vries <tom@codesourcery.com>
6025
6026 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6027
ab3306d2
TV
60282015-06-13 Tom de Vries <tom@codesourcery.com>
6029
6030 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6031 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6032 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6033 (N): Define.
6034 (main): Use N instead of hardcoded constants.
6035
7c82d827
TV
60362015-06-05 Tom de Vries <tom@codesourcery.com>
6037
6038 merge from gomp4 branch:
6039 2015-05-28 Tom de Vries <tom@codesourcery.com>
6040
6041 PR tree-optimization/65443
6042 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6043 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6044 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6045
c469078d
BRF
60462015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6047
6048 * testsuite/libgomp.graphite/bounds.c: Adjust for
6049 cleanup-tree-dump removal.
6050 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6051 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6052 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6053 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6054 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6055 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6056 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6057 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6058 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6059 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6060
bb3caa35
UB
60612015-05-28 Uros Bizjak <ubizjak@gmail.com>
6062
6063 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6064 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6065 (futex_wake) [!__x86_64__]: Ditto.
6066
9fb5fd44
JB
60672015-05-28 Julian Brown <julian@codesourcery.com>
6068
6069 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6070 function comment. Only call gomp_fatal if new argument is true.
6071 (acc_dev_num_out_of_range): New function.
6072 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6073 acc_dev_num_out_of_range as appropriate.
6074 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6075 (acc_get_device_num, acc_set_device_num): Update calls to
6076 resolve_device.
9fb5fd44
JB
6077 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6078 output.
6079
32eaed93
JB
60802015-05-28 Julian Brown <julian@codesourcery.com>
6081
6082 PR libgomp/65742
32eaed93
JB
6083 * oacc-init.c (plugin/plugin-host.h): Include.
6084 (acc_on_device): Check whether we're in an offloaded region for
6085 host_nonshm
6086 plugin. Don't use __builtin_acc_on_device.
6087 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6088 nonshm_exec flag in thread-local data.
6089 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6090 data for host_nonshm plugin.
6091 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6092 for host_nonshm plugin.
6093 * plugin/plugin-host.h: New.
6094
ea023bcf
UB
60952015-05-27 Uros Bizjak <ubizjak@gmail.com>
6096
8ed501f1
UB
6097 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6098
60992015-05-27 Uros Bizjak <ubizjak@gmail.com>
6100
6101 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6102 Declare as int.
6103 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6104 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6105 Declare as int.
6106
61072015-05-27 Uros Bizjak <ubizjak@gmail.com>
6108
bb3caa35 6109 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6110
1716efeb
CLT
61112015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6112
6113 * target.c (gomp_map_pointer): New function abstracting out
6114 GOMP_MAP_POINTER handling.
6115 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6116 gomp_map_pointer().
6117
41b37d5e
JJ
61182015-05-19 Jakub Jelinek <jakub@redhat.com>
6119
6120 PR middle-end/66199
6121 * testsuite/libgomp.c/pr66199-1.c: New test.
6122 * testsuite/libgomp.c/pr66199-2.c: New test.
6123 * testsuite/libgomp.c++/pr66199-1.C: New test.
6124 * testsuite/libgomp.c++/pr66199-2.C: New test.
6125 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6126 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6127
c8319826
JB
61282015-05-19 Julian Brown <julian@codesourcery.com>
6129
6130 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6131 on cuInit failure.
6132
b37dddbc
JJ
61332015-05-13 Jakub Jelinek <jakub@redhat.com>
6134
6135 PR middle-end/66133
6136 * testsuite/libgomp.c/pr66133.c: New test.
6137
55fba601
MH
61382015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6139
6140 * Makefile.in: Regenerated with automake-1.11.6.
6141 * aclocal.m4: Likewise.
6142 * config.h.in: Likewise.
6143 * configure: Likewise.
6144 * testsuite/Makefile.in: Likewise.
6145
1be0899d
JM
61462015-05-08 Jason Merrill <jason@redhat.com>
6147
6148 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6149 _Complex.
6150
6151 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6152
d2463960
JB
61532015-05-06 Julian Brown <julian@codesourcery.com>
6154
6155 * oacc-init.c (acc_device_lock): Add explanatory comment.
6156 (resolve_device): Add comment about locking requirement.
6157 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6158 gomp_init_device and gomp_fini_device calls.
6159 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6160 (acc_get_device_num, acc_set_device_num): Add locking around
6161 resolve_device and gomp_init_device calls.
6162
e38fdba4
JB
61632015-05-06 Julian Brown <julian@codesourcery.com>
6164
6165 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6166 goacc_thread_lock on error paths.
6167 * oacc-mem.c (lookup_host): Remove locking from function. Note
6168 locking requirement for caller in function comment.
6169 (lookup_dev): Likewise.
6170 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6171 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6172 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6173 Add locking.
6174
ae8ffbbb
TS
61752015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6176
6177 PR testsuite/65205
6178 PR libgomp/65993
6179 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6180 don't expect "0x" prefix for "%p" format specifier, don't expect
6181 "(nil)" for NULL pointer.
6182 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6183 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6184 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6185 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6186 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6188 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6189 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6190 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6191 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6192 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6193 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6194 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6195 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6196 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6197 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6198 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6199 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6200 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6201 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6202 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6203 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6204 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6205 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6206 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6207 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6208 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6210 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6211 accurately specify what we're looking for.
6212 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6213 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6214 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6215 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6216 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6217
1309f1d2
JN
62182015-04-30 James Norris <jnorris@codesourcery.com>
6219
6220 PR testsuite/65205
6221 * testsuite/lib/libgomp.exp
6222 (check_effective_target_openacc_host_selected)
6223 (check_effective_target_openacc_host_nonshm_selected): New
6224 procedures.
6225 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6226 dg-shouldfail.
6227 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6228 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6229 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6230 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6231 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6232 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6233 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6235 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6236 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6237 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6242 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6243 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6245 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6250 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6252 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6253 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6255 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6256 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6257 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6258 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6259 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6260 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6261 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6262 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6263 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6264 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6265 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6266 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6267 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6268 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6269 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6270
d93bdab5
JB
62712015-04-08 Julian Brown <julian@codesourcery.com>
6272
6273 * libgomp.h (target_mem_desc: Remove mem_map field.
6274 (acc_dispatch_t): Remove open_device_func, close_device_func,
6275 get_device_num_func, set_device_num_func, target_data members.
6276 Change create_thread_data_func argument to device number instead of
6277 generic pointer.
6278 * oacc-async.c (assert.h): Include.
6279 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6280 (acc_wait_all, acc_wait_all_async): Use current host thread's
6281 active device, not base_dev.
6282 * oacc-cuda.c (acc_get_current_cuda_device)
6283 (acc_get_current_cuda_context, acc_get_cuda_stream)
6284 (acc_set_cuda_stream): Likewise.
6285 * oacc-host.c (host_dispatch): Don't set open_device_func,
6286 close_device_func, get_device_num_func or set_device_num_func.
6287 * oacc-init.c (base_dev, init_key): Remove.
6288 (cached_base_dev): New.
6289 (name_of_acc_device_t): New.
6290 (acc_init_1): Initialise default-numbered device, not zeroth.
6291 (acc_shutdown_1): Close all devices of a given type.
6292 (goacc_destroy_thread): Don't use base_dev.
6293 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6294 (goacc_attach_host_thread_to_device): New.
6295 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6296 (acc_get_num_devices): Don't use base_dev.
6297 (acc_set_device_type): Reimplement.
6298 (acc_get_device_type): Don't use base_dev.
6299 (acc_get_device_num): Tweak logic.
6300 (acc_set_device_num): Likewise.
6301 (acc_on_device): Use acc_get_device_type.
6302 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6303 (goacc_lazy_initialize): Reimplement with acc_init and
6304 goacc_attach_host_thread_to_device.
6305 * oacc-int.h (goacc_thread): Add base_dev field.
6306 (base_dev): Remove extern declaration.
6307 (goacc_attach_host_thread_to_device): Add prototype.
6308 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6309 base_dev.
6310 (acc_free): Likewise.
6311 (acc_memcpy_to_device): Likewise.
6312 (acc_memcpy_from_device): Likewise.
6313 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6314 goacc_lazy_initialize (throughout).
6315 (GOACC_parallel): Use tgt_offset to locate target functions.
6316 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6317 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6318 (gomp_load_plugin_for_device): Remove open_device, close_device,
6319 get_device_num, set_device_num openacc hook initialisation. Don't set
6320 openacc.target_data.
6321 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6322 (GOMP_OFFLOAD_openacc_close_device)
6323 (GOMP_OFFLOAD_openacc_get_device_num)
6324 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6325 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6326 to int.
6327 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6328 (instantiated_devices, ptx_dev_lock): New.
6329 (struct ptx_image_data): New.
6330 (ptx_devices, ptx_images, ptx_image_lock): New.
6331 (fini_streams_for_device): Reorder cuStreamDestroy call.
6332 (nvptx_get_num_devices): Remove forward declaration.
6333 (nvptx_init): Change return type to bool.
6334 (nvptx_fini): Remove.
6335 (nvptx_attach_host_thread_to_device): New.
6336 (nvptx_open_device): Return struct ptx_device* instead of void*.
6337 (nvptx_close_device): Change argument type to struct ptx_device*,
6338 return type to void.
6339 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6340 (kernel_target_data, kernel_host_table): Remove static globals.
6341 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6342 (GOMP_OFFLOAD_init_device): Reimplement.
6343 (GOMP_OFFLOAD_fini_device): Likewise.
6344 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6345 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6346 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6347 (GOMP_OFFLOAD_openacc_open_device)
6348 (GOMP_OFFLOAD_openacc_close_device)
6349 (GOMP_OFFLOAD_openacc_set_device_num)
6350 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6351 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6352 (device number).
6353
6354 testsuite/
6355 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6356
a51df54e
IV
63572015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6358
6359 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6360 * libgomp.h (struct gomp_memory_mapping): Remove.
6361 (struct target_mem_desc): Change type of mem_map from
6362 gomp_memory_mapping * to splay_tree_s *.
6363 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6364 Add load_image_func, unload_image_func.
6365 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6366 Remove offload_regions_registered.
6367 (gomp_init_tables): Remove.
6368 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6369 to splay_tree_s *.
6370 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6371 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6372 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6373 offload_regions_registered.
6374 Initialize load_image_func, unload_image_func, mem_map.root.
6375 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6376 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6377 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6378 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6379 gomp_memory_mapping *. Use dev's lock and splay_tree.
6380 (lookup_dev): Use dev's lock.
6381 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6382 (acc_is_present): Likewise.
6383 (acc_map_data): Likewise.
6384 (acc_unmap_data): Likewise. Use dev's lock.
6385 (present_create_copy): Likewise.
6386 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6387 (update_dev_host): Likewise.
6388 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6389 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6390 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6391 (GOMP_OFFLOAD_get_table): Remove
6392 (GOMP_OFFLOAD_load_image): New function.
6393 (GOMP_OFFLOAD_unload_image): New function.
6394 * target.c (register_lock): New mutex for offload image registration.
6395 (num_devices): Do not guard with PLUGIN_SUPPORT.
6396 (gomp_realloc_unlock): New static function.
6397 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6398 before gomp_fatal.
6399 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6400 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6401 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6402 mem_map's.
6403 (gomp_unmap_vars): Likewise.
6404 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6405 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6406 (gomp_offload_image_to_device): New static function.
6407 (GOMP_offload_register): Add mutex lock.
6408 Call gomp_offload_image_to_device for all initialized devices.
6409 Replace gomp_realloc with gomp_realloc_unlock.
6410 (GOMP_offload_unregister): New function.
6411 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6412 get_table_func from the plugin with calls to init_device_func and
6413 gomp_offload_image_to_device.
6414 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6415 to splay_tree_s *.
6416 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6417 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6418 (GOMP_target_data): Do not call gomp_init_tables.
6419 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6420 (gomp_load_plugin_for_device): Replace register_image and get_table
6421 with load_image and unload_image in DLSYM ().
6422 (gomp_register_images_for_device): Remove function.
6423 (gomp_target_init): Do not initialize current_device.mem_map.*,
6424 current_device.offload_regions_registered.
6425 Remove call to gomp_register_images_for_device.
6426 Do not free offload_images and num_offload_images.
6427
6c384511
JJ
64282015-03-30 Jakub Jelinek <jakub@redhat.com>
6429
6430 PR fortran/65597
6431 * testsuite/libgomp.fortran/pr65597.f90: New test.
6432
3e8165a5
TV
64332015-03-27 Tom de Vries <tom@codesourcery.com>
6434
6435 PR testsuite/65594
6436 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6437 (init, check): New function.
6438 (foo): Change return type to void.
6439 (main): Call init and check.
6440
4d688c9a
TV
64412015-03-27 Tom de Vries <tom@codesourcery.com>
6442
6443 PR testsuite/65594
6444 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6445 (foo): Use M for non-inner loops to scale down test-case.
6446
01c0b3b0
KT
64472015-03-25 Kai Tietz <ktietz@redhat.com>
6448
6449 PR libgomp/64972
6450 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6451 (GOACC_data_start): Likewise.
6452 * target.c (gomp_map_vars): Likewise.
6453
844d9a76
JDA
64542015-03-21 John David Anglin <danglin@gcc.gnu.org>
6455
6456 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6457 hppa*-*-hpux*.
6458
9b65e171
JJ
64592015-03-19 Jakub Jelinek <jakub@redhat.com>
6460
6461 * testsuite/libgomp.c/target-10.c: New test.
6462 * testsuite/libgomp.c++/target-4.C: New test.
6463
db397e2e
IV
64642015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6465
6466 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6467 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6468
cd93945d
SH
64692015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6470
6471 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6472 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6473 (pthread.h): Check for this header file.
6474 * configure: Regenerate.
6475
05deba9f
TV
64762015-02-25 Tom de Vries <tom@codesourcery.com>
6477
6478 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6479 (check_reduction_op, check_reduction_macro, max, min):
6480 Declare.
6481 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6482 function.
6483 (main): Use new functions.
6484
196904d8
IT
64852015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6486
6487 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6488 char * for variables holding dlerror return values.
6489 (DLSYM_OPT): Ditto.
6490
a2818955
TS
64912015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6492
6493 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6494
26f93312
TS
64952015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6496 Cesar Philippidis <cesar@codesourcery.com>
6497
6498 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6499 GOACC_ctaid, and GOACC_nctaid routines.
6500
fa01ffcc
JJ
65012015-02-11 Jakub Jelinek <jakub@redhat.com>
6502
6503 PR c/64824
6504 * testsuite/libgomp.c/atomic-18.c: New test.
6505 * testsuite/libgomp.c++/atomic-16.C: New test.
6506
4886ec8e
JJ
65072015-02-04 Jakub Jelinek <jakub@redhat.com>
6508
6509 PR c/64824
6510 PR c/64868
6511 * testsuite/libgomp.c/pr64824.c: New test.
6512 * testsuite/libgomp.c/pr64868.c: New test.
6513 * testsuite/libgomp.c++/pr64824.C: New test.
6514 * testsuite/libgomp.c++/pr64868.C: New test.
6515
02d3e45e
DE
65162015-02-01 David Edelsohn <dje.gcc@gmail.com>
6517
6518 PR libgomp/64635
6519 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6520 Link with -lpthread.
6521 * config/aix/plugin-suffix.h: Delete.
6522
b5f7a6ca
JH
65232015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6524
6525 PR libgomp/64635
6526 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6527 (*-*-darwin*): Use config_path "bsd darwin posix".
6528 (*-*-hpux*): Use config_path "hpux posix".
6529 * target.c: Add include of plugin-suffix.h and use
6530 SONAME_SUFFIX macro.
6531 * config/aix/plugin-suffix.h: New file.
6532 * config/darwin/plugin-suffix.h: New file.
6533 * config/hpux/plugin-suffix.h: New file.
6534 * config/posix/plugin-suffix.h: New file.
6535
b8910447
JJ
65362015-01-23 Jakub Jelinek <jakub@redhat.com>
6537
6538 PR middle-end/64734
6539 * libgomp.c/pr64734.c: New test.
6540
a0c88d06
TV
65412015-01-23 Tom de Vries <tom@codesourcery.com>
6542
6543 PR libgomp/64672
6544 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6545
1506ae0e
TV
65462015-01-23 Tom de Vries <tom@codesourcery.com>
6547
6548 PR libgomp/64707
6549 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6550 dg-options.
6551
128b26dc
TS
65522015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6553
bed62c21 6554 PR libgomp/64625
128b26dc
TS
6555 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6556 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6557 formal parameter. Update all users.
6558 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6559 Document unused formal parameter.
6560
6e36114c
TS
65612015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6562
6563 * oacc-parallel.c: Don't include <alloca.h>.
6564 (GOACC_parallel): Use gomp_alloca instead of alloca.
6565
973e9808
GP
65662015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6567
6568 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6569
41dbbb37
TS
65702015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6571 James Norris <jnorris@codesourcery.com>
6572 Tom de Vries <tom@codesourcery.com>
6573 Julian Brown <julian@codesourcery.com>
6574 Cesar Philippidis <cesar@codesourcery.com>
6575 Nathan Sidwell <nathan@codesourcery.com>
6576 Tobias Burnus <burnus@net-b.de>
6577
6578 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6579 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6580 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6581 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6582 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6583 Include $(top_srcdir)/plugin/Makefrag.am.
6584 (nodist_libsubinclude_HEADERS): Add openacc.h.
6585 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6586 openacc.f90, openacc.mod, openacc_kinds.mod.
6587 (omp_lib.mod): Generalize into...
6588 (%.mod): ... this new rule.
6589 (openacc_kinds.mod, openacc.mod): New rules.
6590 * plugin/configfrag.ac: New file.
6591 * configure.ac: Move plugin/offloading support into it. Include
6592 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6593 * plugin/Makefrag.am: New file.
6594 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6595 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6596 export.
6597 (libgomp-test-support.exp): New rule.
6598 (all-local): Depend on it.
6599 * Makefile.in: Regenerate.
6600 * testsuite/Makefile.in: Regenerate.
6601 * config.h.in: Likewise.
6602 * configure: Likewise.
6603 * configure.tgt: Harden shell syntax.
6604 * env.c: Include "oacc-int.h".
6605 (parse_acc_device_type): New function.
6606 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6607 variables.
6608 (initialize_env): Initialize those. Call
6609 goacc_runtime_initialize.
6610 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6611 (gomp_fatal): Call gomp_vfatal.
6612 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6613 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6614 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6615 (splay_tree_node, splay_tree, splay_tree_key)
6616 (struct target_mem_desc, struct splay_tree_key_s)
6617 (struct gomp_memory_mapping, struct acc_dispatch_t)
6618 (struct gomp_device_descr, gomp_acc_insert_pointer)
6619 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6620 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6621 (gomp_free_memmap, gomp_fini_device): New declarations.
6622 (gomp_vdebug, gomp_debug): New macros.
6623 Include "splay-tree.h".
6624 * libgomp.map (OACC_2.0): New symbol version. Use for
6625 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6626 acc_set_device_type_h_, acc_get_device_type,
6627 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6628 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6629 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6630 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6631 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6632 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6633 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6634 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6635 acc_copyin_array_h_, acc_present_or_copyin,
6636 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6637 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6638 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6639 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6640 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6641 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6642 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6643 acc_update_device, acc_update_device_32_h_,
6644 acc_update_device_64_h_, acc_update_device_array_h_,
6645 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6646 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6647 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6648 acc_is_present_64_h_, acc_is_present_array_h_,
6649 acc_memcpy_to_device, acc_memcpy_from_device,
6650 acc_get_current_cuda_device, acc_get_current_cuda_context,
6651 acc_get_cuda_stream, acc_set_cuda_stream.
6652 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6653 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6654 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6655 GOACC_get_num_threads.
6656 (GOMP_PLUGIN_1.0): New symbol version. Use for
6657 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6658 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6659 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6660 GOMP_PLUGIN_acc_thread.
6661 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6662 environment variable.
6663 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6664 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6665 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6666 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6667 (splay_tree_remove): New declarations.
6668 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6669 (splay_tree_remove, splay_tree_lookup): Move into...
6670 * splay-tree.c: ... this new file.
6671 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6672 (splay_tree_node, splay_tree, splay_tree_key)
6673 (struct target_mem_desc, struct splay_tree_key_s)
6674 (struct gomp_device_descr): Don't declare.
6675 (num_devices_openmp): New variable.
6676 (gomp_get_num_devices ): Use it.
6677 (gomp_init_targets_once): New function.
6678 (gomp_get_num_devices ): Use it.
6679 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6680 (gomp_fini_device, gomp_register_image_for_device): New functions.
6681 (gomp_map_vars): Add devaddrs parameter.
6682 (gomp_update): Add mm parameter.
6683 (gomp_init_device): Move most of it into...
6684 (gomp_init_tables): ... this new function.
6685 (gomp_register_images_for_device): Remove function.
6686 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6687 Make them hidden instead of static.
6688 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6689 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6690 (GOMP_target_end_data, GOMP_target_update)
6691 (gomp_load_plugin_for_device, gomp_target_init): Update for
6692 OpenACC changes.
6693 * oacc-async.c: New file.
6694 * oacc-cuda.c: Likewise.
6695 * oacc-host.c: Likewise.
6696 * oacc-init.c: Likewise.
6697 * oacc-int.h: Likewise.
6698 * oacc-mem.c: Likewise.
6699 * oacc-parallel.c: Likewise.
6700 * oacc-plugin.c: Likewise.
6701 * oacc-plugin.h: Likewise.
6702 * oacc-ptx.h: Likewise.
6703 * openacc.f90: Likewise.
6704 * openacc.h: Likewise.
6705 * openacc_lib.h: Likewise.
6706 * plugin/plugin-host.c: Likewise.
6707 * plugin/plugin-nvptx.c: Likewise.
6708 * libgomp-plugin.c: Likewise.
6709 * libgomp-plugin.h: Likewise.
6710 * libgomp_target.h: Remove file after merging content into the
6711 former file. Update all users.
6712 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6713 (offload_targets_s, offload_targets_s_openacc): New variables.
6714 (check_effective_target_openacc_nvidia_accel_present)
6715 (check_effective_target_openacc_nvidia_accel_selected): New
6716 procedures.
6717 (libgomp_init): Update for OpenACC changes.
6718 * testsuite/libgomp-test-support.exp.in: New file.
6719 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6720 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6721 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6723 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6725 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6727 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6729 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6734 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6736 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6767 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6772 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6774 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6776 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6780 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6783 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6784 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6785 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6787 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6794 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6795 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6796 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6798 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6804 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6805 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6806 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6809 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6810 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6812 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6818 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6820 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6829 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6831 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6852 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6857 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6858 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6859 Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6862 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6863 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6864 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6865 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6866 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6867 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6868 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6869 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6870 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6871 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6872 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6873 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6874 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6875 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6876 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6877 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6878 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6879 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6880 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6881 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6882 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6883 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6884 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6885 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6886 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6887 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6888 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6889 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6890 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6891 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6892 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6893 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6894 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6895 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6896 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6897 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6898 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6899 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6900 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6901 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6902 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6903 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6904 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6905 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6906 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6907 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6908 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6909 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6910 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6911 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6912 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6913 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6914 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6915 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6916 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6917 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6918 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6919 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6920
f1f3453e
TS
69212015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6922 Julian Brown <julian@codesourcery.com>
6923 David Malcolm <dmalcolm@redhat.com>
6924
6925 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6926 to "GNU Offloading and Multi Processing Runtime Library". Change
6927 all users.
6928 * configure: Regenerate.
6929 * libgomp.texi: Update.
6930
f9a0eca4
TS
69312015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6932
b335ef4e
TS
6933 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6934 "$tgt_dir/lib32".
6935 * configure: Regenerate.
6936
f9a0eca4
TS
6937 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6938 "intelmic" in $offload_targets.
6939
b67cd4e3
JJ
69402015-01-05 Jakub Jelinek <jakub@redhat.com>
6941
5624e564
JJ
6942 Update copyright years.
6943
b67cd4e3
JJ
6944 * libgomp.texi: Bump @copying's copyright year.
6945
3b41b583
KT
69462014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6947
6948 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6949 Move load of target-supportes.exp earlier.
6950
2354caec
IV
69512014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6952
6953 * testsuite/libgomp.c/target-9.c: New test.
6954
f50eecba
VR
69552014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6956
6957 * config.h.in: Regenerate.
6958 * configure: Regenerate.
6959 * configure.ac: Add GCC_CHECK_EMUTLS.
6960 * libgomp.h: Add check for USE_EMUTLS: this case
6961 is equal to HAVE_TLS.
6962 * team.c: Likewise.
6963
68bc9270
UB
69642014-12-03 Uros Bizjak <ubizjak@gmail.com>
6965
6966 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6967
476ff787
AT
69682014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6969 Ilya Verbin <ilya.verbin@intel.com>
6970
6971 * testsuite/libgomp.c/target-critical-1.c: New test.
6972
31a30e62
JJ
69732014-11-26 Jakub Jelinek <jakub@redhat.com>
6974
6975 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 6976 to dg-options unless expensive testing is on.
31a30e62
JJ
6977 (TESTITERS): Define to N if not defined.
6978 (main): Use TESTITERS instead of N.
6979 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6980 dg-additional-options depending on whether expensive testing is on.
6981 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6982 Decrease N to 100000 and CHUNKSZ to 10000.
6983
3f9e8f13
JJ
69842014-11-24 Jakub Jelinek <jakub@redhat.com>
6985
6986 PR fortran/63938
31a30e62
JJ
6987 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6988 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 6989
c8451a46
SE
69902014-11-21 Steve Ellcey <sellcey@imgtec.com>
6991
6992 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6993
a699d672
L
69942014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6995
6996 PR bootstrap/63784
6997 * configure: Regenerated.
6998
4a19f719
UB
69992014-11-19 Uros Bizjak <ubizjak@gmail.com>
7000
7001 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7002 vect_simd_clones effective target.
7003 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7004
b1bf6c52
JJ
70052014-11-14 Jakub Jelinek <jakub@redhat.com>
7006
7007 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7008 of 32 as block_size.
7009 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7010 instead of 32 as block_size.
7011
d64ae614
AT
70122014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7013 Ilya Verbin <ilya.verbin@intel.com>
7014
7015 * Makefile.in: Regenerate.
7016 * configure: Regenerate.
7017 * configure.ac: Set up offload_additional_options,
7018 offload_additional_lib_paths and offload_targets.
7019 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7020 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7021 * testsuite/Makefile.in: Regenerate.
7022 * testsuite/lib/libgomp.exp (libgomp_init): Append
7023 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7024 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7025 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7026
122d7303
AT
70272014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7028 Ilya Verbin <ilya.verbin@intel.com>
7029 Kirill Yukhin <kirill.yukhin@intel.com>
7030 Ilya Tocar <ilya.tocar@intel.com>
7031
7032 * testsuite/lib/libgomp.exp
7033 (check_effective_target_offload_device): New.
7034 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7035 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7036 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7037 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7038 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7039 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7040 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7041 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7042 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7043 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7044 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7045 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7046 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7047 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7048 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7049 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7050 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7051 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7052 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7053 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7054 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7055 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7056 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7057 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7058 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7059 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7060 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7061 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7062 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7063 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7064 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7065 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7066 * testsuite/libgomp.c/target-7.c: Fix test.
7067 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7068 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7069 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7070 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7071 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7072 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7073 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7074 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7075 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7076 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7077 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7078 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7079 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7080 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7081 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7082 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7083 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7084 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7085 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7086 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7087 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7088 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7089 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7090 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7091 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7092 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7093 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7094 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7095 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7096 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7097 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7098
1df3f842
JJ
70992014-11-13 Jakub Jelinek <jakub@redhat.com>
7100 Ilya Verbin <ilya.verbin@intel.com>
7101 Thomas Schwinge <thomas@codesourcery.com>
7102 Andrey Turetskiy <andrey.turetskiy@intel.com>
7103
7104 * libgomp.map (GOMP_4.0.1): New symbol version.
7105 Add GOMP_offload_register.
7106 * libgomp_target.h: New file.
7107 * splay-tree.h: New file.
7108 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7109 (gomp_target_init): New forward declaration.
7110 (gomp_is_initialized): New static variable.
7111 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7112 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7113 New structures.
7114 (offload_images, num_offload_images, devices, num_devices): New static
7115 variables.
7116 (splay_compare): New static function.
7117 (struct gomp_device_descr): New structure.
7118 (gomp_get_num_devices): Call gomp_target_init.
7119 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7120 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7121 (GOMP_offload_register): New function.
7122 (GOMP_target): Arrange for host callback to be performed in a separate
7123 initial thread and contention group, inheriting ICVs from
7124 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7125 Add device initialization and lookup for target function in splay tree.
7126 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7127 (GOMP_target_end_data): Call gomp_unmap_vars.
7128 (GOMP_target_update): Add device initialization and call gomp_update.
7129 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7130 (gomp_target_init): New static functions.
7131
85c64bbe
BS
71322014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7133 Thomas Schwinge <thomas@codesourcery.com>
7134 Ilya Verbin <ilya.verbin@intel.com>
7135 Andrey Turetskiy <andrey.turetskiy@intel.com>
7136
7137 * config.h.in: Regenerate.
7138 * configure: Regenerate.
7139 * configure.ac: Check for libdl, required for plugin support.
7140 (PLUGIN_SUPPORT): Define if plugins are supported.
7141 (enable_offload_targets): Support Intel MIC targets.
7142 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7143
ebf6d33b
FXC
71442014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7145
7146 PR target/63610
7147 * configure: Regenerate.
7148
8c768629
RO
71492014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7150
7151 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7152
c1d62412
MP
71532014-10-06 Marek Polacek <polacek@redhat.com>
7154
7155 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7156 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7157 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7158 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7159
44a0c6cb
MP
71602014-10-06 Marek Polacek <polacek@redhat.com>
7161
7162 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7163 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7164 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7165 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7166 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7167 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7168 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7169 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7170 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7171 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7172 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7173 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7174 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7175 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7176 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7177 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7178 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7179 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7180 declarations.
7181
5771c391
JJ
71822014-10-03 Jakub Jelinek <jakub@redhat.com>
7183
7184 PR libgomp/61200
7185 * testsuite/libgomp.c/pr61200.c: New test.
7186
bce16b88
JJ
71872014-09-18 Jakub Jelinek <jakub@redhat.com>
7188
7189 PR c++/63248
7190 * testsuite/libgomp.c++/pr63248.C: New test.
7191
3696163c
JJ
71922014-08-04 Jakub Jelinek <jakub@redhat.com>
7193
7194 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7195 is not zero, but taskgroup->children is NULL and there are
7196 any task->children, schedule those instead of waiting.
7197 * testsuite/libgomp.c/depend-6.c: New test.
7198 * testsuite/libgomp.c/depend-7.c: New test.
7199 * testsuite/libgomp.c/depend-8.c: New test.
7200 * testsuite/libgomp.c/depend-9.c: New test.
7201 * testsuite/libgomp.c/depend-10.c: New test.
7202
0494285a
JJ
72032014-08-01 Jakub Jelinek <jakub@redhat.com>
7204
7205 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7206 (struct gomp_taskwait): New type.
7207 (struct gomp_task): Add taskwait and parent_depends_on, remove
7208 in_taskwait and taskwait_sem fields.
7209 (gomp_finish_task): Don't destroy taskwait_sem.
7210 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7211 taskwait and parent_depends_on.
7212 (GOMP_task): For if (0) tasks with depend clause that depend on
7213 earlier tasks don't defer them, instead call
7214 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7215 Initialize redundant_out field, for redundant out entries just
7216 move them at the end of linked list instead of removing them
7217 completely, and set redundant_out flag instead of redundant.
7218 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7219 that task.
7220 (gomp_task_run_post_handle_dependers): If parent is in
7221 gomp_task_maybe_wait_for_dependencies and newly runnable task
7222 is not parent_depends_on, queue it in parent->children linked
7223 list after all runnable tasks with parent_depends_on set.
7224 Adjust for addition of taskwait indirection.
7225 (gomp_task_run_post_remove_parent): If parent is in
7226 gomp_task_maybe_wait_for_dependencies and task to be removed
7227 is parent_depends_on, decrement n_depend and if needed awake
7228 parent. Adjust for addition of taskwait indirection.
7229 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7230 (gomp_task_maybe_wait_for_dependencies): New function.
7231 * testsuite/libgomp.c/depend-5.c: New test.
7232
60ab4b44
TB
72332014-07-13 Tobias Burnus <burnus@net-b.de>
7234
7235 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7236 with TS 18508/Fortran 2015.
60ab4b44 7237
773ec47f
MP
72382014-07-06 Marek Polacek <polacek@redhat.com>
7239
7240 PR c/6940
7241 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7242
f707da16
JJ
72432014-07-03 Jakub Jelinek <jakub@redhat.com>
7244
7245 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7246 matches regex $lang_source_re, add $lang_include_flags to options.
7247 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7248 * testsuite/libgomp.c++/c++.exp: Likewise.
7249 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7250 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7251 ALWAYS_CFLAGS.
7252 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7253
07b6c044
TS
72542014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7255
7256 * testsuite/libgomp.fortran/fortran.exp: Explain
7257 gfortran-dg-runtest usage.
7258
da6f124d
JJ
72592014-06-25 Jakub Jelinek <jakub@redhat.com>
7260
7261 * testsuite/libgomp.fortran/simd5.f90: New test.
7262 * testsuite/libgomp.fortran/simd6.f90: New test.
7263 * testsuite/libgomp.fortran/simd7.f90: New test.
7264
b46ebd6c
JJ
72652014-06-24 Jakub Jelinek <jakub@redhat.com>
7266
56ad0e38
JJ
7267 * testsuite/libgomp.c/for-2.c: Define SC to static for
7268 #pragma omp for simd testing.
7269 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7270 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7271 SC macro.
7272 * testsuite/libgomp.c/simd-14.c: New test.
7273 * testsuite/libgomp.c/simd-15.c: New test.
7274 * testsuite/libgomp.c/simd-16.c: New test.
7275 * testsuite/libgomp.c/simd-17.c: New test.
7276 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7277 #pragma omp for simd testing.
7278 * testsuite/libgomp.c++/simd10.C: New test.
7279 * testsuite/libgomp.c++/simd11.C: New test.
7280 * testsuite/libgomp.c++/simd12.C: New test.
7281 * testsuite/libgomp.c++/simd13.C: New test.
7282
b46ebd6c
JJ
7283 * testsuite/libgomp.fortran/aligned1.f03: New test.
7284 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7285 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7286 tasks with !$omp parallel !$omp single.
7287 * testsuite/libgomp.fortran/target8.f90: New test.
7288 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7289 not to use trim in the combiner, instead call elemental function.
7290 (fn): New elemental function.
7291 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7292 Make elemental.
7293 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7294 omp_in): Likewise.
7295 * testsuite/libgomp.fortran/udr12.f90: New test.
7296 * testsuite/libgomp.fortran/udr13.f90: New test.
7297 * testsuite/libgomp.fortran/udr14.f90: New test.
7298 * testsuite/libgomp.fortran/udr15.f90: New test.
7299
f014c653
JJ
73002014-06-18 Jakub Jelinek <jakub@redhat.com>
7301
7302 * omp_lib.f90.in (openmp_version): Set to 201307.
7303 * omp_lib.h.in (openmp_version): Likewise.
7304 * testsuite/libgomp.c/target-8.c: New test.
7305 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7306 and inbranch clauses.
7307 * testsuite/libgomp.fortran/depend-3.f90: New test.
7308 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7309 openmp_version.
7310 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7311 * testsuite/libgomp.fortran/target1.f90: New test.
7312 * testsuite/libgomp.fortran/target2.f90: New test.
7313 * testsuite/libgomp.fortran/target3.f90: New test.
7314 * testsuite/libgomp.fortran/target4.f90: New test.
7315 * testsuite/libgomp.fortran/target5.f90: New test.
7316 * testsuite/libgomp.fortran/target6.f90: New test.
7317 * testsuite/libgomp.fortran/target7.f90: New test.
7318
92d28cbb
JJ
73192014-06-10 Jakub Jelinek <jakub@redhat.com>
7320
7321 PR fortran/60928
7322 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7323 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7324 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7325 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7326 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7327 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7328 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7329 * testsuite/libgomp.fortran/associate1.f90: New test.
7330 * testsuite/libgomp.fortran/associate2.f90: New test.
7331 * testsuite/libgomp.fortran/procptr1.f90: New test.
7332
5f23671d
JJ
73332014-06-06 Jakub Jelinek <jakub@redhat.com>
7334
7335 * testsuite/libgomp.fortran/simd1.f90: New test.
7336 * testsuite/libgomp.fortran/udr1.f90: New test.
7337 * testsuite/libgomp.fortran/udr2.f90: New test.
7338 * testsuite/libgomp.fortran/udr3.f90: New test.
7339 * testsuite/libgomp.fortran/udr4.f90: New test.
7340 * testsuite/libgomp.fortran/udr5.f90: New test.
7341 * testsuite/libgomp.fortran/udr6.f90: New test.
7342 * testsuite/libgomp.fortran/udr7.f90: New test.
7343 * testsuite/libgomp.fortran/udr8.f90: New test.
7344 * testsuite/libgomp.fortran/udr9.f90: New test.
7345 * testsuite/libgomp.fortran/udr10.f90: New test.
7346 * testsuite/libgomp.fortran/udr11.f90: New test.
7347
0389fbb5
UB
73482014-05-27 Uros Bizjak <ubizjak@gmail.com>
7349
7350 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7351 vect_simd_clones effective target.
7352 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7353
decaaec8
JJ
73542014-05-21 Jakub Jelinek <jakub@redhat.com>
7355
7356 PR middle-end/61252
7357 * testsuite/libgomp.c++/simd-9.C: New test.
7358
72832460
UB
73592014-05-18 Uros Bizjak <ubizjak@gmail.com>
7360
7361 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7362 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7363 texts according to their @menu entry positions.
7364
dd2fc525
JJ
73652014-05-11 Jakub Jelinek <jakub@redhat.com>
7366
7367 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7368 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7369 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7370 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7371 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7372 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7373 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7374 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7375 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7376 * testsuite/libgomp.fortran/depend-1.f90: New test.
7377 * testsuite/libgomp.fortran/depend-2.f90: New test.
7378 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7379 * testsuite/libgomp.fortran/simd1.f90: New test.
7380 * testsuite/libgomp.fortran/simd2.f90: New test.
7381 * testsuite/libgomp.fortran/simd3.f90: New test.
7382 * testsuite/libgomp.fortran/simd4.f90: New test.
7383 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7384
95782571
JJ
73852014-05-02 Jakub Jelinek <jakub@redhat.com>
7386
7387 * testsuite/libgomp.c/simd-10.c: New test.
7388 * testsuite/libgomp.c/simd-11.c: New test.
7389 * testsuite/libgomp.c/simd-12.c: New test.
7390 * testsuite/libgomp.c/simd-13.c: New test.
7391
f7468577
JJ
73922014-04-24 Jakub Jelinek <jakub@redhat.com>
7393
42056eac
JJ
7394 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7395 atomic type clauses in any order and optional comma in between.
7396 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7397 * testsuite/libgomp.c/atomic-17.c: Likewise.
7398
f7468577
JJ
7399 * testsuite/libgomp.c/simd-7.c: New test.
7400 * testsuite/libgomp.c/simd-8.c: New test.
7401 * testsuite/libgomp.c/simd-9.c: New test.
7402 * testsuite/libgomp.c/loop-16.c: New test.
7403
ab18f2f5
RH
74042014-04-02 Richard Henderson <rth@redhat.com>
7405
7406 * config/linux/futex.h (futex_wait): Get error value from errno.
7407 (futex_wake): Likewise.
7408
8bcc90b0
JJ
74092014-03-25 Jakub Jelinek <jakub@redhat.com>
7410
7411 PR c++/60331
7412 * testsuite/libgomp.c++/udr-11.C: New test.
7413 * testsuite/libgomp.c++/udr-12.C: New test.
7414 * testsuite/libgomp.c++/udr-13.C: New test.
7415 * testsuite/libgomp.c++/udr-14.C: New test.
7416 * testsuite/libgomp.c++/udr-15.C: New test.
7417 * testsuite/libgomp.c++/udr-16.C: New test.
7418 * testsuite/libgomp.c++/udr-17.C: New test.
7419 * testsuite/libgomp.c++/udr-18.C: New test.
7420 * testsuite/libgomp.c++/udr-19.C: New test.
7421
18d73c7f
RS
74222014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7423
7424 Update copyright years
7425
f9030485
RS
74262014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7427
7428 * hashtab.h: Use the standard form for the copyright notice.
7429
98db73df
TB
74302014-01-02 Tobias Burnus <burnus@net-b.de>
7431
7432 * libgomp.texi: Bump @copying's copyright year.
7433
ae246f7f
AT
74342013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7435
7436 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7437 alloca () with __builtin_alloca ().
7438 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7439 * testsuite/libgomp.c/lock-3.c: Likewise.
7440 * testsuite/libgomp.c/pr48591.c: Likewise.
7441
fa00a5fe
JJ
74422013-12-17 Jakub Jelinek <jakub@redhat.com>
7443
7444 PR testsuite/59534
7445 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7446 comparisons.
7447
e9792e1d
JJ
74482013-12-16 Jakub Jelinek <jakub@redhat.com>
7449
7450 PR libgomp/58756
7451 * testsuite/libgomp.c/pr58756.c: New test.
7452
cab37c89
JJ
74532013-12-12 Jakub Jelinek <jakub@redhat.com>
7454
7455 PR libgomp/59467
7456 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7457 !$omp parallel.
7458
de14871c
TS
74592013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7460
1707a5de
TS
7461 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7462 ALWAYS_CFLAGS.
7463 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7464 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7465 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7466 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7467 Likewise.
7468
70f05c43
TS
7469 * libgomp_g.h: Include <stddef.h> for size_t.
7470
de14871c
TS
7471 * libgomp.spec.in: Update comment about libgomp's dependencies.
7472 * configure.ac: Likewise.
7473 * configure: Regenerate.
7474
83fd6c5b
TB
74752013-10-16 Tobias Burnus <burnus@net-b.de>
7476
7477 * libgomp.texi: (Runtime Library Routines): Update references for
7478 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7479 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7480 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7481 (Environment Variables): Update references for OpenMP 4.0. Add
7482 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7483 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7484 order.
7485
c8673881
JJ
74862013-10-14 Jakub Jelinek <jakub@redhat.com>
7487
7488 * env.c (parse_bind_var): Initialize value to avoid
7489 (false positive) warning.
7490
f89163fd
JJ
74912013-10-12 Jakub Jelinek <jakub@redhat.com>
7492
7493 PR libgomp/58691
7494 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7495 to check variable.
7496 (gomp_init_num_threads): Move i variable declaration into
7497 #ifdef CPU_ALLOC_SIZE block.
7498 * config/linux/affinity.c (gomp_affinity_init_level): Test
7499 gomp_places_list_len == 0 rather than gomp_places_list == 0
7500 when checking for topology reading error.
7501 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7502 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7503 gomp_places_list, only parse env var and always return false.
7504 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7505 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7506 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7507 and either of these variables were parsed correctly into a places
7508 list.
7509
1d340638
TS
75102013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7511 Jakub Jelinek <jakub@redhat.com>
7512
7513 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7514 of 5 loopfn matches.
7515 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7516 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7517 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7518 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7519 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7520 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7521 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7522 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7523
71a81c21
TS
75242013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7525
bd87f731
TS
7526 * Makefile.am (omp_lib.mod): Streamline rule.
7527 * Makefile.in: Regenerate.
7528
f5745bed
TS
7529 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7530 exceptions.
7531
b5512c66
TS
7532 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7533 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7534 * testsuite/libgomp.fortran/lib2.f: Likewise.
7535 * testsuite/libgomp.fortran/lib3.f: Likewise.
7536
451c19c4
TS
7537 * configure.ac: Typo fix.
7538 * configure: Regenerate.
7539
86a6016d
TS
7540 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7541 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7542
71a81c21
TS
7543 * omp.h.in: Don't touch the user's namespace.
7544
acf0174b
JJ
75452013-10-11 Jakub Jelinek <jakub@redhat.com>
7546 Tobias Burnus <burnus@net-b.de>
7547 Richard Henderson <rth@redhat.com>
7548
7549 * target.c: New file.
7550 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7551 * Makefile.in: Regenerated.
7552 * libgomp_g.h (GOMP_task): Add depend argument.
7553 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7554 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7555 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7556 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7557 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7558 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7559 GOMP_taskgroup_start, GOMP_taskgroup_end,
7560 GOMP_parallel_sections): New prototypes.
7561 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7562 (omp_is_initial_device_): New function.
7563 (ULP, STR1, STR2, ialias_redirect): Removed.
7564 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7565 omp_set_default_device_8_, omp_get_default_device_,
7566 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7567 functions.
7568 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7569 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7570 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7571 @@GOMP_4.0.
7572 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7573 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7574 omp_set_default_device, omp_set_default_device_,
7575 omp_set_default_device_8_, omp_get_default_device,
7576 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7577 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7578 omp_get_team_num_): Export @@OMP_4.0.
7579 * team.c (struct gomp_thread_start_data): Add place field.
7580 (gomp_thread_start): Clear thr->thread_pool and
7581 thr->task before returning. Use gomp_team_barrier_wait_final
7582 instead of gomp_team_barrier_wait. Initialize thr->place.
7583 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7584 team_cancelled and task_queued_count fields.
7585 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7586 before calling pthread_exit.
7587 (gomp_free_thread): No longer static. Use
7588 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7589 (gomp_team_start): Add flags argument. Set
7590 thr->thread_pool->threads_busy to nthreads immediately after creating
7591 new pool. Use gomp_managed_threads_lock instead of
7592 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7593 (gomp_team_end): Use gomp_managed_threads_lock instead of
7594 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7595 of gomp_team_barrier_wait. If team->team_cancelled, call
7596 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7597 rather than thr->ts.work_share.
7598 (initialize_team): Don't call gomp_sem_init here.
7599 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7600 caller.
7601 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7602 * env.c (gomp_global_icv): Add default_device_var, target_data and
7603 bind_var initializers.
7604 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7605 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7606 gomp_places_list_len): New variables.
7607 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7608 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7609 sized places.
7610 (gomp_cancel_var): New global variable.
7611 (parse_int): New function.
7612 (handle_omp_display_env): New function.
7613 (initialize_env): Use it. Initialize default_device_var.
7614 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7615 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7616 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7617 been successfully parsed (and call gomp_init_affinity in that case).
7618 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7619 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7620 omp_get_team_num, omp_is_initial_device): New functions.
7621 * libgomp.h: Include stdlib.h.
7622 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7623 Define.
7624 (struct target_mem_desc): Forward declare.
7625 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7626 and thread_limit_var fields.
7627 (gomp_get_num_devices): New prototype.
7628 (gomp_cancel_var): New extern decl.
7629 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7630 team_cancelled and task_queued_count fields. Add comments about
7631 task_{,queued_,running_}count.
7632 (gomp_cancel_kind): New enum.
7633 (gomp_work_share_end_cancel): New prototype.
7634 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7635 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7636 and depend fields.
7637 (struct gomp_taskgroup): New type.
7638 (struct gomp_task_depend_entry,
7639 struct gomp_dependers_vec): New types.
7640 (gomp_finish_task): Free depend_hash if non-NULL.
7641 (struct gomp_team_state): Add place_partition_off
7642 and place_partition_len fields.
7643 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7644 gomp_places_list_len): New extern decls.
7645 (struct gomp_thread): Add place field.
7646 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7647 (gomp_init_thread_affinity): Add place argument.
7648 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7649 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7650 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7651 gomp_affinity_init_level, gomp_affinity_print_place): New
7652 prototypes.
7653 (gomp_team_start): Add flags argument.
7654 (gomp_thread_limit_var, gomp_remaining_threads_count,
7655 gomp_remaining_threads_lock): Remove.
7656 (gomp_managed_threads_lock): New variable.
7657 (struct gomp_thread_pool): Add threads_busy field.
7658 (gomp_free_thread): New prototype.
7659 * task.c: Include hashtab.h.
7660 (hash_entry_type): New typedef.
7661 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7662 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7663 copy_ctors_done and taskgroup fields.
7664 (GOMP_task): Add depend argument, handle depend clauses. If
7665 gomp_team_barrier_cancelled or if it's taskgroup has been
7666 cancelled, don't queue or start new tasks. Set copy_ctors_done
7667 field if needed. Initialize taskgroup field. If copy_ctors_done
7668 and already cancelled, don't discard the task. If taskgroup is
7669 non-NULL, enqueue the task into taskgroup queue. Increment
7670 num_children field in taskgroup. Increment task_queued_count.
7671 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7672 gomp_task_run_post_remove_taskgroup): New inline functions.
7673 (gomp_task_run_post_handle_depend_hash,
7674 gomp_task_run_post_handle_dependers,
7675 gomp_task_run_post_handle_depend): New functions.
7676 (GOMP_taskwait): Use them. If more than one new tasks
7677 have been queued, wake other threads if needed.
7678 (gomp_barrier_handle_tasks): Likewise. If
7679 gomp_team_barrier_cancelled, don't start any new tasks, just free
7680 all tasks.
7681 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7682 * omp_lib.f90.in
7683 (omp_proc_bind_kind, omp_proc_bind_false,
7684 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7685 omp_proc_bind_spread): New params.
7686 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7687 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7688 omp_get_team_num, omp_is_initial_device): New interfaces.
7689 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7690 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7691 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7692 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7693 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7694 useless use omp_lib_kinds.
7695 * omp.h.in (omp_proc_bind_t): New typedef.
7696 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7697 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7698 omp_get_team_num, omp_is_initial_device): New prototypes.
7699 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7700 through to gomp_team_start.
7701 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7702 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7703 Adjust gomp_parallel_loop_start callers.
7704 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7705 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7706 GOMP_loop_end_cancel): New functions.
7707 (GOMP_parallel_end): Add ialias_redirect.
7708 * hashtab.h: New file.
7709 * libgomp.texi (Environment Variables): Minor cleanup,
7710 update section refs to OpenMP 4.0rc2.
7711 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7712 environment variables.
7713 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7714 team->work_shares_to_free to thr->ts.work_share before calling
7715 free_work_share.
7716 (gomp_work_share_end_cancel): New function.
7717 * config/linux/proc.c: Include errno.h.
7718 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7719 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7720 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7721 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7722 gomp_cpuset_size is sizeof (cpu_set_t).
7723 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7724 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7725 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7726 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7727 contain any logical CPUs.
7728 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7729 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7730 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7731 pthread_getaffinity_np. Check gomp_places_list instead of
7732 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7733 * config/linux/bar.c (gomp_barrier_wait_end,
7734 gomp_barrier_wait_last): Use BAR_* defines.
7735 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7736 from state where needed. Set work_share_cancelled to 0 on last
7737 thread.
7738 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7739 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7740 functions.
7741 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7742 Add cpusetsize argument.
7743 (gomp_cpuset_size, gomp_cpusetp): Declare.
7744 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7745 (affinity_counter): Remove.
7746 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7747 if CPU_ALLOC_SIZE isn't defined.
7748 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7749 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7750 bind current thread to the first place.
7751 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7752 pthread_setaffinity_np to gomp_places_list[place].
7753 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7754 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7755 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7756 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7757 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7758 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7759 (gomp_barrier_t): Add awaited_final field.
7760 (gomp_barrier_init): Initialize awaited_final field.
7761 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7762 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7763 prototypes.
7764 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7765 defines.
7766 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7767 gomp_team_barrier_cancelled): New inline functions.
7768 (gomp_barrier_last_thread,
7769 gomp_team_barrier_set_task_pending,
7770 gomp_team_barrier_clear_task_pending,
7771 gomp_team_barrier_set_waiting_for_tasks,
7772 gomp_team_barrier_waiting_for_tasks,
7773 gomp_team_barrier_done): Use BAR_* defines.
7774 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7775 (gomp_barrier_wait_end): Use BAR_* defines.
7776 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7777 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7778 Use BAR_* defines.
7779 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7780 gomp_team_barrier_cancel): New functions.
7781 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7782 argument.
7783 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7784 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7785 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7786 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7787 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7788 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7789 (gomp_barrier_t): Add cancellable field.
7790 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7791 gomp_team_barrier_cancel): New prototypes.
7792 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7793 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7794 gomp_team_barrier_cancelled): New inline functions.
7795 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7796 gomp_team_barrier_set_task_pending,
7797 gomp_team_barrier_clear_task_pending,
7798 gomp_team_barrier_set_waiting_for_tasks,
7799 gomp_team_barrier_waiting_for_tasks,
7800 gomp_team_barrier_done): Use BAR_* defines.
7801 * barrier.c (GOMP_barrier_cancel): New function.
7802 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7803 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7804 omp_proc_bind_spread): New params.
7805 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7806 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7807 omp_get_team_num, omp_is_initial_device): New externals.
7808 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7809 New functions.
7810 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7811 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7812 infinity. If not nested, just return minimum of max_num_threads
7813 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7814 to the returned value. Otherwise, don't update atomically
7815 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7816 (GOMP_parallel_end): Adjust for thread_limit now being in
7817 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7818 infinity. Adjust threads_busy in the pool rather than
7819 gomp_remaining_threads_count. Remember team->nthreads and call
7820 gomp_team_end before adjusting threads_busy, if not nested
7821 afterwards, just set it to 1 non-atomically. Add ialias.
7822 (GOMP_parallel_start): Adjust gomp_team_start caller.
7823 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7824 * testsuite/libgomp.c/affinity-1.c: New test.
7825 * testsuite/libgomp.c/atomic-15.c: New test.
7826 * testsuite/libgomp.c/atomic-16.c: New test.
7827 * testsuite/libgomp.c/atomic-17.c: New test.
7828 * testsuite/libgomp.c/cancel-for-1.c: New test.
7829 * testsuite/libgomp.c/cancel-for-2.c: New test.
7830 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7831 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7832 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7833 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7834 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7835 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7836 * testsuite/libgomp.c/depend-1.c: New test.
7837 * testsuite/libgomp.c/depend-2.c: New test.
7838 * testsuite/libgomp.c/depend-3.c: New test.
7839 * testsuite/libgomp.c/depend-4.c: New test.
7840 * testsuite/libgomp.c/for-1.c: New test.
7841 * testsuite/libgomp.c/for-1.h: New file.
7842 * testsuite/libgomp.c/for-2.c: New test.
7843 * testsuite/libgomp.c/for-2.h: New file.
7844 * testsuite/libgomp.c/for-3.c: New test.
7845 * testsuite/libgomp.c/pr58392.c: New test.
7846 * testsuite/libgomp.c/simd-1.c: New test.
7847 * testsuite/libgomp.c/simd-2.c: New test.
7848 * testsuite/libgomp.c/simd-3.c: New test.
7849 * testsuite/libgomp.c/simd-4.c: New test.
7850 * testsuite/libgomp.c/simd-5.c: New test.
7851 * testsuite/libgomp.c/simd-6.c: New test.
7852 * testsuite/libgomp.c/target-1.c: New test.
7853 * testsuite/libgomp.c/target-2.c: New test.
7854 * testsuite/libgomp.c/target-3.c: New test.
7855 * testsuite/libgomp.c/target-4.c: New test.
7856 * testsuite/libgomp.c/target-5.c: New test.
7857 * testsuite/libgomp.c/target-6.c: New test.
7858 * testsuite/libgomp.c/target-7.c: New test.
7859 * testsuite/libgomp.c/taskgroup-1.c: New test.
7860 * testsuite/libgomp.c/thread-limit-1.c: New test.
7861 * testsuite/libgomp.c/thread-limit-2.c: New test.
7862 * testsuite/libgomp.c/thread-limit-3.c: New test.
7863 * testsuite/libgomp.c/udr-1.c: New test.
7864 * testsuite/libgomp.c/udr-2.c: New test.
7865 * testsuite/libgomp.c/udr-3.c: New test.
7866 * testsuite/libgomp.c++/affinity-1.C: New test.
7867 * testsuite/libgomp.c++/atomic-10.C: New test.
7868 * testsuite/libgomp.c++/atomic-11.C: New test.
7869 * testsuite/libgomp.c++/atomic-12.C: New test.
7870 * testsuite/libgomp.c++/atomic-13.C: New test.
7871 * testsuite/libgomp.c++/atomic-14.C: New test.
7872 * testsuite/libgomp.c++/atomic-15.C: New test.
7873 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7874 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7875 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7876 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7877 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7878 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7879 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7880 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7881 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7882 * testsuite/libgomp.c++/cancel-test.h: New file.
7883 * testsuite/libgomp.c++/for-9.C: New test.
7884 * testsuite/libgomp.c++/for-10.C: New test.
7885 * testsuite/libgomp.c++/for-11.C: New test.
7886 * testsuite/libgomp.c++/simd-1.C: New test.
7887 * testsuite/libgomp.c++/simd-2.C: New test.
7888 * testsuite/libgomp.c++/simd-3.C: New test.
7889 * testsuite/libgomp.c++/simd-4.C: New test.
7890 * testsuite/libgomp.c++/simd-5.C: New test.
7891 * testsuite/libgomp.c++/simd-6.C: New test.
7892 * testsuite/libgomp.c++/simd-7.C: New test.
7893 * testsuite/libgomp.c++/simd-8.C: New test.
7894 * testsuite/libgomp.c++/target-1.C: New test.
7895 * testsuite/libgomp.c++/target-2.C: New test.
7896 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7897 * testsuite/libgomp.c++/target-3.C: New test.
7898 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7899 * testsuite/libgomp.c++/udr-1.C: New test.
7900 * testsuite/libgomp.c++/udr-2.C: New test.
7901 * testsuite/libgomp.c++/udr-3.C: New test.
7902 * testsuite/libgomp.c++/udr-4.C: New test.
7903 * testsuite/libgomp.c++/udr-5.C: New test.
7904 * testsuite/libgomp.c++/udr-6.C: New test.
7905 * testsuite/libgomp.c++/udr-7.C: New test.
7906 * testsuite/libgomp.c++/udr-8.C: New test.
7907 * testsuite/libgomp.c++/udr-9.C: New test.
7908
bd599dea
JJ
79092013-09-20 Jakub Jelinek <jakub@redhat.com>
7910
7911 PR testsuite/57605
7912 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7913 ALWAYS_CFLAGS.
7914
3cbe17f7
AM
79152013-09-20 Alan Modra <amodra@gmail.com>
7916
7917 * configure: Regenerate.
7918
4befd127
JJ
79192013-09-19 Jakub Jelinek <jakub@redhat.com>
7920
7921 * testsuite/libgomp.c/sections-2.c: New test.
7922
946c8f7b
MS
79232013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7924
7925 * testsuite/libgomp.fortran/strassen.f90:
7926 Add dg-skip-if aarch64_tiny.
7927
1ef3b58e
IS
79282013-06-20 Iain Sandoe <iain@codesourcery.com>
7929 Cesar Philippidis <cesar@codesourcery.com>
7930
7931 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7932 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7933 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7934 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7935 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7936 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7937 Use dg-runtest rather than gfortran-dg-runtest.
7938
9275f73a
TS
79392013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7940
7941 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7942 Linux-based x86 systems to cover all GNU systems.
7943 * testsuite/libgomp.c/lock-3.c: Likewise.
7944 * testsuite/libgomp.c/pr48591.c: Likewise.
7945
492992e2
TS
79462013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7947
48df3acb
TS
7948 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7949 GNU/Hurd, as done for Linux-based systems.
7950
492992e2
TS
7951 * config/posix/ptrlock.h: Fix comment.
7952
4fed6b25
TB
79532013-05-27 Tobias Burnus <burnus@net-b.de>
7954
7955 PR fortran/57423
7956 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7957 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7958 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7959 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7960 omp_destroy_nest_lock): Correct arguments to match the one in
7961 the OpenMP spec.
7962 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7963 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7964 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7965 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7966
5a0f4dd3
JJ
79672013-05-16 Jakub Jelinek <jakub@redhat.com>
7968
7969 * testsuite/libgomp.c/loop-13.c: New test.
7970 * testsuite/libgomp.c/loop-14.c: New test.
7971 * testsuite/libgomp.c/loop-15.c: New test.
7972 * testsuite/libgomp.c++/loop-13.C: New test.
7973 * testsuite/libgomp.c++/loop-14.C: New test.
7974 * testsuite/libgomp.c++/loop-15.C: New test.
7975
6d840d99
JJ
79762013-02-06 Jakub Jelinek <jakub@redhat.com>
7977
7978 PR middle-end/56217
7979 * testsuite/libgomp.c++/pr56217.C: New test.
7980
bed8d8a6
AM
79812013-02-01 Alan Modra <amodra@gmail.com>
7982
7983 * task.c (GOMP_task, GOMP_taskwait): Comment.
7984
3b35cd04
DV
79852013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7986 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7987
7988 PR libgomp/55561
7989 * config/linux/wait.h (do_spin): Use atomic load for addr.
7990 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7991 for intptr and ptrlock.
7992 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7993 for ptrlock.
7994
9a647288
AM
79952013-01-22 Alan Modra <amodra@gmail.com>
7996
7997 PR libgomp/51376
7998 PR libgomp/56073
7999 * task.c (GOMP_task): Revert 2011-12-09 change.
8000 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8001 barrier to read task->children..
8002 (gomp_barrier_handle_tasks): ..and matching atomic store with
8003 release barrier here when setting parent->children to NULL.
8004
f34dea03
JJ
80052013-01-16 Jakub Jelinek <jakub@redhat.com>
8006 Tobias Burnus <burnus@net-b.de>
8007
8008 PR driver/55884
8009 * testsuite/libgomp.fortran/fortran.exp: Use
8010 -fintrinsic-modules-path= instead of
8011 -fintrinsic-modules-path.
8012
8129609c
RS
80132013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8014
8015 Update copyright years.
8016
aa86bf1e
TB
80172012-12-19 Tobias Burnus <burnus@net-b.de>
8018
8019 * testsuite/libgomp.fortran/fortran.exp: Set
8020 -fintrinsic-modules-path.
8021
2865ea66
TB
80222012-12-19 Tobias Burnus <burnus@net-b.de>
8023
8024 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8025 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8026
4c5ba8d0
JJ
80272012-11-21 Jakub Jelinek <jakub@redhat.com>
8028
8029 PR libgomp/55411
8030 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8031 if pool had any threads_used.
8032
e9f958c2
JH
80332012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8034
8035 * testsuite/libgomp.c++/pr24455.C: Use
8036 -Wl,-undefined,dynamic_lookup on darwin.
8037
a57d75dc
DE
80382012-11-07 David Edelsohn <dje.gcc@gmail.com>
8039
8040 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8041
c6c08485
DH
80422012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8043
8044 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8045
c1f37c00
IB
80462012-10-23 Ian Bolton <ian.bolton@arm.com>
8047 Jim MacArthur <jim.macarthur@arm.com>
8048 Marcus Shawcroft <marcus.shawcroft@arm.com>
8049 Nigel Stephens <nigel.stephens@arm.com>
8050 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8051 Richard Earnshaw <rearnsha@arm.com>
8052 Sofiane Naci <sofiane.naci@arm.com>
8053 Stephen Thomas <stephen.thomas@arm.com>
8054 Tejas Belagod <tejas.belagod@arm.com>
8055 Yufeng Zhang <yufeng.zhang@arm.com>
8056
8057 * configure.tgt: Add AArch64.
8058
7c424acd
JM
80592012-10-04 Jason Merrill <jason@redhat.com>
8060
8061 * testsuite/libgomp.c++/tls-init1.C: New.
8062
6608378b
DE
80632012-09-14 David Edelsohn <dje.gcc@gmail.com>
8064
8065 * configure: Regenerated.
8066
c24dbebb
CLT
80672012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8068
8069 * config/linux/mips/futex.h (sys_futex0): Change to static
8070 function with noinline, nomips16 attributes under MIPS16. Adjust
8071 asm statement to place 'li v0,SYS_futex' immediately before
8072 syscall insn.
8073
3d3949df
SL
80742012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8075
8076 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8077 conflict with index.html on case-insensitive file systems.
8078
68a12ef3
UB
80792012-07-03 Uros Bizjak <ubizjak@gmail.com>
8080
8081 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8082 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8083
33ad93b9 80842012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8085 Michael Matz <matz@suse.de>
8086 Tobias Grosser <tobias@grosser.es>
8087 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8088
8089 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8090 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8091 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8092 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8093
e6fdc918
AS
80942012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8095
8096 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8097
62e0a1ed
RG
80982012-06-22 Richard Guenther <rguenther@suse.de>
8099
8100 Merge from graphite branch
8101 2012-01-13 Tobias Grosser <tobias@grosser.es>
8102
8103 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8104 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8105
26127932
JJ
81062012-06-07 Jakub Jelinek <jakub@redhat.com>
8107
8108 PR middle-end/53580
8109 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8110 use GOMP_barrier () call instead.
8111 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8112 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8113 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8114 call GOMP_barrier instead.
8115 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8116
43fa5db5
JJ
81172012-06-06 Jakub Jelinek <jakub@redhat.com>
8118
8119 PR libgomp/52993
8120 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8121 argument to memset call.
8122
e6d5f8c9
L
81232012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8124
8125 * configure: Regenerated.
8126
559d990c
MLI
81272012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8128
8129 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8130
b9c23a61
L
81312012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8132
8133 PR bootstrap/52812
8134 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8135
c140ddf3
JJ
81362012-03-22 Jakub Jelinek <jakub@redhat.com>
8137
8138 PR middle-end/52547
8139 * testsuite/libgomp.c/pr52547.c: New test.
8140
6a26a74d
BRF
81412012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8142
8143 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8144
b24513a1
RO
81452012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8146
8147 * configure.tgt (mips-sgi-irix6*): Remove.
8148
5c30094f
RO
81492012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8150
8151 * configure.tgt (alpha*-dec-osf*): Remove.
8152
8153 * config/osf/sem.h: Remove.
8154 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8155
a339c9d6
EB
81562012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8157
8158 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8159
cc2de92d
RO
81602012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8161
8162 PR libstdc++/52188
8163 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8164 Remove ENABLE_SYMVERS_SOL2.
8165 * configure: Regenerate.
8166 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8167 (PREPROCESS): New variable.
8168 (libgomp.ver): New target.
8169 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8170 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8171 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8172 Use libgomp.ver.
8173 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8174 * Makefile.in: Regenerate.
8175
dd552284
WL
81762012-02-14 Walter Lee <walt@tilera.com>
8177
8178 * configure.tgt: Handle tilegx and tilepro.
8179 * config/linux/tile/futex.h: New file.
8180
31432e21
RG
81812012-02-08 Richard Guenther <rguenther@suse.de>
8182
8183 PR tree-optimization/46886
8184 * testsuite/libgomp.c/pr46886.c: New testcase.
8185
b9264b5f
MK
81862012-01-25 Matthias Klose <doko@ubuntu.com>
8187
8188 * config/linux/arm: Remove empty directory.
8189 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8190
fbf7be80
AM
81912011-12-09 Alan Modra <amodra@gmail.com>
8192
8193 PR libgomp/51376
8194 * task.c (GOMP_taskwait): Don't access task->children outside of
8195 task_lock mutex region.
8196 (GOMP_task): Likewise.
8197
5de62d00
JJ
81982011-12-06 Jakub Jelinek <jakub@redhat.com>
8199
8200 PR libgomp/51132
8201 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8202 to file scope.
8203 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8204 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8205 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8206 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8207 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8208
45608a43
AM
82092011-12-02 Alan Modra <amodra@gmail.com>
8210
8211 * config/linux/affinity.c: Use atomic rather than sync builtin.
8212 * config/linux/lock.c: Likewise.
8213 * config/linux/ptrlock.h: Likewise.
8214 * config/linux/ptrlock.c: Likewise.
8215 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8216 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8217 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8218 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8219 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8220 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8221 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8222 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8223 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8224 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8225
ab6dd406
AM
82262011-11-30 Alan Modra <amodra@gmail.com>
8227
8228 PR libgomp/51298
8229 * config/linux/bar.h: Use atomic rather than sync builtins.
8230 * config/linux/bar.c: Likewise. Add missing acquire
8231 synchronisation on generation field.
8232 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8233 double unlock.
8234
b40c885f
AM
82352011-11-30 Alan Modra <amodra@gmail.com>
8236
8237 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8238 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8239 * config/linux/mutex.h: Use atomic rather than sync builtins.
8240 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8241 * config/linux/omp-lock.h: Comment fix.
8242 * config/linux/arm/mutex.h: Delete.
8243 * config/linux/powerpc/mutex.h: Delete.
8244 * config/linux/ia64/mutex.h: Delete.
8245 * config/linux/mips/mutex.h: Delete.
8246
3e348fcc
AM
82472011-11-30 Alan Modra <amodra@gmail.com>
8248
8249 PR libgomp/51249
8250 * config/linux/sem.h: Rewrite.
8251 * config/linux/sem.c: Rewrite.
8252
cef86eb2
RH
82532011-11-28 Richard Henderson <rth@redhat.com>
8254
8255 * libgomp.h (enum memmodel): New.
8256
c6084f68
AT
82572011-11-21 Andreas Tobler <andreast@fgznet.ch>
8258
8259 * configure: Regenerate.
8260
06fe026c
MK
82612011-10-10 Matthias Klose <doko@ubuntu.com>
8262
8263 * config/posix95: Remove empty directory.
8264
a6c975bd
JJ
82652011-08-26 Jakub Jelinek <jakub@redhat.com>
8266
8267 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8268
c26dffff
JJ
82692011-08-19 Jakub Jelinek <jakub@redhat.com>
8270
8271 PR fortran/49792
8272 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8273 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8274
ddaad3c8
RO
82752011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8276
8277 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8278
98d03683
RO
82792011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8280
8281 PR libgomp/49965
8282 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8283
e0b23d9f
UB
82842011-08-03 Uros Bizjak <ubizjak@gmail.com>
8285
8286 * config/linux/proc.h: New.
8287 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8288 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8289 (gomp_init_num_threads): Update call to cpuset_popcount.
8290 (get_num_procs): Ditto.
8291 * config/linux/affinity.c (gomp_init_affinity): Call
8292 gomp_cpuset_popcount.
8293
20906c66
JJ
82942011-08-02 Jakub Jelinek <jakub@redhat.com>
8295
8296 PR fortran/42041
8297 PR fortran/46752
8298 * omp.h.in (omp_in_final): New prototype.
8299 * omp_lib.f90.in (omp_in_final): New interface.
8300 (omp_integer_kind, omp_logical_kind): Remove
8301 and replace all its uses in the module with 4.
8302 (openmp_version): Change to 201107.
8303 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8304 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8305 kind for the parameters.
8306 (omp_in_final): New external.
8307 (openmp_version): Change to 201107.
8308 * task.c (omp_in_final): New function.
8309 (gomp_init_task): Initialize final_task.
8310 (GOMP_task): Remove unused attribute from flags. Handle final
8311 tasks.
8312 (GOMP_taskyield): New function.
8313 (omp_in_final): Return true if if (false) or final (true) task
8314 or descendant of final (true).
8315 * fortran.c (omp_in_final_): New function.
8316 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8317 (GOMP_3.0): Export GOMP_taskyield.
8318 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8319 variables.
8320 (parse_unsigned_long_list): New function.
8321 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8322 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8323 even if parse_affinity returned false.
8324 * config/linux/affinity.c (gomp_init_affinity): Handle
8325 gomp_cpu_affinity_len == 0.
8326 * libgomp_g.h (GOMP_taskyield): New prototype.
8327 * libgomp.h (struct gomp_task): Add final_task field.
8328 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8329 * team.c (gomp_team_start): Override new task's nthreads_var icv
8330 if list form OMP_NUM_THREADS has been used and it has value for
8331 the new nesting level.
8332
8333 * testsuite/libgomp.c/atomic-11.c: New test.
8334 * testsuite/libgomp.c/atomic-12.c: New test.
8335 * testsuite/libgomp.c/atomic-13.c: New test.
8336 * testsuite/libgomp.c/atomic-14.c: New test.
8337 * testsuite/libgomp.c/reduction-6.c: New test.
8338 * testsuite/libgomp.c/task-5.c: New test.
8339 * testsuite/libgomp.c++/atomic-2.C: New test.
8340 * testsuite/libgomp.c++/atomic-3.C: New test.
8341 * testsuite/libgomp.c++/atomic-4.C: New test.
8342 * testsuite/libgomp.c++/atomic-5.C: New test.
8343 * testsuite/libgomp.c++/atomic-6.C: New test.
8344 * testsuite/libgomp.c++/atomic-7.C: New test.
8345 * testsuite/libgomp.c++/atomic-8.C: New test.
8346 * testsuite/libgomp.c++/atomic-9.C: New test.
8347 * testsuite/libgomp.c++/task-8.C: New test.
8348 * testsuite/libgomp.c++/reduction-4.C: New test.
8349 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8350 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8351 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8352 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8353 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8354 * testsuite/libgomp.fortran/pointer1.f90: New test.
8355 * testsuite/libgomp.fortran/pointer2.f90: New test.
8356 * testsuite/libgomp.fortran/task4.f90: New test.
8357
83582011-08-02 Tobias Burnus <burnus@net-b.de>
8359
8360 * libgomp.texi: Update OpenMP spec references to 3.1.
8361 (omp_in_final,OMP_PROC_BIND): New sections.
8362 (OMP_NUM_THREADS): Document that the value can be now a list.
8363 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8364
c01ecafc
L
83652011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8366
8367 * config/linux/x86/futex.h: Check __x86_64__ instead of
8368 __LP64__.
8369
25142650
JJ
83702011-07-29 Jakub Jelinek <jakub@redhat.com>
8371
8372 PR middle-end/49897
8373 PR middle-end/49898
8374 * testsuite/libgomp.c/pr49897-1.c: New test.
8375 * testsuite/libgomp.c/pr49897-2.c: New test.
8376 * testsuite/libgomp.c/pr49898-1.c: New test.
8377 * testsuite/libgomp.c/pr49898-2.c: New test.
8378
f53d712f
L
83792011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8380
8381 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8382 for ia32 instead of ilp32.
8383
8384 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8385 * testsuite/libgomp.c/atomic-6.c: Likewise.
8386
3689198d
SP
83872011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8388
8389 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8390 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8391
1a79cb73
RO
83922011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8393
8394 PR libgomp/45351
8395 * config/osf/sem.h: New file.
8396 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8397
c1f51484
RO
83982011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8399
8400 PR target/49541
8401 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8402 ldflags.
8403
bfee0724
JJ
84042011-07-15 Jakub Jelinek <jakub@redhat.com>
8405
8406 * config/linux/wait.h (do_spin): New inline, largely copied
8407 from do_wait, just don't do futex_wait here, instead return true if
8408 it should be done.
8409 (do_wait): Implement using do_spin.
8410 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8411 to prototype.
8412 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8413 __sync_bool_compare_and_swap, pass the oldval to
8414 gomp_mutex_lock_slow.
8415 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8416 If all mutex contenders are just spinning and not sleeping, don't
8417 change state to 2 unnecessarily. Optimize the loop when state has
8418 already become 2 to use just one atomic operation per loop instead
8419 of two.
8420 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8421 to prototype.
8422 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8423 __sync_bool_compare_and_swap, pass the oldval to
8424 gomp_mutex_lock_slow.
8425
fb79f500
JJ
84262011-06-22 Jakub Jelinek <jakub@redhat.com>
8427
8428 PR libgomp/49490
8429 * iter.c (gomp_iter_static_next): For chunk size 0
8430 only use n ceil/ nthreads size for the first
8431 n % nthreads threads in the team instead of
8432 all threads except for the last few ones which
8433 get less work or none at all.
8434 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8435 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8436 chunk argument, set run_sched_modifier to 0 for static
8437 resp. 1 for other kinds. If chunk argument is 0
8438 and not static, set value to 1.
8439
4577f730
JJ
84402011-05-19 Jakub Jelinek <jakub@redhat.com>
8441
ea93a47b
JJ
8442 PR c++/49043
8443 * testsuite/libgomp.c++/pr49043.C: New test.
8444
4577f730
JJ
8445 PR c++/48869
8446 * testsuite/libgomp.c++/pr48869.C: New test.
8447
e7385332
JJ
84482011-05-06 Jakub Jelinek <jakub@redhat.com>
8449
8450 PR fortran/48894
8451 * fortran.c: Include limits.h.
8452 (TO_INT): Define.
8453 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8454 *set.
8455 (omp_set_num_threads_8_, omp_set_schedule_8_,
8456 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8457 omp_get_team_size_8_): Use TO_INT macro.
8458 * testsuite/libgomp.fortran/pr48894.f90: New test.
8459
20790697
JJ
84602011-04-13 Jakub Jelinek <jakub@redhat.com>
8461
8462 PR middle-end/48591
8463 * testsuite/libgomp.c/pr48591.c: New test.
8464
bf382f5f
RO
84652011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8466
8467 PR bootstrap/48135
8468 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8469 * configure: Regenerate.
8470
113a53c1
JJ
84712011-02-27 Jakub Jelinek <jakub@redhat.com>
8472
8473 PR fortran/47886
8474 * testsuite/libgomp.fortran/task3.f90: New test.
8475
0024f1af
TB
84762011-02-24 Tobias Burnus <burnus@net-b.de>
8477
8478 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8479
21e1e594
JJ
84802011-02-23 Jakub Jelinek <jakub@redhat.com>
8481
8482 PR libgomp/47854
8483 * libgomp.texi (omp_get_wtime): Don't say time in the past
8484 must be Unix Epoch.
8485
67962076
JJ
84862011-02-18 Jakub Jelinek <jakub@redhat.com>
8487
8488 PR libgomp/47804
8489 * testsuite/libgomp.fortran/fortran.exp: Check for both
8490 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8491 but $blddir != "", still append ${blddir}/${lang_library_path}
8492 to ld_library_path.
8493
3808007c
TB
84942011-02-16 Tobias Burnus <burnus@net-b.de>
8495
8496 PR libgomp/47758
8497 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8498 of libquadmath.a before adding its libpath to ldflags.
8499
53b4d41d
JJ
85002011-02-14 Jakub Jelinek <jakub@redhat.com>
8501
8502 PR libgomp/47731
8503 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8504 to FUTEX_WAIT futex syscall.
8505 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8506
029c8f3e
RW
85072011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8508
8509 * configure: Regenerate.
8510
bddd6626
BK
85112011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8512
8513 PR libstdc++/36104
8514 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8515
f1d4ab26
GP
85162011-01-16 Gerald Pfeifer
8517
8518 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8519
2b503136
JJ
85202010-12-14 Jakub Jelinek <jakub@redhat.com>
8521
8522 PR fortran/46874
8523 * libgomp.fortran/allocatable6.f90: New test.
8524
c0f9d583
RO
85252010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8526
8527 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8528 * configure: Regenerate.
8529
7de6ba7a
DK
85302010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8531
8532 PR target/40125
8533 PR lto/46695
8534 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8535 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8536 * aclocal.m4: Regenerate.
8537 * configure: Regenerate.
8538 * Makefile.in: Regenerate.
8539 * testsuite/Makefile.in: Regenerate.
8540
b7516041
JJ
85412010-12-02 Jakub Jelinek <jakub@redhat.com>
8542
edaadf74
JJ
8543 PR fortran/46753
8544 * libgomp.fortran/pr46753.f90: New test.
8545
4c698cf8
JJ
8546 PR libgomp/43706
8547 * env.c (initialize_env): Default to spin count 300000
8548 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8549 is specified.
8550
b7516041
JJ
8551 PR libgomp/45240
8552 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8553 at the end if sync builtins aren't supported.
8554
6b43a34c
RO
85552010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8556
8557 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8558
950691fa
RO
85592010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8560
8561 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8562
fb9041ea
IS
85632010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8564
8565 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8566
1ec601bf
FXC
85672010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8568 Tobias Burnus <burnus@net-b.de>
8569
8570 PR fortran/32049
3e348fcc 8571 * configure.ac:
1ec601bf
FXC
8572 * configure: Regenerate.
8573
d213e92e
MS
85742010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8575
8576 * config/linux/futex.h: New.
8577 * config/linux/arm/mutex.h: New.
8578 * configure.tgt (arm*-*-linux*): Add config path.
8579
89d5c66f
SP
85802010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8581
8582 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8583
87350d4a
TB
85842010-09-23 Tobias Burnus <burnus@net-b.de>
8585
8586 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8587 Change Fortran datatype to LOGICAL.
8588 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8589 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8590
75bc9e5e
RW
85912010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8592
8593 * configure: Regenerate.
8594
acb5c916
JJ
85952010-07-26 Jakub Jelinek <jakub@redhat.com>
8596
8597 * libgomp.texi: Add function keyword to a couple of Fortran
8598 interfaces, use integer instead of int for Fortran.
8599
6a2ba183
AH
86002010-07-26 Aldy Hernandez <aldyh@redhat.com>
8601
8602 * libgomp.texi: Fix spelling and pasto problems throughout.
8603 Adjust prototypes to match code.
8604
df161b69
TB
86052010-07-24 Tobias Burnus <burnus@net-b.de>
8606
8607 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8608 silence -fwhole-file warning.
8609
16c9d3b1
RO
86102010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8611
8612 * configure.tgt (*-*-solaris2.[56]*): Removed.
8613
6d28b933
RO
86142010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8615
8616 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8617 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8618 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8619 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8620 targetting solaris2*.
8621 * configure: Regenerate.
8622 * config.h.in: Regenerate.
8623
8624 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8625 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8626 Add libgomp_version_dep.
8627 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8628 versioning.
8629 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8630 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8631 * Makefile.in: Regenerate.
8632
8633 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8634 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8635 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8636 to common block, protected by
8637 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8638
07a67d6a
GP
86392010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8640
8641 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8642
dbd34b89
IS
86432010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8644
8645 PR bootstrap/43170
8646 * configure: Regenerate.
8647
13917ae3
RW
86482010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8649
8650 PR other/43620
8651 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8652 * configure: Regenerate.
8653 * Makefile.in: Regenerate.
8654 * testsuite/Makefile.in: Regenerate.
8655
b83a701b
JJ
86562010-04-26 Jakub Jelinek <jakub@redhat.com>
8657
8658 PR c/43893
8659 * testsuite/libgomp.c/pr43893.c: New test.
8660 * testsuite/libgomp.c++/pr43893.C: New test.
8661
78db7d92
JJ
86622010-04-21 Jakub Jelinek <jakub@redhat.com>
8663
8664 PR middle-end/43570
8665 * testsuite/libgomp.fortran/vla8.f90: New test.
8666
5221d7a9
JJ
86672010-04-20 Jakub Jelinek <jakub@redhat.com>
8668
e4ba7a60
JJ
8669 PR libgomp/43706
8670 * config/linux/affinity.c (gomp_init_affinity): Decrease
8671 gomp_available_cpus if affinity mask confines the process to fewer
8672 CPUs.
8673 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8674 non-NULL, just return gomp_available_cpus.
8675
5221d7a9
JJ
8676 PR libgomp/43569
8677 * sections.c (gomp_sections_init): Initialize ws->mode.
8678
289a9f86
UB
86792010-04-14 Uros Bizjak <ubizjak@gmail.com>
8680
8681 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8682 not unused bar variable.
8683 * configure: Regenerate.
8684
4d9e8446
RW
86852010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8686
8687 * Makefile.in: Regenerate.
8688 * aclocal.m4: Regenerate.
8689 * testsuite/Makefile.in: Regenerate.
8690
80f046cc
JJ
86912010-03-22 Jakub Jelinek <jakub@redhat.com>
8692
8693 PR libgomp/42942
8694 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8695 (initialize_env): Adjust callers.
8696 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8697 when the argument is 0.
8698
8699 * testsuite/libgomp.c/pr42942.c: New test.
8700
b58543c3
SP
87012010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8702
8703 PR middle-end/42644
8704 PR middle-end/42130
8705 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8706 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8707
41d1138f
RO
87082010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8709
8710 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8711 * testsuite/libgomp.c++/task-6.C: Likewise.
8712
6684eb28
SE
87132010-01-28 Steve Ellcey <sje@cup.hp.com>
8714
8715 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8716
2122aa97
PB
87172010-01-26 Paolo Bonzini <bonzini@gnu.org>
8718
8719 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8720 * configure: Regenerate.
8721
057dd91d
JJ
87222010-01-26 Jakub Jelinek <jakub@redhat.com>
8723
8724 PR fortran/42866
8725 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8726
d0709b6a
PB
87272010-01-20 Paolo Bonzini <bonzini@gnu.org>
8728
8729 * configure.ac: Test for executability of GFORTRAN.
8730 * configure: Regenerate.
8731
b9497ab5
RO
87322010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8733
8734 * configure: Regenerate.
8735
45de5648
L
87362010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8737
8738 PR libgomp/42602
8739 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8740
e74003a1
RG
87412010-01-03 Richard Guenther <rguenther@suse.de>
8742
8743 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8744
1b3abda8
SP
87452009-12-23 Sebastian Pop <sebpop@gmail.com>
8746
8747 * testsuite/libgomp.graphite/pr4118.c: New.
8748
e19977d3
IS
87492009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8750
8751 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8752 for darwin, protect the test with require-effective-target tls_runtime.
8753 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8754
1d32a772
IS
87552009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8756
8757 PR target/41605
8758 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8759 link spec %s substitutions for static libraries.
8760
deb109b2
JH
87612009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8762
8763 PR testsuite/42135
8764 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8765
43e02a8a
RW
87662009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8767
8768 * Makefile.in: Regenerate.
8769 * configure: Regenerate.
8770 * testsuite/Makefile.in: Regenerate.
8771
17f35e23
DK
87722009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8773
8774 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8775 settings for LC_ALL and LANG.
8776
281e33e1
JJ
87772009-11-25 Jakub Jelinek <jakub@redhat.com>
8778
8779 PR fortran/42162
8780 * testsuite/libgomp.fortran/pr42162.f90: New test.
8781
2b32c27d
JJ
87822009-11-13 Jakub Jelinek <jakub@redhat.com>
8783
8784 PR middle-end/42029
281e33e1 8785 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8786
89c74f4a
JJ
87872009-10-26 Jakub Jelinek <jakub@redhat.com>
8788
8789 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8790 *s. Accept ld version without text in ()s.
8791 * configure: Regenerated.
8792
7e06c3d6
EB
87932009-10-22 Razya Ladelsky <razya@il.ibm.com>
8794
8795 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8796
0046b1a7
RW
87972009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8798
8799 PR libgomp/41418
8800 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8801 or a hyphen (happens with fortran language disabled).
8802 * configure: Regenerate.
8803
c82852f7
RW
88042009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8805
8806 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8807 use sed script portable to Solaris /bin/sed for extracting ld
8808 version.
8809 * configure: Regenerate.
8810
98f3eb1f
AM
88112009-09-17 Alexander Monakov <amonakov@ispras.ru>
8812
8813 * testsuite/libgomp.graphite/bounds.c: New test.
8814
878f62e5
RW
88152009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8816
8817 * Makefile.am (libgomp_la_LINK): New.
8818 * Makefile.in: Regenerate.
8819
df58e648
RW
88202009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8821
8822 * configure.ac (AC_PREREQ): Bump to 2.64.
8823
5213506e
RW
88242009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8825
70fa0efa
RW
8826 * Makefile.am (install-html, install-pdf): Remove.
8827 * Makefile.in: Regenerate.
8828
5213506e
RW
8829 * Makefile.in: Regenerate.
8830 * aclocal.m4: Regenerate.
8831 * config.h.in: Regenerate.
8832 * configure: Regenerate.
8833 * testsuite/Makefile.in: Regenerate.
8834
84fec8a5
RW
88352009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8836
8837 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8838 * Makefile.in: Regenerate.
8839
197c68cc
DK
88402009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8841
8842 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8843 * Makefile.in: Regenerate.
8844
693d54f2
TB
88452009-08-19 Tobias Burnus <burnus@net-b.de>
8846
8847 PR fortran/41102
8848 omp_lib.h.in: Fix -std=f95 errors.
8849
8cac884c
DE
88502009-08-14 David Edelsohn <edelsohn@gnu.org>
8851
8852 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8853 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8854 * testsuite/libgomp.graphite/graphite.exp: New.
8855
78729ee2
AT
88562009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8857
8858 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8859 only build.
8860
b13b7f39
DD
88612009-08-04 David Daney <ddaney@caviumnetworks.com>
8862
8863 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8864 needed memory barrier semantics.
8865 * config/linux/mips/mutex.h: New file.
8866
1b3b24c2
RW
88672009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8868
8869 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8870
396b7fa4
JM
88712009-07-16 Joseph Myers <joseph@codesourcery.com>
8872
8873 * configure: Regenerate.
8874
33cde516
RS
88752009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8876
8877 PR testsuite/40699
8878 PR testsuite/40707
8879 PR testsuite/40709
8880 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8881 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8882 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8883
bc21bfa5
RS
88842009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8885
8886 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8887 options when choosing a multilib.
8888
b30bfd40
RS
88892009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8890
8891 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8892 ld_library_path. Use add_path. Add just find_libgcc_s to
8893 ld_library_path, not every libgcc multilib directory.
8894 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8895 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8896 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8897 Use add_path.
8898 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8899
479c15c2
NF
89002009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8901
8902 * Makefile.am (LTLDFLAGS): Define.
8903 (LINK): Define.
8904 * Makefile.in: Regenerate.
8905
667e6f89
JB
89062009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8907
8908 PR fortran/39718
8909 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8910 libgfortranbegin, check existence of libgfortran.a instead of
8911 libgfortranbegin.a.
8912
6dea8e99
JJ
89132009-05-20 Jakub Jelinek <jakub@redhat.com>
8914
8915 PR libgomp/40174
8916 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8917 (gomp_free_pool_helper): Likewise.
8918
34d01e1d
VL
89192009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8920 Jakub Jelinek <jakub@redhat.com>
8921
8922 PR fortran/35423
8923 * testsuite/libgomp.fortran/workshare2.f90: New test.
8924
748086b7
JJ
89252009-04-09 Nick Clifton <nickc@redhat.com>
8926
8927 * iter.c: Change copyright header to refer to version 3 of the
8928 GNU General Public License with version 3.1 of the GCC Runtime
8929 Library Exception and to point readers at the COPYING3 and
8930 COPYING3.RUNTIME files and the FSF's license web page.
8931 * alloc.c: Likewise.
8932 * barrier.c: Likewise.
8933 * config/bsd/proc.c: Likewise.
8934 * config/linux/affinity.c: Likewise.
8935 * config/linux/alpha/futex.h: Likewise.
8936 * config/linux/bar.c: Likewise.
8937 * config/linux/bar.h: Likewise.
8938 * config/linux/ia64/futex.h: Likewise.
8939 * config/linux/ia64/mutex.h: Likewise.
8940 * config/linux/lock.c: Likewise.
8941 * config/linux/mips/futex.h: Likewise.
8942 * config/linux/mutex.c: Likewise.
8943 * config/linux/mutex.h: Likewise.
8944 * config/linux/powerpc/futex.h: Likewise.
8945 * config/linux/proc.c: Likewise.
8946 * config/linux/ptrlock.c: Likewise.
8947 * config/linux/ptrlock.h: Likewise.
8948 * config/linux/s390/futex.h: Likewise.
8949 * config/linux/sem.c: Likewise.
8950 * config/linux/sem.h: Likewise.
8951 * config/linux/sparc/futex.h: Likewise.
8952 * config/linux/wait.h: Likewise.
8953 * config/linux/x86/futex.h: Likewise.
8954 * config/mingw32/proc.c: Likewise.
8955 * config/mingw32/time.c: Likewise.
8956 * config/posix/affinity.c: Likewise.
8957 * config/posix/bar.c: Likewise.
8958 * config/posix/bar.h: Likewise.
8959 * config/posix/lock.c: Likewise.
8960 * config/posix/mutex.h: Likewise.
8961 * config/posix/proc.c: Likewise.
8962 * config/posix/ptrlock.h: Likewise.
8963 * config/posix/sem.c: Likewise.
8964 * config/posix/sem.h: Likewise.
8965 * config/posix/time.c: Likewise.
8966 * config/posix95/lock.c: Likewise.
8967 * critical.c: Likewise.
8968 * env.c: Likewise.
8969 * error.c: Likewise.
8970 * fortran.c: Likewise.
8971 * iter_ull.c: Likewise.
8972 * libgomp.h: Likewise.
8973 * libgomp_f.h.in: Likewise.
8974 * libgomp_g.h: Likewise.
8975 * loop.c: Likewise.
8976 * loop_ull.c: Likewise.
8977 * omp.h.in: Likewise.
8978 * omp_lib.f90.in: Likewise.
8979 * omp_lib.h.in: Likewise.
8980 * ordered.c: Likewise.
8981 * parallel.c: Likewise.
8982 * sections.c: Likewise.
8983 * single.c: Likewise.
8984 * task.c: Likewise.
8985 * team.c: Likewise.
8986 * work.c: Likewise.
8987
89882009-04-09 Jakub Jelinek <jakub@redhat.com>
8989
8990 * testsuite/config/default.exp: Change copyright header to refer to
8991 version 3 of the GNU General Public License and to point readers
8992 at the COPYING3 file and the FSF's license web page.
8993
4f0ae266
JJ
89942009-04-08 Jakub Jelinek <jakub@redhat.com>
8995
8996 PR middle-end/39573
8997 * libgomp.c++/pr39573.C: New test.
8998
03742a9b
JJ
89992009-04-01 Jakub Jelinek <jakub@redhat.com>
9000
9001 PR other/39591
9002 * testsuite/libgomp.c/pr39591-1.c: New test.
9003 * testsuite/libgomp.c/pr39591-2.c: New test.
9004 * testsuite/libgomp.c/pr39591-3.c: New test.
9005
e50ea10b
UB
90062009-03-25 Uros Bizjak <ubizjak@gmail.com>
9007
9008 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9009 * testsuite/libgomp.c/atomic-6.c: Ditto.
9010
c5cdb03f
JJ
90112009-03-23 Jakub Jelinek <jakub@redhat.com>
9012
9013 PR c/39495
9014 * testsuite/libgomp.c/loop-12.c: New test.
9015 * testsuite/libgomp.c/loop-11.c: New test.
9016 * testsuite/libgomp.c++/loop-11.C: New test.
9017 * testsuite/libgomp.c++/loop-12.C: New test.
9018 * testsuite/libgomp.c++/for-8.C: New test.
9019
7a9d3fe8
RW
90202009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9021
9022 * configure: Regenerate.
9023
3ad6b266
JJ
90242009-02-11 Jakub Jelinek <jakub@redhat.com>
9025
9026 PR middle-end/39154
9027 * testsuite/libgomp.c/pr39154.c: New test.
9028
b39dea08
ILT
90292009-01-30 Ian Lance Taylor <iant@google.com>
9030
9031 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9032 libgomp_ld_is_gold. Get gold version number.
9033 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9034 * configure: Rebuild.
9035
72c66596
IS
90362009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9037
e50ea10b 9038 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9039 use libgfortran.a%s in their specs.
9040
876080ff
JJ
90412009-01-07 Jakub Jelinek <jakub@redhat.com>
9042
9043 PR libgomp/38086
9044 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9045 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9046 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9047 * configure: Regenerated.
9048 * config.h.in: Likewise.
9049
e4ebaef3
JJ
90502008-12-28 Jakub Jelinek <jakub@redhat.com>
9051
9052 PR c++/38650
9053 * testsuite/libgomp.c/pr38650.c: New test.
9054 * testsuite/libgomp.c++/pr38650.C: New test.
9055
382017a6
JJ
90562008-12-27 Jakub Jelinek <jakub@redhat.com>
9057
9058 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9059
79644b27
UB
90602008-12-26 Uros Bizjak <ubizjak@gmail.com>
9061
9062 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9063
baafc534
RW
90642008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9065
9066 * configure: Regenerate.
9067
d9c194cb
JJ
90682008-12-08 Jakub Jelinek <jakub@redhat.com>
9069
9070 PR middle-end/36802
9071 * testsuite/libgomp.c/pr36802-1.c: New test.
9072 * testsuite/libgomp.c/pr36802-2.c: New test.
9073 * testsuite/libgomp.c/pr36802-3.c: New test.
9074
86a182bf
JJ
90752008-12-01 Janis Johnson <janis187@us.ibm.com>
9076
9077 PR libgomp/38270
9078 * config/linux/powerpc/mutex.h: New.
9079
956adfaf
JJ
90802008-12-01 Jakub Jelinek <jakub@redhat.com>
9081
a2d4cdc9
JJ
9082 PR c++/38257
9083 * testsuite/libgomp.c++/for-7.C: New test.
9084
956adfaf
JJ
9085 PR c++/38348
9086 * testsuite/libgomp.c++/for-6.C: New test.
9087
d4038ca2
JJ
90882008-11-26 Janis Johnson <janis187@us.ibm.com>
9089
9090 PR testsuite/28870
9091 * testsuite/lib/libgomp.exp: Include new timeout library files.
9092 (libgomp_target_compile): Set timeout value from new proc.
9093
8b159eea
SE
90942008-11-13 Steve Ellcey <sje@cup.hp.com>
9095
9096 PR libgomp/37938
9097 * config/linux/ia64/mutex.h: New.
9098
5c6ed53a
TB
90992008-11-04 Tobias Burnus <burnus@net-b.de>
9100
9101 PR libgomp/37935
9102 * libgomp.texi (Runtime library routines, environment variables):
9103 Update for OpenMP version 3.0.
9104
6b4a97ed
PG
91052008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9106 Steve Ellcey <sje@cup.hp.com>
9107
9108 * configure: Regenerate for new libtool.
9109 * Makefile.in: Ditto.
9110 * testsuite/Makefile.in: Ditto.
9111
e2b34106
JJ
91122008-09-19 Jakub Jelinek <jakub@redhat.com>
9113 Andreas Tobler <a.tobler@schweiz.org>
9114
9115 * config/bsd/proc.c: New file.
8c3b3600 9116 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9117 * configure.ac: Check for header <sys/sysctl.h>
9118 * configure: Regenerate.
9119 * config.h.in: Likewise.
9120
3606b8bf
JJ
91212008-09-05 Janis Johnson <janis187@us.ibm.com>
9122
9123 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9124
6528b88d
AL
91252008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9126
9127 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9128 * Makefile.in: Regenerated.
9129 * testsuite/Makefile.in: Regenerated.
9130
d9b14b12 91312008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9132
a16b68bb 9133 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9134 depend on blddir if blddir exists.
9135 (libgomp_target_compile): Likewise.
9136 * testsuite/libgomp.c++/c++.exp: Likewise.
9137 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9138
70b1e376
RW
91392008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9140
9141 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9142 Do not list GPL as Invariant Section.
9143
318e8c3f
IG
91442008-07-28 Ilie Garbacea <ilie@mips.com>
9145 Chao-ying Fu <fu@mips.com>
9146
9147 * configure.tgt: Enable futex for MIPS.
9148 * config/linux/mips/futex.h: New file.
9149
4db72361
JJ
91502008-07-16 Jakub Jelinek <jakub@redhat.com>
9151
9152 * team.c (gomp_team_end): Free team immediately if it has
9153 just one thread.
9154
87bd23b8
DE
91552008-07-08 David Edelsohn <edelsohn@gnu.org>
9156
9157 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9158 * testsuite/libgomp.fortran/fortran.exp: Same.
9159 * testsuite/libgomp.c/c.exp: Same.
9160 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9161 directory to library path first.
9162
323ff903
KW
91632008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9164
9165 * env.c (parse_stacksize): Add cast to avoid warning.
9166 (parse_spincount): Likewise.
9167
b357f682
JJ
91682008-06-27 Jakub Jelinek <jakub@redhat.com>
9169
ca2b1311
JJ
9170 * testsuite/libgomp.c/loop-10.c: New test.
9171 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9172 * libgomp.c++/loop-6.C (main): Likewise.
9173
b357f682
JJ
9174 PR debug/36617
9175 * testsuite/libgomp.c/debug-1.c: New test.
9176
09a46078
JJ
91772008-06-19 Jakub Jelinek <jakub@redhat.com>
9178
9179 * testsuite/libgomp.c/nqueens-1.c: New test.
9180
2368a460
JJ
9181 PR c++/36523
9182 * testsuite/libgomp.c++/task-7.C: New function.
9183
18c04407
RW
91842008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9185
9186 * configure: Regenerate.
9187
9c4e59e0
JDA
91882008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9189
9190 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9191 mutex when HAVE_SYNC_BUILTINS isn't defined.
9192
6ccde948
RW
91932008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9194
9195 * libgomp.texi (omp_test_lock): Fix typo.
9196
b896f9fd
TB
91972008-06-12 Tobias Burnus <burnus@net-b.de>
9198
9199 * omp_lib.f90.in: Add "implicit none".
9200
c34938a8
JJ
92012008-06-12 Jakub Jelinek <jakub@redhat.com>
9202
9203 PR middle-end/36506
9204 * testsuite/libgomp.c/reduction-5.c: New test.
9205
976e44e3
JJ
92062008-06-11 Jakub Jelinek <jakub@redhat.com>
9207
5f836cbb
JJ
9208 * libgomp.h (struct gomp_task): Add in_tied_task field.
9209 * task.c (gomp_init_task): Initialize it.
9210 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9211 unconditionally. Don't call gomp_team_barrier_wake if
9212 current task is implicit or if(0) from implicit and number of
9213 running tasks is equal to nthreads - 1.
9214
01501fc8
JJ
9215 PR libgomp/36471
9216 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9217 omp_get_team_size_8): Fix pastos.
9218
976e44e3
JJ
9219 PR libgomp/36469
9220 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9221 * configure: Regenerated.
9222 * config.h.in: Regenerated.
9223 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9224 defined.
9225
e919209b
AT
92262008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9227
9228 PR bootstrap/36452
9229 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9230 (GOMP_loop_ull_dynamic_start): Likewise.
9231 (GOMP_loop_ull_guided_start): Likewise.
9232 (GOMP_loop_ull_ordered_static_start): Likewise.
9233 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9234 (GOMP_loop_ull_ordered_guided_start): Likewise.
9235
a68ab351
JJ
92362008-06-06 Jakub Jelinek <jakub@redhat.com>
9237 Richard Henderson <rth@redhat.com>
9238 Ulrich Drepper <drepper@redhat.com>
9239 Jakob Blomer <jakob.blomer@ira.uka.de>
9240
9241 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9242 Substitute also OMP_*LOCK_25*.
9243 * configure: Regenerated.
9244 * config.h.in: Regenerated.
9245 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9246 ptrlock.c and task.c.
9247 * Makefile.in: Regenerated.
9248 * testsuite/Makefile.in: Regenerated.
9249 * task.c: New file.
9250 * loop_ull.c: New file.
9251 * iter_ull.c: New file.
9252 * libgomp.h: Include ptrlock.h.
9253 (enum gomp_task_kind): New type.
9254 (struct gomp_team): Add task_lock, task_queue, task_count,
9255 task_running_count, single_count fields. Add
9256 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9257 Remove work_share_lock, generation_mask,
9258 oldest_live_gen, num_live_gen and init_work_shares fields, add
9259 work work_share_list_alloc, work_share_list_free and work_share_chunk
9260 fields. Change work_shares from pointer to pointers into an array.
9261 Change ordered_release field into gomp_sem_t ** from flexible array
9262 member. Add implicit_task and initial_work_shares fields.
9263 Move close to the end of the struct.
9264 (struct gomp_team_state): Add single_count, last_work_share,
9265 active_level and level fields, remove work_share_generation.
9266 (gomp_barrier_handle_tasks): New prototype.
9267 (gomp_finish_task): New inline function.
9268 (struct gomp_work_share): Move chunk_size, end, incr into
9269 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9270 next_ll fields. Reshuffle fields. Add next_alloc,
9271 next_ws, next_free and inline_ordered_team_ids fields, change
9272 ordered_team_ids into pointer from flexible array member.
9273 Add mode field. Put lock and next into a different cache line
9274 from most of the write-once fields.
9275 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9276 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9277 gomp_iter_ull_guided_next): New prototypes.
9278 (gomp_new_icv): New prototype.
9279 (struct gomp_thread): Add thread_pool and task fields.
9280 (struct gomp_thread_pool): New type.
9281 (gomp_new_team): New prototype.
9282 (gomp_team_start): Change type of last argument.
9283 (gomp_new_work_share): Removed.
9284 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9285 (gomp_work_share_init_done): New static inline.
9286 (gomp_throttled_spin_count_var, gomp_available_cpus,
9287 gomp_managed_threads): New extern decls.
9288 (gomp_init_task): New prototype.
9289 (gomp_spin_count_var): New extern var decl.
9290 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9291 or no alias support, or if not PIC.
9292 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9293 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9294 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9295 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9296 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9297 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9298 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9299 gomp_test_nest_lock_25): New prototypes.
9300 (omp_lock_symver, strong_alias): Define.
9301 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9302 decls.
9303 (gomp_end_task): New.
9304 (struct gomp_task_icv, gomp_global_icv): New.
9305 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9306 (struct gomp_task): New.
9307 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9308 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9309 (gomp_icv): New.
9310 (gomp_schedule_type): Reorder enum to match
9311 omp_sched_t.
9312 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9313 fields.
9314 (gomp_thread_start): Add gomp_team_barrier_wait call.
9315 For non-nested case remove clearing of docked thread thr fields.
9316 Use pool fields instead of global gomp_* variables. Use
9317 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9318 Create tasks for each member thread.
9319 (free_team): Only destroy team barrier, task_lock here and free it.
9320 (gomp_free_thread): Free last_team if non-NULL.
9321 (gomp_team_end): Call gomp_team_barrier_wait instead of
9322 gomp_barrier_wait. For nested case call one extra
9323 gomp_barrier_wait. Move here some destruction from free_team.
9324 Call free_team on pool->last_team if any, rather than freeing
9325 current team. Destroy work_share_list_free_lock ifndef
9326 HAVE_SYNC_BUILTINS.
9327 (gomp_new_icv): New function.
9328 (gomp_threads, gomp_threads_size, gomp_threads_used,
9329 gomp_threads_dock): Removed.
9330 (gomp_thread_destructor): New variable.
9331 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9332 functions.
9333 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 9334 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
9335 Initialize thread_pool field for new threads. Clear single_count.
9336 Change last argument from ws to team, don't create
9337 new team, set ts.work_share to &team->work_shares[0] and clear
9338 ts.last_work_share. Don't clear ts.work_share_generation.
9339 If number of threads changed, adjust atomically gomp_managed_threads.
9340 Use gomp_init_task instead of gomp_new_task,
9341 set thr->task to the corresponding implicit_task array entry.
9342 Create tasks for each member thread. Initialize ts.level.
9343 (initialize_team): Call pthread_key_create on
9344 gomp_thread_destructor.
9345 (team_destructor): New function.
9346 (new_team): Removed.
9347 (gomp_new_team): New function.
9348 (free_team): Free gomp_work_share blocks chained through next_alloc,
9349 instead of freeing work_shares and destroying work_share_lock.
9350 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9351 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9352 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9353 of gomp_barrier_wait.
9354 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9355 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9356 if gomp_work_share_start returned true. Don't unlock ws->lock.
9357 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9358 of gomp_barrier_wait.
9359 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9360 gomp_work_share_init_done if gomp_work_share_start returned true.
9361 Don't unlock ws->lock.
9362 * work.c: Include stddef.h.
9363 (free_work_share): Use work_share_list_free_lock instead
9364 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9365 Call gomp_fini_work_share and then either free ws if orphaned, or
9366 put it into work_share_list_free list of the current team.
9367 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9368 functions.
9369 (gomp_work_share_start, gomp_work_share_end,
9370 gomp_work_share_end_nowait): Rewritten.
9371 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9372 (openmp_version): Set to 200805.
9373 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9374 omp_sched_guided, omp_sched_auto): New parameters.
9375 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9376 omp_set_max_active_levels, omp_get_max_active_levels,
9377 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9378 omp_get_active_level): New interfaces.
9379 * omp_lib.h.in (openmp_version): Set to 200805.
9380 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9381 omp_sched_guided, omp_sched_auto): New parameters.
9382 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9383 omp_set_max_active_levels, omp_get_max_active_levels,
9384 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9385 omp_get_active_level): New externals.
9386 * loop.c: Include limits.h.
9387 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9388 GFS_AUTO.
9389 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9390 Likewise. Use gomp_icv.
9391 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9392 ts.static_trip here.
9393 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9394 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9395 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9396 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9397 don't unlock ws->lock, otherwise lock it.
9398 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9399 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9400 (gomp_parallel_loop_start): Call gomp_new_team instead of
9401 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9402 Adjust gomp_team_start caller. Pass 0 as second argument to
9403 gomp_resolve_num_threads.
9404 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9405 If adding ws->chunk_size nthreads + 1 times after end won't
9406 overflow, set ws->mode to 1.
9407 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9408 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9409 GOMP_loop_ull_ordered_static_start,
9410 GOMP_loop_ull_ordered_dynamic_start,
9411 GOMP_loop_ull_ordered_guided_start,
9412 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9413 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9414 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9415 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9416 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9417 prototypes.
9418 * libgomp.map: Export lock routines also @@OMP_2.0.
9419 (GOMP_loop_ordered_dynamic_first,
9420 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9421 GOMP_loop_ordered_static_first): Remove.
9422 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9423 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9424 GOMP_loop_ull_ordered_dynamic_next,
9425 GOMP_loop_ull_ordered_dynamic_start,
9426 GOMP_loop_ull_ordered_guided_next,
9427 GOMP_loop_ull_ordered_guided_start,
9428 GOMP_loop_ull_ordered_runtime_next,
9429 GOMP_loop_ull_ordered_runtime_start,
9430 GOMP_loop_ull_ordered_static_next,
9431 GOMP_loop_ull_ordered_static_start,
9432 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9433 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9434 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9435 (omp_set_schedule, omp_get_schedule,
9436 omp_get_thread_limit, omp_set_max_active_levels,
9437 omp_get_max_active_levels, omp_get_level,
9438 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9439 omp_set_schedule_, omp_set_schedule_8_,
9440 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9441 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9442 omp_get_max_active_levels_, omp_get_level_,
9443 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9444 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9445 New exports @@OMP_3.0.
9446 * omp.h.in (omp_sched_t): New type.
9447 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9448 omp_set_max_active_levels, omp_get_max_active_levels,
9449 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9450 omp_get_active_level): New prototypes.
9451 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9452 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9453 gomp_thread_limit_var, gomp_remaining_threads_count,
9454 gomp_remaining_threads_lock): New variables.
9455 (parse_spincount): New function.
9456 (initialize_env): Call gomp_init_num_threads unconditionally.
9457 Initialize gomp_available_cpus. Call parse_spincount,
9458 initialize gomp_{,throttled_}spin_count_var
9459 depending on presence and value of OMP_WAIT_POLICY and
9460 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9461 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9462 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9463 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9464 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9465 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9466 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9467 (gomp_global_icv): New.
9468 (parse_schedule): Use it. Parse "auto".
9469 (omp_set_num_threads): Use gomp_icv.
9470 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9471 Likewise.
9472 (omp_get_max_threads): Move from parallel.c.
9473 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9474 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9475 add ialias.
9476 (parse_stacksize, parse_wait_policy): New functions.
9477 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9478 both wrappers for compatibility and new locks.
9479 (omp_set_schedule, omp_get_schedule,
9480 omp_get_thread_limit, omp_set_max_active_levels,
9481 omp_get_max_active_levels, omp_get_level,
9482 omp_get_ancestor_thread_num, omp_get_team_size,
9483 omp_get_active_level): New ialias_redirect.
9484 (omp_set_schedule_, omp_set_schedule_8_,
9485 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9486 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9487 omp_get_max_active_levels_, omp_get_level_,
9488 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9489 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9490 New functions.
9491 * parallel.c: Include limits.h.
9492 (gomp_resolve_num_threads): Add count argument. Rewritten.
9493 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9494 argument to gomp_team_start. Pass 0 as second argument to
9495 gomp_resolve_num_threads.
9496 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9497 if gomp_thread_limit_var != ULONG_MAX.
9498 (omp_in_parallel): Implement using ts.active_level.
9499 (omp_get_max_threads): Move to env.c.
9500 (omp_get_level, omp_get_ancestor_thread_num,
9501 omp_get_team_size, omp_get_active_level): New functions,
9502 add ialias.
9503 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9504 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9505 gomp_iter_dynamic_next instead of the _locked variant and don't take
9506 lock around it, otherwise acquire it before calling
9507 gomp_iter_dynamic_next_locked.
9508 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9509 gomp_iter_dynamic_next instead of the _locked variant and don't take
9510 lock around it.
9511 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9512 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9513 Adjust gomp_team_start caller. Pass count as second argument to
9514 gomp_resolve_num_threads, don't adjust num_threads after the call.
9515 Use gomp_icv.
9516 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9517 ws->chunk_size by incr.
9518 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9519 code.
9520 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9521 types.
9522 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9523 (omp_check_defines): Check even the compat defines.
9524 * config/linux/ptrlock.c: New file.
9525 * config/linux/ptrlock.h: New file.
9526 * config/linux/wait.h: New file.
9527 * config/posix/ptrlock.c: New file.
9528 * config/posix/ptrlock.h: New file.
9529 * config/linux/bar.h (gomp_team_barrier_wait,
9530 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9531 (gomp_team_barrier_set_task_pending,
9532 gomp_team_barrier_clear_task_pending,
9533 gomp_team_barrier_set_waiting_for_tasks,
9534 gomp_team_barrier_waiting_for_tasks,
9535 gomp_team_barrier_done): New inlines.
9536 (gomp_barrier_t): Rewritten.
9537 (gomp_barrier_state_t): New typedef.
9538 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9539 gomp_barrier_wait_start): Rewritten.
9540 (gomp_barrier_wait_end): Change second argument to
9541 gomp_barrier_state_t.
9542 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9543 inlines.
9544 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9545 futex.h.
9546 (gomp_barrier_wait_end): Rewritten.
9547 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9548 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9549 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9550 (gomp_barrier_state_t): New typedef.
9551 (gomp_team_barrier_wait,
9552 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9553 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9554 into the return value. Return gomp_barrier_state_t.
9555 (gomp_team_barrier_set_task_pending,
9556 gomp_team_barrier_clear_task_pending,
9557 gomp_team_barrier_set_waiting_for_tasks,
9558 gomp_team_barrier_waiting_for_tasks,
9559 gomp_team_barrier_done): New inlines.
9560 (gomp_barrier_wait_end): Change second argument to
9561 gomp_barrier_state_t.
9562 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9563 inlines.
9564 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9565 (gomp_barrier_wait_end): Change second argument to
3e348fcc 9566 gomp_barrier_state_t.
a68ab351
JJ
9567 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9568 gomp_team_barrier_wake): New functions.
9569 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9570 futex.h.
9571 (gomp_futex_wake, gomp_futex_wait): New variables.
9572 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9573 * config/linux/lock.c: Rewrite to make locks task owned,
9574 for backwards compatibility provide the old entrypoints
9575 if symbol versioning. Include wait.h instead of libgomp.h and
9576 futex.h.
9577 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9578 * config/posix95/lock.c: Rewrite to make locks task owned,
9579 for backwards compatibility provide the old entrypoints
9580 if symbol versioning.
9581 * config/posix/lock.c: Rewrite to make locks task owned,
9582 for backwards compatibility provide the old entrypoints
9583 if symbol versioning.
9584 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9585 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9586 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9587 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9588 (sys_futex0): Return error code.
9589 (futex_wake, futex_wait): If ENOSYS was returned, clear
9590 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9591 (cpu_relax, atomic_write_barrier): New static inlines.
9592 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9593 (futex_wake, futex_wait): If ENOSYS was returned, clear
9594 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9595 (cpu_relax, atomic_write_barrier): New static inlines.
9596 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9597 (sys_futex0): Return error code.
9598 (futex_wake, futex_wait): If ENOSYS was returned, clear
9599 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9600 (cpu_relax, atomic_write_barrier): New static inlines.
9601 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9602 (sys_futex0): Return error code.
9603 (futex_wake, futex_wait): If ENOSYS was returned, clear
9604 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9605 (cpu_relax, atomic_write_barrier): New static inlines.
9606 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9607 (sys_futex0): Return error code.
9608 (futex_wake, futex_wait): If ENOSYS was returned, clear
9609 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9610 (cpu_relax, atomic_write_barrier): New static inlines.
9611 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9612 (sys_futex0): Return error code.
9613 (futex_wake, futex_wait): If ENOSYS was returned, clear
9614 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9615 (cpu_relax, atomic_write_barrier): New static inlines.
9616 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9617 futex.h.
9618 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9619 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9620 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9621 types.
9622 (omp_nest_lock_t): Change owner into void *, add lock field.
9623 * config/posix95/omp-lock.h: Include semaphore.h.
9624 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9625 (omp_lock_t): Use sem_t instead of mutex if semaphores
9626 aren't broken.
9627 (omp_nest_lock_t): Likewise. Change owner to void *.
9628 * config/posix/omp-lock.h: Include semaphore.h.
9629 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9630 (omp_lock_t): Use sem_t instead of mutex if semaphores
9631 aren't broken.
9632 (omp_nest_lock_t): Likewise. Add owner field.
9633
96342008-06-06 Jakub Jelinek <jakub@redhat.com>
9635
9636 * testsuite/libgomp.c/collapse-1.c: New test.
9637 * testsuite/libgomp.c/collapse-2.c: New test.
9638 * testsuite/libgomp.c/collapse-3.c: New test.
9639 * testsuite/libgomp.c/icv-1.c: New test.
9640 * testsuite/libgomp.c/icv-2.c: New test.
9641 * testsuite/libgomp.c/lib-2.c: New test.
9642 * testsuite/libgomp.c/lock-1.c: New test.
9643 * testsuite/libgomp.c/lock-2.c: New test.
9644 * testsuite/libgomp.c/lock-3.c: New test.
9645 * testsuite/libgomp.c/loop-4.c: New test.
9646 * testsuite/libgomp.c/loop-5.c: New test.
9647 * testsuite/libgomp.c/loop-6.c: New test.
9648 * testsuite/libgomp.c/loop-7.c: New test.
9649 * testsuite/libgomp.c/loop-8.c: New test.
9650 * testsuite/libgomp.c/loop-9.c: New test.
9651 * testsuite/libgomp.c/nested-3.c: New test.
9652 * testsuite/libgomp.c/nestedfn-6.c: New test.
9653 * testsuite/libgomp.c/sort-1.c: New test.
9654 * testsuite/libgomp.c/task-1.c: New test.
9655 * testsuite/libgomp.c/task-2.c: New test.
9656 * testsuite/libgomp.c/task-3.c: New test.
9657 * testsuite/libgomp.c/task-4.c: New test.
9658 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9659 to C++ testsuite default compiler options.
9660 * testsuite/libgomp.c++/collapse-1.C: New test.
9661 * testsuite/libgomp.c++/collapse-2.C: New test.
9662 * testsuite/libgomp.c++/ctor-10.C: New test.
9663 * testsuite/libgomp.c++/for-1.C: New test.
9664 * testsuite/libgomp.c++/for-2.C: New test.
9665 * testsuite/libgomp.c++/for-3.C: New test.
9666 * testsuite/libgomp.c++/for-4.C: New test.
9667 * testsuite/libgomp.c++/for-5.C: New test.
9668 * testsuite/libgomp.c++/loop-8.C: New test.
9669 * testsuite/libgomp.c++/loop-9.C: New test.
9670 * testsuite/libgomp.c++/loop-10.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++/task-5.C: New test.
9676 * testsuite/libgomp.c++/task-6.C: New test.
9677 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9678 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9679 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9680 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9681 * testsuite/libgomp.fortran/collapse1.f90: New test.
9682 * testsuite/libgomp.fortran/collapse2.f90: New test.
9683 * testsuite/libgomp.fortran/collapse3.f90: New test.
9684 * testsuite/libgomp.fortran/collapse4.f90: New test.
9685 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9686 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9687 * testsuite/libgomp.fortran/lib4.f90: New test.
9688 * testsuite/libgomp.fortran/lock-1.f90: New test.
9689 * testsuite/libgomp.fortran/lock-2.f90: New test.
9690 * testsuite/libgomp.fortran/nested1.f90: New test.
9691 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9692 * testsuite/libgomp.fortran/strassen.f90: New test.
9693 * testsuite/libgomp.fortran/tabs1.f90: New test.
9694 * testsuite/libgomp.fortran/tabs2.f: New test.
9695 * testsuite/libgomp.fortran/task1.f90: New test.
9696 * testsuite/libgomp.fortran/task2.f90: New test.
9697 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9698 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9699 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9700 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9701 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9702
7a0112e7
JJ
97032008-05-23 Jakub Jelinek <jakub@redhat.com>
9704
9705 PR c++/36308
9706 * testsuite/libgomp.c++/ctor-11.C: New test.
9707 * testsuite/libgomp.c++/ctor-12.C: New test.
9708
91a5b394
JJ
97092008-05-15 Janis Johnson <janis187@us.ibm.com>
9710
9711 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9712
c18c98c0
JJ
97132008-05-07 Jakub Jelinek <jakub@redhat.com>
9714
9715 PR middle-end/36106
9716 * testsuite/libgomp.c/atomic-5.c: New test.
9717 * testsuite/libgomp.c/atomic-6.c: New test.
9718 * testsuite/libgomp.c/autopar-1.c: New test.
9719
6d26724a
RW
97202008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9721
9722 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9723 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9724 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9725 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9726 * configure: Regenerate.
9727 * Makefile.in, testsuite/Makefile.in: Likewise.
9728
deb984e6
PB
97292008-04-18 Paolo Bonzini <bonzini@gnu.org>
9730
9731 PR bootstrap/35457
9732 * aclocal.m4: Regenerate.
9733 * configure: Regenerate.
9734
9e775963
JJ
97352008-03-18 Jakub Jelinek <jakub@redhat.com>
9736
8119fc93
JJ
9737 PR middle-end/35611
9738 * testsuite/libgomp.c/atomic-4.c: New test.
9739
9e775963
JJ
9740 PR libgomp/35625
9741 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9742 (gomp_iter_guided_next): Likewise.
9743 * testsuite/libgomp.c/pr35625.c: New test.
9744
38d24731
RW
97452008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9746
9747 * aclocal.m4: Regenerate.
9748 * configure: Likewise.
9749 * Makefile.in: Likewise.
9750 * testsuite/Makefile.in: Likewise.
9751
d0fb20be
JJ
97522008-03-13 Jakub Jelinek <jakub@redhat.com>
9753
9754 PR middle-end/35185
9755 * testsuite/libgomp.c++/pr35185.C: New test.
9756
7c8f7639
JJ
97572008-03-12 Jakub Jelinek <jakub@redhat.com>
9758
9759 PR middle-end/35549
9760 * testsuite/libgomp.c/pr35549.c: New test.
9761
251923f5
JJ
97622008-03-06 Jakub Jelinek <jakub@redhat.com>
9763
9764 * testsuite/libgomp.c/atomic-3.c: New test.
9765
f489fba1
FXC
97662008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9767
9768 PR fortran/33197
251923f5 9769 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9770 .F08 file suffixes.
9771
a1b25e49
PG
97722008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9773
9774 PR libgomp/33131
9775 * configure.ac: Add ACX_HEADER_STRING.
9776 * env.c: Include strings.h.
9777 * aclocal.m4: Regenerate.
9778 * config.h.in: Regenerate.
9779 * configure: Regenerate.
9780 * Makefile.in: Regenerate.
9781 * testsuite/Makefile.in: Regenerate.
9782
6837b3b8
JJ
97832008-02-15 Jakub Jelinek <jakub@redhat.com>
9784
ac84c062
JJ
9785 PR middle-end/35196
9786 * testsuite/libgomp.c/pr35196.c: New test.
9787
6837b3b8
JJ
9788 PR middle-end/35130
9789 * testsuite/libgomp.fortran/pr35130.f90: New test.
9790 * testsuite/libgomp.c/pr35130.c: New test.
9791
c256730c
JJ
97922008-01-25 Jakub Jelinek <jakub@redhat.com>
9793
9794 PR middle-end/33880
9795 * testsuite/libgomp.c/pr33880.c: New test.
9796 * testsuite/libgomp.fortran/pr33880.f90: New test.
9797
c8e95542 97982008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9799
9800 * configure: Regenerate.
9801
0f3e711e
JJ
98022008-01-08 Jakub Jelinek <jakub@redhat.com>
9803
9804 * configure.ac: Move futex checking into ../config/futex.m4.
9805 * configure: Rebuilt.
9806 * aclocal.m4: Rebuilt.
9807 * Makefile.in: Rebuilt.
9808
9809 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9810 2007-10-15 ../config/tls.m4 change.
9811
5259c813
JJ
98122007-12-19 Jakub Jelinek <jakub@redhat.com>
9813
9814 PR c++/34513
9815 * testsuite/libgomp.c/pr34513.c: New test.
9816 * testsuite/libgomp.c++/pr34513.C: New test.
9817
ae8d8879
JH
98182007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9819
9820 PR target/32765
9821 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9822
2b4cf991
JJ
98232007-12-04 Jakub Jelinek <jakub@redhat.com>
9824
9825 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9826
d2dda7fe
JJ
98272007-12-03 Jakub Jelinek <jakub@redhat.com>
9828
9829 * testsuite/libgomp.c/private-1.c: New test.
9830
d683ec81
PB
98312007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9832 Paolo Bonzini <bonzini@gnu.org>
9833
9834 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9835 instead of 'VPATH ='.
9836 * Makefile.in: Regenerate.
9837
a7415017
MK
98382007-11-23 Matthias Klose <doko@ubuntu.com>
9839
9840 * configure.ac: Adjust makeinfo version check.
9841 * configure: Regenerate.
9842
78e47463
JJ
98432007-11-10 Jakub Jelinek <jakub@redhat.com>
9844
9845 PR fortran/34020
9846 * testsuite/libgomp.fortran/pr34020.f90: New test.
9847
239371f9
JJ
98482007-11-06 Jakub Jelinek <jakub@redhat.com>
9849
9850 PR c++/33894
9851 * testsuite/libgomp.c++/atomic-1.C: New test.
9852
98a5fa94
JJ
98532007-10-25 Jakub Jelinek <jakub@redhat.com>
9854
9855 PR libgomp/33275
9856 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9857 Make x and y integers rather than (implicit) reals. Add private (j)
9858 clause to the last omp parallel.
9859
3afcaaf4
MR
98602007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9861
9862 * configure: Regenerate following changes to ../config/tls.m4.
9863
bd69daef
JJ
98642007-09-28 Jakub Jelinek <jakub@redhat.com>
9865
9866 * testsuite/libgomp.fortran/stack.f90: New test.
9867
1d0bd356
DS
98682007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9869
9870 * config/mingw32/proc.c: New file.
9871
b3172cab
UB
98722007-09-05 Uros Bizjak <ubizjak@gmail.com>
9873
9874 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9875 (main): Use __get_cpuid to get i386 target fetaures.
9876 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9877 (main): Use __get_cpuid to get x86_64 target fetaures.
9878
6da17392
JH
98792007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9880
9881 PR target/32765
9882 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9883 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9884
e1c82219
JJ
98852007-07-12 Jakub Jelinek <jakub@redhat.com>
9886
9887 PR fortran/32550
9888 * testsuite/libgomp.fortran/pr32550.f90: New test.
9889 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9890
12a27363
L
98912007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9892
9893 * aclocal.m4: Regenerated.
9894
5349080d
TB
98952007-07-05 Tobias Burnus <burnus@net-b.de>
9896
9897 PR fortran/32359
9898 * testsuite/libgomp.fortran/pr32359.f90: New.
9899
4f9c450c
JJ
99002007-07-02 Jakub Jelinek <jakub@redhat.com>
9901
9902 PR libgomp/32468
9903 * sections.c (GOMP_parallel_sections_start): Only decrease
9904 number of threads to COUNT if dyn_var is true.
9905 * testsuite/libgomp.c/pr32468.c: New test.
9906
28c67ed7
RO
99072007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9908
9909 PR libgomp/26308
9910 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9911
64964499
JJ
99122007-06-21 Jakub Jelinek <jakub@redhat.com>
9913
9914 PR middle-end/32362
9915 * testsuite/libgomp.c/pr32362-1.c: New test.
9916 * testsuite/libgomp.c/pr32362-2.c: New test.
9917 * testsuite/libgomp.c/pr32362-3.c: New test.
9918
46d8fbd1
JJ
99192007-06-07 Jakub Jelinek <jakub@redhat.com>
9920
9921 * team.c (gomp_team_start): Fix setting up thread_attr
9922 stack size.
9923
82a6cadf
PB
99242007-06-02 Paolo Bonzini <bonzini@gnu.org>
9925
9926 * configure: Regenerate.
9927
1cf3d07d
SE
99282007-05-23 Steve Ellcey <sje@cup.hp.com>
9929
9930 * Makefile.in: Regenerate.
9931 * configure: Regenerate.
9932 * aclocal.m4: Regenerate.
9933 * testsuite/Makefile.in: Regenerate.
9934
12aac30b
JJ
99352007-05-04 Jakub Jelinek <jakub@redhat.com>
9936
9937 * config/linux/proc.c: New file.
9938
f1028b02
JJ
9939 PR libgomp/28482
9940 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9941
06785a48
DF
99422007-04-19 Daniel Franke <franke.daniel@gmail.com>
9943
9944 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9945
b3b08ba0
MK
99462007-04-16 Matthias Klose <doko@debian.org>
9947
9948 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9949 flags if not building with -m64.
9950 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9951 flag for i?86-*-* targets, if current target matches -m64.
9952
6b2c5ce0
SE
99532007-04-14 Steve Ellcey <sje@cup.hp.com>
9954
9955 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9956 * Makefile.in: Regenerate.
9957
dd56fe7c
JDA
99582007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9959
9960 PR testsuite/31369
9961 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9962 ld_library_path.
9963 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9964
a0884cf0
JJ
99652007-04-04 Jakub Jelinek <jakub@redhat.com>
9966
9967 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9968 decls.
9969 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9970 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9971 (parse_affinity): New function.
9972 (initialize_env): Call it and gomp_init_affinity.
9973 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9974 create new pthread_attr_t and call gomp_init_thread_affinity
9975 on it for each thread before passing the attribute to pthread_create.
9976 * config/linux/affinity.c: New file.
9977 * config/posix/affinity.c: New file.
9978 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9979 * configure: Rebuilt.
9980 * config.h.in: Rebuilt.
9981 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9982 * Makefile.in: Rebuilt.
9983
1850744b
AT
99842007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9985
9986 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9987 *-*-darwin*.
9988 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9989 and use it if found.
9990
516f1ed8
UB
99912007-03-18 Uros Bizjak <ubizjak@gmail.com>
9992
9993 * testsuite/config/default.exp: New file.
9994 * testsuite/lib/libgomp.exp: New file.
9995 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9996 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9997 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9998 (libgomp_load): Remove.
9999 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10000 always_ld_library_path, not ld_library_path. Set additional_flags
10001 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10002 (target_compile): Do not call libgomp_init. Append lang_library_path
10003 and lang_link_flags to options.
10004 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10005 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10006 here.
10007 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10008 always_ld_library_path. Set LD_LIBRARY_PATH here.
10009 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10010 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10011 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10012 CX8 flag.
10013 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10014 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10015 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10016 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10017 * testsuite/libgomp.c/atomic-10.c: Ditto.
10018
2ada56f5
JJ
100192007-03-21 Jakub Jelinek <jakub@redhat.com>
10020
10021 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10022 dg-final cleanup-modules line.
10023 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10024 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10025 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10026 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10027 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10028 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10029 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10030
f210f1cd
AS
100312007-03-18 Andreas Schwab <schwab@suse.de>
10032
10033 * acinclude.m4: Adjust regular expression for ld version
10034 extraction.
10035 * configure: Regenerate.
10036
c4dc950d
BM
100372007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10038
10039 * Makefile.am: Add install-pdf target as copied from
10040 automake v1.10 rules.
10041 * Makefile.in: Regenerate
10042
e02a048f
JJ
100432007-02-07 Jakub Jelinek <jakub@redhat.com>
10044
78e075d4
JJ
10045 PR libgomp/28486
10046 * configure: Regenerate.
10047
e02a048f
JJ
10048 PR c++/30703
10049 * testsuite/libgomp.c++/pr30703.C: New test.
10050
60def7ed
JJ
100512007-02-02 Jakub Jelinek <jakub@redhat.com>
10052
10053 Revert:
10054 2006-07-05 Eric Christopher <echristo@apple.com>
10055 * configure.ac: Depend addition of -pthread on host OS.
10056 * configure: Regenerate.
10057
f1b0882e
RW
100582007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10059
10060 * libgomp.texi: Fix spacing after abbreviations.
10061
748b9d7c
DF
100622007-01-31 Daniel Franke <franke.daniel@gmail.com>
10063
10064 PR libgomp/30546
10065 * configure.ac: Add check for makeinfo
10066 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10067 if an appropiate version of makeinfo is found.
10068 * aclocal.m4: Regenerated.
10069 * configure: Regenerated.
10070 * Makefile.in: Regenerated.
10071 * testsuite/Makefile.in: Regenerated.
10072
14734fc7
DF
100732007-01-29 Daniel Franke <franke.daniel@gmail.com>
10074
10075 PR libgomp/30540
10076 * libgomp.texi: More about implementation-dependent settings.
10077
7befd5d2
TB
100782007-01-26 Tobias Burnus <burnus@net-b.de>
10079
10080 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10081
4288fea2
JJ
100822007-01-24 Jakub Jelinek <jakub@redhat.com>
10083
10084 PR middle-end/30494
10085 * testsuite/libgomp.c/pr30494.c: New test.
10086
627ab4b8
TT
100872007-01-15 Tom Tromey <tromey@redhat.com>
10088
10089 * configure: Rebuilt.
10090 * configure.ac: Fixed comment.
10091
7c2b7f45
DF
100922007-01-14 Daniel Franke <franke.daniel@gmail.com>
10093
10094 * libgomp.texi: Document implementation specific default values of
10095 environment variables.
10096
3721b9e1
DF
100972006-12-21 Daniel Franke <franke.daniel@gmail.com>
10098
10099 PR libgomp/28209
10100 * libgomp.texi: New file.
10101 * configure.ac: Add --enable-generated-files-in-srcdir option.
10102 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10103 files to srcdir.
10104 * Makefile.in: Regenerated.
10105 * config.h.in: Regenerated.
10106 * testsuite/Makefile.in: Regenerated.
10107 * NOTES: Removed.
10108
62bd6216
DF
101092006-12-04 Daniel Franke <franke.daniel@gmail.com>
10110
10111 PR libgomp/29949
10112 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10113
aad741f4
EB
101142006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10115
10116 * configure: Regenerate.
10117
22568cc6
JJ
101182006-12-04 Jakub Jelinek <jakub@redhat.com>
10119
10120 PR libgomp/29947
10121 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10122 start if there shouldn't be any loop iterations.
10123 (gomp_loop_ordered_static_start): Remove start == end test.
10124 * testsuite/libgomp.c/pr29947-1.c: New test.
10125 * testsuite/libgomp.c/pr29947-2.c: New test.
10126
a9690009
EB
101272006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10128
10129 * configure.tgt: Force initial-exec TLS model on Linux only.
10130
597c25e6
DJ
101312006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10132
10133 * configure: Regenerated.
10134
6acf0b38
UB
101352006-11-09 Uros Bizjak <ubizjak@gmail.com>
10136
10137 * env.c (parse_schedule): Reject out of range values.
10138 (parse_unsigned_long): Reject out of range, negative or zero values.
10139
a7a53ca5
JJ
101402006-10-29 Jakub Jelinek <jakub@redhat.com>
10141
10142 PR fortran/29629
10143 * testsuite/libgomp.fortran/pr29629.f90: New test.
10144
6d4d216a
EB
101452006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10146
10147 PR libgomp/29494
10148 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10149 * config/posix95: New directory.
10150 * config/posix95/omp-lock.h: New file.
10151 * config/posix95/lock.c: Likewise.
10152
5b043f08
GK
101532006-10-14 Geoffrey Keating <geoffk@apple.com>
10154
10155 * aclocal.m4: Regenerate.
10156 * configure: Regenerate.
10157
b50019f0
DS
101582006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10159
10160 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10161 '<' to '<='.
10162
8887708e
DS
101632006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10164
10165 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10166 test.
10167 * configure: Regenerate.
10168 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10169
9b9e4cd6
JJ
101702006-09-26 Jakub Jelinek <jakub@redhat.com>
10171
a70ad3bb
JJ
10172 PR middle-end/25261
10173 PR middle-end/28790
10174 * testsuite/libgomp.c/nestedfn-4.c: New test.
10175 * testsuite/libgomp.c/nestedfn-5.c: New test.
10176 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10177
9b9e4cd6
JJ
10178 PR fortran/29097
10179 * testsuite/libgomp.fortran/condinc1.f: New test.
10180 * testsuite/libgomp.fortran/condinc2.f: New test.
10181 * testsuite/libgomp.fortran/condinc3.f90: New test.
10182 * testsuite/libgomp.fortran/condinc4.f90: New test.
10183 * testsuite/libgomp.fortran/condinc1.inc: New file.
10184
2fb31455
TT
101852006-09-18 Tom Tromey <tromey@redhat.com>
10186
10187 * configure: Rebuilt.
10188
c663e301
JM
101892006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10190
10191 PR c/28768
10192 PR preprocessor/14634
10193 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10194 to AC_DEFINE.
10195 * configure: Regenerate.
10196
38371be9
SK
101972006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10198
10199 * testsuite/libgomp.fortran/reduction3.f90: Change
10200 -2147483648 to -huge(i)-1 to avoid overflow.
10201 * testsuite/libgomp.fortran/reduction4.f90: Change
10202 Z'ffffffff' to not(0) to avoid overflow.
10203
571d5ac5
JM
102042006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10205
10206 PR libgomp/25938
10207 * Makefile.am (libsubincludedir): New.
10208 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10209 * Makefile.in: Regenerate.
10210
89b3e3cd
JJ
102112006-08-17 Jakub Jelinek <jakub@redhat.com>
10212
10213 PR libgomp/28725
10214 * env.c: Include ctype.h.
10215 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10216 leading and/or trailing whitespace and compare strings case
10217 insensitively.
10218
742fae05
JJ
102192006-07-16 Jakub Jelinek <jakub@redhat.com>
10220
10221 PR fortran/28390
10222 * testsuite/libgomp.fortran/pr28390.f: New test.
10223
a1daed2d
EC
102242006-07-05 Eric Christopher <echristo@apple.com>
10225
10226 * configure.ac: Depend addition of -pthread on host OS.
10227 * configure: Regenerate.
10228
5d7b5199
JJ
102292006-06-21 Jakub Jelinek <jakub@redhat.com>
10230
10231 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10232 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10233 defined.
10234
fe5568e9
JJ
102352006-06-20 Jakub Jelinek <jakub@redhat.com>
10236
10237 PR libgomp/26175
10238 PR libgomp/26477
10239 * configure.ac: If neither --enable-linux-futex nor
10240 --disable-linux-futex is passed, determine the default by checking
10241 for compiling and/or running against NPTL. With --enable-linux-futex,
10242 check if SYS_gettid and SYS_futex are defined.
10243 * configure: Rebuilt.
10244
c3b11a40
RH
102452006-06-14 Richard Henderson <rth@redhat.com>
10246
10247 PR libgomp/28008
10248 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10249 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10250
d0d1b24d
RH
102512006-06-09 Richard Henderson <rth@redhat.com>
10252
10253 * env.c (gomp_nthreads_var): Change to unsigned long.
10254 (gomp_run_sched_chunk): Likewise.
10255 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10256 (initialize_env): Initialize gomp_thread_attr.
10257 * libgomp.h (gomp_nthreads_var): Update decl.
10258 (gomp_run_sched_chunk): Likewise.
10259 (gomp_thread_attr): Declare.
10260 * team.c (gomp_thread_attr): Export.
10261 (initialize_team): Don't initialize it.
10262
cd75853e
JJ
102632006-06-09 Jakub Jelinek <jakub@redhat.com>
10264
10265 PR fortran/27916
10266 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10267 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10268
33815e0c
FXC
102692006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10270
10271 * config/mingw32/time.c: New file.
10272 * configure.tgt: Use it.
10273
6667de0d
CD
102742006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10275
10276 * Makefile.am: Add install-html target. Add install-html to .PHONY
10277 * Makefile.in: Regenerate.
10278
e962c46b
JDA
102792006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10280
10281 PR libgomp/27612
10282 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10283 * testsuite/libgomp.c/critical-1.c: Likewise.
10284 * testsuite/libgomp.c/loop-1.c: Likewise.
10285 * testsuite/libgomp.c/loop-2.c: Likewise.
10286 * testsuite/libgomp.c/single-1.c: Likewise.
10287 * testsuite/libgomp.c/ordered-1.c: Likewise.
10288 * testsuite/libgomp.c/ordered-2.c: Likewise.
10289
eeb1d9e0
JJ
102902006-05-15 Jakub Jelinek <jakub@redhat.com>
10291
10292 PR middle-end/27416
10293 * libgomp.fortran/pr27416-1.f90: New test.
10294
693d710f
JJ
102952006-05-03 Jakub Jelinek <jakub@redhat.com>
10296
10297 PR fortran/27395
10298 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10299 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10300
8ca5b2a2
JJ
103012006-05-02 Jakub Jelinek <jakub@redhat.com>
10302
10303 PR c++/26943
10304 * testsuite/libgomp.c/pr26943-1.c: New test.
10305 * testsuite/libgomp.c/pr26943-2.c: New test.
10306 * testsuite/libgomp.c/pr26943-3.c: New test.
10307 * testsuite/libgomp.c/pr26943-4.c: New test.
10308 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10309 * testsuite/libgomp.c++/pr26943.C: New test.
10310
077b0dfb
JJ
103112006-05-02 Jakub Jelinek <jakub@redhat.com>
10312
10313 PR middle-end/27337
10314 * testsuite/libgomp.c++/pr27337.C: New test.
10315
91b6c26d
JJ
103162006-04-26 Jakub Jelinek <jakub@redhat.com>
10317
10318 PR c/26171
10319 * testsuite/libgomp.c/pr26171.c: New test.
10320
60e1758f
RH
103212006-04-25 Richard Henderson <rth@redhat.com>
10322
10323 PR libgomp/25865
10324 * configure.ac: Use GCC_CHECK_TLS.
10325 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10326 * Makefile.in, aclocal.m4, configure: Regenerate.
10327
615baed7
MK
103282006-04-10 Matthias Klose <doko@debian.org>
10329
10330 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10331 directory names containing underscores.
10332
fae2b46b
JJ
103332006-03-21 Jakub Jelinek <jakub@redhat.com>
10334
10335 PR c++/26691
10336 * testsuite/libgomp.c++/pr26691.C: New test.
10337
11a5f608
JJ
103382006-03-13 Jakub Jelinek <jakub@redhat.com>
10339
10340 * testsuite/libgomp.fortran/retval2.f90: New test.
10341
1799e5d5
RH
103422006-03-09 Diego Novillo <dnovillo@redhat.com>
10343
10344 * testsuite/libgomp.c++: New directory.
10345
d349482e
AT
103462006-02-25 Shantonu Sen <ssen@opendarwin.org>
10347
10348 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10349 * config/posix/sem.c: Implement the above.
10350
103512006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10352
10353 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10354 define HAVE_BROKEN_POSIX_SEMAPHORES.
10355 * configure: Rebuilt.
10356 * config.h.in: Rebuilt.
10357
124452c9
FXC
103582006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10359
10360 PR bootstrap/26161
10361 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10362 for the other pthread check.
10363 * configure: Regenerate.
10364 * config.h.in: Regenerate.
10365
dd8d6dfe
JJ
103662006-02-15 Jakub Jelinek <jakub@redhat.com>
10367
10368 PR libgomp/25938
10369 PR libgomp/25984
10370 * Makefile.am (fincludedir): New variable.
10371 (nodist_include_HEADERS): Remove Fortran files.
10372 (nodist_finclude_HEADERS): New variable.
10373 * Makefile.in: Regenerated.
10374
6c7a4dfd
JJ
103752006-02-13 Jakub Jelinek <jakub@redhat.com>
10376
10377 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10378 Remove tests for returning assumed character length arrays.
10379
5142e08b
RS
103802006-02-12 Roger Sayle <roger@eyesopen.com>
10381 John David Anglin <dave@hiauly1.hia.nrc.ca>
10382
10383 PR libgomp/25936
10384 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 10385
5821fba8
UW
103862006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10387
10388 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10389
cb2bbc67
EB
103902006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10391
10392 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10393 part of LD_LIBRARY_PATH manually.
10394
f05ee80c
L
103952006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10396
10397 PR libgomp/25852
10398 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10399 libgomp_init.
10400
03b8fe49
PB
104012005-01-25 Paolo Bonzini <bonzini@gnu.org>
10402
10403 PR libgomp/25884
f05ee80c
L
10404 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10405 * configure.ac (PERL): Don't set.
10406 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10407 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10408 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10409 * omp.h.in: Wrap the new configure substitutions with @ characters.
10410 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10411 * aclocal.m4, configure, Makefile.in: Regenerate.
10412 * mkomp_h.pl: Delete.
03b8fe49 10413
18cbfd85
PB
104142005-01-24 Paolo Bonzini <bonzini@gnu.org>
10415
10416 PR libgomp/25259
10417 * configure.ac: Use GCC_HEADER_STDINT.
10418 * libgomp.h: Include gstdint.h.
10419 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10420 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10421
c41303c6
RH
104222006-01-24 Richard Henderson <rth@redhat.com>
10423
10424 PR libgomp/25942
10425 * configure.ac: Add AM_MAINTAINER_MODE.
10426 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10427
149b9553
DN
104282006-01-24 Diego Novillo <dnovillo@redhat.com>
10429
10430 * Makefile.in: Regenerate.
10431 * testsuite/Makefile.in: Regenerate.
10432 * aclocal.m4: Regenerate.
10433
192a50ad
AT
104342006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10435
10436 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10437 Solaris.
10438 * configure.ac: Add check for loadavg.h.
10439 (link_gomp): Adjust comment.
10440 * configure: Regenerate.
10441 * config.h.in: Regenerate.
10442
a55b8e18
SE
104432006-01-21 Steve Ellcey <sje@cup.hp.com>
10444
10445 PR libgomp/25877
10446 * configure.ac: Remove check for alloca.h.
10447 * configure: Regenerate.
10448 * config.h.in: Regenerate.
10449 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10450 * team.c: Remove use of alloca.h.
10451 Call gomp_alloca instead of alloca.
10452
692eeb34
SE
104532006-01-20 Steve Ellcey <sje@cup.hp.com>
10454
10455 PR libgomp/25877
10456 * team.c: Add include of alloca.h.
10457 * configure.ac: Add check for alloca.h.
10458 * configure: Regenerate.
10459 * config.h.in: Regenerate.
10460
953ff289
DN
104612006-01-17 Jakub Jelinek <jakub@redhat.com>
10462
10463 PR fortran/25219
10464 * testsuite/libgomp.fortran/pr25219.f90: New test.
10465
104662005-12-05 Uros Bizjak <uros@kss-loka.si>
10467
10468 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10469 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10470 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10471 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10472 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10473 testsuite/libgomp.fortran/threadprivate1.f90,
10474 testsuite/libgomp.fortran/threadprivate2.f90,
10475 testsuite/libgomp.fortran/threadprivate3.f90,
10476 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10477 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10478 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10479 effective-target to TLS runtime.
10480
10481 * testsuite/libgomp.fortran/pr25162.f: Require
10482 effective-target TLS runtime.
10483
104842005-12-01 Jakub Jelinek <jakub@redhat.com>
10485
10486 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10487 * testsuite/libgomp.c/nestedfn-3.c: New test.
10488
104892005-11-30 Jakub Jelinek <jakub@redhat.com>
10490
10491 PR fortran/25162
10492 * testsuite/libgomp.fortran/pr25162.f: New test.
10493
104942005-11-28 Jakub Jelinek <jakub@redhat.com>
10495
10496 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10497 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10498
104992005-11-25 Jakub Jelinek <jakub@redhat.com>
10500
10501 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10502 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10503 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10504 single.c, team.c, work.c, config/linux/alpha/futex.h,
10505 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10506 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10507 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10508 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10509 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10510 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10511 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10512 FSF address.
10513
105142005-11-18 Jakub Jelinek <jakub@redhat.com>
10515
10516 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10517 to nodist_noinst_HEADERS.
10518 * Makefile.in: Rebuilt.
10519
10520 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10521 add integer count field.
10522 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10523 omp_nest_lock_t type change.
10524 (omp_init_nest_lock): Likewise. Initialize count to 0.
10525 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10526 Increment count.
10527 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10528 Decrement count.
10529 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10530 Increment count if successful and return the new nesting level.
10531 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10532 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10533 * testsuite/libgomp.c/lib-1.c: New test.
10534 * testsuite/libgomp.fortran/lib1.f90: New test.
10535 * testsuite/libgomp.fortran/lib2.f: New test.
10536 * testsuite/libgomp.fortran/lib3.f: New test.
10537
105382005-11-17 Richard Henderson <rth@redhat.com>
10539
10540 PR 24845
10541 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10542 * configure.ac (link_gomp): New. Substitute it.
10543 (AC_CONFIG_FILES): Add libgomp.spec.
10544 * libgomp.spec.in: New file.
10545 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10546 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10547
105482005-11-18 Jakub Jelinek <jakub@redhat.com>
10549
10550 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10551 reduction(-:var) behaving the same as reduction(+:var).
10552 * testsuite/libgomp.c/reduction-4.c: New test.
10553
105542005-11-15 Uros Bizjak <uros@kss-loka.si>
10555
10556 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10557 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10558 testsuite/libgomp.c/copyin-3.c,
10559 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10560 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10561 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10562 testsuite/libgomp.c++/pr24455.C,
10563 testsuite/libgomp.fortran/threadprivate1.f90,
10564 testsuite/libgomp.fortran/threadprivate2.f90,
10565 testsuite/libgomp.fortran/threadprivate3.f90,
10566 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10567 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10568 testsuite/libgomp.fortran/omp_parse3.f90: Require
10569 effective-target TLS.
10570
105712005-11-14 Diego Novillo <dnovillo@redhat.com>
10572
10573 * HEADER: Remove.
10574
105752005-11-13 Jakub Jelinek <jakub@redhat.com>
10576
10577 PR libgomp/24797
10578 * team.c (initialize_team): Pass NULL rather than free as
10579 pthread_key_create destructor. Initialize thread specific data
10580 pointer in initial thread to a static local variable rather than
10581 malloced memory.
10582
105832005-11-11 Uros Bizjak <uros@kss-loka.si>
10584
10585 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10586 its location to ld_library_path.
10587
105882005-11-10 Diego Novillo <dnovillo@redhat.com>
10589
10590 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10591
105922005-11-10 Diego Novillo <dnovillo@redhat.com>
10593
10594 * testsuite/libgomp.c: Rename from libgomp.dg.
10595
105962005-11-09 Diego Novillo <dnovillo@redhat.com>
10597
10598 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10599 threadprivate variable 'i'.
10600
106012005-11-09 Jakub Jelinek <jakub@redhat.com>
10602
10603 * config/linux/s390/futex.h: New file.
10604 * configure.tgt: Use it.
10605
10606 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10607 before the parallel.
10608
106092005-11-08 Jakub Jelinek <jakub@redhat.com>
10610
10611 PR c++/24734
10612 * testsuite/libgomp.c++/master-1.C: New test.
10613
106142005-11-07 Jakub Jelinek <jakub@redhat.com>
10615
10616 * testsuite/libgomp.dg/copyin-3.c: New test.
10617
106182005-11-07 Jakub Jelinek <jakub@redhat.com>
10619
10620 * testsuite/libgomp.fortran/retval1.f90: New test.
10621 * testsuite/libgomp.fortran/vla7.f90: New test.
10622
106232005-11-06 Jakub Jelinek <jakub@redhat.com>
10624
10625 * testsuite/libgomp.fortran/vla2.f90: New test.
10626 * testsuite/libgomp.fortran/vla3.f90: New test.
10627 * testsuite/libgomp.fortran/vla4.f90: New test.
10628 * testsuite/libgomp.fortran/vla5.f90: New test.
10629 * testsuite/libgomp.fortran/vla6.f90: New test.
10630
106312005-11-01 Jakub Jelinek <jakub@redhat.com>
10632
10633 * config/linux/sparc/futex.h: New file.
10634 * configure.tgt: Use it.
10635 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10636
10637 * critical.c: Include stdlib.h.
10638 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10639 ignoring return value.
10640 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10641 LIBGOMP_CHECK_SYNC_BUILTINS check.
10642 * configure: Rebuilt.
10643
106442005-10-31 Jakub Jelinek <jakub@redhat.com>
10645
10646 * testsuite/libgomp.fortran/vla1.f90: New test.
10647
106482005-10-31 Richard Henderson <rth@redhat.com>
10649
10650 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10651 setting 's' in different threads.
10652
106532005-10-31 Jakub Jelinek <jakub@redhat.com>
10654
10655 * libgomp.h (attribute_hidden, ialias): Define.
10656 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10657 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10658 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10659 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10660 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10661 omp_test_lock, omp_test_nest_lock): Likewise.
10662 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10663 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10664 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10665 omp_test_lock, omp_test_nest_lock): Likewise.
10666 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10667 omp_get_dynamic, omp_get_nested): Likewise.
10668 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10669 omp_get_thread_num, omp_in_parallel): Likewise.
10670 * fortran.c (ialias_redirect): Define.
10671 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10672 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10673 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10674 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10675 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10676 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10677 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10678 omp_get_wtime): Add ialias_redirect.
10679
106802005-10-30 Jakub Jelinek <jakub@redhat.com>
10681
10682 * fortran.c: Include stdlib.h.
10683
106842005-10-29 Jakub Jelinek <jakub@redhat.com>
10685
10686 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10687 * Makefile.in: Regenerated.
10688
106892005-10-28 Jakub Jelinek <jakub@redhat.com>
10690
10691 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10692 * libgomp_f.h.in (omp_check_defines): New function.
10693 * env.c: Include libgomp_f.h.
10694 (initialize_env): Call omp_check_defines.
10695
10696 * testsuite/libgomp.dg/copyin-2.c: New test.
10697 * testsuite/libgomp.c++/copyin-2.C: New test.
10698 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10699
10700 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10701 * testsuite/libgomp.fortran/sharing2.f90: New test.
10702
10703 * testsuite/libgomp.dg/copyin-1.c: New test.
10704 * testsuite/libgomp.c++/copyin-1.C: New test.
10705
107062005-10-26 Jakub Jelinek <jakub@redhat.com>
10707
10708 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10709
10710 * testsuite/libgomp.fortran/workshare1.f90: New test.
10711
10712 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10713 only test.
10714 * libgomp.fortran/sharing1.f90: New test.
10715
107162005-10-24 Jakub Jelinek <jakub@redhat.com>
10717
10718 PR c++/24502
10719 * testsuite/libgomp.c++/loop-7.C: New test.
10720
10721 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10722
10723 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10724 * testsuite/libgomp.fortran/reduction6.f90: New test.
10725 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10726
107272005-10-23 Richard Henderson <rth@redhat.com>
10728
10729 * testsuite/libgomp.c++/ctor-1.C: New.
10730 * testsuite/libgomp.c++/ctor-2.C: New.
10731 * testsuite/libgomp.c++/ctor-3.C: New.
10732 * testsuite/libgomp.c++/ctor-4.C: New.
10733 * testsuite/libgomp.c++/ctor-5.C: New.
10734 * testsuite/libgomp.c++/ctor-6.C: New.
10735 * testsuite/libgomp.c++/ctor-7.C: New.
10736 * testsuite/libgomp.c++/ctor-8.C: New.
10737 * testsuite/libgomp.c++/ctor-9.C: New.
10738
107392005-10-21 Diego Novillo <dnovillo@redhat.com>
10740
10741 PR 24455
10742 * testsuite/libgomp.c++/pr24455-1.C: New test.
10743 * testsuite/libgomp.c++/pr24455.C: New test.
10744 * testsuite/libgomp.dg/pr24455-1.c: New test.
10745 * testsuite/libgomp.dg/pr24455.c: New test.
10746
107472005-10-20 Richard Henderson <rth@redhat.com>
10748
10749 * testsuite/libgomp.c++/loop-6.C: New.
10750 * testsuite/libgomp.dg/loop-3.c: New.
10751
107522005-10-20 Jakub Jelinek <jakub@redhat.com>
10753
10754 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10755 explicitly private.
10756 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10757 explicitly shared.
10758
107592005-10-19 Diego Novillo <dnovillo@redhat.com>
10760
10761 * testsuite/libgomp.fortran/jacobi.f: New test.
10762
107632005-10-19 Richard Henderson <rth@redhat.com>
10764
10765 * configure.tgt (i?86-linux): Default to with_arch instead of
10766 CFLAGS. Add -mtune to match target_cpu.
10767 (x86_64-linux): Tune to i686.
10768
10769 * fortran.c (omp_test_nest_lock_): Fix typo.
10770
107712005-10-19 Jakub Jelinek <jakub@redhat.com>
10772
10773 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10774 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10775 * testsuite/libgomp.dg/ordered-3.c: New test.
10776
10777 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10778 Remove volatile keyword.
10779
10780 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10781 in COMMON block to avoid warnings on 64-bit targets.
10782
107832005-10-18 Diego Novillo <dnovillo@redhat.com>
10784
10785 * testsuite/libgomp.dg/shared-3.c: New test.
10786
107872005-10-18 Jakub Jelinek <jakub@redhat.com>
10788
10789 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10790 * testsuite/libgomp.fortran/reduction5.f90: New test.
10791
107922005-10-18 Jakub Jelinek <jakub@redhat.com>
10793
10794 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10795 dg-options.
10796 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10797 flush loop now that __sync_synchronize has proper memory barrier.
10798 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10799 Add -ffixed-form to dg-options.
10800
108012005-10-17 Diego Novillo <dnovillo@redhat.com>
10802
10803 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10804 from subdirectories.
10805 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10806 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10807 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10808 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10809 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10810 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10811 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10812 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10813 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10814 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10815 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10816 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10817 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10818 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10819 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10820 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10821 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10822 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10823 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10824 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10825 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10826 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10827 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10828 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10829 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10830
108312005-10-17 Jakub Jelinek <jakub@redhat.com>
10832
10833 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10834 lang_library_path exists. Use find instead of glob to gather tests.
10835 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10836
108372005-10-17 Diego Novillo <dnovillo@redhat.com>
10838
10839 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10840 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10841 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10842 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10843 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10844 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10845 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10846 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10847 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10848 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10849 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10850 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10851 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10852
108532005-10-15 Jakub Jelinek <jakub@redhat.com>
10854
10855 * testsuite/libgomp.dg/vla-1.c: New test.
10856
10857 * testsuite/libgomp.fortran/reference2.f90: New test.
10858
10859 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10860 declaration of omp_get_thread_num.
10861 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10862 use omp_lib.
10863
10864 * testsuite/libgomp.fortran/reduction1.f90: New test.
10865 * testsuite/libgomp.fortran/reduction2.f90: New test.
10866 * testsuite/libgomp.fortran/reduction3.f90: New test.
10867 * testsuite/libgomp.fortran/reduction4.f90: New test.
10868
108692005-10-13 Richard Henderson <rth@redhat.com>
10870
10871 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10872 * Makefile.in: Regenerate.
10873 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10874 * libgomp.h: Include bar.h.
10875 (struct gomp_barrier): Remove.
10876 (struct gomp_team): Add barrier. Replace master_barrier with
10877 master_release. Replace threads with ordered_release.
10878 (struct gomp_thread): Replace barrier with release.
10879 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10880 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10881 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10882 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10883 (GOMP_single_copy_end): Likewise.
10884 * team.c (gomp_threads_dock): New.
10885 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10886 (gomp_thread_start): Use gomp_barrier_wait.
10887 (new_team, free_team): Update for gomp_team changes.
10888 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10889 (gomp_team_end): Use gomp_barrier_wait.
10890 (initialize_team): Update for gomp_thread changes.
10891 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10892 (gomp_work_share_end_nowait): Use atomic ops when available.
10893 * config/linux/bar.c, config/linux/bar.h: New files.
10894 * config/posix/bar.c, config/posix/bar.h: New files.
10895
108962005-10-13 Jakub Jelinek <jakub@redhat.com>
10897
10898 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10899 * testsuite/libgomp.dg/single-2.c: New test.
10900
10901 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10902 lang_link_flags): Unset, so that they aren't inherited from previously
10903 sourced *.exp.
10904
10905 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10906
109072005-10-12 Richard Henderson <rth@redhat.com>
10908
10909 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10910 (libgomp_init): Use lang_test_file, lang_library_path, and
10911 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10912
10913 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10914 (lang_test_file, lang_link_flags): New.
10915 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10916
10917 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10918 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10919 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10920 testsuite/libgomp.c++/parallel-1.C,
10921 testsuite/libgomp.c++/reduction-1.C,
10922 testsuite/libgomp.c++/reduction-2.C,
10923 testsuite/libgomp.c++/reduction-3.C,
10924 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10925 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10926 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10927 New files, largely cribbed from the C testsuite.
10928
109292005-10-12 Jakub Jelinek <jakub@redhat.com>
10930
10931 * testsuite/libgomp.fortran/character1.f90: New test.
10932 * testsuite/libgomp.fortran/character2.f90: New test.
10933
10934 * testsuite/libgomp.dg/nested-1.c: New test.
10935 * testsuite/libgomp.dg/nested-2.c: New test.
10936 * testsuite/libgomp.fortran/do1.f90: New test.
10937 * testsuite/libgomp.fortran/do2.f90: New test.
10938
10939 * testsuite/libgomp.fortran/reference1.f90: New test.
10940
109412005-10-11 Jakub Jelinek <jakub@redhat.com>
10942
10943 * testsuite/libgomp.dg/reduction-1.c: New test.
10944 * testsuite/libgomp.dg/reduction-2.c: New test.
10945 * testsuite/libgomp.dg/reduction-3.c: New test.
10946
109472005-10-10 Jakub Jelinek <jakub@redhat.com>
10948
10949 * testsuite/libgomp.dg/atomic-1.c: New test.
10950 * testsuite/libgomp.dg/atomic-2.c: New test.
10951
109522005-10-09 Richard Henderson <rth@redhat.com>
10953
10954 * critical.c (atomic_lock): New.
10955 (initialize_critical): Initialize it.
10956 (GOMP_atomic_start, GOMP_atomic_end): New.
10957 * libgomp.map: Export them.
10958 * libgomp_g.h: Declare them.
10959
10960 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10961
109622005-10-02 Richard Henderson <rth@redhat.com>
10963
10964 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10965 to XCFLAGS instead of CFLAGS.
10966
109672005-09-30 Richard Henderson <rth@redhat.com>
10968
10969 * configure.ac: Determine whether -pthread or -lpthread is needed.
10970 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10971 * Makefine.in, configure: Rebuild.
10972
109732005-09-28 Richard Henderson <rth@redhat.com>
10974
10975 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10976 * testsuite/libgomp.dg/omp-single-3.c: New test.
10977
109782005-09-28 Diego Novillo <dnovillo@redhat.com>
10979
10980 * testsuite/libgomp.dg/omp-single-2.c: New test.
10981 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10982
109832005-09-27 Richard Henderson <rth@redhat.com>
10984
10985 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10986 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10987
109882005-09-27 Jakub Jelinek <jakub@redhat.com>
10989
10990 * testsuite/libgomp.dg/omp-loop03.c: New test.
10991
109922005-09-27 Diego Novillo <dnovillo@redhat.com>
10993
10994 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10995
109962005-09-27 Diego Novillo <dnovillo@redhat.com>
10997
10998 * testsuite/libgomp.dg/omp-single-1.c: New test.
10999 * testsuite/libgomp.dg/shared-1.c: Return 0.
11000 Add prototype for abort.
11001 * testsuite/libgomp.dg/shared-2.c: Likewise.
11002
110032005-09-26 Jakub Jelinek <jakub@redhat.com>
11004
11005 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11006 constructs.
11007
110082005-09-26 Diego Novillo <dnovillo@redhat.com>
11009
11010 * testsuite/libgomp.dg/shared-1.c: New test.
11011 * testsuite/libgomp.dg/shared-2.c: New test.
11012
110132005-09-24 Richard Henderson <rth@redhat.com>
11014
11015 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11016
110172005-09-24 Richard Henderson <rth@redhat.com>
11018
11019 * iter.c (gomp_iter_static_next): Round up when computing number
11020 of iterations. Don't bother distributing a remainder equally.
11021
11022 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11023 Don't call srand. Zero b before testing.
11024 (main): New.
11025
110262005-09-24 Jakub Jelinek <jakub@redhat.com>
11027
11028 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11029 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11030
110312005-09-23 Jakub Jelinek <jakub@redhat.com>
11032
11033 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11034 without !$omp end do, followed immediately by subroutine end.
11035
110362005-09-23 Diego Novillo <dnovillo@redhat.com>
11037
11038 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11039
110402005-09-22 Richard Henderson <rth@redhat.com>
11041
11042 * critical.c (GOMP_critical_name_start): Change argument to void**.
11043 Reuse the pointer space if the mutex fits.
11044 (GOMP_critical_name_end): Likewise.
11045 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11046 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11047 (GOMP_critical_name_end): Likewise.
11048 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11049 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11050
110512005-09-20 Richard Henderson <rth@redhat.com>
11052
11053 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11054 (create_lock_lock): New.
11055 (initialize_critical): Initialize it.
11056 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11057 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11058
110592005-09-20 Diego Novillo <dnovillo@redhat.com>
11060
11061 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11062
110632005-09-20 Diego Novillo <dnovillo@redhat.com>
11064
11065 * testsuite/libgomp.dg/omp-loop01.c: New test.
11066 * testsuite/libgomp.dg/omp-loop02.c: New test.
11067
110682005-09-20 Jakub Jelinek <jakub@redhat.com>
11069
11070 * configure.ac (AC_PROG_FC): Add.
11071 (USE_FORTRAN): New automake conditional.
11072 * configure: Rebuilt.
11073 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11074 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11075 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11076 Add rules to build them.
11077 * Makefile.in: Rebuilt.
11078 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11079 OMP_NEST_LOCK_KIND.
11080 * libgomp.map: Add Fortran wrappers.
11081 * libgomp_f.h.in: New file.
11082 * omp_lib.h.in: New file.
11083 * omp_lib.f90.in: New file.
11084 * fortran.c: New file.
11085 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11086 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11087 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11088 libgfortran has been built.
11089 * testsuite/libgomp.fortran/fortran.exp: New file.
11090 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11091 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11092 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11093 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11094 * testsuite/libgomp.fortran/omp_hello.f: New test.
11095 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11096 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11097 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11098 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11099 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11100 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11101 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11102 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11103
111042005-08-30 Richard Henderson <rth@redhat.com>
11105
11106 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11107 function for when aliases are not usable.
11108 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11109 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11110 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11111 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11112 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11113 GOMP_loop_ordered_guided_next): Likewise.
11114 * ordered.c (GOMP_ordered_start): Likewise.
11115
111162005-08-01 Diego Novillo <dnovillo@redhat.com>
11117
11118 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11119 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11120 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11121 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11122 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11123 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11124 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11125 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11126 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11127
111282005-07-07 Eric Christopher <echristo@redhat.com>
11129 Diego Novillo <dnovillo@redhat.com>
11130
11131 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11132 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11133 up code.
11134 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11135 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11136 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11137 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11138 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11139 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11140 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11141
111422005-06-13 Diego Novillo <dnovillo@redhat.com>
11143
11144 * TOPLEVEL.patch: Remove.
11145
111462005-05-16 Richard Henderson <rth@redhat.com>
11147
11148 * configure.ac: Test for clock_gettime.
11149 * config.h.in, configure: Rebuild.
11150 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11151 (omp_get_wtime): Use clock_gettime if available.
11152 (omp_get_wtick): Use clock_getres if available.
11153
111542005-05-11 Richard Henderson <rth@redhat.com>
11155
11156 * config/linux/ia64/futex.h: New file.
11157 * configure.tgt: Use it.
11158
11159 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11160
111612005-05-07 Richard Henderson <rth@redhat.com>
11162
11163 * config/linux/powerpc/futex.h: New file.
11164 * configure.tgt: Use it.
11165
11166 * config/linux/i486/futex.h: Merge ...
11167 * config/linux/x86_64/futex.h: ... into ...
11168 * config/linux/x86/futex.h: ... here.
11169 * configure.tgt: Update to match.
11170
111712005-05-06 Richard Henderson <rth@redhat.com>
11172
11173 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11174 * config/linux/i486/futex.h: Likewise.
11175 * config/linux/x86_64/futex.h: Likewise.
11176
11177 * config/linux/lock.c: New file.
11178 * config/linux/omp-lock.h: New file.
11179
11180 * critical.c, env.h: Don't include omp.h
11181 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11182 * config/posix/time.c: Likewise.
11183 * config/posix/omp-lock.h: New file.
11184 * libgomp.h: Include omp-lock.h and omp.h.
11185 * Makefile.am (nodist_include_HEADERS): New.
11186 (omp.h): New rule.
11187 * configure.ac (PERL): New.
11188 * mkomp_h.pl: New file.
11189 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11190 with templates.
11191 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11192
11193 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11194 build directory. Re-add -march=i486 hack.
11195
11196 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11197 (libgomp_link_flags): Remove.
11198 (libgomp_initialized): Remove.
11199 (libgomp_init): Don't protect from reinitialization. Copy code
11200 from libstdc++ for getting the multilib set correctly.
11201
112022005-05-05 Richard Henderson <rth@redhat.com>
11203
11204 * config/linux/alpha/futex.h: New file.
11205 * configure.tgt (alpha*-*-linux*): Use it.
11206
11207 * config/posix/mutex.c: New file.
11208 * config/posix/sem.c: Use libgomp.h.
11209
11210 * configure.tgt (x86_64-linux): Also test CC for -m32.
11211 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11212
a1daed2d 11213 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11214 after $gccpath.
11215
11216 * Makefile.am (SUBDIRS): New.
11217 (libgomp_la_LDFLAGS): Add -lpthread.
11218 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11219 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11220
11221 * libgomp_g.h: New file.
11222 * libgomp.h: Split out all public declarations to libgomp_g.h.
11223 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11224 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11225 * config/linux/sem.h: Likewise.
11226 * config/posix/sem.h: Likewise.
11227
11228 * Makefile.am (AM_LDFLAGS): New.
11229 (libgomp_version_script): Split out from ...
11230 (libgomp_la_LDFLAGS): ... here.
11231 (libgomp_version_info): New.
11232 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11233 (LIBGOMP_ENABLE): New.
11234 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11235 (LIBGOMP_ENABLE_SYMVERS): New.
11236 * configure.ac (AC_INIT): Version 1.0.
11237 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11238 (enable-linux-futex): Likewise. Rename from enable-futex.
11239 (libtool_VERSION): New.
11240 (LIBGOMP_ENABLE_SYMVERS): Use it.
11241 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11242 * Makefile.in, aclocal.m4, configure: Rebuild.
11243
11244 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11245 (gomp_mutex_unlock_slow): Fix typo.
11246 * config/linux/sem.c: Similarly.
11247 (gomp_sem_post_slow): Fix typo.
11248 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11249 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11250 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11251
11252 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11253 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11254 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11255 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11256 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11257 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11258 LDFLAGS. Pull enable_futex check to top-level.
11259 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11260 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11261
11262 First attempt at real configury.
11263 * Makefile, config.h: Remove file.
11264 * Makefile.am, Makefile.in: New file.
11265 * acinclude.m4 aclocal.m4: New file.
11266 * configure.ac, configure.tgt, configure: New file.
11267
11268 * config/posix/lock.c: Rename from sys-lock.c.
11269 * config/posix/mutex.h: Rename from sys-mutex.h.
11270 * config/posix/sem.c: Rename from sys-sem.c.
11271 * config/posix/sem.h: Rename from sys-sem.h.
11272 * config/posix/proc.c: Rename from sys-proc.c.
11273 * config/posix/time.c: Rename from sys-proc.c.
11274
11275 * config/linux/mutex.c: New file.
11276 * config/linux/mutex.h: New file.
11277 * config/linux/sem.c: New file.
11278 * config/linux/sem.h: New file.
11279 * config/linux/i486/futex.h: New file.
11280 * config/linux/x86_64/futex.h: New file.
11281
112822005-05-04 Richard Henderson <rth@redhat.com>
11283
11284 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11285 * libgomp.h: Declare them.
11286 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11287 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11288
112892005-05-04 Richard Henderson <rth@redhat.com>
11290
11291 * libgomp-1 code drop
11292
112932005-05-04 Richard Henderson <rth@redhat.com>
11294
11295 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11296 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11297 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11298 (gomp_iter_static_next): Update.
11299 (gomp_ordered_static_next): Update.
11300 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11301 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11302 totally empty range.
11303 (gomp_loop_ordered_static_next): Refine test for calling
11304 gomp_ordered_static_next.
11305 * testsuite/ordered-1.c: Add case for more threads than iterations.
11306
11307 * iter.c (gomp_iter_runtime_next_locked): Remove.
11308 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 11309 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
11310 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11311 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11312 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11313 gomp_loop_ordered_guided_next): Downcase name, make static, add
11314 an external alias with the old name.
11315 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11316 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11317 switch and call one of the above static functions.
11318 * libgomp.h: Update.
11319
11320 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11321 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11322 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11323 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11324 GOMP_loop_ordered_guided_start): Update to match.
11325 * sections.c (GOMP_sections_start): Likewise.
11326 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11327
11328 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11329 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11330 Use bounds check instead of modulus.
11331 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11332 (gomp_ordered_last): Don't sync with ordered_owner here.
11333 (gomp_ordered_next): Likewise.
11334 (gomp_ordered_static_loop_next): Likewise.
11335 * loop.c, libgomp.h: Update to match.
11336
11337 * libgomp.h (GOMP_barrier): Declare.
11338
11339 * testsuite/barrier-1.c: New file.
11340 * testsuite/critical-1.c: New file.
11341 * testsuite/ordered-2.c: New file.
11342 * testsuite/ordered-1.c: New file.
11343 * testsuite/sections-1.c: New file.
11344 * testsuite/single-1.c: New file.
11345 * testsuite/Makefile (TESTS): Add them.
11346
113472005-05-04 Richard Henderson <rth@redhat.com>
11348
11349 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11350 * loop.c (GOMP_loop_static_start): If not the startup thread,
11351 acquire the mutex to wait for initialization complete.
11352 (GOMP_loop_ordered_static_start): Likewise.
11353 (GOMP_loop_ordered_runtime_start): Likewise.
11354 (GOMP_loop_ordered_static_first): Remove.
11355 (GOMP_loop_ordered_dynamic_first): Remove.
11356 (GOMP_loop_ordered_guided_first): Remove.
11357 (GOMP_loop_ordered_runtime_first): Remove.
11358 * ordered.c (gomp_ordered_loop_first): Post to own release when
11359 we're the first thread.
11360 (gomp_ordered_loop_last): Wait on release if not owner.
11361 (gomp_ordered_loop_next): Likewise.
11362 (gomp_ordered_static_loop_init): New.
11363 (gomp_ordered_static_loop_next): Use ordered_owner.
11364 (GOMP_ordered_start): Likewise.
11365 * work.c (gomp_new_work_share): Initialize ordered_owner.
11366
113672005-05-03 Richard Henderson <rth@redhat.com>
11368
11369 * Makefile (OPT): New.
11370 (CFLAGS): Use it.
11371
11372 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11373 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11374 * libgomp.h, libgomp.map, NOTES: Update to match.
11375
11376 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11377 Add initialized and thr members.
11378 (gomp_thread_start): Pause when initially spawned to wait for
11379 the whole team to be created.
11380 (gomp_team_start): Release team members at the end.
11381
11382 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11383 (f_foo_1): Use GOMP_loop_end.
11384 (f_foo_2): Use GOMP_loop_end_nowait.
11385
11386 * testsuite/loop-2.c: New file.
11387 * testsuite/Makefile (TESTS): Add it.
11388
113892005-05-03 Richard Henderson <rth@redhat.com>
11390
11391 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11392 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11393 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11394 initial work_share.
11395
11396 * testsuite/Makefile: New file.
11397 * testsuite/loop-1.c: New file.
11398
113992005-05-03 Richard Henderson <rth@redhat.com>
11400
11401 Initial implementation and checkin.
21fa2a29 11402\f
a5544970 11403Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
11404
11405Copying and distribution of this file, with or without modification,
11406are permitted in any medium without royalty provided the copyright
11407notice and this notice are preserved.