]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
omp-low.c (lower_omp_1): Look through ordered...
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
fcfb8032
JJ
12019-05-27 Jakub Jelinek <jakub@redhat.com>
2
36c7a3ff
JJ
3 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
4
fcfb8032
JJ
5 PR libgomp/90641
6 * work.c (gomp_init_work_share): Instead of aligning final ordered
7 value to multiples of long long alignment, align to that the
8 first part (ordered team ids) and if inline_ordered_team_ids
9 is not on a long long alignment boundary within the structure,
10 use __alignof__ (long long) - 1 pad size always.
11 * loop.c (GOMP_loop_start): Fix *mem computation if
12 inline_ordered_team_ids is not aligned on long long alignment boundary
13 within the structure.
14 * loop-ull.c (GOMP_loop_ull_start): Likewise.
15 * sections.c (GOMP_sections2_start): Likewise.
16
b5c26449
JJ
172019-05-24 Jakub Jelinek <jakub@redhat.com>
18
6c7ae8c5
JJ
19 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
20 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
21
b5c26449
JJ
22 PR libgomp/90585
23 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
24 HAVE_INTTYPES_H is defined.
25 (print_uint64_t): New typedef.
26 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
27 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
28 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
29 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
30 before casting to void *.
31 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
32 * oacc-mem.c: Don't include config.h nor stdint.h.
33 * target.c: Don't include config.h.
34 * oacc-cuda.c: Likewise.
35 * oacc-host.c: Don't include stdint.h.
36
3e03ed66
JJ
372019-05-20 Jakub Jelinek <jakub@redhat.com>
38
39 PR libgomp/90527
40 * alloc.c (_GNU_SOURCE): Define.
41
5fae049d
TS
422019-05-17 Thomas Schwinge <thomas@codesourcery.com>
43
44 * acc_prof.h: New file.
45 * oacc-profiling.c: Likewise.
46 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
47 Add these, respectively.
48 * Makefile.in: Regenerate.
49 * env.c (initialize_env): Call goacc_profiling_initialize.
50 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
51 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
52 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
53 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
54 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
55 acc_prof_register, acc_prof_unregister, and acc_register_library.
56 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
57 GOMP_PLUGIN_goacc_thread.
58 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
59 prof_callbacks_enabled members.
60 (goacc_prof_enabled, goacc_profiling_initialize)
61 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
62 (goacc_profiling_dispatch): Declare.
63 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
64 (GOACC_PROFILING_SETUP_P): Define.
65 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
66 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
67 OpenACC Profiling Interface.
68 * oacc-cuda.c (acc_get_current_cuda_device)
69 (acc_get_current_cuda_context, acc_get_cuda_stream)
70 (acc_set_cuda_stream): Likewise.
71 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
72 (acc_init, acc_set_device_type, acc_get_device_type)
73 (acc_get_device_num, goacc_lazy_initialize): Likewise.
74 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
75 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
76 (acc_unmap_data, present_create_copy, delete_copyout)
77 (update_dev_host): Likewise.
78 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
79 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
80 Likewise.
81 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
82 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
83 Likewise.
84 * libgomp.texi: Update.
85 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
86 file.
87 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
88 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
89 Likewise.
90 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
91 Likewise.
92 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
93 Likewise.
94 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
95 Likewise.
96
1f4c5b9b
CLT
972019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
98
99 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
100 (struct goacc_asyncqueue_list): Likewise.
101 (goacc_aq): Likewise.
102 (goacc_aq_list): Likewise.
103 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
104 (GOMP_OFFLOAD_openacc_async_test): Remove.
105 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
106 (GOMP_OFFLOAD_openacc_async_wait): Remove.
107 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
108 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
109 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
110 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
111 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
112 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
113 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
114 (GOMP_OFFLOAD_openacc_async_exec): Declare.
115 (GOMP_OFFLOAD_openacc_async_construct): Declare.
116 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
117 (GOMP_OFFLOAD_openacc_async_test): Declare.
118 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
119 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
120 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
121 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
122 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
123
124 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
125 (gomp_acc_insert_pointer): Adjust declaration.
126 (gomp_copy_host2dev): New declaration.
127 (gomp_copy_dev2host): Likewise.
128 (gomp_map_vars_async): Likewise.
129 (gomp_unmap_tgt): Likewise.
130 (gomp_unmap_vars_async): Likewise.
131 (gomp_fini_device): Likewise.
132
133 * oacc-async.c (get_goacc_thread): New function.
134 (get_goacc_thread_device): New function.
135 (lookup_goacc_asyncqueue): New function.
136 (get_goacc_asyncqueue): New function.
137 (acc_async_test): Adjust code to use new async design.
138 (acc_async_test_all): Likewise.
139 (acc_wait): Likewise.
140 (acc_wait_async): Likewise.
141 (acc_wait_all): Likewise.
142 (acc_wait_all_async): Likewise.
143 (goacc_async_free): New function.
144 (goacc_init_asyncqueues): Likewise.
145 (goacc_fini_asyncqueues): Likewise.
146 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
147 design.
148 (acc_set_cuda_stream): Likewise.
149 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
150 (host_openacc_register_async_cleanup): Remove.
151 (host_openacc_async_exec): New function.
152 (host_openacc_async_test): Adjust parameters.
153 (host_openacc_async_test_all): Remove.
154 (host_openacc_async_wait): Remove.
155 (host_openacc_async_wait_async): Remove.
156 (host_openacc_async_wait_all): Remove.
157 (host_openacc_async_wait_all_async): Remove.
158 (host_openacc_async_set_async): Remove.
159 (host_openacc_async_synchronize): New function.
160 (host_openacc_async_serialize): New function.
161 (host_openacc_async_host2dev): New function.
162 (host_openacc_async_dev2host): New function.
163 (host_openacc_async_queue_callback): New function.
164 (host_openacc_async_construct): New function.
165 (host_openacc_async_destruct): New function.
166 (struct gomp_device_descr host_dispatch): Remove initialization of old
167 interface, add intialization of new async sub-struct.
168 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
169 (goacc_attach_host_thread_to_device): Remove old async code usage.
170 * oacc-int.h (goacc_init_asyncqueues): New declaration.
171 (goacc_fini_asyncqueues): Likewise.
172 (goacc_async_copyout_unmap_vars): Likewise.
173 (goacc_async_free): Likewise.
174 (get_goacc_asyncqueue): Likewise.
175 (lookup_goacc_asyncqueue): Likewise.
176 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
177 design.
178 (present_create_copy): Adjust code to use new async design.
179 (delete_copyout): Likewise.
180 (update_dev_host): Likewise.
181 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
182 async design.
183 (gomp_acc_remove_pointer): Adjust code to use new async design.
184 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
185 design.
186 (GOACC_enter_exit_data): Likewise.
187 (goacc_wait): Likewise.
188 (GOACC_update): Likewise.
189 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
190 when called, warn as obsolete in comment.
191 * target.c (goacc_device_copy_async): New function.
192 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
193 add goacc_device_copy_async case.
194 (gomp_copy_dev2host): Likewise.
195 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
196 (gomp_map_pointer): Likewise.
197 (gomp_map_fields_existing): Likewise.
198 (gomp_map_vars_internal): New always_inline function, renamed from
199 gomp_map_vars.
200 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
201 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
202 passing goacc_asyncqueue argument.
203 (gomp_unmap_tgt): Remove static, add attribute_hidden.
204 (gomp_unref_tgt): New function.
205 (gomp_unmap_vars_internal): New always_inline function, renamed from
206 gomp_unmap_vars.
207 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
208 (gomp_unmap_vars_async): Implement by calling
209 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
210 (gomp_fini_device): New function.
211 (gomp_exit_data): Adjust gomp_copy_dev2host call.
212 (gomp_load_plugin_for_device): Remove old interface, adjust to load
213 new async interface.
214 (gomp_target_fini): Adjust code to call gomp_fini_device.
215
216 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
217 (struct ptx_stream): Remove.
218 (struct nvptx_thread): Remove current_stream field.
219 (cuda_map_create): Remove.
220 (cuda_map_destroy): Remove.
221 (map_init): Remove.
222 (map_fini): Remove.
223 (map_pop): Remove.
224 (map_push): Remove.
225 (struct goacc_asyncqueue): Define.
226 (struct nvptx_callback): Define.
227 (struct ptx_free_block): Define.
228 (struct ptx_device): Remove null_stream, active_streams, async_streams,
229 stream_lock, and next fields.
230 (enum ptx_event_type): Remove.
231 (struct ptx_event): Remove.
232 (ptx_event_lock): Remove.
233 (ptx_events): Remove.
234 (init_streams_for_device): Remove.
235 (fini_streams_for_device): Remove.
236 (select_stream_for_async): Remove.
237 (nvptx_init): Remove ptx_events and ptx_event_lock references.
238 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
239 case.
240 (nvptx_open_device): Add free_blocks initialization, remove
241 init_streams_for_device call.
242 (nvptx_close_device): Remove fini_streams_for_device call, add
243 free_blocks destruct code.
244 (event_gc): Remove.
245 (event_add): Remove.
246 (nvptx_exec): Adjust parameters and code.
247 (nvptx_free): Likewise.
248 (nvptx_host2dev): Remove.
249 (nvptx_dev2host): Remove.
250 (nvptx_set_async): Remove.
251 (nvptx_async_test): Remove.
252 (nvptx_async_test_all): Remove.
253 (nvptx_wait): Remove.
254 (nvptx_wait_async): Remove.
255 (nvptx_wait_all): Remove.
256 (nvptx_wait_all_async): Remove.
257 (nvptx_get_cuda_stream): Remove.
258 (nvptx_set_cuda_stream): Remove.
259 (GOMP_OFFLOAD_alloc): Adjust code.
260 (GOMP_OFFLOAD_free): Likewise.
261 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
262 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
263 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
264 (GOMP_OFFLOAD_openacc_async_wait): Remove.
265 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
266 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
267 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
268 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
269 (cuda_free_argmem): New function.
270 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
271 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
272 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
273 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
274 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
275 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
276 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
277 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
278 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
279 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
280 (cuda_callback_wrapper): New function.
281 (cuda_memcpy_sanity_check): New function.
282 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
283 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
284 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
285 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
286
da2d30c1
TS
2872019-05-07 Thomas Schwinge <thomas@codesourcery.com>
288
289 PR target/87835
290 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
291
2bbbfa4e
TS
2922019-05-06 Thomas Schwinge <thomas@codesourcery.com>
293
294 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
295
bbf1efe1
KB
2962019-03-27 Kevin Buettner <kevinb@redhat.com>
297
298 * team.c (gomp_team_start): Initialize pool->threads[0].
299
1241136c
TS
3002019-02-22 Thomas Schwinge <thomas@codesourcery.com>
301
b03d721a
TS
302 * testsuite/libgomp.oacc-c++/c++.exp: Specify
303 "-foffload=$offload_target".
304 * testsuite/libgomp.oacc-c/c.exp: Likewise.
305 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
306 * testsuite/lib/libgomp.exp
307 (check_effective_target_openacc_nvidia_accel_configured): Remove,
308 as (conceptually) merged into
309 check_effective_target_openacc_nvidia_accel_selected. Adjust all
310 users.
311
0a0384b4
TS
312 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
313 * testsuite/libgomp-test-support.exp.in: Adjust.
314 * testsuite/lib/libgomp.exp: Likewise. Don't populate
315 openacc_device_types_s.
316 (offload_target_to_openacc_device_type): New proc.
317 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
318 * testsuite/libgomp.oacc-c/c.exp: Likewise.
319 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
320 * Makefile.in: Regenerate.
321 * configure: Likewise.
322 * testsuite/Makefile.in: Likewise.
323
ee332b4a
TS
324 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
325 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
326 instead of OFFLOAD_TARGETS.
327 * target.c (gomp_target_init): Adjust.
328 * testsuite/libgomp-test-support.exp.in: Likewise.
329 * testsuite/lib/libgomp.exp: Likewise. Populate
330 openacc_device_types_s instead of offload_targets_s_openacc.
331 (check_effective_target_openacc_nvidia_accel_selected)
332 (check_effective_target_openacc_host_selected): Adjust.
333 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
334 * testsuite/libgomp.oacc-c/c.exp: Likewise.
335 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
336 * Makefile.in: Regenerate.
337 * config.h.in: Likewise.
338 * configure: Likewise.
339 * testsuite/Makefile.in: Likewise.
340
1241136c
TS
341 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
342 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
343 "offloading: supported, but hardware not accessible".
344 * testsuite/libgomp.oacc-c/c.exp: Likewise.
345 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
346
19695f4d
CLT
3472019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
348
349 PR c/87924
350 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
351 goacc_wait().
352 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
353 and related adjustment.
354
8b44f8ec
JJ
3552019-01-30 Jakub Jelinek <jakub@redhat.com>
356
357 PR c++/88988
358 * testsuite/libgomp.c++/pr88988.C: New test.
359
be3a87e7
JJ
3602019-01-28 Jakub Jelinek <jakub@redhat.com>
361
362 PR middle-end/89002
363 * testsuite/libgomp.c/pr89002.c: New test.
364
497ef4d7
RB
3652019-01-28 Richard Biener <rguenther@suse.de>
366
367 PR testsuite/89064
368 PR tree-optimization/86865
369 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
370
738c56d4
TV
3712019-01-24 Tom de Vries <tdevries@suse.de>
372
373 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
374 once instantiated_devices drops to 0.
375
4a75460b
TV
3762019-01-23 Tom de Vries <tdevries@suse.de>
377
378 PR target/PR88946
379 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
380 cuMemFree.
381 (nvptx_exec): Don't call map_push if mapnum == 0.
382 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
383
4fef8e4d
TV
3842019-01-23 Tom de Vries <tdevries@suse.de>
385
386 PR target/88941
387 PR target/88939
388 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
389 (map_fini): Remove "assert (!s->map->active)".
390 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
391
2ee6cb22
TV
3922019-01-23 Tom de Vries <tdevries@suse.de>
393
394 PR target/87835
395 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
396 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
397
d41d952c
TV
3982019-01-15 Tom de Vries <tdevries@suse.de>
399
400 PR target/80547
401 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
402 New test.
403
efb56ae8
TV
4042019-01-12 Tom de Vries <tdevries@suse.de>
405
406 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
407 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
408 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
409 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
410
2c2ff168
TV
4112019-01-12 Tom de Vries <tdevries@suse.de>
412
413 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
414
a1057758
TV
4152019-01-12 Tom de Vries <tdevries@suse.de>
416
417 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
418 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
419 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
420
56314b77
TV
4212019-01-12 Tom de Vries <tdevries@suse.de>
422
423 PR target/85486
424 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
425 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
426
b39e4366
TV
4272019-01-12 Tom de Vries <tdevries@suse.de>
428
429 PR target/85381
430 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
431 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
432
2cb7a501
TV
4332019-01-12 Tom de Vries <tdevries@suse.de>
434
435 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
436 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
437 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
438
8e77f71e
TV
4392019-01-12 Tom de Vries <tdevries@suse.de>
440
441 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
442 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
443 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
444
52d22ece
TV
4452019-01-12 Tom de Vries <tdevries@suse.de>
446
447 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
448 resources diagnostic.
449
2b9d9e39
TV
4502019-01-12 Tom de Vries <tdevries@suse.de>
451
452 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
453 vector length to be 128.
454 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
455 length 2097152 to be reduced to 1024 instead of 32.
456
4102bda6
TS
4572019-01-11 Thomas Schwinge <thomas@codesourcery.com>
458 James Norris <jnorris@codesourcery.com>
459
460 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
461 Library Routines", and "Environment Variables".
462
052aaace
TV
4632019-01-11 Tom de Vries <tdevries@suse.de>
464
465 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
466 num_workers 16.
467
9390f916
TV
4682019-01-11 Tom de Vries <tdevries@suse.de>
469
470 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
471 -foffload=-w.
472 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
473 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
474 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
475 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
476
2c3e7ad2
TV
4772019-01-11 Tom de Vries <tdevries@suse.de>
478
479 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
480 test.
481
e222497d
NS
4822019-01-10 Nathan Sidwell <nathan@acm.org>
483 Julian Brown <julian@codesourcery.com>
484
485 PR lto/71959
486 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
487 * testsuite/libgomp.oacc-c++/pr71959.C: New.
488
cb87fec3
SH
4892019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
490
491 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
492 and paste code.
493
30b4d0d0
SH
4942019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
495
496 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
497 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
498 write.
499
5d0bc70a
TV
5002019-01-09 Tom de Vries <tdevries@suse.de>
501
502 PR target/88756
503 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
504 #define instead of "const int".
505 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
506 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
507 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
508 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
509
2c372e81
TV
5102019-01-09 Tom de Vries <tdevries@suse.de>
511
512 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
513 one worker.
514
43493c97
TV
5152019-01-07 Tom de Vries <tdevries@suse.de>
516
517 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
518 GOMP_OPENACC_DIM argument.
519
5c571497
TV
5202019-01-03 Tom de Vries <tdevries@suse.de>
521
522 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
523 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
524
a5544970
JJ
5252019-01-01 Jakub Jelinek <jakub@redhat.com>
526
527 Update copyright years.
528
3f27508c
JJ
5292019-01-01 Jakub Jelinek <jakub@redhat.com>
530
531 * libgomp.texi: Bump @copying's copyright year.
532
59d5960c
TS
5332018-12-28 Thomas Schwinge <thomas@codesourcery.com>
534
535 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
536 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
537 (GOACC_declare): Redefine the "device" argument to "flags".
538
a44c1790
TS
5392018-12-28 Thomas Schwinge <thomas@codesourcery.com>
540 Cesar Philippidis <cesar@codesourcery.com>
541
542 * target.c (struct gomp_coalesce_chunk): New structure.
543 (struct gomp_coalesce_buf): Update the chunks member to use that
544 type. Adjust all users.
545
a152954e
TV
5462018-12-19 Tom de Vries <tdevries@suse.de>
547
548 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
549 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
550 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
551
49188cd1
TV
5522018-12-19 Tom de Vries <tdevries@suse.de>
553
554 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
555 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
556 gcc/testsuite/gcc.dg/goacc.
557 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
558
c759830b
TS
5592018-12-14 Thomas Schwinge <thomas@codesourcery.com>
560 Chung-Lin Tang <cltang@codesourcery.com>
561
562 * oacc-mem.c (acc_present_or_create): Remove definition and change
563 to alias of acc_create.
564 (acc_present_or_copyin): Remove definition and change to alias of
565 acc_copyin.
566 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
567 of acc_present_or_create.
568 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
569 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
570 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
571 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
572 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
573 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
574 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
575 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
576 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
577 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
578 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
579 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
580 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
581 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
582 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
583 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
584
7de562ee
TS
5852018-12-14 Thomas Schwinge <thomas@codesourcery.com>
586
f847198e
TS
587 PR libgomp/88495
588 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
589 "identical parameters".
590 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
591 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
592
c8ab8aab
TS
593 PR libgomp/88484
594 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
595 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
596
1404af62
TS
597 PR libgomp/88407
598 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
599 (nvptx_wait_async): Unseen async-argument is a no-op.
600 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
601 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
602 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
603 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
604 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
605 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
606 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
607 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
608 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
609
7de562ee
TS
610 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
611 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
612
17469af7
CLT
6132018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
614
615 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
616 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
617 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
618
18c247cc
TS
6192018-12-14 Thomas Schwinge <thomas@codesourcery.com>
620
621 PR libgomp/88370
622 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
623 (acc_set_cuda_stream): Clarify.
624 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
625 "async_valid_p".
626 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
627 acc_async_sync".
628 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
629 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
630 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
631 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
632
b0aba46c
TV
6332018-12-14 Tom de Vries <tdevries@suse.de>
634
635 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
636 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
637 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
638 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
639 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
640
fe0827ee
TV
6412018-12-13 Tom de Vries <tdevries@suse.de>
642
643 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
644 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
645 * fortran.c (omp_display_affinity_): ... here.
646 * libgomp.h (gomp_print_string): Declare.
647 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
648 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
649 write.
650
a51f8c92
JJ
6512018-12-13 Jakub Jelinek <jakub@redhat.com>
652
653 PR libgomp/88460
654 * testsuite/libgomp.c++/for-24.C (results): Include it in
655 omp declare target region.
656 (main): Use map (always, tofrom: results) instead of
657 map (tofrom: results).
658
a6ef2ac9
JJ
6592018-12-12 Jakub Jelinek <jakub@redhat.com>
660
7a289b7d
JJ
661 PR fortran/88463
662 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
663 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
664
a6ef2ac9
JJ
665 * testsuite/libgomp.c-c++-common/for-16.c: New test.
666
9c47a019
AS
6672018-12-12 Andreas Schwab <schwab@suse.de>
668
669 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
670 clobbered.
671
d0cbb206
TK
6722018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
673
674 PR fortran/88411
675 * testsuite/libgomp.fortran/async_io_8.f90: New test.
676
84ca08d2
TS
6772018-12-09 Thomas Schwinge <thomas@codesourcery.com>
678 Jakub Jelinek <jakub@redhat.com>
679
680 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
681 devicep->host2dev_func.
682
6997628d
JJ
6832018-12-08 Jakub Jelinek <jakub@redhat.com>
684
685 PR libgomp/87995
686 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
687 tls_runtime effective target.
688 (t): New threadprivate variable.
689 (main): Set t in threads which execute iterations of the worksharing
690 loop. Propagate that to the task after the loop and don't abort
691 if the current taskgroup hasn't been cancelled.
692
daa8c1d7
JJ
6932018-12-02 Jakub Jelinek <jakub@redhat.com>
694
4a82df9a
JJ
695 * testsuite/libgomp.c/task-reduction-3.c: New test.
696
daa8c1d7
JJ
697 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
698
fe570ff8
CP
6992018-11-30 Cesar Philippidis <cesar@codesourcery.com>
700
701 PR libgomp/88288
702 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
703 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
704
c223608f
TS
7052018-11-30 Thomas Schwinge <thomas@codesourcery.com>
706
707 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
708
fc60283c
RB
7092018-10-19 Richard Biener <rguenther@suse.de>
710
711 PR tree-optimization/88182
712 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
713
ffcf3b79
JJ
7142018-11-26 Jakub Jelinek <jakub@redhat.com>
715
716 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
717 (RUNTEST): Don't define.
718 (RUNTESTDEFAULTFLAGS): Add.
719 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
720 (distclean-am): Depend on distclean-DEJAGNU.
721 (check-am): If -j% option is present in MFLAGS and if
722 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
723 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
724 * testsuite/Makefile.in: Regenerated.
725
ef6e6914
RB
7262018-11-26 Richard Biener <rguenther@suse.de>
727
728 PR tree-optimization/88182
729 * testsuite/libgomp.c++/pr88182.C: New testcase.
730
72d3bb76
JJ
7312018-11-20 Jakub Jelinek <jakub@redhat.com>
732
733 PR bootstrap/88106
734 * config/mingw32/affinity-fmt.c: New file.
735
207286c3
JJ
7362018-11-09 Jakub Jelinek <jakub@redhat.com>
737
9666c522
JJ
738 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
739 (gomp_display_affinity): Use __builtin_choose_expr to handle
740 properly handle argument having integral, or pointer or some other
741 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
742 with uint64_t type instead of %llx and unsigned long long.
743
207286c3
JJ
744 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
745 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
746
2033f45b
RO
7472018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
748
749 * affinity.c: Include <string.h>, <stdio.h>.
750 (gomp_display_affinity_place): Remove cpusetp.
751 * teams.c: Include <limits.h>.
752
28567c40
JJ
7532018-11-08 Jakub Jelinek <jakub@redhat.com>
754
8991d779
JJ
755 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
756 in_reduction clause for s[0].
757
28567c40
JJ
758 * affinity.c (gomp_display_affinity_place): New function.
759 * affinity-fmt.c: New file.
760 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
761 * config/linux/affinity.c (gomp_display_affinity_place): New function.
762 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
763 Move these functions to ...
764 * config/nvptx/teams.c: ... here. New file.
765 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
766 New functions.
767 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
768 functions.
769 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
770 and _aligned_malloc.
771 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
772 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
773 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
774 gomp_affinity_format_len): New variables.
775 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
776 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
777 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
778 modifiers. Display (non-default) chunk sizes. Print
779 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
780 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
781 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
782 * fortran.c: Include stdio.h and string.h.
783 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
784 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
785 (omp_set_affinity_format_, omp_get_affinity_format_,
786 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
787 omp_pause_resource_all_): New functions.
788 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
789 switch.
790 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
791 functions to ...
792 * teams.c: ... here. New file.
793 * libgomp_g.h: Include gstdint.h.
794 (GOMP_loop_nonmonotonic_runtime_start,
795 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
796 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
797 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
798 GOMP_parallel_loop_nonmonotonic_runtime,
799 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
800 GOMP_loop_ull_nonmonotonic_runtime_start,
801 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
802 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
803 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
804 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
805 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
806 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
807 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
808 GOMP_teams_reg): Declare.
809 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
810 gomp_aligned_alloc uses fallback implementation.
811 (gomp_aligned_alloc, gomp_aligned_free): Declare.
812 (enum gomp_schedule_type): Add GFS_MONOTONIC.
813 (struct gomp_doacross_work_share): Add extra field.
814 (struct gomp_work_share): Add task_reductions field.
815 (struct gomp_taskgroup): Add workshare and reductions fields.
816 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
817 (gomp_thread_handle): New typedef.
818 (gomp_display_affinity_place, gomp_set_affinity_format,
819 gomp_display_string, gomp_display_affinity,
820 gomp_display_affinity_thread): Declare.
821 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
822 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
823 gomp_workshare_task_reduction_register): Declare.
824 (gomp_team_start): Add taskgroup argument.
825 (gomp_pause_host): Declare.
826 (gomp_init_work_share, gomp_work_share_start): Change bool argument
827 to size_t.
828 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
829 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
830 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
831 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
832 GOMP_loop_ull_doacross_start,
833 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
834 GOMP_loop_maybe_nonmonotonic_runtime_next,
835 GOMP_loop_maybe_nonmonotonic_runtime_start,
836 GOMP_loop_nonmonotonic_runtime_next,
837 GOMP_loop_nonmonotonic_runtime_start,
838 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
839 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
840 GOMP_loop_ull_nonmonotonic_runtime_next,
841 GOMP_loop_ull_nonmonotonic_runtime_start,
842 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
843 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
844 GOMP_taskgroup_reduction_register,
845 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
846 GOMP_teams_reg and GOMP_taskwait_depend.
847 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
848 omp_{capture,display}_affinity{,_}, and
849 omp_[gs]et_affinity_format{,_}.
850 * loop.c: Include string.h.
851 (GOMP_loop_runtime_next): Add ialias.
852 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
853 (gomp_loop_static_start, gomp_loop_dynamic_start,
854 gomp_loop_guided_start, gomp_loop_ordered_static_start,
855 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
856 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
857 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
858 or gomp_doacross_init callers.
859 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
860 GOMP_loop_doacross_start): New functions.
861 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
862 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
863 Mask off GFS_MONOTONIC bit.
864 (GOMP_loop_maybe_nonmonotonic_runtime_next,
865 GOMP_loop_maybe_nonmonotonic_runtime_start,
866 GOMP_loop_nonmonotonic_runtime_next,
867 GOMP_loop_nonmonotonic_runtime_start,
868 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
869 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
870 functions.
871 (gomp_parallel_loop_start): Pass NULL as taskgroup to
872 gomp_team_start.
873 * loop_ull.c: Include string.h.
874 (GOMP_loop_ull_runtime_next): Add ialias.
875 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
876 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
877 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
878 gomp_loop_ull_ordered_dynamic_start,
879 gomp_loop_ull_ordered_guided_start,
880 gomp_loop_ull_doacross_static_start,
881 gomp_loop_ull_doacross_dynamic_start,
882 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
883 and gomp_doacross_ull_init callers.
884 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
885 GOMP_loop_ull_doacross_start): New functions.
886 (GOMP_loop_ull_runtime_start,
887 GOMP_loop_ull_ordered_runtime_start,
888 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
889 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
890 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
891 GOMP_loop_ull_nonmonotonic_runtime_next,
892 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
893 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
894 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
895 (omp_pause_resource_t, omp_depend_t): New typedefs.
896 (enum omp_lock_hint_t): Renamed to ...
897 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
898 enumerators using numbers and omp_lock_hint_* as their aliases.
899 (omp_lock_hint_t): New typedef. Rename to ...
900 (omp_sync_hint_t): ... this.
901 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
902 omp_sync_hint_t instead of omp_lock_hint_t.
903 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
904 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
905 Declare.
906 (omp_target_is_present, omp_target_disassociate_ptr):
907 Change first argument from void * to const void *.
908 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
909 from void * to const void *.
910 (omp_target_associate_ptr): Change first and second arguments from
911 void * to const void *.
912 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
913 omp_pause_hard): New parameters.
914 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
915 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
916 New interfaces.
917 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
918 omp_pause_hard): New parameters.
919 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
920 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
921 New externals.
922 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
923 EXTRA argument. If not needed to prepare array, if extra is 0,
924 clear ws->doacross, otherwise allocate just doacross structure and
925 extra payload. If array is needed, allocate also extra payload.
926 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
927 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
928 doacross == NULL.
929 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
930 gomp_team_start.
931 (GOMP_parallel): Likewise. Formatting fix.
932 (GOMP_parallel_reductions): New function.
933 (GOMP_cancellation_point): If taskgroup has workshare
934 flag set, check cancelled of prev taskgroup if any.
935 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
936 on prev taskgroup if any.
937 * sections.c: Include string.h.
938 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
939 (GOMP_sections_start): Adjust gomp_work_share_start caller.
940 (GOMP_sections2_start): New function.
941 (GOMP_parallel_sections_start, GOMP_parallel_sections):
942 Pass NULL as taskgroup to gomp_team_start.
943 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
944 gomp_work_share_start callers.
945 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
946 If taskgroup has workshare flag set, check cancelled on prev
947 taskgroup if any. Guard all cancellation tests with
948 gomp_cancel_var test.
949 (omp_target_is_present, omp_target_disassociate_ptr):
950 Change ptr argument from void * to const void *.
951 (omp_target_memcpy): Change src argument from void * to const void *.
952 (omp_target_memcpy_rect): Likewise.
953 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
954 instead of char * where needed.
955 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
956 from void * to const void *.
957 (omp_pause_resource, omp_pause_resource_all): New functions.
958 * task.c (gomp_task_handle_depend): Handle new depend array format
959 in addition to the old. Handle mutexinoutset kinds the same as
960 inout for now, handle unspecified kinds.
961 (gomp_create_target_task): If taskgroup has workshare flag set, check
962 cancelled on prev taskgroup if any. Guard all cancellation tests with
963 gomp_cancel_var test. Handle new depend array format count in
964 addition to the old.
965 (GOMP_task): Likewise. Adjust function comment.
966 (gomp_task_run_pre): If taskgroup has workshare flag set, check
967 cancelled on prev taskgroup if any. Guard all cancellation tests with
968 gomp_cancel_var test.
969 (GOMP_taskwait_depend): New function.
970 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
971 format in addition to the old. Handle mutexinoutset kinds the same as
972 inout for now, handle unspecified kinds. Fix a function comment typo.
973 (gomp_taskgroup_init): New function.
974 (GOMP_taskgroup_start): Use it.
975 (gomp_reduction_register, gomp_create_artificial_team,
976 GOMP_taskgroup_reduction_register,
977 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
978 gomp_parallel_reduction_register,
979 gomp_workshare_task_reduction_register,
980 gomp_workshare_taskgroup_start,
981 GOMP_workshare_task_reduction_unregister): New functions.
982 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
983 check cancelled on prev taskgroup if any. Guard all cancellation
984 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
985 by calling GOMP_taskgroup_reduction_register.
986 * team.c (gomp_thread_attr): Remove comment.
987 (struct gomp_thread_start_data): Add handle field.
988 (gomp_thread_start): Call pthread_detach.
989 (gomp_new_team): Adjust gomp_init_work_share caller.
990 (gomp_free_pool_helper): Call pthread_detach.
991 (gomp_team_start): Add taskgroup argument, initialize implicit
992 tasks' taskgroup field to that. Don't call
993 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
994 (gomp_team_end): Determine nesting by thr->ts.level != 0
995 rather than thr->ts.team != NULL.
996 (gomp_pause_pool_helper, gomp_pause_host): New functions.
997 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
998 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
999 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1000 if more than 1 allocate also extra payload at the end of array. Never
1001 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1002 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1003 return true instead of ws.
1004 * Makefile.in: Regenerated.
1005 * configure: Regenerated.
1006 * config.h.in: Regenerated.
1007 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1008 in some cases.
1009 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1010 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1011 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1012 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1013 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1014 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1015 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1016 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1017 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1018 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1019 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1020 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1021 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1022 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1023 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1024 define a different N(test), don't define N(f0) to N(f14), but instead
1025 define N(f20) to N(f34) using != comparisons.
1026 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1027 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1028 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1029 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1030 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1031 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1032 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1033 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1034 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1035 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1036 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1037 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1038 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1039 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1040 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1041 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1042 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1043 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1044 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1045 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1046 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1047 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1048 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1049 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1050 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1051 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1052 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1053 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1054 * testsuite/libgomp.c++/depend-1.C: New test.
1055 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1056 * testsuite/libgomp.c++/depobj-1.C: New test.
1057 * testsuite/libgomp.c++/for-16.C: New test.
1058 * testsuite/libgomp.c++/for-21.C: New test.
1059 * testsuite/libgomp.c++/for-22.C: New test.
1060 * testsuite/libgomp.c++/for-23.C: New test.
1061 * testsuite/libgomp.c++/for-24.C: New test.
1062 * testsuite/libgomp.c++/for-25.C: New test.
1063 * testsuite/libgomp.c++/for-26.C: New test.
1064 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1065 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1066 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1067 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1068 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1069 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1070 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1071 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1072 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1073 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1074 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1075 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1076 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1077 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1078 * testsuite/libgomp.c/task-reduction-1.c: New test.
1079 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1080 * testsuite/libgomp.c/task-reduction-2.c: New test.
1081 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1082 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1083 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1084 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1085 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1086 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1087 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1088 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1089 * testsuite/libgomp.c/teams-1.c: New test.
1090 * testsuite/libgomp.c/teams-2.c: New test.
1091 * testsuite/libgomp.c/thread-limit-4.c: New test.
1092 * testsuite/libgomp.c/thread-limit-5.c: New test.
1093 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1094
58168bbf
CLT
10952018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1096
1097 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1098 acc_memcpy_to/from_device functions, now with async parameter.
1099 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1100 (acc_memcpy_from_device): Likewise.
1101 (acc_memcpy_to_device_async): New API function.
1102 (acc_memcpy_from_device_async): Likewise.
1103 (present_create_copy): Add async parameter and async setting/unsetting.
1104 (acc_create): Adjust present_create_copy call.
1105 (acc_copyin): Likewise.
1106 (acc_present_or_create): Likewise.
1107 (acc_present_or_copyin): Likewise.
1108 (acc_create_async): New API function.
1109 (acc_copyin_async): New API function.
1110 (delete_copyout): Add async parameter and async setting/unsetting.
1111 (acc_delete): Adjust delete_copyout call.
1112 (acc_copyout): Likewise.
1113 (acc_delete_async): New API function.
1114 (acc_copyout_async): Likewise.
1115 (update_dev_host): Add async parameter and async setting/unsetting.
1116 (acc_update_device): Adjust update_dev_host call.
1117 (acc_update_self): Likewise.
1118 (acc_update_device_async): New API function.
1119 (acc_update_self_async): Likewise.
1120 * openacc.h (acc_copyin_async): Declare new API function.
1121 (acc_create_async): Likewise.
1122 (acc_copyout_async): Likewise.
1123 (acc_delete_async): Likewise.
1124 (acc_update_device_async): Likewise.
1125 (acc_update_self_async): Likewise.
1126 (acc_memcpy_to_device_async): Likewise.
1127 (acc_memcpy_from_device_async): Likewise.
1128 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1129 (acc_copyin_async_64_h): New subroutine.
1130 (acc_copyin_async_array_h): New subroutine.
1131 (acc_create_async_32_h): New subroutine.
1132 (acc_create_async_64_h): New subroutine.
1133 (acc_create_async_array_h): New subroutine.
1134 (acc_copyout_async_32_h): New subroutine.
1135 (acc_copyout_async_64_h): New subroutine.
1136 (acc_copyout_async_array_h): New subroutine.
1137 (acc_delete_async_32_h): New subroutine.
1138 (acc_delete_async_64_h): New subroutine.
1139 (acc_delete_async_array_h): New subroutine.
1140 (acc_update_device_async_32_h): New subroutine.
1141 (acc_update_device_async_64_h): New subroutine.
1142 (acc_update_device_async_array_h): New subroutine.
1143 (acc_update_self_async_32_h): New subroutine.
1144 (acc_update_self_async_64_h): New subroutine.
1145 (acc_update_self_async_array_h): New subroutine.
1146 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1147 (acc_copyin_async_64_h): New subroutine.
1148 (acc_copyin_async_array_h): New subroutine.
1149 (acc_create_async_32_h): New subroutine.
1150 (acc_create_async_64_h): New subroutine.
1151 (acc_create_async_array_h): New subroutine.
1152 (acc_copyout_async_32_h): New subroutine.
1153 (acc_copyout_async_64_h): New subroutine.
1154 (acc_copyout_async_array_h): New subroutine.
1155 (acc_delete_async_32_h): New subroutine.
1156 (acc_delete_async_64_h): New subroutine.
1157 (acc_delete_async_array_h): New subroutine.
1158 (acc_update_device_async_32_h): New subroutine.
1159 (acc_update_device_async_64_h): New subroutine.
1160 (acc_update_device_async_array_h): New subroutine.
1161 (acc_update_self_async_32_h): New subroutine.
1162 (acc_update_self_async_64_h): New subroutine.
1163 (acc_update_self_async_array_h): New subroutine.
1164 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1165 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1166 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1167 acc_memcpy_to_device_async*, acc_update_device_async*, and
1168 acc_update_self_async* entries.
1169 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1170 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1171 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1172
22e05272
JM
11732018-10-31 Joseph Myers <joseph@codesourcery.com>
1174
1175 PR bootstrap/82856
1176 * Makefile.am: Include multilib.am
1177 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1178 (CLEANFILES): Remove libgomp.info.
1179 * configure.ac: Remove AC_PREREQ.
1180 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1181 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1182 Regenerate.
1183
87a5ccfb
JM
11842018-10-29 Joseph Myers <joseph@codesourcery.com>
1185 Julian Brown <julian@codesourcery.com>
1186
1187 * testsuite/libgomp.oacc-c++/this.C: New.
1188
2049befd
CP
11892018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1190
1191 * plugin/plugin-nvptx.c (struct cuda_map): New.
1192 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1193 h_tail with (cuda_map *) map.
1194 (cuda_map_create): New function.
1195 (cuda_map_destroy): New function.
1196 (map_init): Update to use a linked list of cuda_map objects.
1197 (map_fini): Likewise.
1198 (map_pop): Likewise.
1199 (map_push): Likewise. Return CUdeviceptr instead of void.
1200 (init_streams_for_device): Remove stales references to ptx_stream
1201 members.
1202 (select_stream_for_async): Likewise.
1203 (nvptx_exec): Update call to map_init.
1204
8e36332c
CP
12052018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1206 Julian Brown <julian@codesourcery.com>
1207
1208 PR middle-end/86336
1209 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1210
2b4c9065
NK
12112018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1212 Thomas Koenig <tkoenig@gcc.gnu.org>
1213
1214 PR fortran/25829
1215 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1216 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1217 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1218 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1219 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1220 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1221 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1222
bd9b3d3d
CP
12232018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1224 Tom de Vries <tdevries@suse.de>
1225
1226 PR target/85590
1227 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1228 (cuOccupancyMaxPotentialBlockSize): Declare.
1229 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1230 CUDA_ONE_CALL_MAYBE_NULL.
1231 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1232 CUoccupancyB2DSize and declare
1233 cuOccupancyMaxPotentialBlockSize.
1234 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1235 default num_gangs and num_workers when the driver supports it.
1236
8e09a12f
TV
12372018-08-08 Tom de Vries <tdevries@suse.de>
1238
1239 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1240 CUDA_ONE_CALL_MAYBE_NULL.
1241 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1242 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1243 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1244 are not found.
1245
cedd9bd0
TV
12462018-08-08 Tom de Vries <tdevries@suse.de>
1247
1248 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1249 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1250 present.
1251
b113af95
TV
12522018-08-08 Tom de Vries <tdevries@suse.de>
1253
1254 * plugin/plugin-nvptx.c
1255 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1256 (nvptx_open_device): Use
1257 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1258
94767dac
TV
12592018-08-08 Tom de Vries <tdevries@suse.de>
1260
1261 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1262 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1263
02150de8
TV
12642018-08-07 Tom de Vries <tdevries@suse.de>
1265
1266 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1267 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1268 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1269 corresponding call in CUDA_ONE_CALL. Add def/undef of
1270 CUDA_ONE_CALL_MAYBE_NULL.
1271 (CUDA_CALL_EXISTS): Define.
1272
9e28b107
TV
12732018-08-07 Tom de Vries <tdevries@suse.de>
1274
1275 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1276 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1277 corresponding undefs right after.
1278
09940090
TV
12792018-08-04 Tom de Vries <tdevries@suse.de>
1280
1281 * plugin/configfrag.ac: For --without-cuda-driver, set
1282 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1283 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1284 * configure: Regenerate.
1285
77e0a97a
TV
12862018-08-02 Tom de Vries <tdevries@suse.de>
1287
1288 PR target/86660
1289 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1290 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1291 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1292 Same.
1293 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1294 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1295 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1296
701d080a
CP
12972018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1298 Thomas Schwinge <thomas@codesourcery.com>
1299
1300 * config/nvptx/oacc-parallel.c: Truncate.
1301
094db6be
CP
13022018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1303 James Norris <jnorris@codesourcery.com>
1304
1305 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
1306 (map_init, map_pop): Remove use of struct map.
1307 (map_push): Likewise and change argument list.
094db6be
CP
1308 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1309
8c6310a2
TV
13102018-08-01 Tom de Vries <tdevries@suse.de>
1311
1312 * plugin/cuda-lib.def: New file. Factor out of ...
1313 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1314 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1315 using CUDA_CALLS.
1316
1d4a51cf
AV
13172018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1318
1319 Revert 'AsyncI/O patch committed'.
1320 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1321 Thomas Koenig <tkoenig@gcc.gnu.org>
1322
1323 PR fortran/25829
1324 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1325 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1326 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1327 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1328 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1329 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1330 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1331
4cdfee3f
TV
13322018-07-30 Tom de Vries <tdevries@suse.de>
1333
1334 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1335 (nvptx_exec): Ensure worker and vector default dims don't exceed
1336 targ_fn->max_threads_per_block.
1337
0b210c43
TV
13382018-07-30 Tom de Vries <tdevries@suse.de>
1339
1340 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1341 (nvptx_open_device): Init default_dims for device.
1342 (nvptx_exec): Use default_dims from device.
1343
5883c5cc
JJ
13442018-07-26 Jakub Jelinek <jakub@redhat.com>
1345
5d36384c
JJ
1346 PR testsuite/86660
1347 * testsuite/libgomp.c++/for-15.C (results): Include it in
1348 omp declare target region.
1349 (main): Use map (always, tofrom: results) instead of
1350 map (tofrom: results).
1351
5883c5cc
JJ
1352 PR middle-end/86660
1353 * testsuite/libgomp.c/pr86660.c: New test.
1354
88a4654d
CP
13552018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1356 Tom de Vries <tdevries@suse.de>
1357
1358 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1359 sufficient resources to launch a kernel, and give a hint on how to fix
1360 it.
1361
0c6c2f5f
CP
13622018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1363 Tom de Vries <tdevries@suse.de>
1364
1365 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1366 max_threads_per_block and max_threads_per_multiprocessor fields.
1367 (nvptx_open_device): Initialize new fields.
1368 (nvptx_exec): Use num_sms, and new fields.
1369
6dd58010
TV
13702018-07-26 Tom de Vries <tdevries@suse.de>
1371
1372 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1373 to correct locations. Remove xfail.
1374
b2eb1779
TV
13752018-07-26 Tom de Vries <tdevries@suse.de>
1376
1377 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1378 acc_wait. Move acc_async_test calls to correct locations. Remove
1379 xfail.
1380
b1f45884
NK
13812018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1382 Thomas Koenig <tkoenig@gcc.gnu.org>
1383
1384 PR fortran/25829
1385 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1386 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1387 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1388 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1389 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1390 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1391 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1392
3a106211
JJ
13932018-07-17 Jakub Jelinek <jakub@redhat.com>
1394
a3bccfa1
JJ
1395 PR middle-end/86542
1396 * testsuite/libgomp.c++/pr86542.C: New test.
1397
3a106211
JJ
1398 PR middle-end/86539
1399 * testsuite/libgomp.c++/pr86539.C: New test.
1400
2bae8b2f
JJ
14012018-07-11 Jakub Jelinek <jakub@redhat.com>
1402
1403 PR c++/86443
1404 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1405 (results): Make sure the variable is not inside declare target region.
1406 (qux): Remove unused function.
1407
0b27c3ed
JJ
14082018-07-10 Jakub Jelinek <jakub@redhat.com>
1409
1410 PR c++/86443
1411 * testsuite/libgomp.c++/for-15.C: New test.
1412
f0391511
JJ
14132018-06-26 Jakub Jelinek <jakub@redhat.com>
1414
1415 PR c++/86291
1416 * testsuite/libgomp.c++/pr86291.C: New test.
1417
1a6d1d24
GP
14182018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1419
1420 * libgomp.texi (Top): Move www.openmp.org to https.
1421 (Enabling OpenMP): Ditto.
1422 (omp_get_active_level): Ditto.
1423 (omp_get_ancestor_thread_num): Ditto.
1424 (omp_get_cancellation): Ditto.
1425 (omp_get_default_device): Ditto.
1426 (omp_get_dynamic): Ditto.
1427 (omp_get_level): Ditto.
1428 (omp_get_max_active_levels): Ditto.
1429 (omp_get_max_task_priority): Ditto.
1430 (omp_get_max_threads): Ditto.
1431 (omp_get_nested): Ditto.
1432 (omp_get_num_devices): Ditto.
1433 (omp_get_num_procs): Ditto.
1434 (omp_get_num_teams): Ditto.
1435 (omp_get_num_threads): Ditto.
1436 (omp_get_proc_bind): Ditto.
1437 (omp_get_schedule): Ditto.
1438 (omp_get_team_num): Ditto.
1439 (omp_get_team_size): Ditto.
1440 (omp_get_thread_limit): Ditto.
1441 (omp_get_thread_num): Ditto.
1442 (omp_in_parallel): Ditto.
1443 (omp_in_final): Ditto.
1444 (omp_is_initial_device): Ditto.
1445 (omp_set_default_device): Ditto.
1446 (omp_set_dynamic): Ditto.
1447 (omp_set_max_active_levels): Ditto.
1448 (omp_set_nested): Ditto.
1449 (omp_set_num_threads): Ditto.
1450 (omp_set_schedule): Ditto.
1451 (omp_init_lock): Ditto.
1452 (omp_set_lock): Ditto.
1453 (omp_test_lock): Ditto.
1454 (omp_unset_lock): Ditto.
1455 (omp_destroy_lock): Ditto.
1456 (omp_init_nest_lock): Ditto.
1457 (omp_set_nest_lock): Ditto.
1458 (omp_test_nest_lock): Ditto.
1459 (omp_unset_nest_lock): Ditto.
1460 (omp_destroy_nest_lock): Ditto.
1461 (omp_get_wtick): Ditto.
1462 (omp_get_wtime): Ditto.
1463 (OMP_CANCELLATION): Ditto.
1464 (OMP_DISPLAY_ENV): Ditto.
1465 (OMP_DEFAULT_DEVICE): Ditto.
1466 (OMP_DYNAMIC): Ditto.
1467 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1468 (OMP_MAX_TASK_PRIORITY): Ditto.
1469 (OMP_NESTED): Ditto.
1470 (OMP_NUM_THREADS): Ditto.
1471 (OMP_PROC_BIND): Ditto.
1472 (OMP_PLACES): Ditto.
1473 (OMP_STACKSIZE): Ditto.
1474 (OMP_SCHEDULE): Ditto.
1475 (OMP_THREAD_LIMIT): Ditto.
1476 (OMP_WAIT_POLICY): Ditto.
1477
31dd69b7
CP
14782018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1479 James Norris <jnorris@codesourcery.com>
1480 Julian Brown <julian@codesourcery.com>
1481 Thomas Schwinge <thomas@codesourcery.com>
1482 Tom de Vries <tom@codesourcery.com>
1483
1484 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1485 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1486 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1487 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1488 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1489 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1490 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1491 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1492 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1493 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1494 Likewise.
1495 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1496 Likewise.
1497 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1498 Likewise.
1499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1500 Likewise.
1501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1502 Likewise.
1503 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1504 Likewise.
1505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1506 Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1508 Likewise.
1509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1510 Likewise.
1511 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1512 Likewise.
1513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1514 Likewise.
1515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1516 Likewise.
1517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1518 Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1520 Likewise.
1521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1522 Likewise.
1523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1524 Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1526 Likewise.
1527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1528 Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1530 Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1532 Likewise.
1533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1534 Likewise.
1535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1536 Likewise.
1537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1538 Likewise.
1539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1540 Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1542 Likewise.
1543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1544 Likewise.
1545 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1546 Likewise.
1547 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1548 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1549 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1550 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1551 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1552 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1553 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1554 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1555 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1556 Likewise.
1557 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1558 Likewise.
1559 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1560 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1561 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1562 Likewise.
1563 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1564 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1565 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1566 Likewise.
1567 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1568 Likewise.
1569 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1570 Likewise.
1571 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1572 Likewise.
1573 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1574 Likewise.
1575 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1576 Likewise.
1577 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1578 Likewise.
1579 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1580 Likewise.
1581 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1582 Likewise.
1583 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1584 Likewise.
1585 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1586 Likewise.
1587 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1588 Likewise.
1589 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1590 Likewise.
1591 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1592 Likewise.
1593 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1594 Likewise.
1595 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1596 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1597 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1598 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1599 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1600 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1601 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1602
829c6349
CLT
16032018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1604 Thomas Schwinge <thomas@codesourcery.com>
1605 Cesar Philippidis <cesar@codesourcery.com>
1606
1607 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1608 (gomp_acc_remove_pointer): Update declaration.
1609 (gomp_acc_declare_allocate): Declare.
1610 (gomp_remove_var): Declare.
1611 * libgomp.map (OACC_2.5): Define.
1612 * oacc-mem.c (acc_map_data): Update refcount.
1613 (acc_unmap_data): Likewise.
1614 (present_create_copy): Likewise.
1615 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1616 (acc_copyin): Likewise.
1617 (FLAG_FINALIZE): Define.
1618 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1619 (acc_delete_finalize): New function.
1620 (acc_delete_finalize_async): New function.
1621 (acc_copyout_finalize): New function.
1622 (acc_copyout_finalize_async): New function.
1623 (gomp_acc_insert_pointer): Update refcounts.
1624 (gomp_acc_remove_pointer): Return if data is not present on the
1625 accelerator.
1626 * oacc-parallel.c (find_pset): Rename to find_pointer.
1627 (find_pointer): Add support for GOMP_MAP_POINTER.
1628 (handle_ftn_pointers): New function.
1629 (GOACC_parallel_keyed): Update refcounts of variables.
1630 (GOACC_enter_exit_data): Add support for finalized data mappings.
1631 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1632 of fortran arrays.
1633 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1634 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1635 for GOMP_MAP_FORCE_FROM.
1636 * openacc.f90 (module openacc_internal): Add
1637 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1638 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1639 acc_copyout_finalize and acc_delete_finalize.
1640 (acc_copyout_finalize_32_h): New subroutine.
1641 (acc_copyout_finalize_64_h): New subroutine.
1642 (acc_copyout_finalize_array_h): New subroutine.
1643 (acc_delete_finalize_32_h): New subroutine.
1644 (acc_delete_finalize_64_h): New subroutine.
1645 (acc_delete_finalize_array_h): New subroutine.
1646 * openacc.h (acc_copyout_finalize): Declare.
1647 (acc_copyout_finalize_async): Declare.
1648 (acc_delete_finalize): Declare.
1649 (acc_delete_finalize_async): Declare.
1650 * openacc_lib.h (acc_copyout_finalize): New interface.
1651 (acc_delete_finalize): New interface.
1652 * target.c (gomp_map_vars): Update dynamic_refcount.
1653 (gomp_remove_var): New function.
1654 (gomp_unmap_vars): Use it.
1655 (gomp_unload_image_from_device): Likewise.
1656 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1657 case to utilize OpenACC 2.5 data clause semantics.
1658 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1659 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1660 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1661 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1662 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1663 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1664 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1665 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1666 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1667 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1668 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1669 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1670 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1671 utilize OpenACC 2.5 data clause semantics.
1672 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1673 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1674 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1675 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1676 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1677 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1678 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1679 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1680 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1681
4358400b
JW
16822018-05-21 Janus Weil <janus@gcc.gnu.org>
1683
1684 PR fortran/85841
1685 PR testsuite/85865
1686 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1687 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1688 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1689 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1690 * testsuite/libgomp.fortran/task2.f90: Ditto.
1691 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1692 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1693 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1694 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1695 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1696 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1697 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1698 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1699 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1700
950ad0ba
CP
17012018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1702
1703 PR c++/85782
1704 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1705
f5ad16f1
TV
17062018-05-09 Tom de Vries <tom@codesourcery.com>
1707
1708 PR libgomp/82901
1709 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1710 to GOACC_enter_exit_data.
1711
edbd038a
TV
17122018-05-09 Tom de Vries <tom@codesourcery.com>
1713
1714 PR libgomp/83792
1715 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1716 (async_synchronous_p): New function.
1717 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1718 async_valid_p.
1719 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1720 async_valid_stream_id_p.
1721 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1722 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1723
37d6c719
TV
17242018-05-07 Tom de Vries <tom@codesourcery.com>
1725
1726 PR testsuite/85677
1727 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1728 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1729
63f12215
TV
17302018-05-03 Tom de Vries <tom@codesourcery.com>
1731
1732 PR testsuite/85106
1733 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1734 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1735 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1736 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1737
ec00d3fa
TV
17382018-05-02 Tom de Vries <tom@codesourcery.com>
1739
1740 PR libgomp/85411
1741 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1742 GOMP_OPENACC_DIM ...
1743 * env.c (parse_gomp_openacc_dim): ... here. New function.
1744 (initialize_env): Call parse_gomp_openacc_dim.
1745 (goacc_default_dims): Define.
1746 * libgomp.h (goacc_default_dims): Declare.
1747 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1748 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1749 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1750 GOMP_PLUGIN_acc_default_dim.
1751 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1752 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1753
92243e7c
TV
17542018-05-02 Tom de Vries <tom@codesourcery.com>
1755
1756 PR testsuite/83791
1757 * testsuite/libgomp.c++/udr-9.C: Update.
1758 * testsuite/libgomp.c++/atomic-16.C: Remove.
1759 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1760 * testsuite/libgomp.c++/loop-13.C: Remove.
1761 * testsuite/libgomp.c++/loop-14.C: Remove.
1762 * testsuite/libgomp.c++/loop-15.C: Remove.
1763 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1764 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1765 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1766 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1767 * testsuite/libgomp.c++/ordered-1.C: Remove.
1768 * testsuite/libgomp.c++/pr45784.C: Remove.
1769 * testsuite/libgomp.c++/pr64824.C: Remove.
1770 * testsuite/libgomp.c++/pr64868.C: Remove.
1771 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1772 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1773 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1774 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1775 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1776 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1777 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1778 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1779 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1780 * testsuite/libgomp.c++/pr69389.C: Remove.
1781 * testsuite/libgomp.c++/simd10.C: Remove.
1782 * testsuite/libgomp.c++/simd11.C: Remove.
1783 * testsuite/libgomp.c++/simd12.C: Remove.
1784 * testsuite/libgomp.c++/simd13.C: Remove.
1785 * testsuite/libgomp.c++/target-1.C: Remove.
1786 * testsuite/libgomp.c++/target-3.C: Remove.
1787 * testsuite/libgomp.c++/target-4.C: Remove.
1788 * testsuite/libgomp.c++/target-5.C: Remove.
1789 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1790 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1791 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1792 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1793 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1794 * testsuite/libgomp.c++/udr-9.C: Remove.
1795 * testsuite/libgomp.c++/for-10.C: Remove.
1796 * testsuite/libgomp.c++/for-11.C: Remove.
1797 * testsuite/libgomp.c++/for-12.C: Remove.
1798 * testsuite/libgomp.c++/for-13.C: Remove.
1799 * testsuite/libgomp.c++/for-14.C: Remove.
1800 * testsuite/libgomp.c++/for-9.C: Remove.
1801 * testsuite/libgomp.c/atomic-18.c: Move ...
1802 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1803 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1804 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1805 * testsuite/libgomp.c/loop-13.c: Move ...
1806 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1807 * testsuite/libgomp.c/loop-14.c: Move ...
1808 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1809 * testsuite/libgomp.c/loop-15.c: Remove.
1810 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1811 * testsuite/libgomp.c/monotonic-1.c: Move ...
1812 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1813 * testsuite/libgomp.c/monotonic-2.c: Move ...
1814 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1815 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1816 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1817 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1818 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1819 * testsuite/libgomp.c/ordered-4.c: Move ...
1820 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1821 * testsuite/libgomp.c/pr45784.c: Move ...
1822 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1823 * testsuite/libgomp.c/pr64824.c: Move ...
1824 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1825 * testsuite/libgomp.c/pr64868.c: Move ...
1826 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1827 * testsuite/libgomp.c/pr66199-1.c: Move ...
1828 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1829 * testsuite/libgomp.c/pr66199-2.c: Move ...
1830 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1831 * testsuite/libgomp.c/pr66199-3.c: Move ...
1832 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1833 * testsuite/libgomp.c/pr66199-4.c: Move ...
1834 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1835 * testsuite/libgomp.c/pr66199-5.c: Move ...
1836 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1837 * testsuite/libgomp.c/pr66199-6.c: Move ...
1838 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1839 * testsuite/libgomp.c/pr66199-7.c: Move ...
1840 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1841 * testsuite/libgomp.c/pr66199-8.c: Move ...
1842 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1843 * testsuite/libgomp.c/pr66199-9.c: Move ...
1844 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1845 * testsuite/libgomp.c/pr69389.c: Move ...
1846 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1847 * testsuite/libgomp.c/simd-14.c: Move ...
1848 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1849 * testsuite/libgomp.c/simd-15.c: Move ...
1850 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1851 * testsuite/libgomp.c/simd-16.c: Move ...
1852 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1853 * testsuite/libgomp.c/simd-17.c: Move ...
1854 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1855 * testsuite/libgomp.c/target-1.c: Move ...
1856 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1857 * testsuite/libgomp.c/target-10.c: Move ...
1858 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1859 * testsuite/libgomp.c/target-13.c: Move ...
1860 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1861 * testsuite/libgomp.c/target-2.c: Move ...
1862 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1863 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1864 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1865 * testsuite/libgomp.c/taskloop-1.c: Move ...
1866 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1867 * testsuite/libgomp.c/taskloop-2.c: Move ...
1868 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1869 * testsuite/libgomp.c/taskloop-3.c: Move ...
1870 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1871 * testsuite/libgomp.c/taskloop-4.c: Move ...
1872 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1873 * testsuite/libgomp.c/udr-1.c: Move ...
1874 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1875 * testsuite/libgomp.c/for-1.c: Move ...
1876 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1877 * testsuite/libgomp.c/for-1.h: Move ...
1878 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1879 * testsuite/libgomp.c/for-2.c: Move ...
1880 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1881 * testsuite/libgomp.c/for-2.h: Move ...
1882 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1883 * testsuite/libgomp.c/for-3.c: Move ...
1884 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1885 * testsuite/libgomp.c/for-4.c: Move ...
1886 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1887 * testsuite/libgomp.c/for-5.c: Move ...
1888 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1889 * testsuite/libgomp.c/for-6.c: Move ...
1890 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1891
1f62d637
TV
18922018-05-02 Tom de Vries <tom@codesourcery.com>
1893
1894 PR libgomp/82428
1895 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1896 __builtin_goacc_parlevel_{id,size}.
1897 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1898 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1899 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1900 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1901 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1902 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1903 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1904 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1905 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1906 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1907 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1908 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1909 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1910 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1911 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1912 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1913 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1914 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1915 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1916 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1917 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1918 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1919 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1920
9220b511
TV
19212018-05-02 Tom de Vries <tom@codesourcery.com>
1922
1923 PR testsuite/85106
1924 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1925
6c3c13c1
TV
19262018-05-02 Tom de Vries <tom@codesourcery.com>
1927
1928 PR testsuite/85106
1929 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1930
8d70b61e
JB
19312018-04-29 Julian Brown <julian@codesourcery.com>
1932 Tom de Vries <tom@codesourcery.com>
1933
1934 PR testsuite/85527
1935 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1936 arbitrary order for iterations of atomic subtract check.
1937
4a57a4b6
TV
19382018-04-28 Tom de Vries <tom@codesourcery.com>
1939
1940 PR testsuite/85527
1941 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1942 atomic capture results obtained in parallel loop to an array, instead of
1943 to a scalar.
1944
df36a3d3
TV
19452018-04-26 Tom de Vries <tom@codesourcery.com>
1946
1947 PR libgomp/84020
1948 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1949 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1950 (process_GOMP_NVPTX_JIT): New function.
1951 (link_ptx): Use process_GOMP_NVPTX_JIT.
1952
d160ae78
RB
19532018-04-26 Richard Biener <rguenther@suse.de>
1954 Tom de Vries <tom@codesourcery.com>
1955
1956 PR lto/85422
1957 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1958
ca9dc642
TV
19592018-04-26 Tom de Vries <tom@codesourcery.com>
1960
1961 PR target/85519
1962 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1963 recursion depth from 25 to 23.
1964 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1965
7b47ecf2
L
19662018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1967
1968 * configure: Regenerated.
1969
e91eba31
NS
19702018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1971 Tom de Vries <tom@codesourcery.com>
1972
1973 PR target/85445
1974 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1975
6e0d40b6
TS
19762018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1977
1978 PR libgomp/85463
1979 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1980 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1981 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1982 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1983 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1984 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1985
1986 PR libfortran/85166
1987 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1988 abort".
1989 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1990
a0e1df88
JJ
19912018-04-19 Jakub Jelinek <jakub@redhat.com>
1992
1993 * configure: Regenerated.
1994
001ddaa8
DM
19952018-04-18 David Malcolm <dmalcolm@redhat.com>
1996
1997 PR jit/85384
1998 * configure: Regenerate.
1999
05e0af43
CP
20002018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2001 Tom de Vries <tom@codesourcery.com>
2002
2003 PR middle-end/84955
2004 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2005 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2006
bc436e10
TK
20072018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2008
2009 PR fortran/83064
2010 PR testsuite/85346
2011 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2012 test from gfortran.dg to here.
2013
ffb164c7
JJ
20142018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2015
2016 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2017 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2018
20192018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2020
2021 PR middle-end/84955
2022 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2023 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2024
2ba16fd2
TV
20252018-04-05 Tom de Vries <tom@codesourcery.com>
2026
2027 PR target/85204
2028 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2029
46dbeb40
TV
20302018-03-26 Tom de Vries <tom@codesourcery.com>
2031
2032 PR tree-optimization/85063
2033 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2034 * testsuite/libgomp.c/switch-conversion.c: New test.
2035 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2036 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2037
bfc24e32
TK
20382018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2039
2040 PR fortran/84381
2041 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2042 call abort by STOP n.
2043 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2044 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2045 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2046 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2047 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2048 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2049 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2050 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2051 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2052 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2053 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2054 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2055 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2056 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2057 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2058 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2059 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2060 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2061 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2062 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2063 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2064 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2065 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2066 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2067 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2068 * testsuite/libgomp.fortran/character1.f90: Likewise.
2069 * testsuite/libgomp.fortran/character2.f90: Likewise.
2070 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2071 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2072 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2073 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2074 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2075 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2076 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2077 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2078 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2079 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2080 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2081 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2082 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2083 * testsuite/libgomp.fortran/do1.f90: Likewise.
2084 * testsuite/libgomp.fortran/do2.f90: Likewise.
2085 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2086 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2087 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2088 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2089 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2090 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2091 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2092 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2093 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2094 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2095 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2096 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2097 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2098 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2099 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2100 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2101 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2102 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2103 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2104 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2105 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2106 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2107 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2108 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2109 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2110 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2111 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2112 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2113 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2114 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2115 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2116 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2117 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2118 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2119 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2120 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2121 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2122 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2123 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2124 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2125 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2126 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2127 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2128 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2129 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2130 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2131 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2132 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2133 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2134 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2135 * testsuite/libgomp.fortran/lib2.f: Likewise.
2136 * testsuite/libgomp.fortran/lib3.f: Likewise.
2137 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2138 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2139 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2140 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2141 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2142 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2143 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2144 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2145 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2146 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2147 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2148 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2149 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2150 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2151 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2152 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2153 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2154 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2155 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2156 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2157 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2158 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2159 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2160 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2161 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2162 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2163 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2164 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2165 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2166 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2167 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2168 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2169 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2170 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2171 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2172 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2173 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2174 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2175 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2176 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2177 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2178 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2179 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2180 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2181 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2182 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2183 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2184 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2185 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2186 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2187 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2188 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2189 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2190 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2191 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2192 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2193 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2194 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2195 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2196 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2197 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2198 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2199 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2200 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2201 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2202 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2203 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2204 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2205 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2206 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2207 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2208 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2209 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2210 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2211 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2212 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2213 * testsuite/libgomp.fortran/stack.f90: Likewise.
2214 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2215 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2216 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2217 * testsuite/libgomp.fortran/target1.f90: Likewise.
2218 * testsuite/libgomp.fortran/target2.f90: Likewise.
2219 * testsuite/libgomp.fortran/target3.f90: Likewise.
2220 * testsuite/libgomp.fortran/target4.f90: Likewise.
2221 * testsuite/libgomp.fortran/target5.f90: Likewise.
2222 * testsuite/libgomp.fortran/target6.f90: Likewise.
2223 * testsuite/libgomp.fortran/target7.f90: Likewise.
2224 * testsuite/libgomp.fortran/target8.f90: Likewise.
2225 * testsuite/libgomp.fortran/task1.f90: Likewise.
2226 * testsuite/libgomp.fortran/task2.f90: Likewise.
2227 * testsuite/libgomp.fortran/task3.f90: Likewise.
2228 * testsuite/libgomp.fortran/task4.f90: Likewise.
2229 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2230 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2231 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2232 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2233 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2234 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2235 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2236 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2237 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2238 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2239 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2240 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2241 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2242 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2243 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2244 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2245 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2246 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2247 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2248 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2249 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2250 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2251 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2252 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2253 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2254 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2255 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2256 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2257 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2258 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2259 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2260 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2261 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2262 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2263 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2264 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2265 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2266 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2267 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2268 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2269 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2270 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2271 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2272 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2273 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2274 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2275 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2276 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2277 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2278 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2279 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2280 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2281 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2282 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2283 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2284 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2285 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2286 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2287 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2288 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2289 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2290 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2291 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2292 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2293 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2294 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2295 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2296 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2297 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2298 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2299 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2300 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2301 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2302 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2303 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2304 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2305 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2306 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2307 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2308 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2309 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2310 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2311 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2312 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2313 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2314 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2315 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2316 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2317 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2318 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2319 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2320 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2321 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2322 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2323 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2324 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2325 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2326 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2327 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2328 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2329 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2330 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2331 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2332 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2333 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2334 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2335 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2336 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2337 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2338 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2339 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2340 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2341 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2342 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2343 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2344 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2345 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2346 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2347 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2348 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2349 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2350 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2351 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2352 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2353 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2354 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2355
79cf14ae
RB
23562018-03-20 Richard Biener <rguenther@suse.de>
2357
2358 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2359 parallelizable loop.
2360
14e335ed
IT
23612018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2362
2363 PR target/84148
2364 * configure: Regenerate.
2365
83d9be55
JJ
23662018-02-16 Jakub Jelinek <jakub@redhat.com>
2367
2368 PR fortran/84418
2369 * libgomp.fortran/pr84418-1.f90: New test.
2370 * libgomp.fortran/pr84418-2.f90: New test.
2371
d1fe6124
JJ
23722018-02-14 Jakub Jelinek <jakub@redhat.com>
2373
2374 PR fortran/84313
2375 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2376 -std=f2003 -fall-intrinsics into dg-additional-options.
2377
3d224921
MJ
23782018-02-08 Martin Jambor <mjambor@suse.cz>
2379
2380 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2381 clonable.
2382
c7c30edd
MJ
23832018-02-08 Martin Jambor <mjambor@suse.cz>
2384
2385 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2386
f320fdfd
RO
23872018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2388
2389 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2390 [__cplusplus]: Declare extern "C".
2391
c31bc4ac
TV
23922018-02-07 Tom de Vries <tom@codesourcery.com>
2393
2394 PR libgomp/84217
2395 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2396
99ae7ce5
CS
23972018-01-29 Christoph Spiel <cspiel@freenet.de>
2398 Jakub Jelinek <jakub@redhat.com>
2399
2400 PR libgomp/84096
2401 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2402 instead of omp_lock_t.
2403
e77a1236
TV
24042018-01-25 Tom de Vries <tom@codesourcery.com>
2405
2406 PR target/84028
2407 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2408
3dede32b
TV
24092018-01-24 Tom de Vries <tom@codesourcery.com>
2410
2411 PR target/83589
2412 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2413
be606483
TV
24142018-01-24 Tom de Vries <tom@codesourcery.com>
2415
2416 PR target/81352
2417 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2418
8c8e9a6b
TV
24192018-01-19 Tom de Vries <tom@codesourcery.com>
2420 Cesar Philippidis <cesar@codesourcery.com>
2421
2422 PR target/83920
2423 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2424 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2425
65e6aea3
JJ
24262018-01-03 Jakub Jelinek <jakub@redhat.com>
2427
85ec4feb
JJ
2428 Update copyright years.
2429
65e6aea3
JJ
2430 * libgomp.texi: Bump @copying's copyright year.
2431
60bf575c
TV
24322017-12-30 Tom de Vries <tom@codesourcery.com>
2433
2434 PR libgomp/83046
2435 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2436 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2437
7ec16b79
TV
24382017-12-27 Tom de Vries <tom@codesourcery.com>
2439
2440 PR c++/83046
2441 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2442 (test_nonstatic): Fix return type to workaround PR83046.
2443
ac550b9a
JJ
24442017-12-05 Jakub Jelinek <jakub@redhat.com>
2445
2446 PR testsuite/83281
2447 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2448 j suffix instead of i.
2449 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2450 Likewise.
2451
ebdc83f0
CP
24522017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2453
2454 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2455 call to acc_wait (1).
2456
3b3e6283
JJ
24572017-11-24 Jakub Jelinek <jakub@redhat.com>
2458
2459 PR fortran/81304
2460 * testsuite/libgomp.fortran/pr81304.f90: New test.
2461
3b575376
JJ
24622017-11-23 Jakub Jelinek <jakub@redhat.com>
2463
2464 PR fortran/81841
2465 * libgomp.fortran/pr81841.f90: New test.
2466
b13547d8
JJ
24672017-11-22 Jakub Jelinek <jakub@redhat.com>
2468
2469 PR libgomp/83106
2470 * target.c (gomp_target_init): Compute lengths just once and
2471 use them in both malloc size and subsequent copying.
2472
efe33ced
IT
24732017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2474
2475 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2476 * acinclude.m4: Add cet.m4.
2477 * configure: Regenerate.
2478 * Makefile.in: Likewise.
2479 * testsuite/Makefile.in: Likewise.
2480
a7cf2612
TV
24812017-11-15 Tom de Vries <tom@codesourcery.com>
2482
2483 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2484 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2485 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2486 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2487 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2488 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2489
dde76623
TV
24902017-11-14 Tom de Vries <tom@codesourcery.com>
2491
2492 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2493 non-nvidia devices.
2494
4dbeb716
JJ
24952017-11-07 Jakub Jelinek <jakub@redhat.com>
2496
2497 PR c++/82835
2498 * testsuite/libgomp.c++/pr82835.C: New test.
2499
454f8b2b
ML
25002017-11-06 Martin Liska <mliska@suse.cz>
2501
2502 * testsuite/libgomp.c++/loop-2.C: Return a value
2503 for functions with non-void return type, or change type to void,
2504 or add -Wno-return-type for test.
2505 * testsuite/libgomp.c++/loop-4.C: Likewise.
2506 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2507 * testsuite/libgomp.c++/shared-1.C: Likewise.
2508 * testsuite/libgomp.c++/single-1.C: Likewise.
2509 * testsuite/libgomp.c++/single-2.C: Likewise.
2510
12e9c8ce
TV
25112017-10-31 Tom de Vries <tom@codesourcery.com>
2512
2513 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2514 "do {} while (false)".
2515 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2516 after HSA_DEBUG call.
2517
7324369a
JJ
25182017-10-28 Jakub Jelinek <jakub@redhat.com>
2519
2520 * target.c (struct gomp_coalesce_buf): New type.
2521 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2522 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2523 (gomp_copy_host2dev): Add CBUF argument, if copying into
2524 the cached ranges, memcpy into buffer instead of copying
2525 into device.
2526 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2527 Add CBUF argument, pass it through to other calls.
2528 (gomp_map_vars): Aggregate copies from host to device if small enough
2529 and with small enough gaps in between into memcpy into a buffer and
2530 fewer host to device copies from the buffer.
2531 (gomp_update): Adjust gomp_copy_host2dev caller.
2532
933ab0e6
TS
25332017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2534
2535 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2536 run" directive.
2537 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2538 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2539 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2540 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2541
92d5d01a
TV
25422017-10-16 Tom de Vries <tom@codesourcery.com>
2543
2544 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2545 openacc_nvidia_accel_selected.
2546 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2547 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2548 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2549 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2550 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2551 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2552 openacc_nvidia_accel_selected. Skip for shared memory device.
2553 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2554 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2555
191411e4
MJ
25562017-10-09 Martin Jambor <mjambor@suse.cz>
2557
2558 PR hsa/82416
2559 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2560
e923330e
TV
25612017-10-07 Tom de Vries <tom@codesourcery.com>
2562
2563 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2564 Remove acc_device_nvidia references.
2565 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2566 Same.
2567
8fe3ed4c
TV
25682017-10-05 Tom de Vries <tom@codesourcery.com>
2569
2570 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2571 vector_length(32) clause from acc parallel directive.
2572 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2573
26596ee5
TV
25742017-10-04 Tom de Vries <tom@codesourcery.com>
2575
2576 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2577 (main): Reduce sum of arr elements. Assert that hres is exactly
2578 representable in 32-bit floating point.
2579 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2580 (main): Reduce sum of arr elements. Assert that hres and hmres are
2581 exactly representable in 32-bit floating point.
2582 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2583
5c561fa9
TV
25842017-09-28 Tom de Vries <tom@codesourcery.com>
2585
2586 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2587 setting.
2588 * testsuite/libgomp.c++/pr69393.C: Same.
2589 * testsuite/libgomp.c++/taskloop-1.C: Same.
2590 * testsuite/libgomp.c++/taskloop-3.C: Same.
2591 * testsuite/libgomp.c++/taskloop-4.C: Same.
2592 * testsuite/libgomp.c/for-4.c: Same.
2593 * testsuite/libgomp.c/pr66199-3.c: Same.
2594 * testsuite/libgomp.c/pr66199-4.c: Same.
2595 * testsuite/libgomp.c/pr66199-6.c: Same.
2596 * testsuite/libgomp.c/taskloop-1.c: Same.
2597 * testsuite/libgomp.c/taskloop-3.c: Same.
2598 * testsuite/libgomp.c/taskloop-4.c: Same.
2599 * testsuite/libgomp.fortran/aligned1.f03: Same.
2600 * testsuite/libgomp.fortran/condinc1.f: Same.
2601 * testsuite/libgomp.fortran/condinc3.f90: Same.
2602 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2603 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2604 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2605 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2606 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2607 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2608 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2609 * testsuite/libgomp.fortran/recursion1.f90: Same.
2610 * testsuite/libgomp.fortran/target2.f90: Same.
2611 * testsuite/libgomp.fortran/target5.f90: Same.
2612 * testsuite/libgomp.fortran/task3.f90: Same.
2613
7d6206fe
TV
26142017-09-28 Tom de Vries <tom@codesourcery.com>
2615
2616 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2617 vector_length(32) clause from acc parallel directive.
2618 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2619
84c8627c
TV
26202017-09-27 Tom de Vries <tom@codesourcery.com>
2621
2622 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2623 Remove acc_device_nvidia references.
2624
ebc6a85e
TV
26252017-09-16 Tom de Vries <tom@codesourcery.com>
2626
2627 PR c/81875
2628 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2629
82419efb
TV
26302017-09-14 Tom de Vries <tom@codesourcery.com>
2631
2632 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2633 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2634 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2635 * testsuite/libgomp.c/c.exp: Include test-cases from
2636 libgomp.c-c++-common.
2637 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2638 files.
2639
8b586510
JJ
26402017-09-14 Jakub Jelinek <jakub@redhat.com>
2641
2642 PR c++/81314
2643 * testsuite/libgomp.c++/pr81314.C: New test.
2644
9651fbaf
GP
26452017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2646
2647 * libgomp.texi (Top): www.openacc.org now uses https.
2648 (Enabling OpenACC): Ditto.
2649 (acc_get_num_devices): Ditto.
2650 (acc_set_device_type): Ditto.
2651 (acc_get_device_type): Ditto.
2652 (acc_set_device_num): Ditto.
2653 (acc_get_device_num): Ditto.
2654 (acc_async_test): Ditto.
2655 (acc_async_test_all): Ditto.
2656 (acc_wait): Ditto.
2657 (acc_wait_all): Ditto.
2658 (acc_wait_all_async): Ditto.
2659 (acc_wait_async): Ditto.
2660 (acc_init): Ditto.
2661 (acc_shutdown): Ditto.
2662 (acc_on_device): Ditto.
2663 (acc_malloc): Ditto.
2664 (acc_free): Ditto.
2665 (acc_copyin): Ditto.
2666 (acc_present_or_copyin): Ditto.
2667 (acc_create): Ditto.
2668 (acc_present_or_create): Ditto.
2669 (acc_copyout): Ditto.
2670 (acc_delete): Ditto.
2671 (acc_update_device): Ditto.
2672 (acc_update_self): Ditto.
2673 (acc_map_data): Ditto.
2674 (acc_unmap_data): Ditto.
2675 (acc_deviceptr): Ditto.
2676 (acc_hostptr): Ditto.
2677 (acc_is_present): Ditto.
2678 (acc_memcpy_to_device): Ditto.
2679 (acc_memcpy_from_device): Ditto.
2680 (acc_get_current_cuda_device): Ditto.
2681 (acc_get_current_cuda_context): Ditto.
2682 (acc_get_cuda_stream): Ditto.
2683 (acc_set_cuda_stream): Ditto.
2684 (ACC_DEVICE_TYPE): Ditto.
2685 (ACC_DEVICE_NUM): Ditto.
2686 (OpenACC Library Interoperability): Ditto.
2687
50aa16c3
JJ
26882017-08-09 Jakub Jelinek <jakub@redhat.com>
2689
2690 PR c/81687
2691 * testsuite/libgomp.c/pr81687-1.c: New test.
2692 * testsuite/libgomp.c/pr81687-2.c: New test.
2693
56b5041c
JJ
26942017-08-07 Jakub Jelinek <jakub@redhat.com>
2695
2696 PR c/69389
2697 * testsuite/libgomp.c/pr69389.c: New test.
2698 * testsuite/libgomp.c++/pr69389.C: New test.
2699
f4c222c0
TV
27002017-08-07 Tom de Vries <tom@codesourcery.com>
2701
2702 PR middle-end/78266
2703 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2704 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2705
a40ff0ae
JJ
27062017-07-27 Jakub Jelinek <jakub@redhat.com>
2707
2708 PR c/45784
2709 * testsuite/libgomp.c/pr45784.c: New test.
2710 * testsuite/libgomp.c++/pr45784.C: New test.
2711
3717fbe3
TV
27122017-07-19 Tom de Vries <tom@codesourcery.com>
2713
2714 * testsuite/libgomp.oacc-c/vec.c: New test.
2715
9607b014
TV
27162017-07-03 Tom de Vries <tom@codesourcery.com>
2717
2718 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2719
dfb15f6b
TV
27202017-06-27 Tom de Vries <tom@codesourcery.com>
2721
2722 * plugin/plugin-nvptx.c (notify_var): New function.
2723 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2724
22f1a037
TV
27252017-06-27 Tom de Vries <tom@codesourcery.com>
2726
2727 * env.c (parse_unsigned_long_1): Factor out of ...
2728 (parse_unsigned_long): ... here.
2729 (parse_int_1): Factor out of ...
2730 (parse_int): ... here.
2731 (parse_int_secure): New function.
2732 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2733 * secure_getenv.h: Factor out of ...
2734 * plugin/plugin-hsa.c: ... here.
2735 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2736
d54d1fc3
JJ
27372017-06-21 Jakub Jelinek <jakub@redhat.com>
2738
2739 PR c++/81130
2740 * testsuite/libgomp.c++/pr81130.C: New test.
2741
4f4b0ab8
RO
27422017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2743
2744 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2745 default args.
2746 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2747 dg-xfail-run-if default args.
2748
40ffd95f
BE
27492017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2750
2751 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2752 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2753
01275e1e
JJ
27542017-05-30 Jakub Jelinek <jakub@redhat.com>
2755
2756 PR libgomp/80822
2757 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2758 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2759 sibling lists, depending on level just pick up what CPUs to put
2760 together into a place vs. whether add multiple ordered places.
2761
78672bd8
TS
27622017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2763
7ce64403
TS
2764 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2765 * libgomp.map (OACC_2.0.1): Add these.
2766 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2767 for "acc_wait", and "acc_wait_all", respectively.
2768 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2769 for "acc_wait", and "acc_wait_all", respectively.
2770 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2771 * libgomp.texi (acc_wait, acc_wait_all): Update.
2772 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2773 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2774 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2775
318686c2
TS
2776 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2777 acc_present_or_copyin and acc_present_or_create procedures,
2778 respectively.
2779 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2780 generally different variants of OpenACC Runtime Library functions.
2781 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2782
a6745534
TS
2783 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2784 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2785
9b94fbc7
TS
2786 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2787 of preprocessor definitions.
2788 * libgomp.h (strong_alias): Guard by "#ifdef
2789 HAVE_ATTRIBUTE_ALIAS".
2790 * oacc-mem.c: Provide "acc_pcreate" as alias for
2791 "acc_present_or_create", and "acc_pcopyin" as alias for
2792 "acc_present_or_copyin".
2793 * libgomp.map: New version "OACC_2.0.1".
2794 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2795 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2796 its content into...
2797 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2798 Extend testing.
2799
78672bd8
TS
2800 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2801 when disabling nvptx offloading.
2802
0c36d0d5
TS
28032017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2804
fd71a9a2
TS
2805 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2806 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2807 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2808
0c36d0d5
TS
2809 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2810 * testsuite/lib/libgomp.exp
2811 (check_effective_target_openacc_nvidia_accel_configured): New
2812 proc.
2813 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2814 (check_effective_target_c++): New procs.
2815 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2816 (check_effective_target_c++): Likewise.
2817
c24783c4
JJ
28182017-05-22 Jakub Jelinek <jakub@redhat.com>
2819
655e5265
JJ
2820 PR middle-end/80809
2821 * testsuite/libgomp.c/pr80809-2.c: New test.
2822 * testsuite/libgomp.c/pr80809-3.c: New test.
2823
e9e2ef9f
JJ
2824 PR middle-end/80809
2825 * testsuite/libgomp.c/pr80809-1.c: New test.
2826
c24783c4
JJ
2827 PR middle-end/80853
2828 * testsuite/libgomp.c/pr80853.c: New test.
2829
0da2f96a
TS
28302017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2831
7fd549d2
TS
2832 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2833 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2834 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2835 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2836 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2837
0da2f96a
TS
2838 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2839 Debug output for failure.
2840
62ffe920
RO
28412017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2842
2843 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2844
f49215b1
JJ
28452017-04-27 Jakub Jelinek <jakub@redhat.com>
2846
2847 PR bootstrap/80531
2848 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2849 bootstrap compare failures.
2850
2260d19d
AM
28512017-04-20 Alexander Monakov <amonakov@ispras.ru>
2852
2853 * testsuite/libgomp.c/target-36.c: New testcase.
2854
19929ba9
JJ
28552017-04-13 Jakub Jelinek <jakub@redhat.com>
2856
2857 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2858 instead of char.
2859
fbc698e0
JJ
28602017-04-11 Jakub Jelinek <jakub@redhat.com>
2861
2862 PR libgomp/80394
2863 * testsuite/libgomp.c/pr80394.c: New test.
2864
c4060df4
JJ
28652017-04-04 Jakub Jelinek <jakub@redhat.com>
2866
2867 PR libgomp/79876
2868 * config/posix/thread-stacksize.h: New file.
2869 * config/darwin/thread-stacksize.h: New file.
2870 * config/nvptx/thread-stacksize.h: New file.
2871 * env.c: Include thread-stacksize.h.
2872 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2873 instead of 0. Call pthread_attr_setstacksize even if
2874 GOMP_DEFAULT_STACKSIZE is non-zero.
2875
e02d868a
JJ
28762017-03-30 Jakub Jelinek <jakub@redhat.com>
2877
2878 * env.c (initialize_env): Initialize stacksize to 0.
2879
7ba8651e
CP
28802017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2881
2882 PR c++/80029
2883 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2884
eebc5e2d
JJ
28852017-03-08 Jakub Jelinek <jakub@redhat.com>
2886
2887 PR c/79940
2888 * testsuite/libgomp.c/pr79940.c: New test.
2889
1eb08f52
RO
28902017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2891
2892 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2893 targets.
2894 Add __float128 options.
2895
b0f78ff3
JDA
28962017-02-11 John David Anglin <danglin@gcc.gnu.org>
2897
2898 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2899 hppa*-*-* dg-skip-if directive.
2900
1bbe0d8f
JJ
29012017-02-09 Jakub Jelinek <jakub@redhat.com>
2902
2903 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2904 dg-skip-if directive into a comment.
2905
02889d23
CLT
29062017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2907 Chung-Lin Tang <cltang@codesourcery.com>
2908
2909 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2910 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2911 add additional case.
2912 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2913 "openacc_nvidia_accel_selected".
2914 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2915 Add num_workers(8) clause.
2916
5896a41d
JDA
29172017-02-08 John David Anglin <danglin@gcc.gnu.org>
2918
2919 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2920 hppa*-*-*.
2921 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2922 include complex.h on hppa*-*-hpux*.
2923 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2924
345a8c17
TS
29252017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2926
e70ab10d
TS
2927 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2928
345a8c17
TS
2929 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2930 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2931 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2932 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2933 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2934 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2935 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2936 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2937 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2938 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2939
dced339c
TS
29402017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2941
2942 * libgomp-plugin.h: #include <stdbool.h>.
2943 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2944 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2945 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2946 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2947 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2948 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2949 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2950 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2951 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2952 (GOMP_OFFLOAD_openacc_async_test)
2953 (GOMP_OFFLOAD_openacc_async_test_all)
2954 (GOMP_OFFLOAD_openacc_async_wait)
2955 (GOMP_OFFLOAD_openacc_async_wait_async)
2956 (GOMP_OFFLOAD_openacc_async_wait_all)
2957 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2958 (GOMP_OFFLOAD_openacc_async_set_async)
2959 (GOMP_OFFLOAD_openacc_create_thread_data)
2960 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2961 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2962 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2963 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2964 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2965 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2966 these.
2967 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2968 (GOMP_OFFLOAD_unload_image): Fix argument types.
2969
23749904
JJ
29702017-01-26 Jakub Jelinek <jakub@redhat.com>
2971
c1cadde1
JJ
2972 * testsuite/lib/libgomp.exp
2973 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2974 check_compile invocation. Fix up removal of executable. Drop
2975 bogus "2>&1" argument.
2976
23749904
JJ
2977 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2978 directive.
2979
29802017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
2981 Martin Jambor <mjambor@suse.cz>
2982
2983 * plugin/hsa.h: Moved to top level include.
2984 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2985
73aa401e
JJ
29862017-01-21 Jakub Jelinek <jakub@redhat.com>
2987
2988 PR other/79046
2989 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2990 of cat to get version from BASE-VER file.
2991 * testsuite/Makefile.in: Regenerated.
2992
b32e85fa
JJ
29932017-01-19 Jakub Jelinek <jakub@redhat.com>
2994
2995 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2996 for _WIN64.
2997
3c36aa6b
JJ
29982017-01-17 Jakub Jelinek <jakub@redhat.com>
2999
d190d5c0
JJ
3000 * plugin/hsa.h: Add GCC runtime library exception.
3001 * plugin/hsa_ext_finalize.h: Likewise.
3002
2393d337
JJ
3003 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3004 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3005 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3006 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3007 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3008 library to link ptx plugin against.
3009 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3010 (CUDA_CALLS): Define.
3011 (cuda_lib, cuda_lib_inited): New variables.
3012 (init_cuda_lib): New function.
3013 (CUDA_CALL_PREFIX): Define.
3014 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3015 (CUDA_CALL): Use FN instead of (FN).
3016 (CUDA_CALL_NOCHECK): Define.
3017 (cuda_error, fini_streams_for_device, select_stream_for_async,
3018 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3019 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3020 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3021 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3022 CUDA_CALL_NOCHECK.
3023 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3024 CUDA_CALL_NOCHECK.
3025 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3026 Use CUDA_CALL_NOCHECK.
3027 * plugin/cuda/cuda.h: New file.
3028 * config.h.in: Regenerated.
3029 * configure: Regenerated.
3030
3c36aa6b
JJ
3031 PR other/79046
3032 * configure.ac: Add GCC_BASE_VER.
3033 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3034 get version from BASE-VER file.
3035 * testsuite/Makefile.in: Regenerated.
3036 * configure: Regenerated.
3037 * Makefile.in: Regenerated.
3038
c508bc2d
FXC
30392017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3040
3041 PR libgomp/60670
3042 * Makefile.am: Make fincludedir multilib-aware.
3043 * Makefile.in: Regenerate.
3044
c1a9c369
JJ
30452017-01-01 Jakub Jelinek <jakub@redhat.com>
3046
cbe34bb5
JJ
3047 Update copyright years.
3048
c1a9c369
JJ
3049 * libgomp.texi: Bump @copying's copyright year.
3050
e7a7f4be
SH
30512016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3052
3053 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3054 pthread_spinlock_t instead of gomp_mutex_t lock.
3055 (gomp_get_thread_pool): Likewise.
3056 (gomp_release_thread_pool): Likewise.
3057 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3058 Likewise.
3059
d313d52c
SH
30602016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3061
3062 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3063 thread pool in case nthreads == 1.
3064
630e3c3a
AM
30652016-11-30 Alexander Monakov <amonakov@ispras.ru>
3066
3067 * config/nvptx/env.c: Delete.
3068 * icv.c: Move definitions of ICV variables back ...
3069 * env.c: ...here. Do not compile environment-related functionality if
3070 LIBGOMP_OFFLOADED_ONLY is set.
3071
9e38af5c
AM
30722016-11-30 Alexander Monakov <amonakov@ispras.ru>
3073
3074 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3075 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3076 * configure: Regenerate.
3077 * config.h.in: Likewise.
3078
f96b7f1f
AM
30792016-11-30 Alexander Monakov <amonakov@ispras.ru>
3080
3081 * Makefile.in: Regenerate with automake-1.11.6.
3082 * aclocal.m4: Likewise.
3083 * configure: Likewise.
3084 * testsuite/Makefile.in: Likewise.
3085
6a6951b1
AM
30862016-11-28 Alexander Monakov <amonakov@ispras.ru>
3087
3088 * config/nvptx/critical.c: Delete to use generic implementation.
3089
c7ac071f
JH
30902016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3091
3092 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3093 ../../affinity.c as fallback.
3094 * config/nvptx/affinity.c: Delete to use fallback implementation.
3095
6103184e 30962016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3097 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3098 Dmitry Melnik <dm@ispras.ru>
3099
3100 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3101 * Makefile.in. Regenerate.
3102 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3103 (LIBGOMP_USE_PTHREADS): ...here; new define.
3104 * configure: Regenerate.
3105 * config.h.in: Likewise.
3106 * config/posix/affinity.c: Move to...
3107 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3108 interface by LIBGOMP_USE_PTHREADS.
3109 * critical.c: Split out GOMP_atomic_{start,end} into...
3110 * atomic.c: ...here (new file).
3111 * env.c: Split out ICV definitions into...
3112 * icv.c: ...here (new file) and...
3113 * icv-device.c: ...here. New file.
3114 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3115 (gomp_destroy_lock_30): Ditto.
3116 (gomp_set_lock_30): Ditto.
3117 (gomp_unset_lock_30): Ditto.
3118 (gomp_test_lock_30): Ditto.
3119 (gomp_init_nest_lock_30): Ditto.
3120 (gomp_destroy_nest_lock_30): Ditto.
3121 (gomp_set_nest_lock_30): Ditto.
3122 (gomp_unset_nest_lock_30): Ditto.
3123 (gomp_test_nest_lock_30): Ditto.
3124 * lock.c: New.
3125 * config/nvptx/lock.c: New.
3126 * config/nvptx/bar.c: New.
3127 * config/nvptx/bar.h: New.
3128 * config/nvptx/doacross.h: New.
3129 * config/nvptx/error.c: New.
3130 * config/nvptx/icv-device.c: New.
3131 * config/nvptx/mutex.h: New.
3132 * config/nvptx/pool.h: New.
3133 * config/nvptx/proc.c: New.
3134 * config/nvptx/ptrlock.h: New.
3135 * config/nvptx/sem.h: New.
3136 * config/nvptx/simple-bar.h: New.
3137 * config/nvptx/target.c: New.
3138 * config/nvptx/task.c: New.
3139 * config/nvptx/team.c: New.
3140 * config/nvptx/time.c: New.
3141 * config/posix/simple-bar.h: New.
3142 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3143 (gomp_num_teams_var): Declare.
3144 (struct gomp_thread_pool): Change threads_dock member to
3145 gomp_simple_barrier_t.
3146 [__nvptx__] (gomp_thread): New implementation.
3147 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3148 (gomp_thread_destructor): Ditto.
3149 (gomp_init_thread_affinity): Ditto.
3150 * team.c: Guard uses of Pthreads-specific interfaces by
3151 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3152 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3153 * config/nvptx/alloc.c: Delete.
3154 * config/nvptx/barrier.c: Ditto.
3155 * config/nvptx/fortran.c: Ditto.
3156 * config/nvptx/iter.c: Ditto.
3157 * config/nvptx/iter_ull.c: Ditto.
3158 * config/nvptx/loop.c: Ditto.
3159 * config/nvptx/loop_ull.c: Ditto.
3160 * config/nvptx/ordered.c: Ditto.
3161 * config/nvptx/parallel.c: Ditto.
3162 * config/nvptx/priority_queue.c: Ditto.
3163 * config/nvptx/sections.c: Ditto.
3164 * config/nvptx/single.c: Ditto.
3165 * config/nvptx/splay-tree.c: Ditto.
3166 * config/nvptx/work.c: Ditto.
3167 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3168 -foffload=-lgfortran in addition to -lgfortran.
3169 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3170 * plugin/plugin-nvptx.c: Include <limits.h>.
3171 (struct targ_fn_descriptor): Add new fields.
3172 (struct ptx_device): Ditto. Set them...
3173 (nvptx_open_device): ...here.
3174 (nvptx_adjust_launch_bounds): New.
3175 (nvptx_host2dev): Allow NULL 'nvthd'.
3176 (nvptx_dev2host): Ditto.
3177 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3178 (link_ptx): Adjust log sizes.
3179 (nvptx_host2dev): Allow NULL 'nvthd'.
3180 (nvptx_dev2host): Ditto.
3181 (nvptx_set_clocktick): New. Use it...
3182 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3183 fields.
3184 (GOMP_OFFLOAD_dev2dev): New.
3185 (nvptx_adjust_launch_bounds): New.
3186 (nvptx_stacks_size): New.
3187 (nvptx_stacks_alloc): New.
3188 (nvptx_stacks_free): New.
3189 (GOMP_OFFLOAD_run): New.
3190 (GOMP_OFFLOAD_async_run): New (stub).
3191
56b1c60e
MJ
31922016-11-23 Martin Jambor <mjambor@suse.cz>
3193
3194 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3195 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3196 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3197
b8d89b03 31982016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3199 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3200
3201 * plugin/hsa.h: New file.
3202 * plugin/hsa_ext_finalize.h: New file.
3203 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3204 header file unistd.h, and functions secure_getenv, __secure_getenv,
3205 getuid, geteuid, getgid and getegid.
3206 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3207 -D_GNU_SOURCE.
3208 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3209 Handle various cases of secure_getenv presence, add an implementation
3210 when we can test effective UID and GID.
3211 (struct hsa_runtime_fn_info): New structure.
3212 (hsa_runtime_fn_info hsa_fns): New variable.
3213 (hsa_runtime_lib): Likewise.
3214 (support_cpu_devices): Likewise.
3215 (init_enviroment_variables): Load newly introduced ENV
3216 variables.
3217 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3218 (hsa_fatal): Likewise.
3219 (DLSYM_FN): New macro.
3220 (init_hsa_runtime_functions): New function.
3221 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3222 structure. Depending on environment, also allow CPU devices.
3223 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3224 (get_kernarg_memory_region): Likewise.
3225 (GOMP_OFFLOAD_init_device): Likewise.
3226 (destroy_hsa_program): Likewise.
3227 (init_basic_kernel_info): New function.
3228 (GOMP_OFFLOAD_load_image): Use it.
3229 (create_and_finalize_hsa_program): Call hsa run-time functions via
3230 hsa_fns structure.
3231 (create_single_kernel_dispatch): Likewise.
3232 (release_kernel_dispatch): Likewise.
3233 (init_single_kernel): Likewise.
3234 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3235 (get_group_size): New function.
3236 (run_kernel): Likewise.
3237 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3238 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3239 structure.
3240 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3241 * testsuite/libgomp-test-support.exp.in: Likewise.
3242 * Makefile.in: Regenerated.
3243 * aclocal.m4: Likewise.
3244 * config.h.in: Likewise.
3245 * configure: Likewise.
3246 * testsuite/Makefile.in: Likewise.
3247
18d2ada8 32482016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 3249 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
3250
3251 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3252 mapping clauses to target constructs.
3253 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3254
84c1b9d3
MK
32552016-11-15 Matthias Klose <doko@ubuntu.com>
3256
3257 * configure: Regenerate.
3258
b4c3a85b
JJ
32592016-11-10 Jakub Jelinek <jakub@redhat.com>
3260
8ebd1b31
JJ
3261 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3262 * omp_lib.h.in (openmp_version): Likewise.
3263 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3264 of 201307.
3265 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3266
b4c3a85b
JJ
3267 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3268 (fib_wrapper): Add map(from: x) clause.
3269 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3270 (e_53_2): Likewise.
3271 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3272 (accum): Add map(tmp) clause.
3273 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3274 (accum): Add map(tofrom: tmp) clause.
3275 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3276 (gramSchmidt): Likewise.
3277 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3278 map(tofrom: sum) clause.
3279 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3280 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3281 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3282 only allowed on the loop iterator.
3283 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3284 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3285 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3286 * testsuite/libgomp.fortran/doacross1.f90: New test.
3287 * testsuite/libgomp.fortran/doacross3.f90: New test.
3288 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3289 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3290 * testsuite/libgomp.fortran/doacross2.f90: New test.
3291 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3292 #pragma omp atomic read.
3293 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3294 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3295
6668eb45
CP
32962016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3297 Nathan Sidwell <nathan@acm.org>
3298
3299 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3300 to determine default geometry.
3301 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3302 dimension.
3303
f10e37a1
JJ
33042016-11-01 Jakub Jelinek <jakub@redhat.com>
3305
3306 * hashtab.h: Use standard GPLv3 with runtime exception
3307 boilerplate.
3308
015c7760
AH
33092016-10-27 Aldy Hernandez <aldyh@redhat.com>
3310
3311 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3312 size when allocating new thread.
3313
20a1e5b8
MP
33142016-09-14 Marek Polacek <polacek@redhat.com>
3315
3316 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3317
1cad9284
JJ
33182016-08-19 Jakub Jelinek <jakub@redhat.com>
3319
3320 PR fortran/71014
3321 * testsuite/libgomp.fortran/pr71014.f90: New test.
3322
2c71d454
CLT
33232016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3324
3325 PR middle-end/70895
3326 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3327 firstprivate clauses.
3328 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3329 copy clauses.
3330 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3331 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3332 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3333 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3334 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3335 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3337 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3338 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3339 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3340 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3341 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3342
7c713714
CLT
33432016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3344
3345 PR fortran/70598
3346 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3347
5c934396
JJ
33482016-08-08 Jakub Jelinek <jakub@redhat.com>
3349
3350 PR c++/58706
3351 * testsuite/libgomp.c++/pr58706.C: New test.
3352
9ef64248
TS
33532016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3354
bbc79c0e
TS
3355 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3356 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3357 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3358 Likewise.
3359 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3360 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3361 Likewise.
3362 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3363
9ef64248
TS
3364 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3365 test, and don't hardcode -O0.
3366
c1311c86
NS
33672016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3368
3369 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3370
b1c9c068
CP
33712016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3372
3373 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3374 test.
3375
b4410f63
L
33762016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3377
3378 PR middle-end/71734
3379 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3380 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3381
a8dbab92
JJ
33822016-07-01 Jakub Jelinek <jakub@redhat.com>
3383
3384 PR fortran/71717
3385 * testsuite/libgomp.fortran/associate3.f90: New test.
3386
9b6a8d0f
JJ
33872016-06-17 Jakub Jelinek <jakub@redhat.com>
3388
3389 * testsuite/libgomp.c++/target-21.C: New test.
3390
283635f9
JJ
33912016-06-16 Jakub Jelinek <jakub@redhat.com>
3392
3393 * testsuite/libgomp.c++/target-20.C: New test.
3394
27d6ba88
TS
33952016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3396 Cesar Philippidis <cesar@codesourcery.com>
3397
3398 PR middle-end/71373
3399 * libgomp.oacc-c/nested-function-1.c: New file.
3400 * libgomp.oacc-c/nested-function-2.c: Likewise.
3401 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3402 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3403 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3404
4b1ffdb1
TS
34052016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3406
3407 PR c/71381
3408 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3409 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3410 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3411
d821b794
CLT
34122016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3413
3414 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3415 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3416
3616a8c5
CP
34172016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3418
3419 PR c/70688
5eed9a88 3420 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 3421
7211a097
JJ
34222016-05-26 Jakub Jelinek <jakub@redhat.com>
3423
3424 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3425 instead of invalid schedule(static, 0).
3426 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3427
b4557008
CLT
34282016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3429
3430 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3431 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3432 parameter, use to set async stream around call to gomp_unmap_vars,
3433 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3434 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3435 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3436 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3437 (event_add): Add int parameter, initialize 'val' field when
3438 adding new ptx_event struct.
3439 (nvptx_evec): Adjust event_add() call arguments.
3440 (nvptx_host2dev): Likewise.
3441 (nvptx_dev2host): Likewise.
3442 (nvptx_wait_async): Likewise.
3443 (nvptx_wait_all_async): Likewise.
3444 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3445 pass to event_add() call.
3446 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3447 parameter.
3448 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3449 call openacc.register_async_cleanup_func() hook.
3450 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3451 * target.c (gomp_copy_from_async): Delete function.
3452 (gomp_map_vars): Remove async_refcount.
3453 (gomp_unmap_vars): Likewise.
3454 (gomp_load_image_to_device): Likewise.
3455 (omp_target_associate_ptr): Likewise.
3456 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3457 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3458 (gomp_copy_from_async): Remove.
3459
6ce13072
CLT
34602016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3461
3462 * target.c (gomp_device_copy): New function.
3463 (gomp_copy_host2dev): Likewise.
3464 (gomp_copy_dev2host): Likewise.
3465 (gomp_free_device_memory): Likewise.
3466 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3467 (gomp_map_pointer): Likewise.
3468 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3469 NULL value from alloc_func plugin hook.
3470 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3471 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3472 (gomp_unmap_vars): Likewise.
3473 (gomp_update): Adjust to call gomp_copy_dev2host and
3474 gomp_copy_host2dev functions.
3475 (gomp_unload_image_from_device): Handle false value from
3476 unload_image_func plugin hook.
3477 (gomp_init_device): Handle false value from init_device_func
3478 plugin hook.
3479 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3480 (omp_target_free): Adjust to call gomp_free_device_memory.
3481 (omp_target_memcpy): Handle return values from host2dev_func,
3482 dev2host_func, and dev2dev_func plugin hooks.
3483 (omp_target_memcpy_rect_worker): Likewise.
3484 (gomp_target_fini): Handle false value from fini_device_func
3485 plugin hook.
3486 * libgomp.h (struct gomp_device_descr): Adjust return type of
3487 init_device_func, fini_device_func, unload_image_func, free_func,
3488 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3489 * oacc-init.c (acc_shutdown_1): Handle false value from
3490 fini_device_func plugin hook.
3491 * oacc-host.c (host_init_device): Change return type to bool.
3492 (host_fini_device): Likewise.
3493 (host_unload_image): Likewise.
3494 (host_free): Likewise.
3495 (host_dev2host): Likewise.
3496 (host_host2dev): Likewise.
3497 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3498 (acc_memcpy_to_device): Likewise.
3499 (acc_memcpy_from_device): Likewise.
3500 (delete_copyout): Add libfnname parameter, handle free_func
3501 hook fatal error case.
3502 (acc_delete): Adjust delete_copyout call.
3503 (acc_copyout): Likewise.
3504 (update_dev_host): Move gomp_mutex_unlock to after
3505 host2dev/dev2host hook calls.
3506
3507 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3508 to 'hsa_error_msg', for clarity.
3509 (hsa_fatal): Likewise.
3510 (hsa_error): New function.
3511 (init_hsa_context): Change return type to bool, adjust to return
3512 false on error.
3513 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3514 return value.
3515 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3516 return false on error.
3517 (get_agent_info): Adjust to return NULL on error.
3518 (destroy_hsa_program): Change return type to bool, adjust to
3519 return false on error.
3520 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3521 (destroy_module): Change return type to bool, adjust to
3522 return false on error.
3523 (GOMP_OFFLOAD_unload_image): Likewise.
3524 (GOMP_OFFLOAD_fini_device): Likewise.
3525 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3526 (GOMP_OFFLOAD_free): Change to return false when called.
3527 (GOMP_OFFLOAD_dev2host): Likewise.
3528 (GOMP_OFFLOAD_host2dev): Likewise.
3529 (GOMP_OFFLOAD_dev2dev): Likewise.
3530
3531 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3532 (CUDA_CALL): Likewise.
3533 (CUDA_CALL_ASSERT): Likewise.
3534 (map_init): Change return type to bool, use CUDA_CALL* macros.
3535 (map_fini): Likewise.
3536 (init_streams_for_device): Change return type to bool, adjust
3537 call to map_init.
3538 (fini_streams_for_device): Change return type to bool, adjust
3539 call to map_fini.
3540 (select_stream_for_async): Release stream_lock before calls to
3541 GOMP_PLUGIN_fatal, adjust call to map_init.
3542 (nvptx_init): Use CUDA_CALL* macros.
3543 (nvptx_attach_host_thread_to_device): Change return type to bool,
3544 use CUDA_CALL* macros.
3545 (nvptx_open_device): Use CUDA_CALL* macros.
3546 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3547 macros.
3548 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3549 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3550 (nvptx_exec): Use CUDA_CALL* macros.
3551 (nvptx_alloc): Use CUDA_CALL* macros.
3552 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3553 (nvptx_host2dev): Likewise.
3554 (nvptx_dev2host): Likewise.
3555 (nvptx_wait): Use CUDA_CALL* macros.
3556 (nvptx_wait_async): Likewise.
3557 (nvptx_wait_all): Likewise.
3558 (nvptx_wait_all_async): Likewise.
3559 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3560 use CUDA_CALL* macros, adjust call to map_fini.
3561 (GOMP_OFFLOAD_init_device): Change return type to bool,
3562 adjust code accordingly.
3563 (GOMP_OFFLOAD_fini_device): Likewise.
3564 (GOMP_OFFLOAD_load_image): Adjust calls to
3565 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3566 use CUDA_CALL* macros.
3567 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3568 return code.
3569 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3570 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3571 handle error return.
3572 (GOMP_OFFLOAD_dev2host): Likewise.
3573 (GOMP_OFFLOAD_host2dev): Likewise.
3574 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3575 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3576
e46c7770
CP
35772016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3578
3579 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3580 (acc_free): Likewise.
3581 (acc_memcpy_to_device): Likewise.
3582 (acc_memcpy_from_device): Likewise.
3583 (acc_deviceptr): Likewise.
3584 (acc_hostptr): Likewise.
3585 (acc_is_present): Likewise.
3586 (acc_map_data): Likewise.
3587 (acc_unmap_data): Likewise.
3588 (present_create_copy): Likewise.
3589 (delete_copyout): Likewise.
3590 (update_dev_host): Likewise.
3591 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3592 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3593 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3594 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3595 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3596 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3597 it only runs on nvptx targets.
3598 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3599 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3600 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3601 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3602 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3603 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3604 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3605 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3606 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3607 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3608 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3609 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3610 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3611 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3612 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3613 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3614 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3615 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3616 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3617 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3618 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3619 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3621
a5057543
MJ
36222016-05-23 Martin Jambor <mjambor@suse.cz>
3623
3624 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3625
e37288a6
CLT
36262016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3627
3628 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3629 to gomp_init_targets_once.
3630 (acc_set_device_type): Remove !cached_base_dev condition on call to
3631 gomp_init_targets_once, move call to before acc_device_lock acquire,
3632 to avoid deadlock.
3633 (acc_get_device_num): Remove !cached_base_dev condition on call to
3634 gomp_init_targets_once.
3635 (acc_set_device_num): Likewise.
3636
51d9ed48
MJ
36372016-05-16 Martin Jambor <mjambor@suse.cz>
3638
92a285c1 3639 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 3640
5b37e866
NS
36412016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3642
3643 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3644 expected partitioning.
3645
e7ff0319
CP
36462016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3647
3648 PR middle-end/70626
3649 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3650 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3651 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3652
c2bd3b69
AM
36532016-04-21 Alexander Monakov <amonakov@ispras.ru>
3654
3655 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3656 non-fatal.
3657
84311083
JJ
36582016-04-19 Jakub Jelinek <jakub@redhat.com>
3659
3660 PR middle-end/70680
3661 * testsuite/libgomp.c/pr70680-1.c: New test.
3662 * testsuite/libgomp.c/pr70680-2.c: New test.
3663
aadc043f
CP
36642016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3665
3666 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3667 pass parameter variables to subroutines.
3668
e387fc64
CP
36692016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3670
3671 PR middle-end/70643
3672 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3673
10c3c424
CP
36742016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3675
3676 PR testsuite/68242
3677 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3678 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3679
27f9add3
TS
36802016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3681
58d32aeb
TS
3682 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3683 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3684 GOACC_declare prototype.
3685
d97633ef
TS
3686 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3687 Merge this file, and...
3688 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3689 ... this file, and...
3690 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3691 ... this file, and...
3692 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3693 ... this file, and...
3694 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3695 ... this file, and...
3696 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3697 ... this file, and...
3698 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3699 ... this file, and...
3700 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3701 ... this file, and...
3702 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3703 ... this file, and...
3704 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3705 ... this file, and...
3706 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3707 ... this file, and...
3708 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3709 ... this file, and...
3710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3711 ... this file into...
3712 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3713 file.
3714
27f9add3
TS
3715 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3716 Make failure observable.
3717
21f3a236
JJ
37182016-04-12 Jakub Jelinek <jakub@redhat.com>
3719
3720 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3721 field.
3722 * target.c (gomp_target_fallback_firstprivate,
3723 gomp_target_unshare_firstprivate): Removed.
3724 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3725 before waiting for dependencies.
3726 (gomp_target_task_fn): Don't copy firstprivate vars here.
3727 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3728 firstprivate_copies here.
3729 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3730 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3731 explicit/implicit firstprivate.
3732
c42cfb5c
CP
37332016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3734
3735 PR lto/70289
3736 PR ipa/70348
3737 PR tree-optimization/70373
3738 PR middle-end/70533
3739 PR middle-end/70534
3740 PR middle-end/70535
3741 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3742 test.
3743 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3744 test.
3745 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3746 test.
3747 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3748 test.
3749 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3750 test.
3751 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3752 test.
3753 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3754 test.
3755 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3756 test.
3757 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3758 test.
3759 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3761 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3762 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3763 test.
3764 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3765 test.
3766 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3767 test.
3768 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3769 test.
3770 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3771 coverage.
3772 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3773 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3774 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3775 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3776 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3777 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3778 coverage.
3779 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3780 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3781 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3782 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3783 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3784 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3785 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3786 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3787 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3788 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3789 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3790 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3791 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3792 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3793 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3794
2620c80d
TS
37952016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3796 James Norris <jnorris@codesourcery.com>
3797 Nathan Sidwell <nathan@codesourcery.com>
3798 Julian Brown <julian@codesourcery.com>
3799 Cesar Philippidis <cesar@codesourcery.com>
3800 Chung-Lin Tang <cltang@codesourcery.com>
3801 Tom de Vries <tom@codesourcery.com>
3802
3803 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3804 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3805 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3806 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3807 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3808 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3809 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3810 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3811 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3812 XFAIL.
3813 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3814 Incorporate...
3815 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3816 file.
3817 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3818 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3819 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3820 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3821 Likewise.
3822 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3823 Likewise.
3824 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3825 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3826 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3827 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3828 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3831 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3832 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3833 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3834 Likewise.
3835 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3836 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3837 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3838 file...
3839 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3840 file into...
3841 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3842 file. Update.
3843 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3844 file.
3845 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3846 Likewise.
3847 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3848 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3849 ... this new file. Update.
3850 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3851 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3852 ... this new file. Update.
3853 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3854 file. Incorporate...
3855 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3856 file, and...
3857 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3858 file, and...
3859 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3860 file.
3861 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3862
ce83104b
TS
38632016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3864
3865 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3866 set-torture-options.
3867
6e0df3b7
TS
38682016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3869
3870 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3871 gcc-dg-runtest.
3872 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3873 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3874 -fno-builtin-acc_on_device instead of -O0.
3875 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3876 -O0.
3877 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3878 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3879 Likewise.
3880 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3881 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3882 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3883 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3884 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3885 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3886 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3888 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3889 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3890 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3891 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3892 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3893 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3894 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3895 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3896 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3897 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3898 Don't specify -O2.
3899 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3900 Likewise.
3901 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3902 Likewise.
3903
f9c8babb
ML
39042016-03-24 Martin Liska <mliska@suse.cz>
3905
3906 * plugin/plugin-hsa.c (packet_store_release): New function
3907 that is taken from the HSA runtime manual.
3908 (GOMP_OFFLOAD_run): Use the function.
3909
04833609
JJ
39102016-03-23 Jakub Jelinek <jakub@redhat.com>
3911
3912 PR c++/70376
3913 * testsuite/libgomp.c++/pr70376.C: New test.
3914
d79ee524
TV
39152016-03-23 Tom de Vries <tom@codesourcery.com>
3916
3917 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3918 initialization of lresult and lvresult.
3919 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3920
b6d1f2b5
JN
39212016-03-23 James Norris <jnorris@codesourcery.com>
3922 Daichi Fukuoka <dc-fukuoka@sgi.com>
3923
3924 PR libgomp/69414
3925 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3926 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3927 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3928 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3929
7397fce2
ML
39302016-03-23 Martin Liska <mliska@suse.cz>
3931
3932 PR hsa/70337
3933 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3934 argument just in case a dispatched kernel uses that argument.
3935
ee2e7d51
TS
39362016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3937
3938 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3939 -ftree-parallelize-loops/-fopenacc changes.
3940 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3941 Likewise.
3942 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3943 Likewise.
3944 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3945 Likewise.
3946 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3947 Likewise.
3948 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3949 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3950
be9f7143
TS
39512016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3952
3953 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3954 always_ld_library_path the path to libgcc_s.
3955
f6c1032d
CP
39562016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3957
3958 PR testsuite/70009
3959 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3960
5a6452e6
TV
39612016-03-09 Tom de Vries <tom@codesourcery.com>
3962
3963 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3964 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3965 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3966 Same.
3967 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3968 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3969 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3970 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3971
96a71bd5
MJ
39722016-03-07 Martin Jambor <mjambor@suse.cz>
3973
3974 * testsuite/lib/libgomp.exp
3975 (check_effective_target_hsa_offloading_selected_nocache): New.
3976 (check_effective_target_hsa_offloading_selected): Likewise.
3977 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3978 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3979 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3980 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3981 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3982 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3983 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3984 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3985 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3986 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3987 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3988 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3989 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3990 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3991 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3992 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3993 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3994
02e0b5b2
MJ
39952016-03-07 Martin Jambor <mjambor@suse.cz>
3996
3997 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3998 non-shared memory accelerators.
3999 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4000 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4001 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4002 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4003 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4004 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4005 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4006 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4007 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4008
45548f30
MJ
40092016-03-07 Martin Jambor <mjambor@suse.cz>
4010
4011 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4012 ALWAYS_CFLAGS.
4013
da3d46cb
JJ
40142016-03-02 Jakub Jelinek <jakub@redhat.com>
4015
4016 PR libgomp/69555
4017 * testsuite/libgomp.c++/pr69555-1.C: New test.
4018 * testsuite/libgomp.c++/pr69555-2.C: New test.
4019
622174b2
KM
40202016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4021 Martin Jambor <mjambor@suse.cz>
4022
4023 * testsuite/lib/libgomp.exp
4024 (check_effective_target_offload_device_shared_as): New proc.
4025 * testsuite/libgomp.c++/declare_target-1.C: New test.
4026
e6861a99
IV
40272016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4028
4029 PR driver/68463
4030 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4031
f99c3557
TS
40322016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4033
4034 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4035 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4036 dims.
4037 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4038 -ftree-parallelize-loops/-fopenacc changes.
4039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4040 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4041 Likewise.
4042 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4043 Likewise.
4044 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4045 Likewise.
4046 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4047 Likewise.
4048 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4049 Likewise.
4050 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4051 Likewise.
4052 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4053 Likewise.
4054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4055 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4056 Likewise.
4057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4059 Likewise.
4060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4061 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4062 Likewise.
4063
d5ace3b5
CP
40642016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4065
4066 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4067
f3609a89
JJ
40682016-02-19 Jakub Jelinek <jakub@redhat.com>
4069
4070 PR driver/69805
4071 * testsuite/libgomp.c/pr69805.c: New test.
4072
2175df99
TV
40732016-02-16 Tom de Vries <tom@codesourcery.com>
4074
4075 PR lto/67709
4076 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4077
17b6426c
TV
40782016-02-09 Tom de Vries <tom@codesourcery.com>
4079
4080 PR tree-optimization/69599
4081 * testsuite/libgomp.c/omp-nested-3.c: New test.
4082 * testsuite/libgomp.c/pr46032-2.c: New test.
4083 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4084 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4085
34df756c
TV
40862016-02-09 Tom de Vries <tom@codesourcery.com>
4087
4088 PR lto/69707
4089 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4090
5854ee30
AM
40912016-02-02 Alexander Monakov <amonakov@ispras.ru>
4092
4093 * testsuite/libgomp.c/target-31.c: Fix testcase.
4094
e70b6ad7
AM
40952016-02-02 Alexander Monakov <amonakov@ispras.ru>
4096
4097 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4098 clause.
4099 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4100 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4101 reduction and map clauses.
4102 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4103
bd78a45f
JN
41042016-02-02 James Norris <jnorris@codesourcery.com>
4105
4106 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4107
41d809d3
TS
41082016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4109
18f60146
TS
4110 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4111 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4112
1a06f5e6
TS
4113 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4114 cases.
4115
033ff3d1
TS
4116 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4117 variables.
4118 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4119 (hsa_kmt_lib): Set variables.
4120 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4121 always_ld_library_path.
4122 * Makefile.in: Regenerate.
4123 * configure: Likewise.
4124 * testsuite/Makefile.in: Likewise.
4125
4a88d9b7
TS
4126 * plugin/configfrag.ac (offload_additional_options)
4127 (offload_additional_lib_paths): Don't amend for hsa offloading.
4128 * configure: Regenerate.
4129
41d809d3
TS
4130 * plugin/configfrag.ac: Don't configure for offloading target if
4131 we don't build the corresponding plugin.
4132 * configure: Regenerate.
4133
b6adbb9f
NS
41342016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4135
4136 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4137 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4138
8dfdb419
TV
41392016-01-26 Tom de Vries <tom@codesourcery.com>
4140
4141 PR tree-optimization/69110
4142 * testsuite/libgomp.c/pr69110.c: New test.
4143
02ef53f2
RB
41442016-01-25 Richard Biener <rguenther@suse.de>
4145
4146 PR lto/69393
4147 * testsuite/libgomp.c++/pr69393.C: New testcase.
4148
eb4048f2
IV
41492016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4150
4151 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4152 function wasn't mapped to the device with non-shared memory.
4153
b235cdd5
IV
41542016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4155
4156 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4157
b2b40051
MJ
41582016-01-19 Martin Jambor <mjambor@suse.cz>
4159 Martin Liska <mliska@suse.cz>
4160
4161 * plugin/Makefrag.am: Add HSA plugin requirements.
4162 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4163 (HSA_RUNTIME_LIB): Likewise.
4164 (HSA_RUNTIME_CPPFLAGS): Likewise.
4165 (HSA_RUNTIME_INCLUDE): New substitution.
4166 (HSA_RUNTIME_LIB): Likewise.
4167 (HSA_RUNTIME_LDFLAGS): Likewise.
4168 (hsa-runtime): New configure option.
4169 (hsa-runtime-include): Likewise.
4170 (hsa-runtime-lib): Likewise.
4171 (PLUGIN_HSA): New substitution variable.
4172 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4173 configure options.
4174 (PLUGIN_HSA_CPPFLAGS): Likewise.
4175 (PLUGIN_HSA_LDFLAGS): Likewise.
4176 (PLUGIN_HSA_LIBS): Likewise.
4177 Check that we have access to HSA run-time.
4178 * libgomp-plugin.h (offload_target_type): New element
4179 OFFLOAD_TARGET_TYPE_HSA.
4180 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4181 args.
4182 (bool gomp_create_target_task): Updated.
4183 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4184 new field can_run_func.
4185 * libgomp_g.h (GOMP_target_ext): Update prototype.
4186 * oacc-host.c (host_run): Added a new parameter args.
4187 * target.c (calculate_firstprivate_requirements): New function.
4188 (copy_firstprivate_data): Likewise.
4189 (gomp_target_fallback_firstprivate): Use them.
4190 (gomp_target_unshare_firstprivate): New function.
4191 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4192 devices.
4193 (GOMP_target): Do host fallback for all shared memory devices. Do not
4194 pass any args to plugins.
4195 (GOMP_target_ext): Introduce device-specific argument parameter args.
4196 Allow host fallback if device shares memory. Do not remap data if
4197 device has shared memory.
4198 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4199 like host fallback for mappings.
4200 (GOMP_target_data): Treat shared memory devices like host fallback.
4201 (GOMP_target_data_ext): Likewise.
4202 (GOMP_target_update): Likewise.
4203 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4204 gomp_create_target_task.
4205 (GOMP_target_enter_exit_data): Likewise.
4206 (omp_target_alloc): Treat shared memory devices like host fallback.
4207 (omp_target_free): Likewise.
4208 (omp_target_is_present): Likewise.
4209 (omp_target_memcpy): Likewise.
4210 (omp_target_memcpy_rect): Likewise.
4211 (omp_target_associate_ptr): Likewise.
4212 (gomp_load_plugin_for_device): Also load can_run.
4213 * task.c (GOMP_PLUGIN_target_task_completion): Free
4214 firstprivate_copies.
4215 (gomp_create_target_task): Accept new argument args and store it to
4216 ttask.
4217 * plugin/plugin-hsa.c: New file.
4218
5d7804a9
TV
42192016-01-18 Tom de Vries <tom@codesourcery.com>
4220
4221 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4223 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4224 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4225 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4226 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4227 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4228 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4229 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4230 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4231 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4232 Same.
4233 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4234 Same.
4235 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4236 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4237 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4239 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4240 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4242 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4243 Same.
4244 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4245
cb11f3cf
JJ
42462016-01-15 Jakub Jelinek <jakub@redhat.com>
4247
4248 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4249
33a126a6
CP
42502016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4251
4252 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4253
cdf6119d
JN
42542016-01-12 James Norris <jnorris@codesourcery.com>
4255
4256 * libgomp.texi: Updates for OpenACC.
4257
0d58938e
AM
42582016-01-11 Alexander Monakov <amonakov@ispras.ru>
4259
4260 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4261
95918b49
L
42622016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4263
4264 PR fortran/66680
4265 * testsuite/libgomp.fortran/pr66680.f90: New test.
4266
8fc708b7
JJ
42672016-01-07 Jakub Jelinek <jakub@redhat.com>
4268
4269 PR middle-end/68960
4270 * testsuite/libgomp.c/pr68960.c: New test.
4271
e9b596c1
NS
42722016-01-06 Nathan Sidwell <nathan@acm.org>
4273
1a14faf2 4274 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
4275 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4276
21fa2a29
JJ
42772016-01-04 Jakub Jelinek <jakub@redhat.com>
4278
818ab71a
JJ
4279 Update copyright years.
4280
21fa2a29
JJ
4281 * libgomp.texi: Bump @copying's copyright year.
4282
9310efbc
NS
42832015-12-31 Nathan Sidwell <nathan@acm.org>
4284
4285 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4286 dg-additional-options syntax.
4287 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4293 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4298 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4300 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4302 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4304 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4305
4a38b02b
IV
43062015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4307
4308 * libgomp.h (REFCOUNT_LINK): Define.
4309 (struct splay_tree_key_s): Add link_key.
4310 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4311 Replace target address of the pointer with target address of newly
4312 mapped object in the splay tree. Set link pointer on target to the
4313 device address of the mapped object.
4314 (gomp_unmap_vars): Restore target address of the pointer in the splay
4315 tree for REFCOUNT_LINK objects after unmapping.
4316 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4317 declare target link" objects.
4318 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4319 "omp declare target link" objects, which were mapped for the image.
4320 (gomp_exit_data): Restore target address of the pointer in the splay
4321 tree for REFCOUNT_LINK objects after unmapping.
4322 * testsuite/libgomp.c/target-link-1.c: New file.
4323
d84ffc0a
IV
43242015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4325
4326 * libgomp.h (gomp_device_state): New enum.
4327 (struct gomp_device_descr): Replace is_initialized with state.
4328 (gomp_fini_device): Remove declaration.
4329 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4330 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4331 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4332 (acc_set_device_type): Use state instead of is_initialized.
4333 (acc_set_device_num): Likewise.
4334 * target.c (resolve_device): Use state instead of is_initialized.
4335 Do not initialize finalized device.
4336 (gomp_map_vars): Do nothing if device is finalized.
4337 (gomp_unmap_vars): Likewise.
4338 (gomp_update): Likewise.
4339 (GOMP_offload_register_ver): Use state instead of is_initialized.
4340 (GOMP_offload_unregister_ver): Likewise.
4341 (gomp_init_device): Likewise.
4342 (gomp_unload_device): Likewise.
4343 (gomp_fini_device): Remove.
4344 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4345 (GOMP_target): Go to host fallback if device is finalized.
4346 (GOMP_target_ext): Likewise.
4347 (gomp_exit_data): Do nothing if device is finalized.
4348 (gomp_target_task_fn): Go to host fallback if device is finalized.
4349 (gomp_target_fini): New static function.
4350 (gomp_target_init): Use state instead of is_initialized.
4351 Call gomp_target_fini at exit.
4352
76680678
TV
43532015-12-09 Tom de Vries <tom@codesourcery.com>
4354
4355 PR tree-optimization/68716
4356 * testsuite/libgomp.c/omp-nested-2.c: New test.
4357
ff7a55bf
TS
43582015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4359
4360 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4361 target openacc_nvidia_accel_selected.
4362 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4363 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4364 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4365 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4366
37d5ad46
JB
43672015-12-01 Julian Brown <julian@codesourcery.com>
4368 James Norris <James_Norris@mentor.com>
4369
4370 * oacc-parallel.c (GOACC_host_data): New function.
4371 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4372 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4373 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4374 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4375 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4376 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4377 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4378
db941d7e
CP
43792015-11-30 James Norris <jnorris@codesourcery.com>
4380 Cesar Philippidis <cesar@codesourcery.com>
4381
4382 libgomp/
4383 * libgomp.oacc-fortran/routine-5.f90: New test.
4384 * libgomp.oacc-fortran/routine-7.f90: New test.
4385 * libgomp.oacc-fortran/routine-9.f90: New test.
4386
e0ca27c5
TV
43872015-11-30 Tom de Vries <tom@codesourcery.com>
4388
4389 PR tree-optimization/46032
4390 * testsuite/libgomp.c/pr46032.c: New test.
4391
aec17bfe
JJ
43922015-11-27 Jakub Jelinek <jakub@redhat.com>
4393
8e4e4719
JJ
4394 PR libgomp/68579
4395 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4396 (gomp_create_target_task): Call it before freeing
4397 GOMP_TARGET_TASK_DATA tasks.
4398
aec17bfe
JJ
4399 PR c/63326
4400 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4401 in between case label and OpenMP standalone directives.
4402 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4403
6cfe90e6
DE
44042015-11-26 David Edelsohn <dje.gcc@gmail.com>
4405
4406 * configure: Regenerate.
4407
0e65fd7d
JJ
44082015-11-26 Jakub Jelinek <jakub@redhat.com>
4409
4410 * testsuite/libgomp.c/target-35.c: New test.
4411
dc7a8b4b
JN
44122015-11-22 James Norris <jnorris@codesourcery.com>
4413 Cesar Philippidis <cesar@codesourcery.com>
4414
4415 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4416 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4417 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4418 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4419 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4420
48a78aee
JJ
44212015-11-20 Jakub Jelinek <jakub@redhat.com>
4422
4423 PR middle-end/68221
4424 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4425 * testsuite/libgomp.c/reduction-12.c: Likewise.
4426 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4427 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4428
2d256816
NS
44292015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4430
4431 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4432 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4433 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4434 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4435 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4436 and fix.
4437 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4438 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4439
33f47f42
NS
44402015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4441
4442 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4443 worker & gang cases.
4444 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4445
3d7bfee0
CP
44462015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4447
4448 * config/nvptx/priority_queue.c: New file.
4449
00b9bd52
JJ
44502015-11-14 Jakub Jelinek <jakub@redhat.com>
4451
4452 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4453 sections.
4454
e4606348
JJ
44552015-11-14 Jakub Jelinek <jakub@redhat.com>
4456 Aldy Hernandez <aldyh@redhat.com>
4457 Ilya Verbin <ilya.verbin@intel.com>
4458
4459 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4460 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4461 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4462 iterators or IV by chunk size.
4463 * parallel.c (gomp_resolve_num_threads): Don't assume that
4464 if thr->ts.team is non-NULL, then pool must be non-NULL.
4465 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4466 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4467 GOMP_PLUGIN_target_task_completion.
4468 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4469 * Makefile.in: Regenerate.
4470 * libgomp.h: Shuffle prototypes and forward definitions around so
4471 priority queues can be defined.
4472 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4473 (enum gomp_target_task_state): New enum.
4474 (struct gomp_target_task): Add state, tgt, task and team fields.
4475 (gomp_create_target_task): Change return type to bool, add
4476 state argument.
4477 (gomp_target_task_fn): Change return type to bool.
4478 (struct gomp_device_descr): Add async_run_func.
4479 (struct gomp_task): Remove children, next_child, prev_child,
4480 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4481 Add pnode field.
4482 (struct gomp_taskgroup): Remove children.
4483 Add taskgroup_queue.
4484 (struct gomp_team): Change task_queue type to a priority queue.
4485 (splay_compare): Define inline.
4486 (priority_queue_offset): New.
4487 (priority_node_to_task): New.
4488 (task_to_priority_node): New.
4489 * oacc-mem.c: Do not include splay-tree.h.
4490 * priority_queue.c: New file.
4491 * priority_queue.h: New file.
4492 * splay-tree.c: Do not include splay-tree.h.
4493 (splay_tree_foreach_internal): New.
4494 (splay_tree_foreach): New.
4495 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4496 (splay_tree_callback): Define typedef.
4497 * target.c (splay_compare): Move to libgomp.h.
4498 (GOMP_target): Don't adjust *thr in any way around running offloaded
4499 task.
4500 (GOMP_target_ext): Likewise. Handle target nowait.
4501 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4502 return value from gomp_create_target_task, if false, fallthrough
4503 as if no dependencies exist.
4504 (gomp_target_task_fn): Change return type to bool, return true
4505 if the task should have another part scheduled later. Handle
4506 target nowait.
4507 (gomp_load_plugin_for_device): Initialize async_run.
4508 * task.c (gomp_init_task): Initialize children_queue.
4509 (gomp_clear_parent_in_list): New.
4510 (gomp_clear_parent_in_tree): New.
4511 (gomp_clear_parent): Handle priorities.
4512 (GOMP_task): Likewise.
4513 (priority_queue_move_task_first,
4514 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4515 New functions.
4516 (gomp_create_target_task): Use priority queues. Change return type
4517 to bool, add state argument, return false if for async
4518 {{enter,exit} data,update} constructs no dependencies need to be
4519 waited for, handle target nowait. Set task->fn to NULL instead of
4520 gomp_target_task_fn.
4521 (verify_children_queue): Remove.
4522 (priority_list_upgrade_task): New.
4523 (priority_queue_upgrade_task): New.
4524 (verify_task_queue): Remove.
4525 (priority_list_downgrade_task): New.
4526 (priority_queue_downgrade_task): New.
4527 (gomp_task_run_pre): Use priority queues.
4528 Abstract code out to priority_queue_downgrade_task.
4529 (gomp_task_run_post_handle_dependers): Use priority queues.
4530 (gomp_task_run_post_remove_parent): Likewise.
4531 (gomp_task_run_post_remove_taskgroup): Likewise.
4532 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4533 tasks specially.
4534 (GOMP_taskwait): Likewise.
4535 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4536 priority-queue_upgrade_task.
4537 (GOMP_taskgroup_start): Use priority queues.
4538 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4539 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4540 barrier.
4541 * taskloop.c (GOMP_taskloop): Handle priorities.
4542 * team.c (gomp_new_team): Call priority_queue_init.
4543 (free_team): Call priority_queue_free.
4544 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4545 team created for target nowait in implicit parallel region.
4546 (gomp_team_start): For nested check, test thr->ts.level instead of
4547 thr->ts.team != NULL.
4548 * testsuite/libgomp.c/doacross-3.c: New test.
4549 * testsuite/libgomp.c/ordered-5.c: New test.
4550 * testsuite/libgomp.c/priority.c: New test.
4551 * testsuite/libgomp.c/target-31.c: New test.
4552 * testsuite/libgomp.c/target-32.c: New test.
4553 * testsuite/libgomp.c/target-33.c: New test.
4554 * testsuite/libgomp.c/target-34.c: New test.
4555
1d1ab74f
NS
45562015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4557
c5a64cfe
NS
4558 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4559
1d1ab74f
NS
4560 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4561 loop is sequential.
4562
dd3c1b14
NS
45632015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4564
4565 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4566 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4567
6e232ba4
JN
45682015-11-12 James Norris <jnorris@codesourcery.com>
4569 Joseph Myers <joseph@codesourcery.com>
4570
4571 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4572 * oacc-parallel.c (GOACC_declare): New function.
4573 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4574 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4576 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4577 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4578
fffeedeb
NS
45792015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4580
4581 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4582
182190f2
NS
45832015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4584
4585 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4586 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4587
36fa0f5f
NS
45882015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4589
d350c40c
NS
4590 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4591 inadvertent commit.
4592
45932015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4594
36fa0f5f
NS
4595 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4596 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4597 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4598 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4599 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4600
66a5f0b4
TS
46012015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4602
4603 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4604 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4605
e01d41e5
JJ
46062015-11-05 Jakub Jelinek <jakub@redhat.com>
4607 Ilya Verbin <ilya.verbin@intel.com>
4608
4609 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4610 GOMP_loop_nonmonotonic_dynamic_start,
4611 GOMP_loop_nonmonotonic_guided_next,
4612 GOMP_loop_nonmonotonic_guided_start,
4613 GOMP_loop_ull_nonmonotonic_dynamic_next,
4614 GOMP_loop_ull_nonmonotonic_dynamic_start,
4615 GOMP_loop_ull_nonmonotonic_guided_next,
4616 GOMP_loop_ull_nonmonotonic_guided_start,
4617 GOMP_parallel_loop_nonmonotonic_dynamic,
4618 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4619 (GOMP_target_41): Renamed to ...
4620 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4621 arguments.
4622 (GOMP_target_data_41): Renamed to ...
4623 (GOMP_target_data_ext): ... this.
4624 (GOMP_target_update_41): Renamed to ...
4625 (GOMP_target_update_ext): ... this.
4626 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4627 GOMP_target_data_ext and GOMP_target_update_ext instead of
4628 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4629 Export 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 and
4638 GOMP_parallel_loop_nonmonotonic_guided.
4639 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4640 GOMP_parallel_loop_nonmonotonic_guided,
4641 GOMP_loop_nonmonotonic_dynamic_start,
4642 GOMP_loop_nonmonotonic_guided_start,
4643 GOMP_loop_nonmonotonic_dynamic_next,
4644 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4645 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4646 GOMP_loop_ull_nonmonotonic_guided_start,
4647 GOMP_loop_ull_nonmonotonic_dynamic_next,
4648 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4649 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4650 functions.
4651 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4652 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4653 Use gomp_map_val function.
4654 (gomp_target_fallback_firstprivate): New static function.
4655 (GOMP_target_41): Renamed to ...
4656 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4657 arguments. Move firstprivate fallback handling into a new
4658 function.
4659 (GOMP_target_data_41): Renamed to ...
4660 (GOMP_target_data_ext): ... this.
4661 (GOMP_target_update_41): Renamed to ...
4662 (GOMP_target_update_ext): ... this.
4663 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4664 gomp_map_0len_lookup instead of gomp_map_lookup.
4665 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4666 gomp_map_lookup.
4667 * testsuite/libgomp.c/target-28.c: Likewise.
4668 * testsuite/libgomp.c/monotonic-1.c: New test.
4669 * testsuite/libgomp.c/monotonic-2.c: New test.
4670 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4671 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4672 * testsuite/libgomp.c/pr66199-5.c: New test.
4673 * testsuite/libgomp.c/pr66199-6.c: New test.
4674 * testsuite/libgomp.c/pr66199-7.c: New test.
4675 * testsuite/libgomp.c/pr66199-8.c: New test.
4676 * testsuite/libgomp.c/pr66199-9.c: New test.
4677 * testsuite/libgomp.c/reduction-11.c: New test.
4678 * testsuite/libgomp.c/reduction-12.c: New test.
4679 * testsuite/libgomp.c/reduction-13.c: New test.
4680 * testsuite/libgomp.c/reduction-14.c: New test.
4681 * testsuite/libgomp.c/reduction-15.c: New test.
4682 * testsuite/libgomp.c/target-12.c (main): Adjust for
4683 omp_target_is_present change for one-past-last element.
4684 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4685 the same var is both mapped and privatized.
4686 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4687 handling of zero-length array sections.
4688 * testsuite/libgomp.c/target-28.c: New test.
4689 * testsuite/libgomp.c/target-29.c: New test.
4690 * testsuite/libgomp.c/target-30.c: New test.
4691 * testsuite/libgomp.c/target-teams-1.c: New test.
4692 * testsuite/libgomp.c++/member-6.C: New test.
4693 * testsuite/libgomp.c++/member-7.C: New test.
4694 * testsuite/libgomp.c++/monotonic-1.C: New test.
4695 * testsuite/libgomp.c++/monotonic-2.C: New test.
4696 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4697 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4698 * testsuite/libgomp.c++/pr66199-3.C: New test.
4699 * testsuite/libgomp.c++/pr66199-4.C: New test.
4700 * testsuite/libgomp.c++/pr66199-5.C: New test.
4701 * testsuite/libgomp.c++/pr66199-6.C: New test.
4702 * testsuite/libgomp.c++/pr66199-7.C: New test.
4703 * testsuite/libgomp.c++/pr66199-8.C: New test.
4704 * testsuite/libgomp.c++/pr66199-9.C: New test.
4705 * testsuite/libgomp.c++/reduction-11.C: New test.
4706 * testsuite/libgomp.c++/reduction-12.C: New test.
4707 * testsuite/libgomp.c++/target-13.C: New test.
4708 * testsuite/libgomp.c++/target-14.C: New test.
4709 * testsuite/libgomp.c++/target-15.C: New test.
4710 * testsuite/libgomp.c++/target-16.C: New test.
4711 * testsuite/libgomp.c++/target-17.C: New test.
4712 * testsuite/libgomp.c++/target-18.C: New test.
4713 * testsuite/libgomp.c++/target-19.C: New test.
4714
ccc8282b
NS
47152015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4716
4717 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4718 and reduction copy.
4719 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4720 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4721 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4722 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4723 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4724 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4725 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4726 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4727 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4728 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4729 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4730 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4731 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4732 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4733
5d6823a2
NS
47342015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4735
4736 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4737 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4738 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4739 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4740 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4741 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4742 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4743 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4744
5c06742f
NS
47452015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4746
4747 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4748 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4749 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4750 * oacc-host.c (host_openacc_exec): Likewise.
4751 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4752
4bf9e5a8
TS
47532015-11-03 Julian Brown <julian@codesourcery.com>
4754 Thomas Schwinge <thomas@codesourcery.com>
4755
4756 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4757 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4758 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4759 Likewise.
4760 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4761 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4762
47632015-11-03 James Norris <jnorris@codesourcery.com>
4764
4765 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4766 file.
4767 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4768 Likewise.
4769 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4770 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4771 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4772 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4773 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4774
a0e701d8
NS
47752015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4776
4777 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4778 compatibility.
4779 (enum acc_async_t): Reformat.
4780 (acc_on_device): Declare compatible with builtin and provide C++
4781 wrapper.
4782 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4783
41e977ac
TS
47842015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4785 Cesar Philippidis <cesar@codesourcery.com>
4786
4787 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4788 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4789 ... this. Add a description of the test at the top of the file.
4790 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4791 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4792 ... this. Add a description of the test at the top of the file.
4793
e3091406
NS
47942015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4795
4796 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4797 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4798 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4799 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4800 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4801 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4802
a1c1908b
NS
48032015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4804
4805 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4806 dimensions.
4807
b3962a4a
TS
48082015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4809
4810 PR testsuite/68063
4811 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4812
88bae6f4
TS
48132015-10-27 James Norris <jnorris@codesourcery.com>
4814
4815 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4816 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4817
8baa7864
TS
48182015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4819
bdeb752c
TS
4820 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4821 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4822
ecd4fd43
TS
4823 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4824 acc_device_nvidia usage.
4825 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4828
aa8b7d30
TS
4829 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4830 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4831
7c8f138d
TS
4832 PR libgomp/66518
4833 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4834
8baa7864
TS
4835 PR libgomp/65437
4836 PR libgomp/66518
4837 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4838 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4839
88ebcde5
TV
48402015-10-23 Tom de Vries <tom@codesourcery.com>
4841
4842 PR testsuite/68063
4843 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4844
9ef83c04
NS
48452015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4846
4847 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4848 vector_length.
4849 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4850
3837c6d6
IV
48512015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4852 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4853
4854 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4855 to 0 when mapnum is 0.
4856
ac8a1965
SH
48572015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4858
4859 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4860 Cast to int from int32_t.
4861
d9a6bd32
JJ
48622015-10-13 Jakub Jelinek <jakub@redhat.com>
4863 Aldy Hernandez <aldyh@redhat.com>
4864 Ilya Verbin <ilya.verbin@intel.com>
4865
4866 * config/linux/affinity.c (omp_get_place_num_procs,
4867 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4868 * config/linux/doacross.h: New file.
4869 * config/posix/affinity.c (omp_get_place_num_procs,
4870 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4871 * config/posix/doacross.h: New file.
4872 * env.c: Include gomp-constants.h.
4873 (struct gomp_task_icv): Rename run_sched_modifier to
4874 run_sched_chunk_size.
4875 (gomp_max_task_priority_var): New variable.
4876 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4877 (handle_omp_display_env): Change _OPENMP value from 201307 to
4878 201511. Print OMP_MAX_TASK_PRIORITY.
4879 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4880 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4881 chunk_size and run_sched_modifier to run_sched_chunk_size.
4882 (omp_get_max_task_priority, omp_get_initial_device,
4883 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4884 omp_get_partition_place_nums): New functions.
4885 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4886 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4887 to chunk_size.
4888 (omp_get_num_places_, omp_get_place_num_procs_,
4889 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4890 omp_get_place_proc_ids_8_, omp_get_place_num_,
4891 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4892 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4893 omp_get_max_task_priority_): New functions.
4894 * libgomp_g.h (GOMP_loop_doacross_static_start,
4895 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4896 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4897 GOMP_loop_ull_doacross_dynamic_start,
4898 GOMP_loop_ull_doacross_guided_start,
4899 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4900 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4901 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4902 GOMP_target_data_41, GOMP_target_update_41,
4903 GOMP_target_enter_exit_data): New prototypes.
4904 (GOMP_task): Add prototype argument.
4905 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4906 (struct gomp_doacross_work_share): New type.
4907 (struct gomp_work_share): Add doacross field.
4908 (struct gomp_task_icv): Rename run_sched_modifier to
4909 run_sched_chunk_size.
4910 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4911 GOMP_TASK_UNDEFERRED. Add comments.
4912 (struct gomp_task_depend_entry): Add comments.
4913 (struct gomp_task): Likewise.
4914 (struct gomp_taskgroup): Likewise.
4915 (struct gomp_target_task): New type.
4916 (struct gomp_team): Add comment.
4917 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4918 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4919 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4920 (struct target_var_desc): New type.
4921 (struct target_mem_desc): Adjust comment. Use struct
4922 target_var_desc instead of splay_tree_key for list.
4923 (REFCOUNT_INFINITY): Define.
4924 (struct splay_tree_key_s): Remove copy_from field.
4925 (struct gomp_device_descr): Add dev2dev_func field.
4926 (enum gomp_map_vars_kind): New enum.
4927 (gomp_map_vars): Add one argument.
4928 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4929 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4930 omp_get_place_num_procs, omp_get_place_num_procs_,
4931 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4932 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4933 omp_get_place_num_, omp_get_partition_num_places,
4934 omp_get_partition_num_places_, omp_get_partition_place_nums,
4935 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4936 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4937 omp_target_free, omp_target_is_present, omp_target_memcpy,
4938 omp_target_memcpy_rect, omp_target_associate_ptr and
4939 omp_target_disassociate_ptr.
4940 (GOMP_4.0.2): Renamed to ...
4941 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4942 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4943 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4944 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4945 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4946 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4947 GOMP_loop_ull_doacross_guided_start,
4948 GOMP_loop_ull_doacross_runtime_start,
4949 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4950 GOMP_doacross_ull_wait.
4951 * libgomp.texi: Document omp_get_max_task_priority.
4952 Rename modifier argument to chunk_size for omp_set_schedule and
4953 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4954 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4955 to run_sched_chunk_size renaming.
4956 (GOMP_loop_ordered_runtime_start): Likewise.
4957 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4958 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4959 GOMP_parallel_loop_runtime_start): New functions.
4960 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4961 to run_sched_chunk_size renaming.
4962 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4963 GOMP_loop_doacross_guided_start): New functions or aliases.
4964 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4965 run_sched_modifier to run_sched_chunk_size renaming.
4966 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4967 (gomp_loop_ull_doacross_static_start,
4968 gomp_loop_ull_doacross_dynamic_start,
4969 gomp_loop_ull_doacross_guided_start,
4970 GOMP_loop_ull_doacross_runtime_start): New functions.
4971 (GOMP_loop_ull_doacross_static_start,
4972 GOMP_loop_ull_doacross_dynamic_start,
4973 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4974 * oacc-mem.c (acc_map_data, present_create_copy,
4975 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4976 to gomp_map_vars.
4977 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4978 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4979 instead of false to gomp_map_vars.
4980 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
4981 * omp.h.in (omp_lock_hint_t): New type.
4982 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4983 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4984 omp_get_place_num, omp_get_partition_num_places,
4985 omp_get_partition_place_nums, omp_get_initial_device,
4986 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4987 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4988 omp_target_associate_ptr, omp_target_disassociate_ptr): New
4989 prototypes.
4990 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4991 (omp_lock_hint_none, omp_lock_hint_uncontended,
4992 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4993 omp_lock_hint_speculative): New parameters.
4994 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4995 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4996 omp_get_place_num, omp_get_partition_num_places,
4997 omp_get_partition_place_nums, omp_get_initial_device,
4998 omp_get_max_task_priority): New interfaces.
4999 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5000 to chunk_size.
5001 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5002 (omp_lock_hint_none, omp_lock_hint_uncontended,
5003 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5004 omp_lock_hint_speculative): New parameters.
5005 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5006 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5007 omp_get_place_num, omp_get_partition_num_places,
5008 omp_get_partition_place_nums, omp_get_initial_device,
5009 omp_get_max_task_priority): New functions and subroutines.
5010 * ordered.c: Include stdarg.h and string.h.
5011 (MAX_COLLAPSED_BITS): Define.
5012 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5013 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5014 GOMP_doacross_ull_wait): New functions.
5015 * target.c: Include errno.h.
5016 (resolve_device): If device is not initialized, call
5017 gomp_init_device on it.
5018 (gomp_map_lookup): New function.
5019 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5020 Don't bump refcount if REFCOUNT_INFINITY. Handle
5021 GOMP_MAP_ALWAYS_TO_P.
5022 (get_kind): Rename is_openacc argument to short_mapkind.
5023 (gomp_map_pointer): Use gomp_map_lookup.
5024 (gomp_map_fields_existing): New function.
5025 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5026 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5027 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5028 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5029 Adjust for tgt->list changed type and copy_from living in there.
5030 (gomp_copy_from_async): Adjust for tgt->list changed type and
5031 copy_from living in there.
5032 (gomp_unmap_vars): Likewise.
5033 (gomp_update): Likewise. Rename is_openacc argument to
5034 short_mapkind. Don't fail if object is not mapped.
5035 (gomp_load_image_to_device): Initialize refcount to
5036 REFCOUNT_INFINITY.
5037 (gomp_target_fallback): New function.
5038 (gomp_get_target_fn_addr): Likewise.
5039 (GOMP_target): Adjust gomp_map_vars caller, use
5040 gomp_get_target_fn_addr and gomp_target_fallback.
5041 (GOMP_target_41): New function.
5042 (gomp_target_data_fallback): New function.
5043 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5044 (GOMP_target_data_41): New function.
5045 (GOMP_target_update): Adjust gomp_update caller.
5046 (GOMP_target_update_41): New function.
5047 (gomp_exit_data, GOMP_target_enter_exit_data,
5048 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5049 omp_target_is_present, omp_target_memcpy,
5050 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5051 omp_target_associate_ptr, omp_target_disassociate_ptr,
5052 gomp_load_plugin_for_device): New functions.
5053 * task.c: Include gomp-constants.h. Include taskloop.c
5054 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5055 (gomp_task_handle_depend): New function.
5056 (GOMP_task): Use it. Add priority argument. Use
5057 gomp-constant.h constants instead of hardcoded numbers.
5058 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5059 (gomp_create_target_task): New function.
5060 (verify_children_queue, verify_taskgroup_queue,
5061 verify_task_queue): New functions.
5062 (gomp_task_run_pre): Call verify_*_queue functions.
5063 If an upcoming tied task is about to leave the sibling or
5064 taskgroup queues in an invalid state, adjust appropriately.
5065 Remove taskgroup argument. Add comments.
5066 (gomp_task_run_post_handle_dependers): Add comments.
5067 (gomp_task_run_post_remove_parent): Likewise.
5068 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5069 (GOMP_taskwait): Likewise. Add comments.
5070 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5071 problem such that the first non parent_depends_on task does not
5072 end up at the end of the children queue.
5073 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5074 GOMP_TASK_UNDEFERRED.
5075 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5076 * taskloop.c: New file.
5077 * testsuite/lib/libgomp.exp
5078 (check_effective_target_offload_device_nonshared_as): New proc.
5079 * testsuite/libgomp.c/affinity-2.c: New test.
5080 * testsuite/libgomp.c/doacross-1.c: New test.
5081 * testsuite/libgomp.c/doacross-2.c: New test.
5082 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5083 Add map clause to target.
5084 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5085 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5086 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5087 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5088 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5089 Likewise.
5090 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5091 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5092 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5093 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5094 not defined. Use those where needed.
5095 * testsuite/libgomp.c/for-4.c: New test.
5096 * testsuite/libgomp.c/for-5.c: New test.
5097 * testsuite/libgomp.c/for-6.c: New test.
5098 * testsuite/libgomp.c/linear-1.c: New test.
5099 * testsuite/libgomp.c/ordered-4.c: New test.
5100 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5101 only allowed on the loop iterator.
5102 * testsuite/libgomp.c/pr66199-3.c: New test.
5103 * testsuite/libgomp.c/pr66199-4.c: New test.
5104 * testsuite/libgomp.c/reduction-7.c: New test.
5105 * testsuite/libgomp.c/reduction-8.c: New test.
5106 * testsuite/libgomp.c/reduction-9.c: New test.
5107 * testsuite/libgomp.c/reduction-10.c: New test.
5108 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5109 map(tofrom:s).
5110 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5111 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5112 * testsuite/libgomp.c/target-11.c: New test.
5113 * testsuite/libgomp.c/target-12.c: New test.
5114 * testsuite/libgomp.c/target-13.c: New test.
5115 * testsuite/libgomp.c/target-14.c: New test.
5116 * testsuite/libgomp.c/target-15.c: New test.
5117 * testsuite/libgomp.c/target-16.c: New test.
5118 * testsuite/libgomp.c/target-17.c: New test.
5119 * testsuite/libgomp.c/target-18.c: New test.
5120 * testsuite/libgomp.c/target-19.c: New test.
5121 * testsuite/libgomp.c/target-20.c: New test.
5122 * testsuite/libgomp.c/target-21.c: New test.
5123 * testsuite/libgomp.c/target-22.c: New test.
5124 * testsuite/libgomp.c/target-23.c: New test.
5125 * testsuite/libgomp.c/target-24.c: New test.
5126 * testsuite/libgomp.c/target-25.c: New test.
5127 * testsuite/libgomp.c/target-26.c: New test.
5128 * testsuite/libgomp.c/target-27.c: New test.
5129 * testsuite/libgomp.c/taskloop-1.c: New test.
5130 * testsuite/libgomp.c/taskloop-2.c: New test.
5131 * testsuite/libgomp.c/taskloop-3.c: New test.
5132 * testsuite/libgomp.c/taskloop-4.c: New test.
5133 * testsuite/libgomp.c++/ctor-13.C: New test.
5134 * testsuite/libgomp.c++/doacross-1.C: New test.
5135 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5136 Replace offload_device with offload_device_nonshared_as.
5137 * testsuite/libgomp.c++/for-12.C: New test.
5138 * testsuite/libgomp.c++/for-13.C: New test.
5139 * testsuite/libgomp.c++/for-14.C: New test.
5140 * testsuite/libgomp.c++/linear-1.C: New test.
5141 * testsuite/libgomp.c++/member-1.C: New test.
5142 * testsuite/libgomp.c++/member-2.C: New test.
5143 * testsuite/libgomp.c++/member-3.C: New test.
5144 * testsuite/libgomp.c++/member-4.C: New test.
5145 * testsuite/libgomp.c++/member-5.C: New test.
5146 * testsuite/libgomp.c++/ordered-1.C: New test.
5147 * testsuite/libgomp.c++/reduction-5.C: New test.
5148 * testsuite/libgomp.c++/reduction-6.C: New test.
5149 * testsuite/libgomp.c++/reduction-7.C: New test.
5150 * testsuite/libgomp.c++/reduction-8.C: New test.
5151 * testsuite/libgomp.c++/reduction-9.C: New test.
5152 * testsuite/libgomp.c++/reduction-10.C: New test.
5153 * testsuite/libgomp.c++/reference-1.C: New test.
5154 * testsuite/libgomp.c++/simd14.C: New test.
5155 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5156 * testsuite/libgomp.c++/target-5.C: New test.
5157 * testsuite/libgomp.c++/target-6.C: New test.
5158 * testsuite/libgomp.c++/target-7.C: New test.
5159 * testsuite/libgomp.c++/target-8.C: New test.
5160 * testsuite/libgomp.c++/target-9.C: New test.
5161 * testsuite/libgomp.c++/target-10.C: New test.
5162 * testsuite/libgomp.c++/target-11.C: New test.
5163 * testsuite/libgomp.c++/target-12.C: New test.
5164 * testsuite/libgomp.c++/taskloop-1.C: New test.
5165 * testsuite/libgomp.c++/taskloop-2.C: New test.
5166 * testsuite/libgomp.c++/taskloop-3.C: New test.
5167 * testsuite/libgomp.c++/taskloop-4.C: New test.
5168 * testsuite/libgomp.c++/taskloop-5.C: New test.
5169 * testsuite/libgomp.c++/taskloop-6.C: New test.
5170 * testsuite/libgomp.c++/taskloop-7.C: New test.
5171 * testsuite/libgomp.c++/taskloop-8.C: New test.
5172 * testsuite/libgomp.c++/taskloop-9.C: New test.
5173 * testsuite/libgomp.fortran/affinity1.f90: New test.
5174 * testsuite/libgomp.fortran/affinity2.f90: New test.
5175
1f600fea
TV
51762015-10-13 Tom de Vries <tom@codesourcery.com>
5177
5178 PR tree-optimization/67476
5179 * testsuite/libgomp.c/autopar-3.c: New test.
5180 * testsuite/libgomp.c/autopar-4.c: New test.
5181 * testsuite/libgomp.c/autopar-5.c: New test.
5182 * testsuite/libgomp.c/autopar-6.c: New test.
5183 * testsuite/libgomp.c/autopar-7.c: New test.
5184 * testsuite/libgomp.c/autopar-8.c: New test.
5185
058a654b
JN
51862015-10-12 James Norris <jnorris@codesourcery.com>
5187
5188 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5189 initializer.
5190
9e531d37
DM
51912015-10-09 David Malcolm <dmalcolm@redhat.com>
5192
5193 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5194 using load_gcc_lib.
5195
113020dc
TS
51962015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5197
5198 * oacc-ptx.h: Remove file, moving its content into...
5199 * config/nvptx/fortran.c: ... here...
5200 * config/nvptx/oacc-init.c: ..., here...
5201 * config/nvptx/oacc-parallel.c: ..., and here.
5202 * config/nvptx/openacc.f90: New file.
5203 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5204 (link_ptx): Don't link in predefined bits of PTX code.
5205
cc3cd79b
NS
52062015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5207 Bernd Schmidt <bernds@codesourcery.com>
5208
5209 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5210 (struct targ_ptx_obj): New.
5211 (nvptx_tdata): Move earlier, change data format.
5212 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5213 objects.
5214 (GOMP_OFFLOAD_load_image): Adjust.
5215
4e2a5450
TS
52162015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5217
5218 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5219 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5220 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5221 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5222 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5223 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5224 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5225 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5226 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5227 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5228 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5229 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5230 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5231 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5232 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5233 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5234 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5235 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5236 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5237 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5238 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5239 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5240 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5241 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5242 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5243 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5244 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5245 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5246 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5247 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5248 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5249 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5250 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5251 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5252 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5253 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5254 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5255 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5256 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5258 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5259 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5260 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5261 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5262 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5263 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5264 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5265 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5266 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5267 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5268 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5269 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5270 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5271 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5272 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5273 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5274 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5275 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5276 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5277 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5278 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5279 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5280 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5281
164453bb
NS
52822015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5283
5284 * oacc-init.c (acc_on_device): Force optimization level.
5285
a12a0437
NS
52862015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5287
5288 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5289 (cuda_errlist): Delete.
5290 (cuda_error): Reimplement.
5291
3e32ee19
NS
52922015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5293
5294 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5295 array.
5296 * libgomp.map (GOACC_parallel_keyed): New.
5297 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5298 all callers.
5299 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5300 and take keyed varargs list. Adjust call to exec_func.
5301 (GOACC_parallel): Force host fallback.
5302 * libgomp_g.h (GOACC_parallel): Remove.
5303 (GOACC_parallel_keyed): Declare.
5304 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5305 (stuct targ_gn_descriptor): Replace name field with launch field.
5306 (nvptx_exec): Lose separate geometry args, take array. Process
5307 dynamic dimensions and adjust.
5308 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5309 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5310 data.
5311 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5312 passing.
5313 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5314 passing.
5315
6bb4c3e2
CLT
53162015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5317
5318 PR libgomp/67141
5319 * oacc-int.h (goacc_host_init): Add declaration.
5320 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5321 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5322
74032f47 53232015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 5324 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
5325
5326 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5327 match o/p.
5328 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5329 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5330 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5331 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5332 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5333
97875f4a
JJ
53342015-09-03 Jakub Jelinek <jakub@redhat.com>
5335
5336 * configure.tgt: Add missing ;; in between nvptx and rtems
5337 snippets.
5338
06441dd5
SH
53392015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5340
5341 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5342 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5343 (gomp_thread_pool_reservoir): Add priority member.
5344 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5345 priority.
5346 (parse_thread_pools): Likewise.
5347 * team.c (gomp_team_start): Call configuration provided
5348 gomp_adjust_thread_attr(). Destroy thread attributes if
5349 necessary.
5350 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5351
66c59f92
SH
53522015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5353
5354 * config/posix/pool.h: New.
5355 * config/rtems/pool.h: Likewise.
5356 * config/rtems/proc.c: Likewise.
5357 * libgomp.h (gomp_thread_destructor): Declare.
5358 * team.c: Include configuration provided "pool.h".
5359 (gomp_get_thread_pool): Define in configuration.
5360 (gomp_team_end): Call configuration defined
5361 gomp_release_thread_pool().
5362
13c41b2e
SH
53632015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5364
5365 * config/rtems/bar.c: New.
5366 * config/rtems/bar.h: Likewise.
5367 * config/rtems/mutex.c: Likewise.
5368 * config/rtems/mutex.h: Likewise.
5369 * config/rtems/sem.c: Likewise.
5370 * config/rtems/sem.h: Likewise.
5371 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5372 <sys/lock.h> header file.
5373 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5374 supported by Newlib.
5375 * configure: Regenerate.
5376
7892ec67
SH
53772015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5378
5379 * team.c (gomp_new_thread_pool): Delete and move content to ...
5380 (gomp_get_thread_pool): ... new function. Allocate and
5381 initialize thread pool on demand.
5382 (get_last_team): Use gomp_get_thread_pool().
5383 (gomp_team_start): Delete thread pool initialization.
5384
1b96e9a4
TV
53852015-09-03 Tom de Vries <tom@codesourcery.com>
5386
5387 PR tree-optimization/65637
5388 * testsuite/libgomp.c/autopar-2.c: New test.
5389
3ff2d74e
TV
53902015-08-29 Tom de Vries <tom@codesourcery.com>
5391
5392 PR tree-optimization/46193
5393 * testsuite/libgomp.c/pr46193.c: New test.
5394
2a21ff19
NS
53952015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5396
5397 libgomp/
5398 * libgomp.map: Add 4.0.2 version.
5399 * target.c (offload_image_descr): Add version field.
5400 (gomp_load_image_to_device): Add version argument. Adjust plugin
5401 call. Improve load mismatch diagnostic.
5402 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5403 call.
5404 (GOMP_offload_regster): Make stub function, move bulk to ...
5405 (GOMP_offload_register_ver): ... here. Process version argument.
5406 (GOMP_offload_unregister): Make stub function, move bulk to ...
5407 (GOMP_offload_unregister_ver): ... here. Process version argument.
5408 (gomp_init_device): Process version field.
5409 (gomp_unload_device): Process version field.
5410 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5411 macros. Check plugin version.
5412 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5413 loader and unloader types.
5414 * oacc-host.c: Include gomp-constants.h.
5415 (host_version): New.
5416 (host_load_image, host_unload_image): Adjust.
5417 (host_dispatch): Add host_version.
5418 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5419 (GOMP_OFFLOAD_version): New.
5420 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5421 (GOMP_OFFLOAD_unload_image): Likewise.
5422 * plugin/plugin-host.c: Include gomp-constants.h.
5423 (GOMP_OFFLOAD_version): New.
5424 (GOMP_OFFLOAD_load_image): Add version arg.
5425 (GOMP_OFFLOAD_unload_image): Likewise.
5426
1358a747
TV
54272015-08-24 Tom de Vries <tom@codesourcery.com>
5428
5429 PR tree-optimization/65468
5430 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5431
6be5c241
TV
54322015-08-24 Tom de Vries <tom@codesourcery.com>
5433
5434 PR tree-optimization/65468
5435 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5436
bfe7ac89
JV
54372015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5438
5439 PR libgomp/66761
5440 PR libgomp/67303
5441 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5442 (gomp_iter_guided_next): Idem.
5443 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5444 (gomp_iter_ull_guided_next): Idem.
5445 * config/linux/wait.h (do_spin): Idem.
5446
b97e78b7
TS
54472015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5448
5449 * libgomp-plugin.h (enum offload_target_type): Remove
5450 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5451 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5452 * openacc.h (enum acc_device_t): Likewise.
5453 * openacc_lib.h: Likewise.
5454 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5455 (acc_on_device): Just use __builtin_acc_on_device.
5456 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5457 of acc_on_device builtin.
5458 * plugin/plugin-host.h: Remove file.
5459 * plugin/plugin-host.c: Likewise, but salvage some content into...
5460 * oacc-host.c: ... this file.
5461 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5462 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5463 * Makefile.in: Regenerate.
5464 * configure: Likewise.
5465 * testsuite/lib/libgomp.exp
5466 (check_effective_target_openacc_host_nonshm_selected): Remove.
5467 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5468 ACC_DEVICE_TYPE=host_nonshm.
5469 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5470 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5471 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5472 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5473 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5474 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5475
44a7d18d
TS
54762015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5477 Jakub Jelinek <jakub@redhat.com>
5478
5479 * config/nvptx/affinity.c: New file.
5480 * config/nvptx/alloc.c: Likewise.
5481 * config/nvptx/bar.c: Likewise.
5482 * config/nvptx/barrier.c: Likewise.
5483 * config/nvptx/critical.c: Likewise.
5484 * config/nvptx/env.c: Likewise.
5485 * config/nvptx/error.c: Likewise.
5486 * config/nvptx/fortran.c: Likewise.
5487 * config/nvptx/iter.c: Likewise.
5488 * config/nvptx/iter_ull.c: Likewise.
5489 * config/nvptx/libgomp-plugin.c: Likewise.
5490 * config/nvptx/lock.c: Likewise.
5491 * config/nvptx/loop.c: Likewise.
5492 * config/nvptx/loop_ull.c: Likewise.
5493 * config/nvptx/mutex.c: Likewise.
5494 * config/nvptx/oacc-async.c: Likewise.
5495 * config/nvptx/oacc-cuda.c: Likewise.
5496 * config/nvptx/oacc-host.c: Likewise.
5497 * config/nvptx/oacc-init.c: Likewise.
5498 * config/nvptx/oacc-mem.c: Likewise.
5499 * config/nvptx/oacc-parallel.c: Likewise.
5500 * config/nvptx/oacc-plugin.c: Likewise.
5501 * config/nvptx/omp-lock.h: Likewise.
5502 * config/nvptx/ordered.c: Likewise.
5503 * config/nvptx/parallel.c: Likewise.
5504 * config/nvptx/proc.c: Likewise.
5505 * config/nvptx/ptrlock.c: Likewise.
5506 * config/nvptx/sections.c: Likewise.
5507 * config/nvptx/sem.c: Likewise.
5508 * config/nvptx/single.c: Likewise.
5509 * config/nvptx/splay-tree.c: Likewise.
5510 * config/nvptx/target.c: Likewise.
5511 * config/nvptx/task.c: Likewise.
5512 * config/nvptx/team.c: Likewise.
5513 * config/nvptx/time.c: Likewise.
5514 * config/nvptx/work.c: Likewise.
5515 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5516 * configure: Regenerate.
5517 * configure.tgt (config_path): Set to "nvptx" for target
5518 nvptx*-*-*.
5519
96a2d174
TS
55202015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5521
5522 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5523
9ebddeb0
NS
55242015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5525
5526 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5527 (cuda_errlist): Constify.
5528 (errmsg): Move into ...
5529 (cuda_error): ... here. Make smaller.
5530 (_XSTR, _STR): Delete.
5531 (cuda_synames): Delete.
5532 (verify_device_library): Delete.
5533 (nvptx_init): Don't call it.
5534
12efb1d7
TV
55352015-07-28 Tom de Vries <tom@codesourcery.com>
5536
5537 * testsuite/libgomp.c/uns-outer-4.c: New test.
5538
710ee218
CP
55392015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5540
5541 * testsuite/libgomp.c/pr66714.c: New test.
5542
27c4ac7d
MB
55432015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5544
5545 PR libgomp/66950
5546 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5547 (fib_ref): New function.
5548 (fib): Correct corner cases in the recursion.
5549 (main): Replace the non-simd loop with fib_ref call.
5550 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5551 subroutine.
5552 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5553 for the last array element value. Replace the non-simd loop with
5554 fib_ref call. Remove redundant b_ref array. Remove the comparison
5555 of the last array element with according Fibonacci sequence element.
5556 (fib): Correct corner cases in the recursion.
5557
22be2349
NS
55582015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5559
5560 * target.c (gomp_offload_image_to_device): Rename to ...
5561 (gomp_load_image_to_device): ... here.
5562 (GOMP_offload_register): Adjust call.
5563 (gomp_init_device): Likewise.
5564 (gomp_unload_image_from_device): New. Broken out of ...
5565 (GOMP_offload_unregister): ... here. Call it.
5566 (gomp_unload_device): New.
5567 * libgomp.h (gomp_unload_device): Declare.
5568 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5569 mem maps.
5570
f3e9a059
NS
55712015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5572
a091118d
NS
5573 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5574 wait=-specific if.
5575 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5576 !=0 condition.
5577 (goacc_waits): Move !num_waits handling to ...
5578 (GOACC_wait): ... here, the only caller that might have zero waits.
5579
f3e9a059
NS
5580 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5581 (struct ptx_image_data): Move earlier, add fns field.
5582 (struct ptx_device): Add images and image_lock fields.
5583 (ptx_images, ptx_image_lock): Delete.
5584 (nvptx_open_device): Initialize images and image_lock fields.
5585 (nvptx_close_device): Destroy image_lock.
5586 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5587 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5588 fields.
5589
afb2d80b
NS
55902015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5591
896c28a7
NS
5592 * target.c (GOMP_offload_register): Use int for device type arg.
5593 (GOMP_offload_unregister): Likewise.
5594
ebe4a560
NS
5595 * target.c (struct_offload_image_descr): Constify host_table.
5596 (gomp_offload_image_to_device): Likewise.
5597 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5598
afb2d80b
NS
5599 * libgomp.h (gomp_device_descr): Constify target data arguments.
5600 * target.c (struct offload_image_descr): Constify target_data.
5601 (gomp_offload_image_to_device): Likewise.
5602 (GOMP_offload_register): Likewise.
5603 (GOMP_offload_unrefister): Likewise.
5604 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5605 GOMP_OFFLOAD_unload_image): Constify target data.
5606 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5607 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5608
a4cb876d
NS
56092015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5610
5611 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5612 Workaround driver library const error.
5613 (struct nvptx_tdata, nvptx_tdata_t): New.
5614 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5615 type.
5616
28ef6a27
MB
56172015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5618
5619 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5620 of EPS parameter from integer to real.
5621 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5622 type of EPS parameter from integer to real.
5623
6dba0113
SH
56242015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5625
5626 * team.c (get_last_team): New.
5627 (gomp_new_team): Recycle last non-nested team if possible.
5628 (gomp_team_end): Move team work share list free lock destruction
5629 to ...
5630 (free_team): ... here.
5631
4c1cb4da
MB
56322015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5633
5634 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5635 and ref from int to double. Replaced their comparison with
5636 an inequality of their difference and EPS.
5637 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5638 comparison of pri and a reference number with an inequality of their
5639 difference and EPS.
5640 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5641 the comparison of sum and sum_ref with an inequality of their
5642 difference and EPS.
5643 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5644 the comparison of pri and a reference number with an inequality of
5645 their difference and EPS.
5646
343587dc
MB
56472015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5648
5649 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5650 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5651 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5652 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5653 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5654 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5655 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5656 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5657 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5658 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5659 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5660 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5661 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5662 variables.
5663 (vec_mult): Likewise. Add #pragma omp taskwait.
5664 (main): Adjust caller.
5665 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5666 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5667 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5668 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5669 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5670 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5671 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5672 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5673 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5674 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5675 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5676 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5677 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5678 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5679 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5680 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5681 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5682 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5683 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5684 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5685 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5686 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5687 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5688 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5689 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5690 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5691 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5692 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5693 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5694 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5695 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5696 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5697 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5698 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5699 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5700 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5701 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5702 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5703 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5704 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5705 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5706 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5707 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5708 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5709 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5710 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5711 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5712 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5713 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5714 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5715 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5716 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5717 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5718 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5719 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5720 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5721 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5722 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5723 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5724 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5725 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5726 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5727 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5728 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5729 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5730 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5731 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5732 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5733 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5734 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5735 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5736 (vec_mult): Add !$omp taskwait.
5737 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5738 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5739 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5740 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5741 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5742 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5743 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5744 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5745 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5746 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5747 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5748 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5749 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5750 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5751 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5752 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5753 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5754 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5755 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5756 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5757 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5758 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5759 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5760 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5761 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5762 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5763 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5764 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5765 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5766 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5767 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5768 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5769 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5770 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5771 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5772 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5773 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5774 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5775 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5776 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5777 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5778 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5779 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5780 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5781 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5782 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5783 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5784 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5785 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5786 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5787 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5788 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5789 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5790 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5791 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5792 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5793 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5794 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5795 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5796 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5797 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5798 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5799 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5800 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5801 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5802 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5803 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5804
9f620bf1
TV
58052015-07-10 Tom de Vries <tom@codesourcery.com>
5806
5807 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5808 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5809
a92defda
TS
58102015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5811
5812 PR libgomp/65099
5813 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5814 in a 64-bit configuration.
5815 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5816 offloading testing if no such device is available.
5817 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5818 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5819
cadb53a5
TV
58202015-07-08 Tom de Vries <tom@codesourcery.com>
5821
5822 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5823 second call to f.
5824 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5825
712cb0bb
TV
58262015-07-07 Tom de Vries <tom@codesourcery.com>
5827
5828 PR tree-optimization/66642
5829 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5830 iteration count case.
5831 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5832 function, factor out of ...
5833 (main): ... here. Test low iteration count case.
5834
e5210c77
SH
58352015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5836
5837 * libgomp.h (gomp_thread_pool): Comment last_team field.
5838
f70360e7
UB
58392015-07-02 Uros Bizjak <ubizjak@gmail.com>
5840
5841 * testsuite/libgomp.c++/pr66702-1.C: Require
5842 vect_simd_clones effective target.
5843 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5844
b451c271
TV
58452015-06-30 Tom de Vries <tom@codesourcery.com>
5846
5847 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5848 already set. Use DEFAULT_CFLAGS in dg-runtest.
5849 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5850 "-O2".
5851
f8e89d9f
TV
58522015-06-30 Tom de Vries <tom@codesourcery.com>
5853
5854 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5855 already set. Use DEFAULT_CFLAGS in dg-runtest.
5856 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5857 * testsuite/libgomp.c++/pr64824.C: Same.
5858 * testsuite/libgomp.c++/pr64868.C: Same.
5859 * testsuite/libgomp.c++/pr66199-1.C: Same.
5860 * testsuite/libgomp.c++/pr66199-2.C: Same.
5861 * testsuite/libgomp.c++/target-2.C: Same.
5862 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5863 -std=<standard> option.
5864 * testsuite/libgomp.c++/udr-11.C: Same.
5865 * testsuite/libgomp.c++/udr-12.C: Same.
5866 * testsuite/libgomp.c++/udr-13.C: Same.
5867 * testsuite/libgomp.c++/udr-14.C: Same.
5868 * testsuite/libgomp.c++/udr-15.C: Same.
5869 * testsuite/libgomp.c++/udr-16.C: Same.
5870 * testsuite/libgomp.c++/udr-17.C: Same.
5871 * testsuite/libgomp.c++/udr-18.C: Same.
5872 * testsuite/libgomp.c++/udr-19.C: Same.
5873 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5874 * testsuite/libgomp.c++/simd-1.C: Same.
5875 * testsuite/libgomp.c++/simd-2.C: Same.
5876 * testsuite/libgomp.c++/simd-3.C: Same.
5877 * testsuite/libgomp.c++/simd-4.C: Same.
5878 * testsuite/libgomp.c++/simd-5.C: Same.
5879 * testsuite/libgomp.c++/simd-6.C: Same.
5880 * testsuite/libgomp.c++/simd-7.C: Same.
5881 * testsuite/libgomp.c++/simd-8.C: Same.
5882 * testsuite/libgomp.c++/simd-9.C: Same.
5883 * testsuite/libgomp.c++/simd10.C: Same.
5884 * testsuite/libgomp.c++/simd11.C: Same.
5885 * testsuite/libgomp.c++/simd12.C: Same.
5886 * testsuite/libgomp.c++/simd13.C: Same.
5887
3446fe48
JJ
58882015-06-30 Jakub Jelinek <jakub@redhat.com>
5889
5890 PR middle-end/66702
5891 * testsuite/libgomp.c++/pr66702-1.C: New test.
5892 * testsuite/libgomp.c++/pr66702-2.C: New test.
5893
8a36714a
TV
58942015-06-30 Tom de Vries <tom@codesourcery.com>
5895
5896 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5897 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5898 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5899 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5900
4f75d608
TV
59012015-06-30 Tom de Vries <tom@codesourcery.com>
5902
5903 PR tree-optimization/66652
5904 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5905 using restrict pointers.
5906 (main): Add arguments to calls to f.
5907 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5908
6d9d1eeb
AT
59092015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5910
5911 * configure.ac: Fix check for header <sys/sysctl.h>.
5912 * configure: Regenerate.
5913 * config.h.in: Likewise.
5914
1222f22b
TV
59152015-06-23 Tom de Vries <tom@codesourcery.com>
5916
5917 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5918 abort.
5919 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5920
d7efbbf6
TS
59212015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5922
bfcd036f
TS
5923 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5924 acc_device_nvidia.
5925
d7efbbf6
TS
5926 PR libgomp/66518
5927 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5928 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5929
d7bfc710
TV
59302015-06-15 Tom de Vries <tom@codesourcery.com>
5931
5932 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5933 dg-additional-options for any remaining options.
5934 * testsuite/libgomp.c/atomic-2.c: Same.
5935 * testsuite/libgomp.c/atomic-4.c: Same.
5936 * testsuite/libgomp.c/atomic-5.c: Same.
5937 * testsuite/libgomp.c/atomic-6.c: Same.
5938 * testsuite/libgomp.c/autopar-1.c: Same.
5939 * testsuite/libgomp.c/copyin-1.c: Same.
5940 * testsuite/libgomp.c/copyin-2.c: Same.
5941 * testsuite/libgomp.c/copyin-3.c: Same.
5942 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5943 * testsuite/libgomp.c/nestedfn-5.c: Same.
5944 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5945 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5946 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5947 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5948 * testsuite/libgomp.c/pr32362-1.c: Same.
5949 * testsuite/libgomp.c/pr32362-2.c: Same.
5950 * testsuite/libgomp.c/pr32362-3.c: Same.
5951 * testsuite/libgomp.c/pr39591-1.c: Same.
5952 * testsuite/libgomp.c/pr39591-2.c: Same.
5953 * testsuite/libgomp.c/pr39591-3.c: Same.
5954 * testsuite/libgomp.c/pr58392.c: Same.
5955 * testsuite/libgomp.c/pr58756.c: Same.
5956 * testsuite/libgomp.c/simd-1.c: Same.
5957 * testsuite/libgomp.c/simd-10.c: Same.
5958 * testsuite/libgomp.c/simd-11.c: Same.
5959 * testsuite/libgomp.c/simd-12.c: Same.
5960 * testsuite/libgomp.c/simd-13.c: Same.
5961 * testsuite/libgomp.c/simd-14.c: Same.
5962 * testsuite/libgomp.c/simd-15.c: Same.
5963 * testsuite/libgomp.c/simd-2.c: Same.
5964 * testsuite/libgomp.c/simd-3.c: Same.
5965 * testsuite/libgomp.c/simd-4.c: Same.
5966 * testsuite/libgomp.c/simd-5.c: Same.
5967 * testsuite/libgomp.c/simd-6.c: Same.
5968 * testsuite/libgomp.c/simd-7.c: Same.
5969 * testsuite/libgomp.c/simd-8.c: Same.
5970 * testsuite/libgomp.c/simd-9.c: Same.
5971
fb5b5352
TV
59722015-06-15 Tom de Vries <tom@codesourcery.com>
5973
5974 * testsuite/libgomp.c/pr35625.c: Fix typo.
5975
ca431bef
TV
59762015-06-15 Tom de Vries <tom@codesourcery.com>
5977
5978 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5979 in dg-options.
5980 * testsuite/libgomp.c/atomic-3.c: Same.
5981 * testsuite/libgomp.c/debug-1.c: Same.
5982 * testsuite/libgomp.c/nqueens-1.c: Same.
5983 * testsuite/libgomp.c/pr26171.c: Same.
5984 * testsuite/libgomp.c/pr48591.c: Same.
5985 * testsuite/libgomp.c/pr64824.c: Same.
5986 * testsuite/libgomp.c/pr64868.c: Same.
5987 * testsuite/libgomp.c/pr66133.c: Same.
5988 * testsuite/libgomp.c/pr66199-1.c: Same.
5989 * testsuite/libgomp.c/pr66199-2.c: Same.
5990 * testsuite/libgomp.c/target-8.c: Same.
5991
0d8a9e20
TV
59922015-06-15 Tom de Vries <tom@codesourcery.com>
5993
5994 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5995 -std={gnu99,c99}.
5996 * testsuite/libgomp.c/for-1.c: Same.
5997 * testsuite/libgomp.c/for-2.c: Same.
5998 * testsuite/libgomp.c/for-3.c: Same.
5999 * testsuite/libgomp.c/pr35625.c: Same.
6000 * testsuite/libgomp.c/pr39154.c: Same.
6001 * testsuite/libgomp.c/simd-16.c: Same.
6002 * testsuite/libgomp.c/simd-17.c: Same.
6003
a6860be9
TV
60042015-06-13 Tom de Vries <tom@codesourcery.com>
6005
6006 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6007
ab3306d2
TV
60082015-06-13 Tom de Vries <tom@codesourcery.com>
6009
6010 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6011 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6012 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6013 (N): Define.
6014 (main): Use N instead of hardcoded constants.
6015
7c82d827
TV
60162015-06-05 Tom de Vries <tom@codesourcery.com>
6017
6018 merge from gomp4 branch:
6019 2015-05-28 Tom de Vries <tom@codesourcery.com>
6020
6021 PR tree-optimization/65443
6022 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6023 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6024 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6025
c469078d
BRF
60262015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6027
6028 * testsuite/libgomp.graphite/bounds.c: Adjust for
6029 cleanup-tree-dump removal.
6030 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6031 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6032 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6033 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6034 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6035 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6036 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6037 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6038 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6039 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6040
bb3caa35
UB
60412015-05-28 Uros Bizjak <ubizjak@gmail.com>
6042
6043 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6044 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6045 (futex_wake) [!__x86_64__]: Ditto.
6046
9fb5fd44
JB
60472015-05-28 Julian Brown <julian@codesourcery.com>
6048
6049 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6050 function comment. Only call gomp_fatal if new argument is true.
6051 (acc_dev_num_out_of_range): New function.
6052 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6053 acc_dev_num_out_of_range as appropriate.
6054 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6055 (acc_get_device_num, acc_set_device_num): Update calls to
6056 resolve_device.
9fb5fd44
JB
6057 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6058 output.
6059
32eaed93
JB
60602015-05-28 Julian Brown <julian@codesourcery.com>
6061
6062 PR libgomp/65742
32eaed93
JB
6063 * oacc-init.c (plugin/plugin-host.h): Include.
6064 (acc_on_device): Check whether we're in an offloaded region for
6065 host_nonshm
6066 plugin. Don't use __builtin_acc_on_device.
6067 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6068 nonshm_exec flag in thread-local data.
6069 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6070 data for host_nonshm plugin.
6071 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6072 for host_nonshm plugin.
6073 * plugin/plugin-host.h: New.
6074
ea023bcf
UB
60752015-05-27 Uros Bizjak <ubizjak@gmail.com>
6076
8ed501f1
UB
6077 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6078
60792015-05-27 Uros Bizjak <ubizjak@gmail.com>
6080
6081 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6082 Declare as int.
6083 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6084 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6085 Declare as int.
6086
60872015-05-27 Uros Bizjak <ubizjak@gmail.com>
6088
bb3caa35 6089 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6090
1716efeb
CLT
60912015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6092
6093 * target.c (gomp_map_pointer): New function abstracting out
6094 GOMP_MAP_POINTER handling.
6095 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6096 gomp_map_pointer().
6097
41b37d5e
JJ
60982015-05-19 Jakub Jelinek <jakub@redhat.com>
6099
6100 PR middle-end/66199
6101 * testsuite/libgomp.c/pr66199-1.c: New test.
6102 * testsuite/libgomp.c/pr66199-2.c: New test.
6103 * testsuite/libgomp.c++/pr66199-1.C: New test.
6104 * testsuite/libgomp.c++/pr66199-2.C: New test.
6105 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6106 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6107
c8319826
JB
61082015-05-19 Julian Brown <julian@codesourcery.com>
6109
6110 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6111 on cuInit failure.
6112
b37dddbc
JJ
61132015-05-13 Jakub Jelinek <jakub@redhat.com>
6114
6115 PR middle-end/66133
6116 * testsuite/libgomp.c/pr66133.c: New test.
6117
55fba601
MH
61182015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6119
6120 * Makefile.in: Regenerated with automake-1.11.6.
6121 * aclocal.m4: Likewise.
6122 * config.h.in: Likewise.
6123 * configure: Likewise.
6124 * testsuite/Makefile.in: Likewise.
6125
1be0899d
JM
61262015-05-08 Jason Merrill <jason@redhat.com>
6127
6128 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6129 _Complex.
6130
6131 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6132
d2463960
JB
61332015-05-06 Julian Brown <julian@codesourcery.com>
6134
6135 * oacc-init.c (acc_device_lock): Add explanatory comment.
6136 (resolve_device): Add comment about locking requirement.
6137 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6138 gomp_init_device and gomp_fini_device calls.
6139 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6140 (acc_get_device_num, acc_set_device_num): Add locking around
6141 resolve_device and gomp_init_device calls.
6142
e38fdba4
JB
61432015-05-06 Julian Brown <julian@codesourcery.com>
6144
6145 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6146 goacc_thread_lock on error paths.
6147 * oacc-mem.c (lookup_host): Remove locking from function. Note
6148 locking requirement for caller in function comment.
6149 (lookup_dev): Likewise.
6150 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6151 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6152 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6153 Add locking.
6154
ae8ffbbb
TS
61552015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6156
6157 PR testsuite/65205
6158 PR libgomp/65993
6159 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6160 don't expect "0x" prefix for "%p" format specifier, don't expect
6161 "(nil)" for NULL pointer.
6162 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6166 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6173 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6174 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6175 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6176 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6177 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6178 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6179 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6180 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6181 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6182 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6183 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6184 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6185 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6186 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6188 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6189 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6190 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6191 accurately specify what we're looking for.
6192 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6193 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6194 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6195 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6196 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6197
1309f1d2
JN
61982015-04-30 James Norris <jnorris@codesourcery.com>
6199
6200 PR testsuite/65205
6201 * testsuite/lib/libgomp.exp
6202 (check_effective_target_openacc_host_selected)
6203 (check_effective_target_openacc_host_nonshm_selected): New
6204 procedures.
6205 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6206 dg-shouldfail.
6207 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6208 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6210 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6211 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6212 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6213 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6214 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6215 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6216 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6217 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6218 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6219 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6220 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6221 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6222 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6223 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6224 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6225 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6226 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6227 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6228 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6229 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6230 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6231 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6232 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6233 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6235 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6236 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6237 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6242 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6243 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6245 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6250
d93bdab5
JB
62512015-04-08 Julian Brown <julian@codesourcery.com>
6252
6253 * libgomp.h (target_mem_desc: Remove mem_map field.
6254 (acc_dispatch_t): Remove open_device_func, close_device_func,
6255 get_device_num_func, set_device_num_func, target_data members.
6256 Change create_thread_data_func argument to device number instead of
6257 generic pointer.
6258 * oacc-async.c (assert.h): Include.
6259 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6260 (acc_wait_all, acc_wait_all_async): Use current host thread's
6261 active device, not base_dev.
6262 * oacc-cuda.c (acc_get_current_cuda_device)
6263 (acc_get_current_cuda_context, acc_get_cuda_stream)
6264 (acc_set_cuda_stream): Likewise.
6265 * oacc-host.c (host_dispatch): Don't set open_device_func,
6266 close_device_func, get_device_num_func or set_device_num_func.
6267 * oacc-init.c (base_dev, init_key): Remove.
6268 (cached_base_dev): New.
6269 (name_of_acc_device_t): New.
6270 (acc_init_1): Initialise default-numbered device, not zeroth.
6271 (acc_shutdown_1): Close all devices of a given type.
6272 (goacc_destroy_thread): Don't use base_dev.
6273 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6274 (goacc_attach_host_thread_to_device): New.
6275 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6276 (acc_get_num_devices): Don't use base_dev.
6277 (acc_set_device_type): Reimplement.
6278 (acc_get_device_type): Don't use base_dev.
6279 (acc_get_device_num): Tweak logic.
6280 (acc_set_device_num): Likewise.
6281 (acc_on_device): Use acc_get_device_type.
6282 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6283 (goacc_lazy_initialize): Reimplement with acc_init and
6284 goacc_attach_host_thread_to_device.
6285 * oacc-int.h (goacc_thread): Add base_dev field.
6286 (base_dev): Remove extern declaration.
6287 (goacc_attach_host_thread_to_device): Add prototype.
6288 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6289 base_dev.
6290 (acc_free): Likewise.
6291 (acc_memcpy_to_device): Likewise.
6292 (acc_memcpy_from_device): Likewise.
6293 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6294 goacc_lazy_initialize (throughout).
6295 (GOACC_parallel): Use tgt_offset to locate target functions.
6296 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6297 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6298 (gomp_load_plugin_for_device): Remove open_device, close_device,
6299 get_device_num, set_device_num openacc hook initialisation. Don't set
6300 openacc.target_data.
6301 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6302 (GOMP_OFFLOAD_openacc_close_device)
6303 (GOMP_OFFLOAD_openacc_get_device_num)
6304 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6305 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6306 to int.
6307 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6308 (instantiated_devices, ptx_dev_lock): New.
6309 (struct ptx_image_data): New.
6310 (ptx_devices, ptx_images, ptx_image_lock): New.
6311 (fini_streams_for_device): Reorder cuStreamDestroy call.
6312 (nvptx_get_num_devices): Remove forward declaration.
6313 (nvptx_init): Change return type to bool.
6314 (nvptx_fini): Remove.
6315 (nvptx_attach_host_thread_to_device): New.
6316 (nvptx_open_device): Return struct ptx_device* instead of void*.
6317 (nvptx_close_device): Change argument type to struct ptx_device*,
6318 return type to void.
6319 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6320 (kernel_target_data, kernel_host_table): Remove static globals.
6321 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6322 (GOMP_OFFLOAD_init_device): Reimplement.
6323 (GOMP_OFFLOAD_fini_device): Likewise.
6324 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6325 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6326 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6327 (GOMP_OFFLOAD_openacc_open_device)
6328 (GOMP_OFFLOAD_openacc_close_device)
6329 (GOMP_OFFLOAD_openacc_set_device_num)
6330 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6331 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6332 (device number).
6333
6334 testsuite/
6335 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6336
a51df54e
IV
63372015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6338
6339 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6340 * libgomp.h (struct gomp_memory_mapping): Remove.
6341 (struct target_mem_desc): Change type of mem_map from
6342 gomp_memory_mapping * to splay_tree_s *.
6343 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6344 Add load_image_func, unload_image_func.
6345 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6346 Remove offload_regions_registered.
6347 (gomp_init_tables): Remove.
6348 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6349 to splay_tree_s *.
6350 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6351 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6352 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6353 offload_regions_registered.
6354 Initialize load_image_func, unload_image_func, mem_map.root.
6355 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6356 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6357 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6358 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6359 gomp_memory_mapping *. Use dev's lock and splay_tree.
6360 (lookup_dev): Use dev's lock.
6361 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6362 (acc_is_present): Likewise.
6363 (acc_map_data): Likewise.
6364 (acc_unmap_data): Likewise. Use dev's lock.
6365 (present_create_copy): Likewise.
6366 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6367 (update_dev_host): Likewise.
6368 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6369 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6370 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6371 (GOMP_OFFLOAD_get_table): Remove
6372 (GOMP_OFFLOAD_load_image): New function.
6373 (GOMP_OFFLOAD_unload_image): New function.
6374 * target.c (register_lock): New mutex for offload image registration.
6375 (num_devices): Do not guard with PLUGIN_SUPPORT.
6376 (gomp_realloc_unlock): New static function.
6377 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6378 before gomp_fatal.
6379 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6380 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6381 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6382 mem_map's.
6383 (gomp_unmap_vars): Likewise.
6384 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6385 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6386 (gomp_offload_image_to_device): New static function.
6387 (GOMP_offload_register): Add mutex lock.
6388 Call gomp_offload_image_to_device for all initialized devices.
6389 Replace gomp_realloc with gomp_realloc_unlock.
6390 (GOMP_offload_unregister): New function.
6391 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6392 get_table_func from the plugin with calls to init_device_func and
6393 gomp_offload_image_to_device.
6394 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6395 to splay_tree_s *.
6396 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6397 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6398 (GOMP_target_data): Do not call gomp_init_tables.
6399 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6400 (gomp_load_plugin_for_device): Replace register_image and get_table
6401 with load_image and unload_image in DLSYM ().
6402 (gomp_register_images_for_device): Remove function.
6403 (gomp_target_init): Do not initialize current_device.mem_map.*,
6404 current_device.offload_regions_registered.
6405 Remove call to gomp_register_images_for_device.
6406 Do not free offload_images and num_offload_images.
6407
6c384511
JJ
64082015-03-30 Jakub Jelinek <jakub@redhat.com>
6409
6410 PR fortran/65597
6411 * testsuite/libgomp.fortran/pr65597.f90: New test.
6412
3e8165a5
TV
64132015-03-27 Tom de Vries <tom@codesourcery.com>
6414
6415 PR testsuite/65594
6416 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6417 (init, check): New function.
6418 (foo): Change return type to void.
6419 (main): Call init and check.
6420
4d688c9a
TV
64212015-03-27 Tom de Vries <tom@codesourcery.com>
6422
6423 PR testsuite/65594
6424 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6425 (foo): Use M for non-inner loops to scale down test-case.
6426
01c0b3b0
KT
64272015-03-25 Kai Tietz <ktietz@redhat.com>
6428
6429 PR libgomp/64972
6430 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6431 (GOACC_data_start): Likewise.
6432 * target.c (gomp_map_vars): Likewise.
6433
844d9a76
JDA
64342015-03-21 John David Anglin <danglin@gcc.gnu.org>
6435
6436 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6437 hppa*-*-hpux*.
6438
9b65e171
JJ
64392015-03-19 Jakub Jelinek <jakub@redhat.com>
6440
6441 * testsuite/libgomp.c/target-10.c: New test.
6442 * testsuite/libgomp.c++/target-4.C: New test.
6443
db397e2e
IV
64442015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6445
6446 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6447 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6448
cd93945d
SH
64492015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6450
6451 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6452 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6453 (pthread.h): Check for this header file.
6454 * configure: Regenerate.
6455
05deba9f
TV
64562015-02-25 Tom de Vries <tom@codesourcery.com>
6457
6458 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6459 (check_reduction_op, check_reduction_macro, max, min):
6460 Declare.
6461 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6462 function.
6463 (main): Use new functions.
6464
196904d8
IT
64652015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6466
6467 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6468 char * for variables holding dlerror return values.
6469 (DLSYM_OPT): Ditto.
6470
a2818955
TS
64712015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6472
6473 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6474
26f93312
TS
64752015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6476 Cesar Philippidis <cesar@codesourcery.com>
6477
6478 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6479 GOACC_ctaid, and GOACC_nctaid routines.
6480
fa01ffcc
JJ
64812015-02-11 Jakub Jelinek <jakub@redhat.com>
6482
6483 PR c/64824
6484 * testsuite/libgomp.c/atomic-18.c: New test.
6485 * testsuite/libgomp.c++/atomic-16.C: New test.
6486
4886ec8e
JJ
64872015-02-04 Jakub Jelinek <jakub@redhat.com>
6488
6489 PR c/64824
6490 PR c/64868
6491 * testsuite/libgomp.c/pr64824.c: New test.
6492 * testsuite/libgomp.c/pr64868.c: New test.
6493 * testsuite/libgomp.c++/pr64824.C: New test.
6494 * testsuite/libgomp.c++/pr64868.C: New test.
6495
02d3e45e
DE
64962015-02-01 David Edelsohn <dje.gcc@gmail.com>
6497
6498 PR libgomp/64635
6499 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6500 Link with -lpthread.
6501 * config/aix/plugin-suffix.h: Delete.
6502
b5f7a6ca
JH
65032015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6504
6505 PR libgomp/64635
6506 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6507 (*-*-darwin*): Use config_path "bsd darwin posix".
6508 (*-*-hpux*): Use config_path "hpux posix".
6509 * target.c: Add include of plugin-suffix.h and use
6510 SONAME_SUFFIX macro.
6511 * config/aix/plugin-suffix.h: New file.
6512 * config/darwin/plugin-suffix.h: New file.
6513 * config/hpux/plugin-suffix.h: New file.
6514 * config/posix/plugin-suffix.h: New file.
6515
b8910447
JJ
65162015-01-23 Jakub Jelinek <jakub@redhat.com>
6517
6518 PR middle-end/64734
6519 * libgomp.c/pr64734.c: New test.
6520
a0c88d06
TV
65212015-01-23 Tom de Vries <tom@codesourcery.com>
6522
6523 PR libgomp/64672
6524 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6525
1506ae0e
TV
65262015-01-23 Tom de Vries <tom@codesourcery.com>
6527
6528 PR libgomp/64707
6529 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6530 dg-options.
6531
128b26dc
TS
65322015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6533
bed62c21 6534 PR libgomp/64625
128b26dc
TS
6535 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6536 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6537 formal parameter. Update all users.
6538 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6539 Document unused formal parameter.
6540
6e36114c
TS
65412015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6542
6543 * oacc-parallel.c: Don't include <alloca.h>.
6544 (GOACC_parallel): Use gomp_alloca instead of alloca.
6545
973e9808
GP
65462015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6547
6548 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6549
41dbbb37
TS
65502015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6551 James Norris <jnorris@codesourcery.com>
6552 Tom de Vries <tom@codesourcery.com>
6553 Julian Brown <julian@codesourcery.com>
6554 Cesar Philippidis <cesar@codesourcery.com>
6555 Nathan Sidwell <nathan@codesourcery.com>
6556 Tobias Burnus <burnus@net-b.de>
6557
6558 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6559 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6560 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6561 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6562 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6563 Include $(top_srcdir)/plugin/Makefrag.am.
6564 (nodist_libsubinclude_HEADERS): Add openacc.h.
6565 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6566 openacc.f90, openacc.mod, openacc_kinds.mod.
6567 (omp_lib.mod): Generalize into...
6568 (%.mod): ... this new rule.
6569 (openacc_kinds.mod, openacc.mod): New rules.
6570 * plugin/configfrag.ac: New file.
6571 * configure.ac: Move plugin/offloading support into it. Include
6572 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6573 * plugin/Makefrag.am: New file.
6574 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6575 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6576 export.
6577 (libgomp-test-support.exp): New rule.
6578 (all-local): Depend on it.
6579 * Makefile.in: Regenerate.
6580 * testsuite/Makefile.in: Regenerate.
6581 * config.h.in: Likewise.
6582 * configure: Likewise.
6583 * configure.tgt: Harden shell syntax.
6584 * env.c: Include "oacc-int.h".
6585 (parse_acc_device_type): New function.
6586 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6587 variables.
6588 (initialize_env): Initialize those. Call
6589 goacc_runtime_initialize.
6590 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6591 (gomp_fatal): Call gomp_vfatal.
6592 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6593 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6594 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6595 (splay_tree_node, splay_tree, splay_tree_key)
6596 (struct target_mem_desc, struct splay_tree_key_s)
6597 (struct gomp_memory_mapping, struct acc_dispatch_t)
6598 (struct gomp_device_descr, gomp_acc_insert_pointer)
6599 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6600 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6601 (gomp_free_memmap, gomp_fini_device): New declarations.
6602 (gomp_vdebug, gomp_debug): New macros.
6603 Include "splay-tree.h".
6604 * libgomp.map (OACC_2.0): New symbol version. Use for
6605 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6606 acc_set_device_type_h_, acc_get_device_type,
6607 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6608 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6609 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6610 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6611 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6612 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6613 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6614 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6615 acc_copyin_array_h_, acc_present_or_copyin,
6616 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6617 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6618 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6619 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6620 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6621 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6622 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6623 acc_update_device, acc_update_device_32_h_,
6624 acc_update_device_64_h_, acc_update_device_array_h_,
6625 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6626 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6627 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6628 acc_is_present_64_h_, acc_is_present_array_h_,
6629 acc_memcpy_to_device, acc_memcpy_from_device,
6630 acc_get_current_cuda_device, acc_get_current_cuda_context,
6631 acc_get_cuda_stream, acc_set_cuda_stream.
6632 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6633 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6634 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6635 GOACC_get_num_threads.
6636 (GOMP_PLUGIN_1.0): New symbol version. Use for
6637 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6638 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6639 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6640 GOMP_PLUGIN_acc_thread.
6641 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6642 environment variable.
6643 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6644 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6645 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6646 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6647 (splay_tree_remove): New declarations.
6648 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6649 (splay_tree_remove, splay_tree_lookup): Move into...
6650 * splay-tree.c: ... this new file.
6651 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6652 (splay_tree_node, splay_tree, splay_tree_key)
6653 (struct target_mem_desc, struct splay_tree_key_s)
6654 (struct gomp_device_descr): Don't declare.
6655 (num_devices_openmp): New variable.
6656 (gomp_get_num_devices ): Use it.
6657 (gomp_init_targets_once): New function.
6658 (gomp_get_num_devices ): Use it.
6659 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6660 (gomp_fini_device, gomp_register_image_for_device): New functions.
6661 (gomp_map_vars): Add devaddrs parameter.
6662 (gomp_update): Add mm parameter.
6663 (gomp_init_device): Move most of it into...
6664 (gomp_init_tables): ... this new function.
6665 (gomp_register_images_for_device): Remove function.
6666 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6667 Make them hidden instead of static.
6668 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6669 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6670 (GOMP_target_end_data, GOMP_target_update)
6671 (gomp_load_plugin_for_device, gomp_target_init): Update for
6672 OpenACC changes.
6673 * oacc-async.c: New file.
6674 * oacc-cuda.c: Likewise.
6675 * oacc-host.c: Likewise.
6676 * oacc-init.c: Likewise.
6677 * oacc-int.h: Likewise.
6678 * oacc-mem.c: Likewise.
6679 * oacc-parallel.c: Likewise.
6680 * oacc-plugin.c: Likewise.
6681 * oacc-plugin.h: Likewise.
6682 * oacc-ptx.h: Likewise.
6683 * openacc.f90: Likewise.
6684 * openacc.h: Likewise.
6685 * openacc_lib.h: Likewise.
6686 * plugin/plugin-host.c: Likewise.
6687 * plugin/plugin-nvptx.c: Likewise.
6688 * libgomp-plugin.c: Likewise.
6689 * libgomp-plugin.h: Likewise.
6690 * libgomp_target.h: Remove file after merging content into the
6691 former file. Update all users.
6692 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6693 (offload_targets_s, offload_targets_s_openacc): New variables.
6694 (check_effective_target_openacc_nvidia_accel_present)
6695 (check_effective_target_openacc_nvidia_accel_selected): New
6696 procedures.
6697 (libgomp_init): Update for OpenACC changes.
6698 * testsuite/libgomp-test-support.exp.in: New file.
6699 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6700 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6701 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6702 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6703 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6704 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6705 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6707 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6715 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6719 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6720 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6721 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6723 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6725 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6727 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6729 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6734 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6736 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6767 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6772 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6774 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6776 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6780 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6783 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6784 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6785 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6787 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6794 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6795 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6796 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6798 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6804 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6805 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6806 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6809 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6810 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6812 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6818 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6820 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6829 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6831 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6839 Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6845 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6846 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6847 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6848 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6849 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6850 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6851 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6852 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6853 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6854 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6855 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6856 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6857 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6858 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6859 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6860 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6861 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6862 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6863 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6864 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6865 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6866 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6867 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6868 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6869 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6870 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6871 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6872 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6873 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6874 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6875 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6876 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6877 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6878 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6879 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6880 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6881 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6882 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6883 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6884 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6885 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6886 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6887 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6888 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6889 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6890 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6891 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6892 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6893 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6894 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6895 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6896 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6897 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6898 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6899 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6900
f1f3453e
TS
69012015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6902 Julian Brown <julian@codesourcery.com>
6903 David Malcolm <dmalcolm@redhat.com>
6904
6905 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6906 to "GNU Offloading and Multi Processing Runtime Library". Change
6907 all users.
6908 * configure: Regenerate.
6909 * libgomp.texi: Update.
6910
f9a0eca4
TS
69112015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6912
b335ef4e
TS
6913 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6914 "$tgt_dir/lib32".
6915 * configure: Regenerate.
6916
f9a0eca4
TS
6917 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6918 "intelmic" in $offload_targets.
6919
b67cd4e3
JJ
69202015-01-05 Jakub Jelinek <jakub@redhat.com>
6921
5624e564
JJ
6922 Update copyright years.
6923
b67cd4e3
JJ
6924 * libgomp.texi: Bump @copying's copyright year.
6925
3b41b583
KT
69262014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6927
6928 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6929 Move load of target-supportes.exp earlier.
6930
2354caec
IV
69312014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6932
6933 * testsuite/libgomp.c/target-9.c: New test.
6934
f50eecba
VR
69352014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6936
6937 * config.h.in: Regenerate.
6938 * configure: Regenerate.
6939 * configure.ac: Add GCC_CHECK_EMUTLS.
6940 * libgomp.h: Add check for USE_EMUTLS: this case
6941 is equal to HAVE_TLS.
6942 * team.c: Likewise.
6943
68bc9270
UB
69442014-12-03 Uros Bizjak <ubizjak@gmail.com>
6945
6946 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6947
476ff787
AT
69482014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6949 Ilya Verbin <ilya.verbin@intel.com>
6950
6951 * testsuite/libgomp.c/target-critical-1.c: New test.
6952
31a30e62
JJ
69532014-11-26 Jakub Jelinek <jakub@redhat.com>
6954
6955 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 6956 to dg-options unless expensive testing is on.
31a30e62
JJ
6957 (TESTITERS): Define to N if not defined.
6958 (main): Use TESTITERS instead of N.
6959 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6960 dg-additional-options depending on whether expensive testing is on.
6961 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6962 Decrease N to 100000 and CHUNKSZ to 10000.
6963
3f9e8f13
JJ
69642014-11-24 Jakub Jelinek <jakub@redhat.com>
6965
6966 PR fortran/63938
31a30e62
JJ
6967 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6968 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 6969
c8451a46
SE
69702014-11-21 Steve Ellcey <sellcey@imgtec.com>
6971
6972 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6973
a699d672
L
69742014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6975
6976 PR bootstrap/63784
6977 * configure: Regenerated.
6978
4a19f719
UB
69792014-11-19 Uros Bizjak <ubizjak@gmail.com>
6980
6981 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
6982 vect_simd_clones effective target.
6983 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6984
b1bf6c52
JJ
69852014-11-14 Jakub Jelinek <jakub@redhat.com>
6986
6987 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6988 of 32 as block_size.
6989 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6990 instead of 32 as block_size.
6991
d64ae614
AT
69922014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6993 Ilya Verbin <ilya.verbin@intel.com>
6994
6995 * Makefile.in: Regenerate.
6996 * configure: Regenerate.
6997 * configure.ac: Set up offload_additional_options,
6998 offload_additional_lib_paths and offload_targets.
6999 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7000 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7001 * testsuite/Makefile.in: Regenerate.
7002 * testsuite/lib/libgomp.exp (libgomp_init): Append
7003 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7004 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7005 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7006
122d7303
AT
70072014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7008 Ilya Verbin <ilya.verbin@intel.com>
7009 Kirill Yukhin <kirill.yukhin@intel.com>
7010 Ilya Tocar <ilya.tocar@intel.com>
7011
7012 * testsuite/lib/libgomp.exp
7013 (check_effective_target_offload_device): New.
7014 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7015 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7016 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7017 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7018 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7019 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7020 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7021 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7022 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7023 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7024 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7025 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7026 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7027 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7028 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7029 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7030 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7031 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7032 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7033 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7034 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7035 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7036 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7037 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7038 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7039 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7040 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7041 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7042 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7043 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7044 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7045 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7046 * testsuite/libgomp.c/target-7.c: Fix test.
7047 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7048 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7049 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7050 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7051 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7052 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7053 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7054 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7055 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7056 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7057 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7058 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7059 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7060 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7061 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7062 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7063 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7064 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7065 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7066 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7067 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7068 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7069 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7070 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7071 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7072 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7073 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7074 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7075 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7076 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7077 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7078
1df3f842
JJ
70792014-11-13 Jakub Jelinek <jakub@redhat.com>
7080 Ilya Verbin <ilya.verbin@intel.com>
7081 Thomas Schwinge <thomas@codesourcery.com>
7082 Andrey Turetskiy <andrey.turetskiy@intel.com>
7083
7084 * libgomp.map (GOMP_4.0.1): New symbol version.
7085 Add GOMP_offload_register.
7086 * libgomp_target.h: New file.
7087 * splay-tree.h: New file.
7088 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7089 (gomp_target_init): New forward declaration.
7090 (gomp_is_initialized): New static variable.
7091 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7092 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7093 New structures.
7094 (offload_images, num_offload_images, devices, num_devices): New static
7095 variables.
7096 (splay_compare): New static function.
7097 (struct gomp_device_descr): New structure.
7098 (gomp_get_num_devices): Call gomp_target_init.
7099 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7100 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7101 (GOMP_offload_register): New function.
7102 (GOMP_target): Arrange for host callback to be performed in a separate
7103 initial thread and contention group, inheriting ICVs from
7104 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7105 Add device initialization and lookup for target function in splay tree.
7106 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7107 (GOMP_target_end_data): Call gomp_unmap_vars.
7108 (GOMP_target_update): Add device initialization and call gomp_update.
7109 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7110 (gomp_target_init): New static functions.
7111
85c64bbe
BS
71122014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7113 Thomas Schwinge <thomas@codesourcery.com>
7114 Ilya Verbin <ilya.verbin@intel.com>
7115 Andrey Turetskiy <andrey.turetskiy@intel.com>
7116
7117 * config.h.in: Regenerate.
7118 * configure: Regenerate.
7119 * configure.ac: Check for libdl, required for plugin support.
7120 (PLUGIN_SUPPORT): Define if plugins are supported.
7121 (enable_offload_targets): Support Intel MIC targets.
7122 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7123
ebf6d33b
FXC
71242014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7125
7126 PR target/63610
7127 * configure: Regenerate.
7128
8c768629
RO
71292014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7130
7131 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7132
c1d62412
MP
71332014-10-06 Marek Polacek <polacek@redhat.com>
7134
7135 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7136 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7137 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7138 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7139
44a0c6cb
MP
71402014-10-06 Marek Polacek <polacek@redhat.com>
7141
7142 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7143 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7144 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7145 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7146 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7147 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7148 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7149 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7150 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7151 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7152 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7153 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7154 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7155 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7156 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7157 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7158 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7159 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7160 declarations.
7161
5771c391
JJ
71622014-10-03 Jakub Jelinek <jakub@redhat.com>
7163
7164 PR libgomp/61200
7165 * testsuite/libgomp.c/pr61200.c: New test.
7166
bce16b88
JJ
71672014-09-18 Jakub Jelinek <jakub@redhat.com>
7168
7169 PR c++/63248
7170 * testsuite/libgomp.c++/pr63248.C: New test.
7171
3696163c
JJ
71722014-08-04 Jakub Jelinek <jakub@redhat.com>
7173
7174 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7175 is not zero, but taskgroup->children is NULL and there are
7176 any task->children, schedule those instead of waiting.
7177 * testsuite/libgomp.c/depend-6.c: New test.
7178 * testsuite/libgomp.c/depend-7.c: New test.
7179 * testsuite/libgomp.c/depend-8.c: New test.
7180 * testsuite/libgomp.c/depend-9.c: New test.
7181 * testsuite/libgomp.c/depend-10.c: New test.
7182
0494285a
JJ
71832014-08-01 Jakub Jelinek <jakub@redhat.com>
7184
7185 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7186 (struct gomp_taskwait): New type.
7187 (struct gomp_task): Add taskwait and parent_depends_on, remove
7188 in_taskwait and taskwait_sem fields.
7189 (gomp_finish_task): Don't destroy taskwait_sem.
7190 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7191 taskwait and parent_depends_on.
7192 (GOMP_task): For if (0) tasks with depend clause that depend on
7193 earlier tasks don't defer them, instead call
7194 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7195 Initialize redundant_out field, for redundant out entries just
7196 move them at the end of linked list instead of removing them
7197 completely, and set redundant_out flag instead of redundant.
7198 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7199 that task.
7200 (gomp_task_run_post_handle_dependers): If parent is in
7201 gomp_task_maybe_wait_for_dependencies and newly runnable task
7202 is not parent_depends_on, queue it in parent->children linked
7203 list after all runnable tasks with parent_depends_on set.
7204 Adjust for addition of taskwait indirection.
7205 (gomp_task_run_post_remove_parent): If parent is in
7206 gomp_task_maybe_wait_for_dependencies and task to be removed
7207 is parent_depends_on, decrement n_depend and if needed awake
7208 parent. Adjust for addition of taskwait indirection.
7209 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7210 (gomp_task_maybe_wait_for_dependencies): New function.
7211 * testsuite/libgomp.c/depend-5.c: New test.
7212
60ab4b44
TB
72132014-07-13 Tobias Burnus <burnus@net-b.de>
7214
7215 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7216 with TS 18508/Fortran 2015.
60ab4b44 7217
773ec47f
MP
72182014-07-06 Marek Polacek <polacek@redhat.com>
7219
7220 PR c/6940
7221 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7222
f707da16
JJ
72232014-07-03 Jakub Jelinek <jakub@redhat.com>
7224
7225 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7226 matches regex $lang_source_re, add $lang_include_flags to options.
7227 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7228 * testsuite/libgomp.c++/c++.exp: Likewise.
7229 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7230 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7231 ALWAYS_CFLAGS.
7232 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7233
07b6c044
TS
72342014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7235
7236 * testsuite/libgomp.fortran/fortran.exp: Explain
7237 gfortran-dg-runtest usage.
7238
da6f124d
JJ
72392014-06-25 Jakub Jelinek <jakub@redhat.com>
7240
7241 * testsuite/libgomp.fortran/simd5.f90: New test.
7242 * testsuite/libgomp.fortran/simd6.f90: New test.
7243 * testsuite/libgomp.fortran/simd7.f90: New test.
7244
b46ebd6c
JJ
72452014-06-24 Jakub Jelinek <jakub@redhat.com>
7246
56ad0e38
JJ
7247 * testsuite/libgomp.c/for-2.c: Define SC to static for
7248 #pragma omp for simd testing.
7249 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7250 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7251 SC macro.
7252 * testsuite/libgomp.c/simd-14.c: New test.
7253 * testsuite/libgomp.c/simd-15.c: New test.
7254 * testsuite/libgomp.c/simd-16.c: New test.
7255 * testsuite/libgomp.c/simd-17.c: New test.
7256 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7257 #pragma omp for simd testing.
7258 * testsuite/libgomp.c++/simd10.C: New test.
7259 * testsuite/libgomp.c++/simd11.C: New test.
7260 * testsuite/libgomp.c++/simd12.C: New test.
7261 * testsuite/libgomp.c++/simd13.C: New test.
7262
b46ebd6c
JJ
7263 * testsuite/libgomp.fortran/aligned1.f03: New test.
7264 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7265 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7266 tasks with !$omp parallel !$omp single.
7267 * testsuite/libgomp.fortran/target8.f90: New test.
7268 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7269 not to use trim in the combiner, instead call elemental function.
7270 (fn): New elemental function.
7271 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7272 Make elemental.
7273 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7274 omp_in): Likewise.
7275 * testsuite/libgomp.fortran/udr12.f90: New test.
7276 * testsuite/libgomp.fortran/udr13.f90: New test.
7277 * testsuite/libgomp.fortran/udr14.f90: New test.
7278 * testsuite/libgomp.fortran/udr15.f90: New test.
7279
f014c653
JJ
72802014-06-18 Jakub Jelinek <jakub@redhat.com>
7281
7282 * omp_lib.f90.in (openmp_version): Set to 201307.
7283 * omp_lib.h.in (openmp_version): Likewise.
7284 * testsuite/libgomp.c/target-8.c: New test.
7285 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7286 and inbranch clauses.
7287 * testsuite/libgomp.fortran/depend-3.f90: New test.
7288 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7289 openmp_version.
7290 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7291 * testsuite/libgomp.fortran/target1.f90: New test.
7292 * testsuite/libgomp.fortran/target2.f90: New test.
7293 * testsuite/libgomp.fortran/target3.f90: New test.
7294 * testsuite/libgomp.fortran/target4.f90: New test.
7295 * testsuite/libgomp.fortran/target5.f90: New test.
7296 * testsuite/libgomp.fortran/target6.f90: New test.
7297 * testsuite/libgomp.fortran/target7.f90: New test.
7298
92d28cbb
JJ
72992014-06-10 Jakub Jelinek <jakub@redhat.com>
7300
7301 PR fortran/60928
7302 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7303 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7304 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7305 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7306 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7307 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7308 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7309 * testsuite/libgomp.fortran/associate1.f90: New test.
7310 * testsuite/libgomp.fortran/associate2.f90: New test.
7311 * testsuite/libgomp.fortran/procptr1.f90: New test.
7312
5f23671d
JJ
73132014-06-06 Jakub Jelinek <jakub@redhat.com>
7314
7315 * testsuite/libgomp.fortran/simd1.f90: New test.
7316 * testsuite/libgomp.fortran/udr1.f90: New test.
7317 * testsuite/libgomp.fortran/udr2.f90: New test.
7318 * testsuite/libgomp.fortran/udr3.f90: New test.
7319 * testsuite/libgomp.fortran/udr4.f90: New test.
7320 * testsuite/libgomp.fortran/udr5.f90: New test.
7321 * testsuite/libgomp.fortran/udr6.f90: New test.
7322 * testsuite/libgomp.fortran/udr7.f90: New test.
7323 * testsuite/libgomp.fortran/udr8.f90: New test.
7324 * testsuite/libgomp.fortran/udr9.f90: New test.
7325 * testsuite/libgomp.fortran/udr10.f90: New test.
7326 * testsuite/libgomp.fortran/udr11.f90: New test.
7327
0389fbb5
UB
73282014-05-27 Uros Bizjak <ubizjak@gmail.com>
7329
7330 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7331 vect_simd_clones effective target.
7332 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7333
decaaec8
JJ
73342014-05-21 Jakub Jelinek <jakub@redhat.com>
7335
7336 PR middle-end/61252
7337 * testsuite/libgomp.c++/simd-9.C: New test.
7338
72832460
UB
73392014-05-18 Uros Bizjak <ubizjak@gmail.com>
7340
7341 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7342 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7343 texts according to their @menu entry positions.
7344
dd2fc525
JJ
73452014-05-11 Jakub Jelinek <jakub@redhat.com>
7346
7347 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7348 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7349 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7350 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7351 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7352 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7353 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7354 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7355 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7356 * testsuite/libgomp.fortran/depend-1.f90: New test.
7357 * testsuite/libgomp.fortran/depend-2.f90: New test.
7358 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7359 * testsuite/libgomp.fortran/simd1.f90: New test.
7360 * testsuite/libgomp.fortran/simd2.f90: New test.
7361 * testsuite/libgomp.fortran/simd3.f90: New test.
7362 * testsuite/libgomp.fortran/simd4.f90: New test.
7363 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7364
95782571
JJ
73652014-05-02 Jakub Jelinek <jakub@redhat.com>
7366
7367 * testsuite/libgomp.c/simd-10.c: New test.
7368 * testsuite/libgomp.c/simd-11.c: New test.
7369 * testsuite/libgomp.c/simd-12.c: New test.
7370 * testsuite/libgomp.c/simd-13.c: New test.
7371
f7468577
JJ
73722014-04-24 Jakub Jelinek <jakub@redhat.com>
7373
42056eac
JJ
7374 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7375 atomic type clauses in any order and optional comma in between.
7376 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7377 * testsuite/libgomp.c/atomic-17.c: Likewise.
7378
f7468577
JJ
7379 * testsuite/libgomp.c/simd-7.c: New test.
7380 * testsuite/libgomp.c/simd-8.c: New test.
7381 * testsuite/libgomp.c/simd-9.c: New test.
7382 * testsuite/libgomp.c/loop-16.c: New test.
7383
ab18f2f5
RH
73842014-04-02 Richard Henderson <rth@redhat.com>
7385
7386 * config/linux/futex.h (futex_wait): Get error value from errno.
7387 (futex_wake): Likewise.
7388
8bcc90b0
JJ
73892014-03-25 Jakub Jelinek <jakub@redhat.com>
7390
7391 PR c++/60331
7392 * testsuite/libgomp.c++/udr-11.C: New test.
7393 * testsuite/libgomp.c++/udr-12.C: New test.
7394 * testsuite/libgomp.c++/udr-13.C: New test.
7395 * testsuite/libgomp.c++/udr-14.C: New test.
7396 * testsuite/libgomp.c++/udr-15.C: New test.
7397 * testsuite/libgomp.c++/udr-16.C: New test.
7398 * testsuite/libgomp.c++/udr-17.C: New test.
7399 * testsuite/libgomp.c++/udr-18.C: New test.
7400 * testsuite/libgomp.c++/udr-19.C: New test.
7401
18d73c7f
RS
74022014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7403
7404 Update copyright years
7405
f9030485
RS
74062014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7407
7408 * hashtab.h: Use the standard form for the copyright notice.
7409
98db73df
TB
74102014-01-02 Tobias Burnus <burnus@net-b.de>
7411
7412 * libgomp.texi: Bump @copying's copyright year.
7413
ae246f7f
AT
74142013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7415
7416 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7417 alloca () with __builtin_alloca ().
7418 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7419 * testsuite/libgomp.c/lock-3.c: Likewise.
7420 * testsuite/libgomp.c/pr48591.c: Likewise.
7421
fa00a5fe
JJ
74222013-12-17 Jakub Jelinek <jakub@redhat.com>
7423
7424 PR testsuite/59534
7425 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7426 comparisons.
7427
e9792e1d
JJ
74282013-12-16 Jakub Jelinek <jakub@redhat.com>
7429
7430 PR libgomp/58756
7431 * testsuite/libgomp.c/pr58756.c: New test.
7432
cab37c89
JJ
74332013-12-12 Jakub Jelinek <jakub@redhat.com>
7434
7435 PR libgomp/59467
7436 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7437 !$omp parallel.
7438
de14871c
TS
74392013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7440
1707a5de
TS
7441 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7442 ALWAYS_CFLAGS.
7443 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7444 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7445 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7446 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7447 Likewise.
7448
70f05c43
TS
7449 * libgomp_g.h: Include <stddef.h> for size_t.
7450
de14871c
TS
7451 * libgomp.spec.in: Update comment about libgomp's dependencies.
7452 * configure.ac: Likewise.
7453 * configure: Regenerate.
7454
83fd6c5b
TB
74552013-10-16 Tobias Burnus <burnus@net-b.de>
7456
7457 * libgomp.texi: (Runtime Library Routines): Update references for
7458 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7459 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7460 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7461 (Environment Variables): Update references for OpenMP 4.0. Add
7462 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7463 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7464 order.
7465
c8673881
JJ
74662013-10-14 Jakub Jelinek <jakub@redhat.com>
7467
7468 * env.c (parse_bind_var): Initialize value to avoid
7469 (false positive) warning.
7470
f89163fd
JJ
74712013-10-12 Jakub Jelinek <jakub@redhat.com>
7472
7473 PR libgomp/58691
7474 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7475 to check variable.
7476 (gomp_init_num_threads): Move i variable declaration into
7477 #ifdef CPU_ALLOC_SIZE block.
7478 * config/linux/affinity.c (gomp_affinity_init_level): Test
7479 gomp_places_list_len == 0 rather than gomp_places_list == 0
7480 when checking for topology reading error.
7481 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7482 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7483 gomp_places_list, only parse env var and always return false.
7484 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7485 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7486 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7487 and either of these variables were parsed correctly into a places
7488 list.
7489
1d340638
TS
74902013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7491 Jakub Jelinek <jakub@redhat.com>
7492
7493 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7494 of 5 loopfn matches.
7495 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7496 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7497 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7498 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7499 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7500 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7501 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7502 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7503
71a81c21
TS
75042013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7505
bd87f731
TS
7506 * Makefile.am (omp_lib.mod): Streamline rule.
7507 * Makefile.in: Regenerate.
7508
f5745bed
TS
7509 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7510 exceptions.
7511
b5512c66
TS
7512 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7513 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7514 * testsuite/libgomp.fortran/lib2.f: Likewise.
7515 * testsuite/libgomp.fortran/lib3.f: Likewise.
7516
451c19c4
TS
7517 * configure.ac: Typo fix.
7518 * configure: Regenerate.
7519
86a6016d
TS
7520 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7521 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7522
71a81c21
TS
7523 * omp.h.in: Don't touch the user's namespace.
7524
acf0174b
JJ
75252013-10-11 Jakub Jelinek <jakub@redhat.com>
7526 Tobias Burnus <burnus@net-b.de>
7527 Richard Henderson <rth@redhat.com>
7528
7529 * target.c: New file.
7530 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7531 * Makefile.in: Regenerated.
7532 * libgomp_g.h (GOMP_task): Add depend argument.
7533 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7534 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7535 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7536 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7537 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7538 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7539 GOMP_taskgroup_start, GOMP_taskgroup_end,
7540 GOMP_parallel_sections): New prototypes.
7541 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7542 (omp_is_initial_device_): New function.
7543 (ULP, STR1, STR2, ialias_redirect): Removed.
7544 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7545 omp_set_default_device_8_, omp_get_default_device_,
7546 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7547 functions.
7548 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7549 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7550 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7551 @@GOMP_4.0.
7552 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7553 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7554 omp_set_default_device, omp_set_default_device_,
7555 omp_set_default_device_8_, omp_get_default_device,
7556 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7557 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7558 omp_get_team_num_): Export @@OMP_4.0.
7559 * team.c (struct gomp_thread_start_data): Add place field.
7560 (gomp_thread_start): Clear thr->thread_pool and
7561 thr->task before returning. Use gomp_team_barrier_wait_final
7562 instead of gomp_team_barrier_wait. Initialize thr->place.
7563 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7564 team_cancelled and task_queued_count fields.
7565 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7566 before calling pthread_exit.
7567 (gomp_free_thread): No longer static. Use
7568 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7569 (gomp_team_start): Add flags argument. Set
7570 thr->thread_pool->threads_busy to nthreads immediately after creating
7571 new pool. Use gomp_managed_threads_lock instead of
7572 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7573 (gomp_team_end): Use gomp_managed_threads_lock instead of
7574 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7575 of gomp_team_barrier_wait. If team->team_cancelled, call
7576 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7577 rather than thr->ts.work_share.
7578 (initialize_team): Don't call gomp_sem_init here.
7579 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7580 caller.
7581 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7582 * env.c (gomp_global_icv): Add default_device_var, target_data and
7583 bind_var initializers.
7584 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7585 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7586 gomp_places_list_len): New variables.
7587 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7588 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7589 sized places.
7590 (gomp_cancel_var): New global variable.
7591 (parse_int): New function.
7592 (handle_omp_display_env): New function.
7593 (initialize_env): Use it. Initialize default_device_var.
7594 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7595 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7596 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7597 been successfully parsed (and call gomp_init_affinity in that case).
7598 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7599 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7600 omp_get_team_num, omp_is_initial_device): New functions.
7601 * libgomp.h: Include stdlib.h.
7602 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7603 Define.
7604 (struct target_mem_desc): Forward declare.
7605 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7606 and thread_limit_var fields.
7607 (gomp_get_num_devices): New prototype.
7608 (gomp_cancel_var): New extern decl.
7609 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7610 team_cancelled and task_queued_count fields. Add comments about
7611 task_{,queued_,running_}count.
7612 (gomp_cancel_kind): New enum.
7613 (gomp_work_share_end_cancel): New prototype.
7614 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7615 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7616 and depend fields.
7617 (struct gomp_taskgroup): New type.
7618 (struct gomp_task_depend_entry,
7619 struct gomp_dependers_vec): New types.
7620 (gomp_finish_task): Free depend_hash if non-NULL.
7621 (struct gomp_team_state): Add place_partition_off
7622 and place_partition_len fields.
7623 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7624 gomp_places_list_len): New extern decls.
7625 (struct gomp_thread): Add place field.
7626 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7627 (gomp_init_thread_affinity): Add place argument.
7628 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7629 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7630 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7631 gomp_affinity_init_level, gomp_affinity_print_place): New
7632 prototypes.
7633 (gomp_team_start): Add flags argument.
7634 (gomp_thread_limit_var, gomp_remaining_threads_count,
7635 gomp_remaining_threads_lock): Remove.
7636 (gomp_managed_threads_lock): New variable.
7637 (struct gomp_thread_pool): Add threads_busy field.
7638 (gomp_free_thread): New prototype.
7639 * task.c: Include hashtab.h.
7640 (hash_entry_type): New typedef.
7641 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7642 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7643 copy_ctors_done and taskgroup fields.
7644 (GOMP_task): Add depend argument, handle depend clauses. If
7645 gomp_team_barrier_cancelled or if it's taskgroup has been
7646 cancelled, don't queue or start new tasks. Set copy_ctors_done
7647 field if needed. Initialize taskgroup field. If copy_ctors_done
7648 and already cancelled, don't discard the task. If taskgroup is
7649 non-NULL, enqueue the task into taskgroup queue. Increment
7650 num_children field in taskgroup. Increment task_queued_count.
7651 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7652 gomp_task_run_post_remove_taskgroup): New inline functions.
7653 (gomp_task_run_post_handle_depend_hash,
7654 gomp_task_run_post_handle_dependers,
7655 gomp_task_run_post_handle_depend): New functions.
7656 (GOMP_taskwait): Use them. If more than one new tasks
7657 have been queued, wake other threads if needed.
7658 (gomp_barrier_handle_tasks): Likewise. If
7659 gomp_team_barrier_cancelled, don't start any new tasks, just free
7660 all tasks.
7661 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7662 * omp_lib.f90.in
7663 (omp_proc_bind_kind, omp_proc_bind_false,
7664 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7665 omp_proc_bind_spread): New params.
7666 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7667 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7668 omp_get_team_num, omp_is_initial_device): New interfaces.
7669 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7670 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7671 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7672 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7673 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7674 useless use omp_lib_kinds.
7675 * omp.h.in (omp_proc_bind_t): New typedef.
7676 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7677 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7678 omp_get_team_num, omp_is_initial_device): New prototypes.
7679 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7680 through to gomp_team_start.
7681 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7682 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7683 Adjust gomp_parallel_loop_start callers.
7684 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7685 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7686 GOMP_loop_end_cancel): New functions.
7687 (GOMP_parallel_end): Add ialias_redirect.
7688 * hashtab.h: New file.
7689 * libgomp.texi (Environment Variables): Minor cleanup,
7690 update section refs to OpenMP 4.0rc2.
7691 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7692 environment variables.
7693 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7694 team->work_shares_to_free to thr->ts.work_share before calling
7695 free_work_share.
7696 (gomp_work_share_end_cancel): New function.
7697 * config/linux/proc.c: Include errno.h.
7698 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7699 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7700 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7701 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7702 gomp_cpuset_size is sizeof (cpu_set_t).
7703 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7704 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7705 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7706 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7707 contain any logical CPUs.
7708 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7709 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7710 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7711 pthread_getaffinity_np. Check gomp_places_list instead of
7712 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7713 * config/linux/bar.c (gomp_barrier_wait_end,
7714 gomp_barrier_wait_last): Use BAR_* defines.
7715 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7716 from state where needed. Set work_share_cancelled to 0 on last
7717 thread.
7718 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7719 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7720 functions.
7721 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7722 Add cpusetsize argument.
7723 (gomp_cpuset_size, gomp_cpusetp): Declare.
7724 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7725 (affinity_counter): Remove.
7726 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7727 if CPU_ALLOC_SIZE isn't defined.
7728 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7729 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7730 bind current thread to the first place.
7731 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7732 pthread_setaffinity_np to gomp_places_list[place].
7733 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7734 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7735 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7736 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7737 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7738 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7739 (gomp_barrier_t): Add awaited_final field.
7740 (gomp_barrier_init): Initialize awaited_final field.
7741 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7742 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7743 prototypes.
7744 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7745 defines.
7746 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7747 gomp_team_barrier_cancelled): New inline functions.
7748 (gomp_barrier_last_thread,
7749 gomp_team_barrier_set_task_pending,
7750 gomp_team_barrier_clear_task_pending,
7751 gomp_team_barrier_set_waiting_for_tasks,
7752 gomp_team_barrier_waiting_for_tasks,
7753 gomp_team_barrier_done): Use BAR_* defines.
7754 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7755 (gomp_barrier_wait_end): Use BAR_* defines.
7756 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7757 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7758 Use BAR_* defines.
7759 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7760 gomp_team_barrier_cancel): New functions.
7761 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7762 argument.
7763 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7764 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7765 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7766 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7767 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7768 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7769 (gomp_barrier_t): Add cancellable field.
7770 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7771 gomp_team_barrier_cancel): New prototypes.
7772 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7773 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7774 gomp_team_barrier_cancelled): New inline functions.
7775 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7776 gomp_team_barrier_set_task_pending,
7777 gomp_team_barrier_clear_task_pending,
7778 gomp_team_barrier_set_waiting_for_tasks,
7779 gomp_team_barrier_waiting_for_tasks,
7780 gomp_team_barrier_done): Use BAR_* defines.
7781 * barrier.c (GOMP_barrier_cancel): New function.
7782 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7783 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7784 omp_proc_bind_spread): New params.
7785 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7786 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7787 omp_get_team_num, omp_is_initial_device): New externals.
7788 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7789 New functions.
7790 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7791 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7792 infinity. If not nested, just return minimum of max_num_threads
7793 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7794 to the returned value. Otherwise, don't update atomically
7795 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7796 (GOMP_parallel_end): Adjust for thread_limit now being in
7797 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7798 infinity. Adjust threads_busy in the pool rather than
7799 gomp_remaining_threads_count. Remember team->nthreads and call
7800 gomp_team_end before adjusting threads_busy, if not nested
7801 afterwards, just set it to 1 non-atomically. Add ialias.
7802 (GOMP_parallel_start): Adjust gomp_team_start caller.
7803 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7804 * testsuite/libgomp.c/affinity-1.c: New test.
7805 * testsuite/libgomp.c/atomic-15.c: New test.
7806 * testsuite/libgomp.c/atomic-16.c: New test.
7807 * testsuite/libgomp.c/atomic-17.c: New test.
7808 * testsuite/libgomp.c/cancel-for-1.c: New test.
7809 * testsuite/libgomp.c/cancel-for-2.c: New test.
7810 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7811 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7812 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7813 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7814 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7815 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7816 * testsuite/libgomp.c/depend-1.c: New test.
7817 * testsuite/libgomp.c/depend-2.c: New test.
7818 * testsuite/libgomp.c/depend-3.c: New test.
7819 * testsuite/libgomp.c/depend-4.c: New test.
7820 * testsuite/libgomp.c/for-1.c: New test.
7821 * testsuite/libgomp.c/for-1.h: New file.
7822 * testsuite/libgomp.c/for-2.c: New test.
7823 * testsuite/libgomp.c/for-2.h: New file.
7824 * testsuite/libgomp.c/for-3.c: New test.
7825 * testsuite/libgomp.c/pr58392.c: New test.
7826 * testsuite/libgomp.c/simd-1.c: New test.
7827 * testsuite/libgomp.c/simd-2.c: New test.
7828 * testsuite/libgomp.c/simd-3.c: New test.
7829 * testsuite/libgomp.c/simd-4.c: New test.
7830 * testsuite/libgomp.c/simd-5.c: New test.
7831 * testsuite/libgomp.c/simd-6.c: New test.
7832 * testsuite/libgomp.c/target-1.c: New test.
7833 * testsuite/libgomp.c/target-2.c: New test.
7834 * testsuite/libgomp.c/target-3.c: New test.
7835 * testsuite/libgomp.c/target-4.c: New test.
7836 * testsuite/libgomp.c/target-5.c: New test.
7837 * testsuite/libgomp.c/target-6.c: New test.
7838 * testsuite/libgomp.c/target-7.c: New test.
7839 * testsuite/libgomp.c/taskgroup-1.c: New test.
7840 * testsuite/libgomp.c/thread-limit-1.c: New test.
7841 * testsuite/libgomp.c/thread-limit-2.c: New test.
7842 * testsuite/libgomp.c/thread-limit-3.c: New test.
7843 * testsuite/libgomp.c/udr-1.c: New test.
7844 * testsuite/libgomp.c/udr-2.c: New test.
7845 * testsuite/libgomp.c/udr-3.c: New test.
7846 * testsuite/libgomp.c++/affinity-1.C: New test.
7847 * testsuite/libgomp.c++/atomic-10.C: New test.
7848 * testsuite/libgomp.c++/atomic-11.C: New test.
7849 * testsuite/libgomp.c++/atomic-12.C: New test.
7850 * testsuite/libgomp.c++/atomic-13.C: New test.
7851 * testsuite/libgomp.c++/atomic-14.C: New test.
7852 * testsuite/libgomp.c++/atomic-15.C: New test.
7853 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7854 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7855 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7856 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7857 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7858 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7859 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7860 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7861 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7862 * testsuite/libgomp.c++/cancel-test.h: New file.
7863 * testsuite/libgomp.c++/for-9.C: New test.
7864 * testsuite/libgomp.c++/for-10.C: New test.
7865 * testsuite/libgomp.c++/for-11.C: New test.
7866 * testsuite/libgomp.c++/simd-1.C: New test.
7867 * testsuite/libgomp.c++/simd-2.C: New test.
7868 * testsuite/libgomp.c++/simd-3.C: New test.
7869 * testsuite/libgomp.c++/simd-4.C: New test.
7870 * testsuite/libgomp.c++/simd-5.C: New test.
7871 * testsuite/libgomp.c++/simd-6.C: New test.
7872 * testsuite/libgomp.c++/simd-7.C: New test.
7873 * testsuite/libgomp.c++/simd-8.C: New test.
7874 * testsuite/libgomp.c++/target-1.C: New test.
7875 * testsuite/libgomp.c++/target-2.C: New test.
7876 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7877 * testsuite/libgomp.c++/target-3.C: New test.
7878 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7879 * testsuite/libgomp.c++/udr-1.C: New test.
7880 * testsuite/libgomp.c++/udr-2.C: New test.
7881 * testsuite/libgomp.c++/udr-3.C: New test.
7882 * testsuite/libgomp.c++/udr-4.C: New test.
7883 * testsuite/libgomp.c++/udr-5.C: New test.
7884 * testsuite/libgomp.c++/udr-6.C: New test.
7885 * testsuite/libgomp.c++/udr-7.C: New test.
7886 * testsuite/libgomp.c++/udr-8.C: New test.
7887 * testsuite/libgomp.c++/udr-9.C: New test.
7888
bd599dea
JJ
78892013-09-20 Jakub Jelinek <jakub@redhat.com>
7890
7891 PR testsuite/57605
7892 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7893 ALWAYS_CFLAGS.
7894
3cbe17f7
AM
78952013-09-20 Alan Modra <amodra@gmail.com>
7896
7897 * configure: Regenerate.
7898
4befd127
JJ
78992013-09-19 Jakub Jelinek <jakub@redhat.com>
7900
7901 * testsuite/libgomp.c/sections-2.c: New test.
7902
946c8f7b
MS
79032013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7904
7905 * testsuite/libgomp.fortran/strassen.f90:
7906 Add dg-skip-if aarch64_tiny.
7907
1ef3b58e
IS
79082013-06-20 Iain Sandoe <iain@codesourcery.com>
7909 Cesar Philippidis <cesar@codesourcery.com>
7910
7911 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7912 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7913 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7914 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7915 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7916 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7917 Use dg-runtest rather than gfortran-dg-runtest.
7918
9275f73a
TS
79192013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7920
7921 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7922 Linux-based x86 systems to cover all GNU systems.
7923 * testsuite/libgomp.c/lock-3.c: Likewise.
7924 * testsuite/libgomp.c/pr48591.c: Likewise.
7925
492992e2
TS
79262013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7927
48df3acb
TS
7928 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7929 GNU/Hurd, as done for Linux-based systems.
7930
492992e2
TS
7931 * config/posix/ptrlock.h: Fix comment.
7932
4fed6b25
TB
79332013-05-27 Tobias Burnus <burnus@net-b.de>
7934
7935 PR fortran/57423
7936 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7937 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7938 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7939 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7940 omp_destroy_nest_lock): Correct arguments to match the one in
7941 the OpenMP spec.
7942 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7943 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7944 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7945 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7946
5a0f4dd3
JJ
79472013-05-16 Jakub Jelinek <jakub@redhat.com>
7948
7949 * testsuite/libgomp.c/loop-13.c: New test.
7950 * testsuite/libgomp.c/loop-14.c: New test.
7951 * testsuite/libgomp.c/loop-15.c: New test.
7952 * testsuite/libgomp.c++/loop-13.C: New test.
7953 * testsuite/libgomp.c++/loop-14.C: New test.
7954 * testsuite/libgomp.c++/loop-15.C: New test.
7955
6d840d99
JJ
79562013-02-06 Jakub Jelinek <jakub@redhat.com>
7957
7958 PR middle-end/56217
7959 * testsuite/libgomp.c++/pr56217.C: New test.
7960
bed8d8a6
AM
79612013-02-01 Alan Modra <amodra@gmail.com>
7962
7963 * task.c (GOMP_task, GOMP_taskwait): Comment.
7964
3b35cd04
DV
79652013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7966 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7967
7968 PR libgomp/55561
7969 * config/linux/wait.h (do_spin): Use atomic load for addr.
7970 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7971 for intptr and ptrlock.
7972 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7973 for ptrlock.
7974
9a647288
AM
79752013-01-22 Alan Modra <amodra@gmail.com>
7976
7977 PR libgomp/51376
7978 PR libgomp/56073
7979 * task.c (GOMP_task): Revert 2011-12-09 change.
7980 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
7981 barrier to read task->children..
7982 (gomp_barrier_handle_tasks): ..and matching atomic store with
7983 release barrier here when setting parent->children to NULL.
7984
f34dea03
JJ
79852013-01-16 Jakub Jelinek <jakub@redhat.com>
7986 Tobias Burnus <burnus@net-b.de>
7987
7988 PR driver/55884
7989 * testsuite/libgomp.fortran/fortran.exp: Use
7990 -fintrinsic-modules-path= instead of
7991 -fintrinsic-modules-path.
7992
8129609c
RS
79932013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
7994
7995 Update copyright years.
7996
aa86bf1e
TB
79972012-12-19 Tobias Burnus <burnus@net-b.de>
7998
7999 * testsuite/libgomp.fortran/fortran.exp: Set
8000 -fintrinsic-modules-path.
8001
2865ea66
TB
80022012-12-19 Tobias Burnus <burnus@net-b.de>
8003
8004 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8005 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8006
4c5ba8d0
JJ
80072012-11-21 Jakub Jelinek <jakub@redhat.com>
8008
8009 PR libgomp/55411
8010 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8011 if pool had any threads_used.
8012
e9f958c2
JH
80132012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8014
8015 * testsuite/libgomp.c++/pr24455.C: Use
8016 -Wl,-undefined,dynamic_lookup on darwin.
8017
a57d75dc
DE
80182012-11-07 David Edelsohn <dje.gcc@gmail.com>
8019
8020 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8021
c6c08485
DH
80222012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8023
8024 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8025
c1f37c00
IB
80262012-10-23 Ian Bolton <ian.bolton@arm.com>
8027 Jim MacArthur <jim.macarthur@arm.com>
8028 Marcus Shawcroft <marcus.shawcroft@arm.com>
8029 Nigel Stephens <nigel.stephens@arm.com>
8030 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8031 Richard Earnshaw <rearnsha@arm.com>
8032 Sofiane Naci <sofiane.naci@arm.com>
8033 Stephen Thomas <stephen.thomas@arm.com>
8034 Tejas Belagod <tejas.belagod@arm.com>
8035 Yufeng Zhang <yufeng.zhang@arm.com>
8036
8037 * configure.tgt: Add AArch64.
8038
7c424acd
JM
80392012-10-04 Jason Merrill <jason@redhat.com>
8040
8041 * testsuite/libgomp.c++/tls-init1.C: New.
8042
6608378b
DE
80432012-09-14 David Edelsohn <dje.gcc@gmail.com>
8044
8045 * configure: Regenerated.
8046
c24dbebb
CLT
80472012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8048
8049 * config/linux/mips/futex.h (sys_futex0): Change to static
8050 function with noinline, nomips16 attributes under MIPS16. Adjust
8051 asm statement to place 'li v0,SYS_futex' immediately before
8052 syscall insn.
8053
3d3949df
SL
80542012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8055
8056 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8057 conflict with index.html on case-insensitive file systems.
8058
68a12ef3
UB
80592012-07-03 Uros Bizjak <ubizjak@gmail.com>
8060
8061 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8062 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8063
33ad93b9 80642012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8065 Michael Matz <matz@suse.de>
8066 Tobias Grosser <tobias@grosser.es>
8067 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8068
8069 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8070 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8071 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8072 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8073
e6fdc918
AS
80742012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8075
8076 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8077
62e0a1ed
RG
80782012-06-22 Richard Guenther <rguenther@suse.de>
8079
8080 Merge from graphite branch
8081 2012-01-13 Tobias Grosser <tobias@grosser.es>
8082
8083 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8084 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8085
26127932
JJ
80862012-06-07 Jakub Jelinek <jakub@redhat.com>
8087
8088 PR middle-end/53580
8089 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8090 use GOMP_barrier () call instead.
8091 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8092 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8093 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8094 call GOMP_barrier instead.
8095 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8096
43fa5db5
JJ
80972012-06-06 Jakub Jelinek <jakub@redhat.com>
8098
8099 PR libgomp/52993
8100 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8101 argument to memset call.
8102
e6d5f8c9
L
81032012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8104
8105 * configure: Regenerated.
8106
559d990c
MLI
81072012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8108
8109 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8110
b9c23a61
L
81112012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8112
8113 PR bootstrap/52812
8114 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8115
c140ddf3
JJ
81162012-03-22 Jakub Jelinek <jakub@redhat.com>
8117
8118 PR middle-end/52547
8119 * testsuite/libgomp.c/pr52547.c: New test.
8120
6a26a74d
BRF
81212012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8122
8123 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8124
b24513a1
RO
81252012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8126
8127 * configure.tgt (mips-sgi-irix6*): Remove.
8128
5c30094f
RO
81292012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8130
8131 * configure.tgt (alpha*-dec-osf*): Remove.
8132
8133 * config/osf/sem.h: Remove.
8134 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8135
a339c9d6
EB
81362012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8137
8138 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8139
cc2de92d
RO
81402012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8141
8142 PR libstdc++/52188
8143 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8144 Remove ENABLE_SYMVERS_SOL2.
8145 * configure: Regenerate.
8146 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8147 (PREPROCESS): New variable.
8148 (libgomp.ver): New target.
8149 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8150 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8151 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8152 Use libgomp.ver.
8153 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8154 * Makefile.in: Regenerate.
8155
dd552284
WL
81562012-02-14 Walter Lee <walt@tilera.com>
8157
8158 * configure.tgt: Handle tilegx and tilepro.
8159 * config/linux/tile/futex.h: New file.
8160
31432e21
RG
81612012-02-08 Richard Guenther <rguenther@suse.de>
8162
8163 PR tree-optimization/46886
8164 * testsuite/libgomp.c/pr46886.c: New testcase.
8165
b9264b5f
MK
81662012-01-25 Matthias Klose <doko@ubuntu.com>
8167
8168 * config/linux/arm: Remove empty directory.
8169 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8170
fbf7be80
AM
81712011-12-09 Alan Modra <amodra@gmail.com>
8172
8173 PR libgomp/51376
8174 * task.c (GOMP_taskwait): Don't access task->children outside of
8175 task_lock mutex region.
8176 (GOMP_task): Likewise.
8177
5de62d00
JJ
81782011-12-06 Jakub Jelinek <jakub@redhat.com>
8179
8180 PR libgomp/51132
8181 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8182 to file scope.
8183 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8184 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8185 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8186 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8187 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8188
45608a43
AM
81892011-12-02 Alan Modra <amodra@gmail.com>
8190
8191 * config/linux/affinity.c: Use atomic rather than sync builtin.
8192 * config/linux/lock.c: Likewise.
8193 * config/linux/ptrlock.h: Likewise.
8194 * config/linux/ptrlock.c: Likewise.
8195 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8196 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8197 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8198 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8199 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8200 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8201 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8202 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8203 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8204 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8205
ab6dd406
AM
82062011-11-30 Alan Modra <amodra@gmail.com>
8207
8208 PR libgomp/51298
8209 * config/linux/bar.h: Use atomic rather than sync builtins.
8210 * config/linux/bar.c: Likewise. Add missing acquire
8211 synchronisation on generation field.
8212 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8213 double unlock.
8214
b40c885f
AM
82152011-11-30 Alan Modra <amodra@gmail.com>
8216
8217 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8218 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8219 * config/linux/mutex.h: Use atomic rather than sync builtins.
8220 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8221 * config/linux/omp-lock.h: Comment fix.
8222 * config/linux/arm/mutex.h: Delete.
8223 * config/linux/powerpc/mutex.h: Delete.
8224 * config/linux/ia64/mutex.h: Delete.
8225 * config/linux/mips/mutex.h: Delete.
8226
3e348fcc
AM
82272011-11-30 Alan Modra <amodra@gmail.com>
8228
8229 PR libgomp/51249
8230 * config/linux/sem.h: Rewrite.
8231 * config/linux/sem.c: Rewrite.
8232
cef86eb2
RH
82332011-11-28 Richard Henderson <rth@redhat.com>
8234
8235 * libgomp.h (enum memmodel): New.
8236
c6084f68
AT
82372011-11-21 Andreas Tobler <andreast@fgznet.ch>
8238
8239 * configure: Regenerate.
8240
06fe026c
MK
82412011-10-10 Matthias Klose <doko@ubuntu.com>
8242
8243 * config/posix95: Remove empty directory.
8244
a6c975bd
JJ
82452011-08-26 Jakub Jelinek <jakub@redhat.com>
8246
8247 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8248
c26dffff
JJ
82492011-08-19 Jakub Jelinek <jakub@redhat.com>
8250
8251 PR fortran/49792
8252 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8253 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8254
ddaad3c8
RO
82552011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8256
8257 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8258
98d03683
RO
82592011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8260
8261 PR libgomp/49965
8262 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8263
e0b23d9f
UB
82642011-08-03 Uros Bizjak <ubizjak@gmail.com>
8265
8266 * config/linux/proc.h: New.
8267 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8268 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8269 (gomp_init_num_threads): Update call to cpuset_popcount.
8270 (get_num_procs): Ditto.
8271 * config/linux/affinity.c (gomp_init_affinity): Call
8272 gomp_cpuset_popcount.
8273
20906c66
JJ
82742011-08-02 Jakub Jelinek <jakub@redhat.com>
8275
8276 PR fortran/42041
8277 PR fortran/46752
8278 * omp.h.in (omp_in_final): New prototype.
8279 * omp_lib.f90.in (omp_in_final): New interface.
8280 (omp_integer_kind, omp_logical_kind): Remove
8281 and replace all its uses in the module with 4.
8282 (openmp_version): Change to 201107.
8283 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8284 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8285 kind for the parameters.
8286 (omp_in_final): New external.
8287 (openmp_version): Change to 201107.
8288 * task.c (omp_in_final): New function.
8289 (gomp_init_task): Initialize final_task.
8290 (GOMP_task): Remove unused attribute from flags. Handle final
8291 tasks.
8292 (GOMP_taskyield): New function.
8293 (omp_in_final): Return true if if (false) or final (true) task
8294 or descendant of final (true).
8295 * fortran.c (omp_in_final_): New function.
8296 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8297 (GOMP_3.0): Export GOMP_taskyield.
8298 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8299 variables.
8300 (parse_unsigned_long_list): New function.
8301 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8302 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8303 even if parse_affinity returned false.
8304 * config/linux/affinity.c (gomp_init_affinity): Handle
8305 gomp_cpu_affinity_len == 0.
8306 * libgomp_g.h (GOMP_taskyield): New prototype.
8307 * libgomp.h (struct gomp_task): Add final_task field.
8308 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8309 * team.c (gomp_team_start): Override new task's nthreads_var icv
8310 if list form OMP_NUM_THREADS has been used and it has value for
8311 the new nesting level.
8312
8313 * testsuite/libgomp.c/atomic-11.c: New test.
8314 * testsuite/libgomp.c/atomic-12.c: New test.
8315 * testsuite/libgomp.c/atomic-13.c: New test.
8316 * testsuite/libgomp.c/atomic-14.c: New test.
8317 * testsuite/libgomp.c/reduction-6.c: New test.
8318 * testsuite/libgomp.c/task-5.c: New test.
8319 * testsuite/libgomp.c++/atomic-2.C: New test.
8320 * testsuite/libgomp.c++/atomic-3.C: New test.
8321 * testsuite/libgomp.c++/atomic-4.C: New test.
8322 * testsuite/libgomp.c++/atomic-5.C: New test.
8323 * testsuite/libgomp.c++/atomic-6.C: New test.
8324 * testsuite/libgomp.c++/atomic-7.C: New test.
8325 * testsuite/libgomp.c++/atomic-8.C: New test.
8326 * testsuite/libgomp.c++/atomic-9.C: New test.
8327 * testsuite/libgomp.c++/task-8.C: New test.
8328 * testsuite/libgomp.c++/reduction-4.C: New test.
8329 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8330 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8331 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8332 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8333 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8334 * testsuite/libgomp.fortran/pointer1.f90: New test.
8335 * testsuite/libgomp.fortran/pointer2.f90: New test.
8336 * testsuite/libgomp.fortran/task4.f90: New test.
8337
83382011-08-02 Tobias Burnus <burnus@net-b.de>
8339
8340 * libgomp.texi: Update OpenMP spec references to 3.1.
8341 (omp_in_final,OMP_PROC_BIND): New sections.
8342 (OMP_NUM_THREADS): Document that the value can be now a list.
8343 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8344
c01ecafc
L
83452011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8346
8347 * config/linux/x86/futex.h: Check __x86_64__ instead of
8348 __LP64__.
8349
25142650
JJ
83502011-07-29 Jakub Jelinek <jakub@redhat.com>
8351
8352 PR middle-end/49897
8353 PR middle-end/49898
8354 * testsuite/libgomp.c/pr49897-1.c: New test.
8355 * testsuite/libgomp.c/pr49897-2.c: New test.
8356 * testsuite/libgomp.c/pr49898-1.c: New test.
8357 * testsuite/libgomp.c/pr49898-2.c: New test.
8358
f53d712f
L
83592011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8360
8361 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8362 for ia32 instead of ilp32.
8363
8364 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8365 * testsuite/libgomp.c/atomic-6.c: Likewise.
8366
3689198d
SP
83672011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8368
8369 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8370 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8371
1a79cb73
RO
83722011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8373
8374 PR libgomp/45351
8375 * config/osf/sem.h: New file.
8376 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8377
c1f51484
RO
83782011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8379
8380 PR target/49541
8381 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8382 ldflags.
8383
bfee0724
JJ
83842011-07-15 Jakub Jelinek <jakub@redhat.com>
8385
8386 * config/linux/wait.h (do_spin): New inline, largely copied
8387 from do_wait, just don't do futex_wait here, instead return true if
8388 it should be done.
8389 (do_wait): Implement using do_spin.
8390 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8391 to prototype.
8392 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8393 __sync_bool_compare_and_swap, pass the oldval to
8394 gomp_mutex_lock_slow.
8395 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8396 If all mutex contenders are just spinning and not sleeping, don't
8397 change state to 2 unnecessarily. Optimize the loop when state has
8398 already become 2 to use just one atomic operation per loop instead
8399 of two.
8400 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8401 to prototype.
8402 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8403 __sync_bool_compare_and_swap, pass the oldval to
8404 gomp_mutex_lock_slow.
8405
fb79f500
JJ
84062011-06-22 Jakub Jelinek <jakub@redhat.com>
8407
8408 PR libgomp/49490
8409 * iter.c (gomp_iter_static_next): For chunk size 0
8410 only use n ceil/ nthreads size for the first
8411 n % nthreads threads in the team instead of
8412 all threads except for the last few ones which
8413 get less work or none at all.
8414 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8415 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8416 chunk argument, set run_sched_modifier to 0 for static
8417 resp. 1 for other kinds. If chunk argument is 0
8418 and not static, set value to 1.
8419
4577f730
JJ
84202011-05-19 Jakub Jelinek <jakub@redhat.com>
8421
ea93a47b
JJ
8422 PR c++/49043
8423 * testsuite/libgomp.c++/pr49043.C: New test.
8424
4577f730
JJ
8425 PR c++/48869
8426 * testsuite/libgomp.c++/pr48869.C: New test.
8427
e7385332
JJ
84282011-05-06 Jakub Jelinek <jakub@redhat.com>
8429
8430 PR fortran/48894
8431 * fortran.c: Include limits.h.
8432 (TO_INT): Define.
8433 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8434 *set.
8435 (omp_set_num_threads_8_, omp_set_schedule_8_,
8436 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8437 omp_get_team_size_8_): Use TO_INT macro.
8438 * testsuite/libgomp.fortran/pr48894.f90: New test.
8439
20790697
JJ
84402011-04-13 Jakub Jelinek <jakub@redhat.com>
8441
8442 PR middle-end/48591
8443 * testsuite/libgomp.c/pr48591.c: New test.
8444
bf382f5f
RO
84452011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8446
8447 PR bootstrap/48135
8448 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8449 * configure: Regenerate.
8450
113a53c1
JJ
84512011-02-27 Jakub Jelinek <jakub@redhat.com>
8452
8453 PR fortran/47886
8454 * testsuite/libgomp.fortran/task3.f90: New test.
8455
0024f1af
TB
84562011-02-24 Tobias Burnus <burnus@net-b.de>
8457
8458 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8459
21e1e594
JJ
84602011-02-23 Jakub Jelinek <jakub@redhat.com>
8461
8462 PR libgomp/47854
8463 * libgomp.texi (omp_get_wtime): Don't say time in the past
8464 must be Unix Epoch.
8465
67962076
JJ
84662011-02-18 Jakub Jelinek <jakub@redhat.com>
8467
8468 PR libgomp/47804
8469 * testsuite/libgomp.fortran/fortran.exp: Check for both
8470 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8471 but $blddir != "", still append ${blddir}/${lang_library_path}
8472 to ld_library_path.
8473
3808007c
TB
84742011-02-16 Tobias Burnus <burnus@net-b.de>
8475
8476 PR libgomp/47758
8477 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8478 of libquadmath.a before adding its libpath to ldflags.
8479
53b4d41d
JJ
84802011-02-14 Jakub Jelinek <jakub@redhat.com>
8481
8482 PR libgomp/47731
8483 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8484 to FUTEX_WAIT futex syscall.
8485 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8486
029c8f3e
RW
84872011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8488
8489 * configure: Regenerate.
8490
bddd6626
BK
84912011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8492
8493 PR libstdc++/36104
8494 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8495
f1d4ab26
GP
84962011-01-16 Gerald Pfeifer
8497
8498 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8499
2b503136
JJ
85002010-12-14 Jakub Jelinek <jakub@redhat.com>
8501
8502 PR fortran/46874
8503 * libgomp.fortran/allocatable6.f90: New test.
8504
c0f9d583
RO
85052010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8506
8507 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8508 * configure: Regenerate.
8509
7de6ba7a
DK
85102010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8511
8512 PR target/40125
8513 PR lto/46695
8514 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8515 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8516 * aclocal.m4: Regenerate.
8517 * configure: Regenerate.
8518 * Makefile.in: Regenerate.
8519 * testsuite/Makefile.in: Regenerate.
8520
b7516041
JJ
85212010-12-02 Jakub Jelinek <jakub@redhat.com>
8522
edaadf74
JJ
8523 PR fortran/46753
8524 * libgomp.fortran/pr46753.f90: New test.
8525
4c698cf8
JJ
8526 PR libgomp/43706
8527 * env.c (initialize_env): Default to spin count 300000
8528 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8529 is specified.
8530
b7516041
JJ
8531 PR libgomp/45240
8532 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8533 at the end if sync builtins aren't supported.
8534
6b43a34c
RO
85352010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8536
8537 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8538
950691fa
RO
85392010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8540
8541 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8542
fb9041ea
IS
85432010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8544
8545 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8546
1ec601bf
FXC
85472010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8548 Tobias Burnus <burnus@net-b.de>
8549
8550 PR fortran/32049
3e348fcc 8551 * configure.ac:
1ec601bf
FXC
8552 * configure: Regenerate.
8553
d213e92e
MS
85542010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8555
8556 * config/linux/futex.h: New.
8557 * config/linux/arm/mutex.h: New.
8558 * configure.tgt (arm*-*-linux*): Add config path.
8559
89d5c66f
SP
85602010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8561
8562 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8563
87350d4a
TB
85642010-09-23 Tobias Burnus <burnus@net-b.de>
8565
8566 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8567 Change Fortran datatype to LOGICAL.
8568 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8569 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8570
75bc9e5e
RW
85712010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8572
8573 * configure: Regenerate.
8574
acb5c916
JJ
85752010-07-26 Jakub Jelinek <jakub@redhat.com>
8576
8577 * libgomp.texi: Add function keyword to a couple of Fortran
8578 interfaces, use integer instead of int for Fortran.
8579
6a2ba183
AH
85802010-07-26 Aldy Hernandez <aldyh@redhat.com>
8581
8582 * libgomp.texi: Fix spelling and pasto problems throughout.
8583 Adjust prototypes to match code.
8584
df161b69
TB
85852010-07-24 Tobias Burnus <burnus@net-b.de>
8586
8587 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8588 silence -fwhole-file warning.
8589
16c9d3b1
RO
85902010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8591
8592 * configure.tgt (*-*-solaris2.[56]*): Removed.
8593
6d28b933
RO
85942010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8595
8596 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8597 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8598 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8599 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8600 targetting solaris2*.
8601 * configure: Regenerate.
8602 * config.h.in: Regenerate.
8603
8604 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8605 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8606 Add libgomp_version_dep.
8607 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8608 versioning.
8609 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8610 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8611 * Makefile.in: Regenerate.
8612
8613 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8614 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8615 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8616 to common block, protected by
8617 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8618
07a67d6a
GP
86192010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8620
8621 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8622
dbd34b89
IS
86232010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8624
8625 PR bootstrap/43170
8626 * configure: Regenerate.
8627
13917ae3
RW
86282010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8629
8630 PR other/43620
8631 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8632 * configure: Regenerate.
8633 * Makefile.in: Regenerate.
8634 * testsuite/Makefile.in: Regenerate.
8635
b83a701b
JJ
86362010-04-26 Jakub Jelinek <jakub@redhat.com>
8637
8638 PR c/43893
8639 * testsuite/libgomp.c/pr43893.c: New test.
8640 * testsuite/libgomp.c++/pr43893.C: New test.
8641
78db7d92
JJ
86422010-04-21 Jakub Jelinek <jakub@redhat.com>
8643
8644 PR middle-end/43570
8645 * testsuite/libgomp.fortran/vla8.f90: New test.
8646
5221d7a9
JJ
86472010-04-20 Jakub Jelinek <jakub@redhat.com>
8648
e4ba7a60
JJ
8649 PR libgomp/43706
8650 * config/linux/affinity.c (gomp_init_affinity): Decrease
8651 gomp_available_cpus if affinity mask confines the process to fewer
8652 CPUs.
8653 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8654 non-NULL, just return gomp_available_cpus.
8655
5221d7a9
JJ
8656 PR libgomp/43569
8657 * sections.c (gomp_sections_init): Initialize ws->mode.
8658
289a9f86
UB
86592010-04-14 Uros Bizjak <ubizjak@gmail.com>
8660
8661 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8662 not unused bar variable.
8663 * configure: Regenerate.
8664
4d9e8446
RW
86652010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8666
8667 * Makefile.in: Regenerate.
8668 * aclocal.m4: Regenerate.
8669 * testsuite/Makefile.in: Regenerate.
8670
80f046cc
JJ
86712010-03-22 Jakub Jelinek <jakub@redhat.com>
8672
8673 PR libgomp/42942
8674 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8675 (initialize_env): Adjust callers.
8676 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8677 when the argument is 0.
8678
8679 * testsuite/libgomp.c/pr42942.c: New test.
8680
b58543c3
SP
86812010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8682
8683 PR middle-end/42644
8684 PR middle-end/42130
8685 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8686 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8687
41d1138f
RO
86882010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8689
8690 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8691 * testsuite/libgomp.c++/task-6.C: Likewise.
8692
6684eb28
SE
86932010-01-28 Steve Ellcey <sje@cup.hp.com>
8694
8695 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8696
2122aa97
PB
86972010-01-26 Paolo Bonzini <bonzini@gnu.org>
8698
8699 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8700 * configure: Regenerate.
8701
057dd91d
JJ
87022010-01-26 Jakub Jelinek <jakub@redhat.com>
8703
8704 PR fortran/42866
8705 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8706
d0709b6a
PB
87072010-01-20 Paolo Bonzini <bonzini@gnu.org>
8708
8709 * configure.ac: Test for executability of GFORTRAN.
8710 * configure: Regenerate.
8711
b9497ab5
RO
87122010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8713
8714 * configure: Regenerate.
8715
45de5648
L
87162010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8717
8718 PR libgomp/42602
8719 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8720
e74003a1
RG
87212010-01-03 Richard Guenther <rguenther@suse.de>
8722
8723 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8724
1b3abda8
SP
87252009-12-23 Sebastian Pop <sebpop@gmail.com>
8726
8727 * testsuite/libgomp.graphite/pr4118.c: New.
8728
e19977d3
IS
87292009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8730
8731 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8732 for darwin, protect the test with require-effective-target tls_runtime.
8733 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8734
1d32a772
IS
87352009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8736
8737 PR target/41605
8738 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8739 link spec %s substitutions for static libraries.
8740
deb109b2
JH
87412009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8742
8743 PR testsuite/42135
8744 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8745
43e02a8a
RW
87462009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8747
8748 * Makefile.in: Regenerate.
8749 * configure: Regenerate.
8750 * testsuite/Makefile.in: Regenerate.
8751
17f35e23
DK
87522009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8753
8754 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8755 settings for LC_ALL and LANG.
8756
281e33e1
JJ
87572009-11-25 Jakub Jelinek <jakub@redhat.com>
8758
8759 PR fortran/42162
8760 * testsuite/libgomp.fortran/pr42162.f90: New test.
8761
2b32c27d
JJ
87622009-11-13 Jakub Jelinek <jakub@redhat.com>
8763
8764 PR middle-end/42029
281e33e1 8765 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8766
89c74f4a
JJ
87672009-10-26 Jakub Jelinek <jakub@redhat.com>
8768
8769 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8770 *s. Accept ld version without text in ()s.
8771 * configure: Regenerated.
8772
7e06c3d6
EB
87732009-10-22 Razya Ladelsky <razya@il.ibm.com>
8774
8775 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8776
0046b1a7
RW
87772009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8778
8779 PR libgomp/41418
8780 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8781 or a hyphen (happens with fortran language disabled).
8782 * configure: Regenerate.
8783
c82852f7
RW
87842009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8785
8786 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8787 use sed script portable to Solaris /bin/sed for extracting ld
8788 version.
8789 * configure: Regenerate.
8790
98f3eb1f
AM
87912009-09-17 Alexander Monakov <amonakov@ispras.ru>
8792
8793 * testsuite/libgomp.graphite/bounds.c: New test.
8794
878f62e5
RW
87952009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8796
8797 * Makefile.am (libgomp_la_LINK): New.
8798 * Makefile.in: Regenerate.
8799
df58e648
RW
88002009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8801
8802 * configure.ac (AC_PREREQ): Bump to 2.64.
8803
5213506e
RW
88042009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8805
70fa0efa
RW
8806 * Makefile.am (install-html, install-pdf): Remove.
8807 * Makefile.in: Regenerate.
8808
5213506e
RW
8809 * Makefile.in: Regenerate.
8810 * aclocal.m4: Regenerate.
8811 * config.h.in: Regenerate.
8812 * configure: Regenerate.
8813 * testsuite/Makefile.in: Regenerate.
8814
84fec8a5
RW
88152009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8816
8817 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8818 * Makefile.in: Regenerate.
8819
197c68cc
DK
88202009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8821
8822 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8823 * Makefile.in: Regenerate.
8824
693d54f2
TB
88252009-08-19 Tobias Burnus <burnus@net-b.de>
8826
8827 PR fortran/41102
8828 omp_lib.h.in: Fix -std=f95 errors.
8829
8cac884c
DE
88302009-08-14 David Edelsohn <edelsohn@gnu.org>
8831
8832 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8833 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8834 * testsuite/libgomp.graphite/graphite.exp: New.
8835
78729ee2
AT
88362009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8837
8838 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8839 only build.
8840
b13b7f39
DD
88412009-08-04 David Daney <ddaney@caviumnetworks.com>
8842
8843 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8844 needed memory barrier semantics.
8845 * config/linux/mips/mutex.h: New file.
8846
1b3b24c2
RW
88472009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8848
8849 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8850
396b7fa4
JM
88512009-07-16 Joseph Myers <joseph@codesourcery.com>
8852
8853 * configure: Regenerate.
8854
33cde516
RS
88552009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8856
8857 PR testsuite/40699
8858 PR testsuite/40707
8859 PR testsuite/40709
8860 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8861 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8862 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8863
bc21bfa5
RS
88642009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8865
8866 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8867 options when choosing a multilib.
8868
b30bfd40
RS
88692009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8870
8871 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8872 ld_library_path. Use add_path. Add just find_libgcc_s to
8873 ld_library_path, not every libgcc multilib directory.
8874 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8875 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8876 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8877 Use add_path.
8878 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8879
479c15c2
NF
88802009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8881
8882 * Makefile.am (LTLDFLAGS): Define.
8883 (LINK): Define.
8884 * Makefile.in: Regenerate.
8885
667e6f89
JB
88862009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8887
8888 PR fortran/39718
8889 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8890 libgfortranbegin, check existence of libgfortran.a instead of
8891 libgfortranbegin.a.
8892
6dea8e99
JJ
88932009-05-20 Jakub Jelinek <jakub@redhat.com>
8894
8895 PR libgomp/40174
8896 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8897 (gomp_free_pool_helper): Likewise.
8898
34d01e1d
VL
88992009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8900 Jakub Jelinek <jakub@redhat.com>
8901
8902 PR fortran/35423
8903 * testsuite/libgomp.fortran/workshare2.f90: New test.
8904
748086b7
JJ
89052009-04-09 Nick Clifton <nickc@redhat.com>
8906
8907 * iter.c: Change copyright header to refer to version 3 of the
8908 GNU General Public License with version 3.1 of the GCC Runtime
8909 Library Exception and to point readers at the COPYING3 and
8910 COPYING3.RUNTIME files and the FSF's license web page.
8911 * alloc.c: Likewise.
8912 * barrier.c: Likewise.
8913 * config/bsd/proc.c: Likewise.
8914 * config/linux/affinity.c: Likewise.
8915 * config/linux/alpha/futex.h: Likewise.
8916 * config/linux/bar.c: Likewise.
8917 * config/linux/bar.h: Likewise.
8918 * config/linux/ia64/futex.h: Likewise.
8919 * config/linux/ia64/mutex.h: Likewise.
8920 * config/linux/lock.c: Likewise.
8921 * config/linux/mips/futex.h: Likewise.
8922 * config/linux/mutex.c: Likewise.
8923 * config/linux/mutex.h: Likewise.
8924 * config/linux/powerpc/futex.h: Likewise.
8925 * config/linux/proc.c: Likewise.
8926 * config/linux/ptrlock.c: Likewise.
8927 * config/linux/ptrlock.h: Likewise.
8928 * config/linux/s390/futex.h: Likewise.
8929 * config/linux/sem.c: Likewise.
8930 * config/linux/sem.h: Likewise.
8931 * config/linux/sparc/futex.h: Likewise.
8932 * config/linux/wait.h: Likewise.
8933 * config/linux/x86/futex.h: Likewise.
8934 * config/mingw32/proc.c: Likewise.
8935 * config/mingw32/time.c: Likewise.
8936 * config/posix/affinity.c: Likewise.
8937 * config/posix/bar.c: Likewise.
8938 * config/posix/bar.h: Likewise.
8939 * config/posix/lock.c: Likewise.
8940 * config/posix/mutex.h: Likewise.
8941 * config/posix/proc.c: Likewise.
8942 * config/posix/ptrlock.h: Likewise.
8943 * config/posix/sem.c: Likewise.
8944 * config/posix/sem.h: Likewise.
8945 * config/posix/time.c: Likewise.
8946 * config/posix95/lock.c: Likewise.
8947 * critical.c: Likewise.
8948 * env.c: Likewise.
8949 * error.c: Likewise.
8950 * fortran.c: Likewise.
8951 * iter_ull.c: Likewise.
8952 * libgomp.h: Likewise.
8953 * libgomp_f.h.in: Likewise.
8954 * libgomp_g.h: Likewise.
8955 * loop.c: Likewise.
8956 * loop_ull.c: Likewise.
8957 * omp.h.in: Likewise.
8958 * omp_lib.f90.in: Likewise.
8959 * omp_lib.h.in: Likewise.
8960 * ordered.c: Likewise.
8961 * parallel.c: Likewise.
8962 * sections.c: Likewise.
8963 * single.c: Likewise.
8964 * task.c: Likewise.
8965 * team.c: Likewise.
8966 * work.c: Likewise.
8967
89682009-04-09 Jakub Jelinek <jakub@redhat.com>
8969
8970 * testsuite/config/default.exp: Change copyright header to refer to
8971 version 3 of the GNU General Public License and to point readers
8972 at the COPYING3 file and the FSF's license web page.
8973
4f0ae266
JJ
89742009-04-08 Jakub Jelinek <jakub@redhat.com>
8975
8976 PR middle-end/39573
8977 * libgomp.c++/pr39573.C: New test.
8978
03742a9b
JJ
89792009-04-01 Jakub Jelinek <jakub@redhat.com>
8980
8981 PR other/39591
8982 * testsuite/libgomp.c/pr39591-1.c: New test.
8983 * testsuite/libgomp.c/pr39591-2.c: New test.
8984 * testsuite/libgomp.c/pr39591-3.c: New test.
8985
e50ea10b
UB
89862009-03-25 Uros Bizjak <ubizjak@gmail.com>
8987
8988 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8989 * testsuite/libgomp.c/atomic-6.c: Ditto.
8990
c5cdb03f
JJ
89912009-03-23 Jakub Jelinek <jakub@redhat.com>
8992
8993 PR c/39495
8994 * testsuite/libgomp.c/loop-12.c: New test.
8995 * testsuite/libgomp.c/loop-11.c: New test.
8996 * testsuite/libgomp.c++/loop-11.C: New test.
8997 * testsuite/libgomp.c++/loop-12.C: New test.
8998 * testsuite/libgomp.c++/for-8.C: New test.
8999
7a9d3fe8
RW
90002009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9001
9002 * configure: Regenerate.
9003
3ad6b266
JJ
90042009-02-11 Jakub Jelinek <jakub@redhat.com>
9005
9006 PR middle-end/39154
9007 * testsuite/libgomp.c/pr39154.c: New test.
9008
b39dea08
ILT
90092009-01-30 Ian Lance Taylor <iant@google.com>
9010
9011 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9012 libgomp_ld_is_gold. Get gold version number.
9013 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9014 * configure: Rebuild.
9015
72c66596
IS
90162009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9017
e50ea10b 9018 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9019 use libgfortran.a%s in their specs.
9020
876080ff
JJ
90212009-01-07 Jakub Jelinek <jakub@redhat.com>
9022
9023 PR libgomp/38086
9024 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9025 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9026 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9027 * configure: Regenerated.
9028 * config.h.in: Likewise.
9029
e4ebaef3
JJ
90302008-12-28 Jakub Jelinek <jakub@redhat.com>
9031
9032 PR c++/38650
9033 * testsuite/libgomp.c/pr38650.c: New test.
9034 * testsuite/libgomp.c++/pr38650.C: New test.
9035
382017a6
JJ
90362008-12-27 Jakub Jelinek <jakub@redhat.com>
9037
9038 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9039
79644b27
UB
90402008-12-26 Uros Bizjak <ubizjak@gmail.com>
9041
9042 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9043
baafc534
RW
90442008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9045
9046 * configure: Regenerate.
9047
d9c194cb
JJ
90482008-12-08 Jakub Jelinek <jakub@redhat.com>
9049
9050 PR middle-end/36802
9051 * testsuite/libgomp.c/pr36802-1.c: New test.
9052 * testsuite/libgomp.c/pr36802-2.c: New test.
9053 * testsuite/libgomp.c/pr36802-3.c: New test.
9054
86a182bf
JJ
90552008-12-01 Janis Johnson <janis187@us.ibm.com>
9056
9057 PR libgomp/38270
9058 * config/linux/powerpc/mutex.h: New.
9059
956adfaf
JJ
90602008-12-01 Jakub Jelinek <jakub@redhat.com>
9061
a2d4cdc9
JJ
9062 PR c++/38257
9063 * testsuite/libgomp.c++/for-7.C: New test.
9064
956adfaf
JJ
9065 PR c++/38348
9066 * testsuite/libgomp.c++/for-6.C: New test.
9067
d4038ca2
JJ
90682008-11-26 Janis Johnson <janis187@us.ibm.com>
9069
9070 PR testsuite/28870
9071 * testsuite/lib/libgomp.exp: Include new timeout library files.
9072 (libgomp_target_compile): Set timeout value from new proc.
9073
8b159eea
SE
90742008-11-13 Steve Ellcey <sje@cup.hp.com>
9075
9076 PR libgomp/37938
9077 * config/linux/ia64/mutex.h: New.
9078
5c6ed53a
TB
90792008-11-04 Tobias Burnus <burnus@net-b.de>
9080
9081 PR libgomp/37935
9082 * libgomp.texi (Runtime library routines, environment variables):
9083 Update for OpenMP version 3.0.
9084
6b4a97ed
PG
90852008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9086 Steve Ellcey <sje@cup.hp.com>
9087
9088 * configure: Regenerate for new libtool.
9089 * Makefile.in: Ditto.
9090 * testsuite/Makefile.in: Ditto.
9091
e2b34106
JJ
90922008-09-19 Jakub Jelinek <jakub@redhat.com>
9093 Andreas Tobler <a.tobler@schweiz.org>
9094
9095 * config/bsd/proc.c: New file.
8c3b3600 9096 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9097 * configure.ac: Check for header <sys/sysctl.h>
9098 * configure: Regenerate.
9099 * config.h.in: Likewise.
9100
3606b8bf
JJ
91012008-09-05 Janis Johnson <janis187@us.ibm.com>
9102
9103 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9104
6528b88d
AL
91052008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9106
9107 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9108 * Makefile.in: Regenerated.
9109 * testsuite/Makefile.in: Regenerated.
9110
d9b14b12 91112008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9112
a16b68bb 9113 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9114 depend on blddir if blddir exists.
9115 (libgomp_target_compile): Likewise.
9116 * testsuite/libgomp.c++/c++.exp: Likewise.
9117 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9118
70b1e376
RW
91192008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9120
9121 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9122 Do not list GPL as Invariant Section.
9123
318e8c3f
IG
91242008-07-28 Ilie Garbacea <ilie@mips.com>
9125 Chao-ying Fu <fu@mips.com>
9126
9127 * configure.tgt: Enable futex for MIPS.
9128 * config/linux/mips/futex.h: New file.
9129
4db72361
JJ
91302008-07-16 Jakub Jelinek <jakub@redhat.com>
9131
9132 * team.c (gomp_team_end): Free team immediately if it has
9133 just one thread.
9134
87bd23b8
DE
91352008-07-08 David Edelsohn <edelsohn@gnu.org>
9136
9137 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9138 * testsuite/libgomp.fortran/fortran.exp: Same.
9139 * testsuite/libgomp.c/c.exp: Same.
9140 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9141 directory to library path first.
9142
323ff903
KW
91432008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9144
9145 * env.c (parse_stacksize): Add cast to avoid warning.
9146 (parse_spincount): Likewise.
9147
b357f682
JJ
91482008-06-27 Jakub Jelinek <jakub@redhat.com>
9149
ca2b1311
JJ
9150 * testsuite/libgomp.c/loop-10.c: New test.
9151 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9152 * libgomp.c++/loop-6.C (main): Likewise.
9153
b357f682
JJ
9154 PR debug/36617
9155 * testsuite/libgomp.c/debug-1.c: New test.
9156
09a46078
JJ
91572008-06-19 Jakub Jelinek <jakub@redhat.com>
9158
9159 * testsuite/libgomp.c/nqueens-1.c: New test.
9160
2368a460
JJ
9161 PR c++/36523
9162 * testsuite/libgomp.c++/task-7.C: New function.
9163
18c04407
RW
91642008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9165
9166 * configure: Regenerate.
9167
9c4e59e0
JDA
91682008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9169
9170 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9171 mutex when HAVE_SYNC_BUILTINS isn't defined.
9172
6ccde948
RW
91732008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9174
9175 * libgomp.texi (omp_test_lock): Fix typo.
9176
b896f9fd
TB
91772008-06-12 Tobias Burnus <burnus@net-b.de>
9178
9179 * omp_lib.f90.in: Add "implicit none".
9180
c34938a8
JJ
91812008-06-12 Jakub Jelinek <jakub@redhat.com>
9182
9183 PR middle-end/36506
9184 * testsuite/libgomp.c/reduction-5.c: New test.
9185
976e44e3
JJ
91862008-06-11 Jakub Jelinek <jakub@redhat.com>
9187
5f836cbb
JJ
9188 * libgomp.h (struct gomp_task): Add in_tied_task field.
9189 * task.c (gomp_init_task): Initialize it.
9190 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9191 unconditionally. Don't call gomp_team_barrier_wake if
9192 current task is implicit or if(0) from implicit and number of
9193 running tasks is equal to nthreads - 1.
9194
01501fc8
JJ
9195 PR libgomp/36471
9196 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9197 omp_get_team_size_8): Fix pastos.
9198
976e44e3
JJ
9199 PR libgomp/36469
9200 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9201 * configure: Regenerated.
9202 * config.h.in: Regenerated.
9203 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9204 defined.
9205
e919209b
AT
92062008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9207
9208 PR bootstrap/36452
9209 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9210 (GOMP_loop_ull_dynamic_start): Likewise.
9211 (GOMP_loop_ull_guided_start): Likewise.
9212 (GOMP_loop_ull_ordered_static_start): Likewise.
9213 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9214 (GOMP_loop_ull_ordered_guided_start): Likewise.
9215
a68ab351
JJ
92162008-06-06 Jakub Jelinek <jakub@redhat.com>
9217 Richard Henderson <rth@redhat.com>
9218 Ulrich Drepper <drepper@redhat.com>
9219 Jakob Blomer <jakob.blomer@ira.uka.de>
9220
9221 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9222 Substitute also OMP_*LOCK_25*.
9223 * configure: Regenerated.
9224 * config.h.in: Regenerated.
9225 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9226 ptrlock.c and task.c.
9227 * Makefile.in: Regenerated.
9228 * testsuite/Makefile.in: Regenerated.
9229 * task.c: New file.
9230 * loop_ull.c: New file.
9231 * iter_ull.c: New file.
9232 * libgomp.h: Include ptrlock.h.
9233 (enum gomp_task_kind): New type.
9234 (struct gomp_team): Add task_lock, task_queue, task_count,
9235 task_running_count, single_count fields. Add
9236 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9237 Remove work_share_lock, generation_mask,
9238 oldest_live_gen, num_live_gen and init_work_shares fields, add
9239 work work_share_list_alloc, work_share_list_free and work_share_chunk
9240 fields. Change work_shares from pointer to pointers into an array.
9241 Change ordered_release field into gomp_sem_t ** from flexible array
9242 member. Add implicit_task and initial_work_shares fields.
9243 Move close to the end of the struct.
9244 (struct gomp_team_state): Add single_count, last_work_share,
9245 active_level and level fields, remove work_share_generation.
9246 (gomp_barrier_handle_tasks): New prototype.
9247 (gomp_finish_task): New inline function.
9248 (struct gomp_work_share): Move chunk_size, end, incr into
9249 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9250 next_ll fields. Reshuffle fields. Add next_alloc,
9251 next_ws, next_free and inline_ordered_team_ids fields, change
9252 ordered_team_ids into pointer from flexible array member.
9253 Add mode field. Put lock and next into a different cache line
9254 from most of the write-once fields.
9255 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9256 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9257 gomp_iter_ull_guided_next): New prototypes.
9258 (gomp_new_icv): New prototype.
9259 (struct gomp_thread): Add thread_pool and task fields.
9260 (struct gomp_thread_pool): New type.
9261 (gomp_new_team): New prototype.
9262 (gomp_team_start): Change type of last argument.
9263 (gomp_new_work_share): Removed.
9264 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9265 (gomp_work_share_init_done): New static inline.
9266 (gomp_throttled_spin_count_var, gomp_available_cpus,
9267 gomp_managed_threads): New extern decls.
9268 (gomp_init_task): New prototype.
9269 (gomp_spin_count_var): New extern var decl.
9270 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9271 or no alias support, or if not PIC.
9272 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9273 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9274 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9275 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9276 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9277 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9278 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9279 gomp_test_nest_lock_25): New prototypes.
9280 (omp_lock_symver, strong_alias): Define.
9281 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9282 decls.
9283 (gomp_end_task): New.
9284 (struct gomp_task_icv, gomp_global_icv): New.
9285 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9286 (struct gomp_task): New.
9287 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9288 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9289 (gomp_icv): New.
9290 (gomp_schedule_type): Reorder enum to match
9291 omp_sched_t.
9292 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9293 fields.
9294 (gomp_thread_start): Add gomp_team_barrier_wait call.
9295 For non-nested case remove clearing of docked thread thr fields.
9296 Use pool fields instead of global gomp_* variables. Use
9297 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9298 Create tasks for each member thread.
9299 (free_team): Only destroy team barrier, task_lock here and free it.
9300 (gomp_free_thread): Free last_team if non-NULL.
9301 (gomp_team_end): Call gomp_team_barrier_wait instead of
9302 gomp_barrier_wait. For nested case call one extra
9303 gomp_barrier_wait. Move here some destruction from free_team.
9304 Call free_team on pool->last_team if any, rather than freeing
9305 current team. Destroy work_share_list_free_lock ifndef
9306 HAVE_SYNC_BUILTINS.
9307 (gomp_new_icv): New function.
9308 (gomp_threads, gomp_threads_size, gomp_threads_used,
9309 gomp_threads_dock): Removed.
9310 (gomp_thread_destructor): New variable.
9311 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9312 functions.
9313 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 9314 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
9315 Initialize thread_pool field for new threads. Clear single_count.
9316 Change last argument from ws to team, don't create
9317 new team, set ts.work_share to &team->work_shares[0] and clear
9318 ts.last_work_share. Don't clear ts.work_share_generation.
9319 If number of threads changed, adjust atomically gomp_managed_threads.
9320 Use gomp_init_task instead of gomp_new_task,
9321 set thr->task to the corresponding implicit_task array entry.
9322 Create tasks for each member thread. Initialize ts.level.
9323 (initialize_team): Call pthread_key_create on
9324 gomp_thread_destructor.
9325 (team_destructor): New function.
9326 (new_team): Removed.
9327 (gomp_new_team): New function.
9328 (free_team): Free gomp_work_share blocks chained through next_alloc,
9329 instead of freeing work_shares and destroying work_share_lock.
9330 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9331 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9332 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9333 of gomp_barrier_wait.
9334 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9335 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9336 if gomp_work_share_start returned true. Don't unlock ws->lock.
9337 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9338 of gomp_barrier_wait.
9339 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9340 gomp_work_share_init_done if gomp_work_share_start returned true.
9341 Don't unlock ws->lock.
9342 * work.c: Include stddef.h.
9343 (free_work_share): Use work_share_list_free_lock instead
9344 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9345 Call gomp_fini_work_share and then either free ws if orphaned, or
9346 put it into work_share_list_free list of the current team.
9347 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9348 functions.
9349 (gomp_work_share_start, gomp_work_share_end,
9350 gomp_work_share_end_nowait): Rewritten.
9351 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9352 (openmp_version): Set to 200805.
9353 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9354 omp_sched_guided, omp_sched_auto): New parameters.
9355 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9356 omp_set_max_active_levels, omp_get_max_active_levels,
9357 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9358 omp_get_active_level): New interfaces.
9359 * omp_lib.h.in (openmp_version): Set to 200805.
9360 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9361 omp_sched_guided, omp_sched_auto): New parameters.
9362 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9363 omp_set_max_active_levels, omp_get_max_active_levels,
9364 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9365 omp_get_active_level): New externals.
9366 * loop.c: Include limits.h.
9367 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9368 GFS_AUTO.
9369 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9370 Likewise. Use gomp_icv.
9371 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9372 ts.static_trip here.
9373 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9374 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9375 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9376 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9377 don't unlock ws->lock, otherwise lock it.
9378 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9379 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9380 (gomp_parallel_loop_start): Call gomp_new_team instead of
9381 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9382 Adjust gomp_team_start caller. Pass 0 as second argument to
9383 gomp_resolve_num_threads.
9384 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9385 If adding ws->chunk_size nthreads + 1 times after end won't
9386 overflow, set ws->mode to 1.
9387 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9388 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9389 GOMP_loop_ull_ordered_static_start,
9390 GOMP_loop_ull_ordered_dynamic_start,
9391 GOMP_loop_ull_ordered_guided_start,
9392 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9393 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9394 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9395 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9396 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9397 prototypes.
9398 * libgomp.map: Export lock routines also @@OMP_2.0.
9399 (GOMP_loop_ordered_dynamic_first,
9400 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9401 GOMP_loop_ordered_static_first): Remove.
9402 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9403 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9404 GOMP_loop_ull_ordered_dynamic_next,
9405 GOMP_loop_ull_ordered_dynamic_start,
9406 GOMP_loop_ull_ordered_guided_next,
9407 GOMP_loop_ull_ordered_guided_start,
9408 GOMP_loop_ull_ordered_runtime_next,
9409 GOMP_loop_ull_ordered_runtime_start,
9410 GOMP_loop_ull_ordered_static_next,
9411 GOMP_loop_ull_ordered_static_start,
9412 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9413 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9414 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9415 (omp_set_schedule, omp_get_schedule,
9416 omp_get_thread_limit, omp_set_max_active_levels,
9417 omp_get_max_active_levels, omp_get_level,
9418 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9419 omp_set_schedule_, omp_set_schedule_8_,
9420 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9421 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9422 omp_get_max_active_levels_, omp_get_level_,
9423 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9424 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9425 New exports @@OMP_3.0.
9426 * omp.h.in (omp_sched_t): New type.
9427 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9428 omp_set_max_active_levels, omp_get_max_active_levels,
9429 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9430 omp_get_active_level): New prototypes.
9431 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9432 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9433 gomp_thread_limit_var, gomp_remaining_threads_count,
9434 gomp_remaining_threads_lock): New variables.
9435 (parse_spincount): New function.
9436 (initialize_env): Call gomp_init_num_threads unconditionally.
9437 Initialize gomp_available_cpus. Call parse_spincount,
9438 initialize gomp_{,throttled_}spin_count_var
9439 depending on presence and value of OMP_WAIT_POLICY and
9440 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9441 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9442 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9443 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9444 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9445 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9446 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9447 (gomp_global_icv): New.
9448 (parse_schedule): Use it. Parse "auto".
9449 (omp_set_num_threads): Use gomp_icv.
9450 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9451 Likewise.
9452 (omp_get_max_threads): Move from parallel.c.
9453 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9454 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9455 add ialias.
9456 (parse_stacksize, parse_wait_policy): New functions.
9457 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9458 both wrappers for compatibility and new locks.
9459 (omp_set_schedule, omp_get_schedule,
9460 omp_get_thread_limit, omp_set_max_active_levels,
9461 omp_get_max_active_levels, omp_get_level,
9462 omp_get_ancestor_thread_num, omp_get_team_size,
9463 omp_get_active_level): New ialias_redirect.
9464 (omp_set_schedule_, omp_set_schedule_8_,
9465 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9466 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9467 omp_get_max_active_levels_, omp_get_level_,
9468 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9469 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9470 New functions.
9471 * parallel.c: Include limits.h.
9472 (gomp_resolve_num_threads): Add count argument. Rewritten.
9473 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9474 argument to gomp_team_start. Pass 0 as second argument to
9475 gomp_resolve_num_threads.
9476 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9477 if gomp_thread_limit_var != ULONG_MAX.
9478 (omp_in_parallel): Implement using ts.active_level.
9479 (omp_get_max_threads): Move to env.c.
9480 (omp_get_level, omp_get_ancestor_thread_num,
9481 omp_get_team_size, omp_get_active_level): New functions,
9482 add ialias.
9483 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9484 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9485 gomp_iter_dynamic_next instead of the _locked variant and don't take
9486 lock around it, otherwise acquire it before calling
9487 gomp_iter_dynamic_next_locked.
9488 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9489 gomp_iter_dynamic_next instead of the _locked variant and don't take
9490 lock around it.
9491 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9492 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9493 Adjust gomp_team_start caller. Pass count as second argument to
9494 gomp_resolve_num_threads, don't adjust num_threads after the call.
9495 Use gomp_icv.
9496 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9497 ws->chunk_size by incr.
9498 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9499 code.
9500 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9501 types.
9502 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9503 (omp_check_defines): Check even the compat defines.
9504 * config/linux/ptrlock.c: New file.
9505 * config/linux/ptrlock.h: New file.
9506 * config/linux/wait.h: New file.
9507 * config/posix/ptrlock.c: New file.
9508 * config/posix/ptrlock.h: New file.
9509 * config/linux/bar.h (gomp_team_barrier_wait,
9510 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9511 (gomp_team_barrier_set_task_pending,
9512 gomp_team_barrier_clear_task_pending,
9513 gomp_team_barrier_set_waiting_for_tasks,
9514 gomp_team_barrier_waiting_for_tasks,
9515 gomp_team_barrier_done): New inlines.
9516 (gomp_barrier_t): Rewritten.
9517 (gomp_barrier_state_t): New typedef.
9518 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9519 gomp_barrier_wait_start): Rewritten.
9520 (gomp_barrier_wait_end): Change second argument to
9521 gomp_barrier_state_t.
9522 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9523 inlines.
9524 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9525 futex.h.
9526 (gomp_barrier_wait_end): Rewritten.
9527 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9528 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9529 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9530 (gomp_barrier_state_t): New typedef.
9531 (gomp_team_barrier_wait,
9532 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9533 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9534 into the return value. Return gomp_barrier_state_t.
9535 (gomp_team_barrier_set_task_pending,
9536 gomp_team_barrier_clear_task_pending,
9537 gomp_team_barrier_set_waiting_for_tasks,
9538 gomp_team_barrier_waiting_for_tasks,
9539 gomp_team_barrier_done): New inlines.
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/posix/bar.c (gomp_barrier_init): Clear generation field.
9545 (gomp_barrier_wait_end): Change second argument to
3e348fcc 9546 gomp_barrier_state_t.
a68ab351
JJ
9547 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9548 gomp_team_barrier_wake): New functions.
9549 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9550 futex.h.
9551 (gomp_futex_wake, gomp_futex_wait): New variables.
9552 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9553 * config/linux/lock.c: Rewrite to make locks task owned,
9554 for backwards compatibility provide the old entrypoints
9555 if symbol versioning. Include wait.h instead of libgomp.h and
9556 futex.h.
9557 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9558 * config/posix95/lock.c: Rewrite to make locks task owned,
9559 for backwards compatibility provide the old entrypoints
9560 if symbol versioning.
9561 * config/posix/lock.c: Rewrite to make locks task owned,
9562 for backwards compatibility provide the old entrypoints
9563 if symbol versioning.
9564 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9565 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9566 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9567 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9568 (sys_futex0): Return error code.
9569 (futex_wake, futex_wait): If ENOSYS was returned, clear
9570 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9571 (cpu_relax, atomic_write_barrier): New static inlines.
9572 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9573 (futex_wake, futex_wait): If ENOSYS was returned, clear
9574 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9575 (cpu_relax, atomic_write_barrier): New static inlines.
9576 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9577 (sys_futex0): Return error code.
9578 (futex_wake, futex_wait): If ENOSYS was returned, clear
9579 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9580 (cpu_relax, atomic_write_barrier): New static inlines.
9581 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9582 (sys_futex0): Return error code.
9583 (futex_wake, futex_wait): If ENOSYS was returned, clear
9584 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9585 (cpu_relax, atomic_write_barrier): New static inlines.
9586 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9587 (sys_futex0): Return error code.
9588 (futex_wake, futex_wait): If ENOSYS was returned, clear
9589 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9590 (cpu_relax, atomic_write_barrier): New static inlines.
9591 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9592 (sys_futex0): Return error code.
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/sem.c: Include wait.h instead of libgomp.h and
9597 futex.h.
9598 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9599 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9600 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9601 types.
9602 (omp_nest_lock_t): Change owner into void *, add lock field.
9603 * config/posix95/omp-lock.h: Include semaphore.h.
9604 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9605 (omp_lock_t): Use sem_t instead of mutex if semaphores
9606 aren't broken.
9607 (omp_nest_lock_t): Likewise. Change owner to void *.
9608 * config/posix/omp-lock.h: Include semaphore.h.
9609 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9610 (omp_lock_t): Use sem_t instead of mutex if semaphores
9611 aren't broken.
9612 (omp_nest_lock_t): Likewise. Add owner field.
9613
96142008-06-06 Jakub Jelinek <jakub@redhat.com>
9615
9616 * testsuite/libgomp.c/collapse-1.c: New test.
9617 * testsuite/libgomp.c/collapse-2.c: New test.
9618 * testsuite/libgomp.c/collapse-3.c: New test.
9619 * testsuite/libgomp.c/icv-1.c: New test.
9620 * testsuite/libgomp.c/icv-2.c: New test.
9621 * testsuite/libgomp.c/lib-2.c: New test.
9622 * testsuite/libgomp.c/lock-1.c: New test.
9623 * testsuite/libgomp.c/lock-2.c: New test.
9624 * testsuite/libgomp.c/lock-3.c: New test.
9625 * testsuite/libgomp.c/loop-4.c: New test.
9626 * testsuite/libgomp.c/loop-5.c: New test.
9627 * testsuite/libgomp.c/loop-6.c: New test.
9628 * testsuite/libgomp.c/loop-7.c: New test.
9629 * testsuite/libgomp.c/loop-8.c: New test.
9630 * testsuite/libgomp.c/loop-9.c: New test.
9631 * testsuite/libgomp.c/nested-3.c: New test.
9632 * testsuite/libgomp.c/nestedfn-6.c: New test.
9633 * testsuite/libgomp.c/sort-1.c: New test.
9634 * testsuite/libgomp.c/task-1.c: New test.
9635 * testsuite/libgomp.c/task-2.c: New test.
9636 * testsuite/libgomp.c/task-3.c: New test.
9637 * testsuite/libgomp.c/task-4.c: New test.
9638 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9639 to C++ testsuite default compiler options.
9640 * testsuite/libgomp.c++/collapse-1.C: New test.
9641 * testsuite/libgomp.c++/collapse-2.C: New test.
9642 * testsuite/libgomp.c++/ctor-10.C: New test.
9643 * testsuite/libgomp.c++/for-1.C: New test.
9644 * testsuite/libgomp.c++/for-2.C: New test.
9645 * testsuite/libgomp.c++/for-3.C: New test.
9646 * testsuite/libgomp.c++/for-4.C: New test.
9647 * testsuite/libgomp.c++/for-5.C: New test.
9648 * testsuite/libgomp.c++/loop-8.C: New test.
9649 * testsuite/libgomp.c++/loop-9.C: New test.
9650 * testsuite/libgomp.c++/loop-10.C: New test.
9651 * testsuite/libgomp.c++/task-1.C: New test.
9652 * testsuite/libgomp.c++/task-2.C: New test.
9653 * testsuite/libgomp.c++/task-3.C: New test.
9654 * testsuite/libgomp.c++/task-4.C: New test.
9655 * testsuite/libgomp.c++/task-5.C: New test.
9656 * testsuite/libgomp.c++/task-6.C: New test.
9657 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9658 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9659 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9660 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9661 * testsuite/libgomp.fortran/collapse1.f90: New test.
9662 * testsuite/libgomp.fortran/collapse2.f90: New test.
9663 * testsuite/libgomp.fortran/collapse3.f90: New test.
9664 * testsuite/libgomp.fortran/collapse4.f90: New test.
9665 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9666 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9667 * testsuite/libgomp.fortran/lib4.f90: New test.
9668 * testsuite/libgomp.fortran/lock-1.f90: New test.
9669 * testsuite/libgomp.fortran/lock-2.f90: New test.
9670 * testsuite/libgomp.fortran/nested1.f90: New test.
9671 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9672 * testsuite/libgomp.fortran/strassen.f90: New test.
9673 * testsuite/libgomp.fortran/tabs1.f90: New test.
9674 * testsuite/libgomp.fortran/tabs2.f: New test.
9675 * testsuite/libgomp.fortran/task1.f90: New test.
9676 * testsuite/libgomp.fortran/task2.f90: New test.
9677 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9678 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9679 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9680 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9681 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9682
7a0112e7
JJ
96832008-05-23 Jakub Jelinek <jakub@redhat.com>
9684
9685 PR c++/36308
9686 * testsuite/libgomp.c++/ctor-11.C: New test.
9687 * testsuite/libgomp.c++/ctor-12.C: New test.
9688
91a5b394
JJ
96892008-05-15 Janis Johnson <janis187@us.ibm.com>
9690
9691 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9692
c18c98c0
JJ
96932008-05-07 Jakub Jelinek <jakub@redhat.com>
9694
9695 PR middle-end/36106
9696 * testsuite/libgomp.c/atomic-5.c: New test.
9697 * testsuite/libgomp.c/atomic-6.c: New test.
9698 * testsuite/libgomp.c/autopar-1.c: New test.
9699
6d26724a
RW
97002008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9701
9702 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9703 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9704 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9705 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9706 * configure: Regenerate.
9707 * Makefile.in, testsuite/Makefile.in: Likewise.
9708
deb984e6
PB
97092008-04-18 Paolo Bonzini <bonzini@gnu.org>
9710
9711 PR bootstrap/35457
9712 * aclocal.m4: Regenerate.
9713 * configure: Regenerate.
9714
9e775963
JJ
97152008-03-18 Jakub Jelinek <jakub@redhat.com>
9716
8119fc93
JJ
9717 PR middle-end/35611
9718 * testsuite/libgomp.c/atomic-4.c: New test.
9719
9e775963
JJ
9720 PR libgomp/35625
9721 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9722 (gomp_iter_guided_next): Likewise.
9723 * testsuite/libgomp.c/pr35625.c: New test.
9724
38d24731
RW
97252008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9726
9727 * aclocal.m4: Regenerate.
9728 * configure: Likewise.
9729 * Makefile.in: Likewise.
9730 * testsuite/Makefile.in: Likewise.
9731
d0fb20be
JJ
97322008-03-13 Jakub Jelinek <jakub@redhat.com>
9733
9734 PR middle-end/35185
9735 * testsuite/libgomp.c++/pr35185.C: New test.
9736
7c8f7639
JJ
97372008-03-12 Jakub Jelinek <jakub@redhat.com>
9738
9739 PR middle-end/35549
9740 * testsuite/libgomp.c/pr35549.c: New test.
9741
251923f5
JJ
97422008-03-06 Jakub Jelinek <jakub@redhat.com>
9743
9744 * testsuite/libgomp.c/atomic-3.c: New test.
9745
f489fba1
FXC
97462008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9747
9748 PR fortran/33197
251923f5 9749 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9750 .F08 file suffixes.
9751
a1b25e49
PG
97522008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9753
9754 PR libgomp/33131
9755 * configure.ac: Add ACX_HEADER_STRING.
9756 * env.c: Include strings.h.
9757 * aclocal.m4: Regenerate.
9758 * config.h.in: Regenerate.
9759 * configure: Regenerate.
9760 * Makefile.in: Regenerate.
9761 * testsuite/Makefile.in: Regenerate.
9762
6837b3b8
JJ
97632008-02-15 Jakub Jelinek <jakub@redhat.com>
9764
ac84c062
JJ
9765 PR middle-end/35196
9766 * testsuite/libgomp.c/pr35196.c: New test.
9767
6837b3b8
JJ
9768 PR middle-end/35130
9769 * testsuite/libgomp.fortran/pr35130.f90: New test.
9770 * testsuite/libgomp.c/pr35130.c: New test.
9771
c256730c
JJ
97722008-01-25 Jakub Jelinek <jakub@redhat.com>
9773
9774 PR middle-end/33880
9775 * testsuite/libgomp.c/pr33880.c: New test.
9776 * testsuite/libgomp.fortran/pr33880.f90: New test.
9777
c8e95542 97782008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9779
9780 * configure: Regenerate.
9781
0f3e711e
JJ
97822008-01-08 Jakub Jelinek <jakub@redhat.com>
9783
9784 * configure.ac: Move futex checking into ../config/futex.m4.
9785 * configure: Rebuilt.
9786 * aclocal.m4: Rebuilt.
9787 * Makefile.in: Rebuilt.
9788
9789 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9790 2007-10-15 ../config/tls.m4 change.
9791
5259c813
JJ
97922007-12-19 Jakub Jelinek <jakub@redhat.com>
9793
9794 PR c++/34513
9795 * testsuite/libgomp.c/pr34513.c: New test.
9796 * testsuite/libgomp.c++/pr34513.C: New test.
9797
ae8d8879
JH
97982007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9799
9800 PR target/32765
9801 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9802
2b4cf991
JJ
98032007-12-04 Jakub Jelinek <jakub@redhat.com>
9804
9805 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9806
d2dda7fe
JJ
98072007-12-03 Jakub Jelinek <jakub@redhat.com>
9808
9809 * testsuite/libgomp.c/private-1.c: New test.
9810
d683ec81
PB
98112007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9812 Paolo Bonzini <bonzini@gnu.org>
9813
9814 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9815 instead of 'VPATH ='.
9816 * Makefile.in: Regenerate.
9817
a7415017
MK
98182007-11-23 Matthias Klose <doko@ubuntu.com>
9819
9820 * configure.ac: Adjust makeinfo version check.
9821 * configure: Regenerate.
9822
78e47463
JJ
98232007-11-10 Jakub Jelinek <jakub@redhat.com>
9824
9825 PR fortran/34020
9826 * testsuite/libgomp.fortran/pr34020.f90: New test.
9827
239371f9
JJ
98282007-11-06 Jakub Jelinek <jakub@redhat.com>
9829
9830 PR c++/33894
9831 * testsuite/libgomp.c++/atomic-1.C: New test.
9832
98a5fa94
JJ
98332007-10-25 Jakub Jelinek <jakub@redhat.com>
9834
9835 PR libgomp/33275
9836 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9837 Make x and y integers rather than (implicit) reals. Add private (j)
9838 clause to the last omp parallel.
9839
3afcaaf4
MR
98402007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9841
9842 * configure: Regenerate following changes to ../config/tls.m4.
9843
bd69daef
JJ
98442007-09-28 Jakub Jelinek <jakub@redhat.com>
9845
9846 * testsuite/libgomp.fortran/stack.f90: New test.
9847
1d0bd356
DS
98482007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9849
9850 * config/mingw32/proc.c: New file.
9851
b3172cab
UB
98522007-09-05 Uros Bizjak <ubizjak@gmail.com>
9853
9854 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9855 (main): Use __get_cpuid to get i386 target fetaures.
9856 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9857 (main): Use __get_cpuid to get x86_64 target fetaures.
9858
6da17392
JH
98592007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9860
9861 PR target/32765
9862 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9863 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9864
e1c82219
JJ
98652007-07-12 Jakub Jelinek <jakub@redhat.com>
9866
9867 PR fortran/32550
9868 * testsuite/libgomp.fortran/pr32550.f90: New test.
9869 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9870
12a27363
L
98712007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9872
9873 * aclocal.m4: Regenerated.
9874
5349080d
TB
98752007-07-05 Tobias Burnus <burnus@net-b.de>
9876
9877 PR fortran/32359
9878 * testsuite/libgomp.fortran/pr32359.f90: New.
9879
4f9c450c
JJ
98802007-07-02 Jakub Jelinek <jakub@redhat.com>
9881
9882 PR libgomp/32468
9883 * sections.c (GOMP_parallel_sections_start): Only decrease
9884 number of threads to COUNT if dyn_var is true.
9885 * testsuite/libgomp.c/pr32468.c: New test.
9886
28c67ed7
RO
98872007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9888
9889 PR libgomp/26308
9890 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9891
64964499
JJ
98922007-06-21 Jakub Jelinek <jakub@redhat.com>
9893
9894 PR middle-end/32362
9895 * testsuite/libgomp.c/pr32362-1.c: New test.
9896 * testsuite/libgomp.c/pr32362-2.c: New test.
9897 * testsuite/libgomp.c/pr32362-3.c: New test.
9898
46d8fbd1
JJ
98992007-06-07 Jakub Jelinek <jakub@redhat.com>
9900
9901 * team.c (gomp_team_start): Fix setting up thread_attr
9902 stack size.
9903
82a6cadf
PB
99042007-06-02 Paolo Bonzini <bonzini@gnu.org>
9905
9906 * configure: Regenerate.
9907
1cf3d07d
SE
99082007-05-23 Steve Ellcey <sje@cup.hp.com>
9909
9910 * Makefile.in: Regenerate.
9911 * configure: Regenerate.
9912 * aclocal.m4: Regenerate.
9913 * testsuite/Makefile.in: Regenerate.
9914
12aac30b
JJ
99152007-05-04 Jakub Jelinek <jakub@redhat.com>
9916
9917 * config/linux/proc.c: New file.
9918
f1028b02
JJ
9919 PR libgomp/28482
9920 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9921
06785a48
DF
99222007-04-19 Daniel Franke <franke.daniel@gmail.com>
9923
9924 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9925
b3b08ba0
MK
99262007-04-16 Matthias Klose <doko@debian.org>
9927
9928 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9929 flags if not building with -m64.
9930 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9931 flag for i?86-*-* targets, if current target matches -m64.
9932
6b2c5ce0
SE
99332007-04-14 Steve Ellcey <sje@cup.hp.com>
9934
9935 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9936 * Makefile.in: Regenerate.
9937
dd56fe7c
JDA
99382007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9939
9940 PR testsuite/31369
9941 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9942 ld_library_path.
9943 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9944
a0884cf0
JJ
99452007-04-04 Jakub Jelinek <jakub@redhat.com>
9946
9947 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9948 decls.
9949 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9950 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9951 (parse_affinity): New function.
9952 (initialize_env): Call it and gomp_init_affinity.
9953 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9954 create new pthread_attr_t and call gomp_init_thread_affinity
9955 on it for each thread before passing the attribute to pthread_create.
9956 * config/linux/affinity.c: New file.
9957 * config/posix/affinity.c: New file.
9958 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9959 * configure: Rebuilt.
9960 * config.h.in: Rebuilt.
9961 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9962 * Makefile.in: Rebuilt.
9963
1850744b
AT
99642007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9965
9966 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9967 *-*-darwin*.
9968 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9969 and use it if found.
9970
516f1ed8
UB
99712007-03-18 Uros Bizjak <ubizjak@gmail.com>
9972
9973 * testsuite/config/default.exp: New file.
9974 * testsuite/lib/libgomp.exp: New file.
9975 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9976 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9977 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9978 (libgomp_load): Remove.
9979 * testsuite/lib/libgomp.exp (libgomp_init): Compute
9980 always_ld_library_path, not ld_library_path. Set additional_flags
9981 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9982 (target_compile): Do not call libgomp_init. Append lang_library_path
9983 and lang_link_flags to options.
9984 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
9985 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
9986 here.
9987 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9988 always_ld_library_path. Set LD_LIBRARY_PATH here.
9989 * testsuite/libgomp.fortran/fortran.exp: Ditto.
9990 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
9991 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9992 CX8 flag.
9993 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9994 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9995 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9996 * testsuite/libgomp.c/pr29947-1.c: Ditto.
9997 * testsuite/libgomp.c/atomic-10.c: Ditto.
9998
2ada56f5
JJ
99992007-03-21 Jakub Jelinek <jakub@redhat.com>
10000
10001 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10002 dg-final cleanup-modules line.
10003 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10004 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10005 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10006 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10007 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10008 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10009 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10010
f210f1cd
AS
100112007-03-18 Andreas Schwab <schwab@suse.de>
10012
10013 * acinclude.m4: Adjust regular expression for ld version
10014 extraction.
10015 * configure: Regenerate.
10016
c4dc950d
BM
100172007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10018
10019 * Makefile.am: Add install-pdf target as copied from
10020 automake v1.10 rules.
10021 * Makefile.in: Regenerate
10022
e02a048f
JJ
100232007-02-07 Jakub Jelinek <jakub@redhat.com>
10024
78e075d4
JJ
10025 PR libgomp/28486
10026 * configure: Regenerate.
10027
e02a048f
JJ
10028 PR c++/30703
10029 * testsuite/libgomp.c++/pr30703.C: New test.
10030
60def7ed
JJ
100312007-02-02 Jakub Jelinek <jakub@redhat.com>
10032
10033 Revert:
10034 2006-07-05 Eric Christopher <echristo@apple.com>
10035 * configure.ac: Depend addition of -pthread on host OS.
10036 * configure: Regenerate.
10037
f1b0882e
RW
100382007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10039
10040 * libgomp.texi: Fix spacing after abbreviations.
10041
748b9d7c
DF
100422007-01-31 Daniel Franke <franke.daniel@gmail.com>
10043
10044 PR libgomp/30546
10045 * configure.ac: Add check for makeinfo
10046 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10047 if an appropiate version of makeinfo is found.
10048 * aclocal.m4: Regenerated.
10049 * configure: Regenerated.
10050 * Makefile.in: Regenerated.
10051 * testsuite/Makefile.in: Regenerated.
10052
14734fc7
DF
100532007-01-29 Daniel Franke <franke.daniel@gmail.com>
10054
10055 PR libgomp/30540
10056 * libgomp.texi: More about implementation-dependent settings.
10057
7befd5d2
TB
100582007-01-26 Tobias Burnus <burnus@net-b.de>
10059
10060 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10061
4288fea2
JJ
100622007-01-24 Jakub Jelinek <jakub@redhat.com>
10063
10064 PR middle-end/30494
10065 * testsuite/libgomp.c/pr30494.c: New test.
10066
627ab4b8
TT
100672007-01-15 Tom Tromey <tromey@redhat.com>
10068
10069 * configure: Rebuilt.
10070 * configure.ac: Fixed comment.
10071
7c2b7f45
DF
100722007-01-14 Daniel Franke <franke.daniel@gmail.com>
10073
10074 * libgomp.texi: Document implementation specific default values of
10075 environment variables.
10076
3721b9e1
DF
100772006-12-21 Daniel Franke <franke.daniel@gmail.com>
10078
10079 PR libgomp/28209
10080 * libgomp.texi: New file.
10081 * configure.ac: Add --enable-generated-files-in-srcdir option.
10082 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10083 files to srcdir.
10084 * Makefile.in: Regenerated.
10085 * config.h.in: Regenerated.
10086 * testsuite/Makefile.in: Regenerated.
10087 * NOTES: Removed.
10088
62bd6216
DF
100892006-12-04 Daniel Franke <franke.daniel@gmail.com>
10090
10091 PR libgomp/29949
10092 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10093
aad741f4
EB
100942006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10095
10096 * configure: Regenerate.
10097
22568cc6
JJ
100982006-12-04 Jakub Jelinek <jakub@redhat.com>
10099
10100 PR libgomp/29947
10101 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10102 start if there shouldn't be any loop iterations.
10103 (gomp_loop_ordered_static_start): Remove start == end test.
10104 * testsuite/libgomp.c/pr29947-1.c: New test.
10105 * testsuite/libgomp.c/pr29947-2.c: New test.
10106
a9690009
EB
101072006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10108
10109 * configure.tgt: Force initial-exec TLS model on Linux only.
10110
597c25e6
DJ
101112006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10112
10113 * configure: Regenerated.
10114
6acf0b38
UB
101152006-11-09 Uros Bizjak <ubizjak@gmail.com>
10116
10117 * env.c (parse_schedule): Reject out of range values.
10118 (parse_unsigned_long): Reject out of range, negative or zero values.
10119
a7a53ca5
JJ
101202006-10-29 Jakub Jelinek <jakub@redhat.com>
10121
10122 PR fortran/29629
10123 * testsuite/libgomp.fortran/pr29629.f90: New test.
10124
6d4d216a
EB
101252006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10126
10127 PR libgomp/29494
10128 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10129 * config/posix95: New directory.
10130 * config/posix95/omp-lock.h: New file.
10131 * config/posix95/lock.c: Likewise.
10132
5b043f08
GK
101332006-10-14 Geoffrey Keating <geoffk@apple.com>
10134
10135 * aclocal.m4: Regenerate.
10136 * configure: Regenerate.
10137
b50019f0
DS
101382006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10139
10140 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10141 '<' to '<='.
10142
8887708e
DS
101432006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10144
10145 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10146 test.
10147 * configure: Regenerate.
10148 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10149
9b9e4cd6
JJ
101502006-09-26 Jakub Jelinek <jakub@redhat.com>
10151
a70ad3bb
JJ
10152 PR middle-end/25261
10153 PR middle-end/28790
10154 * testsuite/libgomp.c/nestedfn-4.c: New test.
10155 * testsuite/libgomp.c/nestedfn-5.c: New test.
10156 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10157
9b9e4cd6
JJ
10158 PR fortran/29097
10159 * testsuite/libgomp.fortran/condinc1.f: New test.
10160 * testsuite/libgomp.fortran/condinc2.f: New test.
10161 * testsuite/libgomp.fortran/condinc3.f90: New test.
10162 * testsuite/libgomp.fortran/condinc4.f90: New test.
10163 * testsuite/libgomp.fortran/condinc1.inc: New file.
10164
2fb31455
TT
101652006-09-18 Tom Tromey <tromey@redhat.com>
10166
10167 * configure: Rebuilt.
10168
c663e301
JM
101692006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10170
10171 PR c/28768
10172 PR preprocessor/14634
10173 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10174 to AC_DEFINE.
10175 * configure: Regenerate.
10176
38371be9
SK
101772006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10178
10179 * testsuite/libgomp.fortran/reduction3.f90: Change
10180 -2147483648 to -huge(i)-1 to avoid overflow.
10181 * testsuite/libgomp.fortran/reduction4.f90: Change
10182 Z'ffffffff' to not(0) to avoid overflow.
10183
571d5ac5
JM
101842006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10185
10186 PR libgomp/25938
10187 * Makefile.am (libsubincludedir): New.
10188 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10189 * Makefile.in: Regenerate.
10190
89b3e3cd
JJ
101912006-08-17 Jakub Jelinek <jakub@redhat.com>
10192
10193 PR libgomp/28725
10194 * env.c: Include ctype.h.
10195 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10196 leading and/or trailing whitespace and compare strings case
10197 insensitively.
10198
742fae05
JJ
101992006-07-16 Jakub Jelinek <jakub@redhat.com>
10200
10201 PR fortran/28390
10202 * testsuite/libgomp.fortran/pr28390.f: New test.
10203
a1daed2d
EC
102042006-07-05 Eric Christopher <echristo@apple.com>
10205
10206 * configure.ac: Depend addition of -pthread on host OS.
10207 * configure: Regenerate.
10208
5d7b5199
JJ
102092006-06-21 Jakub Jelinek <jakub@redhat.com>
10210
10211 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10212 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10213 defined.
10214
fe5568e9
JJ
102152006-06-20 Jakub Jelinek <jakub@redhat.com>
10216
10217 PR libgomp/26175
10218 PR libgomp/26477
10219 * configure.ac: If neither --enable-linux-futex nor
10220 --disable-linux-futex is passed, determine the default by checking
10221 for compiling and/or running against NPTL. With --enable-linux-futex,
10222 check if SYS_gettid and SYS_futex are defined.
10223 * configure: Rebuilt.
10224
c3b11a40
RH
102252006-06-14 Richard Henderson <rth@redhat.com>
10226
10227 PR libgomp/28008
10228 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10229 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10230
d0d1b24d
RH
102312006-06-09 Richard Henderson <rth@redhat.com>
10232
10233 * env.c (gomp_nthreads_var): Change to unsigned long.
10234 (gomp_run_sched_chunk): Likewise.
10235 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10236 (initialize_env): Initialize gomp_thread_attr.
10237 * libgomp.h (gomp_nthreads_var): Update decl.
10238 (gomp_run_sched_chunk): Likewise.
10239 (gomp_thread_attr): Declare.
10240 * team.c (gomp_thread_attr): Export.
10241 (initialize_team): Don't initialize it.
10242
cd75853e
JJ
102432006-06-09 Jakub Jelinek <jakub@redhat.com>
10244
10245 PR fortran/27916
10246 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10247 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10248
33815e0c
FXC
102492006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10250
10251 * config/mingw32/time.c: New file.
10252 * configure.tgt: Use it.
10253
6667de0d
CD
102542006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10255
10256 * Makefile.am: Add install-html target. Add install-html to .PHONY
10257 * Makefile.in: Regenerate.
10258
e962c46b
JDA
102592006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10260
10261 PR libgomp/27612
10262 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10263 * testsuite/libgomp.c/critical-1.c: Likewise.
10264 * testsuite/libgomp.c/loop-1.c: Likewise.
10265 * testsuite/libgomp.c/loop-2.c: Likewise.
10266 * testsuite/libgomp.c/single-1.c: Likewise.
10267 * testsuite/libgomp.c/ordered-1.c: Likewise.
10268 * testsuite/libgomp.c/ordered-2.c: Likewise.
10269
eeb1d9e0
JJ
102702006-05-15 Jakub Jelinek <jakub@redhat.com>
10271
10272 PR middle-end/27416
10273 * libgomp.fortran/pr27416-1.f90: New test.
10274
693d710f
JJ
102752006-05-03 Jakub Jelinek <jakub@redhat.com>
10276
10277 PR fortran/27395
10278 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10279 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10280
8ca5b2a2
JJ
102812006-05-02 Jakub Jelinek <jakub@redhat.com>
10282
10283 PR c++/26943
10284 * testsuite/libgomp.c/pr26943-1.c: New test.
10285 * testsuite/libgomp.c/pr26943-2.c: New test.
10286 * testsuite/libgomp.c/pr26943-3.c: New test.
10287 * testsuite/libgomp.c/pr26943-4.c: New test.
10288 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10289 * testsuite/libgomp.c++/pr26943.C: New test.
10290
077b0dfb
JJ
102912006-05-02 Jakub Jelinek <jakub@redhat.com>
10292
10293 PR middle-end/27337
10294 * testsuite/libgomp.c++/pr27337.C: New test.
10295
91b6c26d
JJ
102962006-04-26 Jakub Jelinek <jakub@redhat.com>
10297
10298 PR c/26171
10299 * testsuite/libgomp.c/pr26171.c: New test.
10300
60e1758f
RH
103012006-04-25 Richard Henderson <rth@redhat.com>
10302
10303 PR libgomp/25865
10304 * configure.ac: Use GCC_CHECK_TLS.
10305 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10306 * Makefile.in, aclocal.m4, configure: Regenerate.
10307
615baed7
MK
103082006-04-10 Matthias Klose <doko@debian.org>
10309
10310 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10311 directory names containing underscores.
10312
fae2b46b
JJ
103132006-03-21 Jakub Jelinek <jakub@redhat.com>
10314
10315 PR c++/26691
10316 * testsuite/libgomp.c++/pr26691.C: New test.
10317
11a5f608
JJ
103182006-03-13 Jakub Jelinek <jakub@redhat.com>
10319
10320 * testsuite/libgomp.fortran/retval2.f90: New test.
10321
1799e5d5
RH
103222006-03-09 Diego Novillo <dnovillo@redhat.com>
10323
10324 * testsuite/libgomp.c++: New directory.
10325
d349482e
AT
103262006-02-25 Shantonu Sen <ssen@opendarwin.org>
10327
10328 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10329 * config/posix/sem.c: Implement the above.
10330
103312006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10332
10333 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10334 define HAVE_BROKEN_POSIX_SEMAPHORES.
10335 * configure: Rebuilt.
10336 * config.h.in: Rebuilt.
10337
124452c9
FXC
103382006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10339
10340 PR bootstrap/26161
10341 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10342 for the other pthread check.
10343 * configure: Regenerate.
10344 * config.h.in: Regenerate.
10345
dd8d6dfe
JJ
103462006-02-15 Jakub Jelinek <jakub@redhat.com>
10347
10348 PR libgomp/25938
10349 PR libgomp/25984
10350 * Makefile.am (fincludedir): New variable.
10351 (nodist_include_HEADERS): Remove Fortran files.
10352 (nodist_finclude_HEADERS): New variable.
10353 * Makefile.in: Regenerated.
10354
6c7a4dfd
JJ
103552006-02-13 Jakub Jelinek <jakub@redhat.com>
10356
10357 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10358 Remove tests for returning assumed character length arrays.
10359
5142e08b
RS
103602006-02-12 Roger Sayle <roger@eyesopen.com>
10361 John David Anglin <dave@hiauly1.hia.nrc.ca>
10362
10363 PR libgomp/25936
10364 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 10365
5821fba8
UW
103662006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10367
10368 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10369
cb2bbc67
EB
103702006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10371
10372 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10373 part of LD_LIBRARY_PATH manually.
10374
f05ee80c
L
103752006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10376
10377 PR libgomp/25852
10378 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10379 libgomp_init.
10380
03b8fe49
PB
103812005-01-25 Paolo Bonzini <bonzini@gnu.org>
10382
10383 PR libgomp/25884
f05ee80c
L
10384 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10385 * configure.ac (PERL): Don't set.
10386 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10387 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10388 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10389 * omp.h.in: Wrap the new configure substitutions with @ characters.
10390 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10391 * aclocal.m4, configure, Makefile.in: Regenerate.
10392 * mkomp_h.pl: Delete.
03b8fe49 10393
18cbfd85
PB
103942005-01-24 Paolo Bonzini <bonzini@gnu.org>
10395
10396 PR libgomp/25259
10397 * configure.ac: Use GCC_HEADER_STDINT.
10398 * libgomp.h: Include gstdint.h.
10399 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10400 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10401
c41303c6
RH
104022006-01-24 Richard Henderson <rth@redhat.com>
10403
10404 PR libgomp/25942
10405 * configure.ac: Add AM_MAINTAINER_MODE.
10406 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10407
149b9553
DN
104082006-01-24 Diego Novillo <dnovillo@redhat.com>
10409
10410 * Makefile.in: Regenerate.
10411 * testsuite/Makefile.in: Regenerate.
10412 * aclocal.m4: Regenerate.
10413
192a50ad
AT
104142006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10415
10416 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10417 Solaris.
10418 * configure.ac: Add check for loadavg.h.
10419 (link_gomp): Adjust comment.
10420 * configure: Regenerate.
10421 * config.h.in: Regenerate.
10422
a55b8e18
SE
104232006-01-21 Steve Ellcey <sje@cup.hp.com>
10424
10425 PR libgomp/25877
10426 * configure.ac: Remove check for alloca.h.
10427 * configure: Regenerate.
10428 * config.h.in: Regenerate.
10429 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10430 * team.c: Remove use of alloca.h.
10431 Call gomp_alloca instead of alloca.
10432
692eeb34
SE
104332006-01-20 Steve Ellcey <sje@cup.hp.com>
10434
10435 PR libgomp/25877
10436 * team.c: Add include of alloca.h.
10437 * configure.ac: Add check for alloca.h.
10438 * configure: Regenerate.
10439 * config.h.in: Regenerate.
10440
953ff289
DN
104412006-01-17 Jakub Jelinek <jakub@redhat.com>
10442
10443 PR fortran/25219
10444 * testsuite/libgomp.fortran/pr25219.f90: New test.
10445
104462005-12-05 Uros Bizjak <uros@kss-loka.si>
10447
10448 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10449 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10450 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10451 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10452 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10453 testsuite/libgomp.fortran/threadprivate1.f90,
10454 testsuite/libgomp.fortran/threadprivate2.f90,
10455 testsuite/libgomp.fortran/threadprivate3.f90,
10456 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10457 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10458 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10459 effective-target to TLS runtime.
10460
10461 * testsuite/libgomp.fortran/pr25162.f: Require
10462 effective-target TLS runtime.
10463
104642005-12-01 Jakub Jelinek <jakub@redhat.com>
10465
10466 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10467 * testsuite/libgomp.c/nestedfn-3.c: New test.
10468
104692005-11-30 Jakub Jelinek <jakub@redhat.com>
10470
10471 PR fortran/25162
10472 * testsuite/libgomp.fortran/pr25162.f: New test.
10473
104742005-11-28 Jakub Jelinek <jakub@redhat.com>
10475
10476 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10477 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10478
104792005-11-25 Jakub Jelinek <jakub@redhat.com>
10480
10481 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10482 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10483 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10484 single.c, team.c, work.c, config/linux/alpha/futex.h,
10485 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10486 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10487 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10488 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10489 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10490 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10491 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10492 FSF address.
10493
104942005-11-18 Jakub Jelinek <jakub@redhat.com>
10495
10496 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10497 to nodist_noinst_HEADERS.
10498 * Makefile.in: Rebuilt.
10499
10500 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10501 add integer count field.
10502 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10503 omp_nest_lock_t type change.
10504 (omp_init_nest_lock): Likewise. Initialize count to 0.
10505 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10506 Increment count.
10507 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10508 Decrement count.
10509 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10510 Increment count if successful and return the new nesting level.
10511 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10512 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10513 * testsuite/libgomp.c/lib-1.c: New test.
10514 * testsuite/libgomp.fortran/lib1.f90: New test.
10515 * testsuite/libgomp.fortran/lib2.f: New test.
10516 * testsuite/libgomp.fortran/lib3.f: New test.
10517
105182005-11-17 Richard Henderson <rth@redhat.com>
10519
10520 PR 24845
10521 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10522 * configure.ac (link_gomp): New. Substitute it.
10523 (AC_CONFIG_FILES): Add libgomp.spec.
10524 * libgomp.spec.in: New file.
10525 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10526 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10527
105282005-11-18 Jakub Jelinek <jakub@redhat.com>
10529
10530 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10531 reduction(-:var) behaving the same as reduction(+:var).
10532 * testsuite/libgomp.c/reduction-4.c: New test.
10533
105342005-11-15 Uros Bizjak <uros@kss-loka.si>
10535
10536 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10537 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10538 testsuite/libgomp.c/copyin-3.c,
10539 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10540 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10541 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10542 testsuite/libgomp.c++/pr24455.C,
10543 testsuite/libgomp.fortran/threadprivate1.f90,
10544 testsuite/libgomp.fortran/threadprivate2.f90,
10545 testsuite/libgomp.fortran/threadprivate3.f90,
10546 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10547 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10548 testsuite/libgomp.fortran/omp_parse3.f90: Require
10549 effective-target TLS.
10550
105512005-11-14 Diego Novillo <dnovillo@redhat.com>
10552
10553 * HEADER: Remove.
10554
105552005-11-13 Jakub Jelinek <jakub@redhat.com>
10556
10557 PR libgomp/24797
10558 * team.c (initialize_team): Pass NULL rather than free as
10559 pthread_key_create destructor. Initialize thread specific data
10560 pointer in initial thread to a static local variable rather than
10561 malloced memory.
10562
105632005-11-11 Uros Bizjak <uros@kss-loka.si>
10564
10565 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10566 its location to ld_library_path.
10567
105682005-11-10 Diego Novillo <dnovillo@redhat.com>
10569
10570 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10571
105722005-11-10 Diego Novillo <dnovillo@redhat.com>
10573
10574 * testsuite/libgomp.c: Rename from libgomp.dg.
10575
105762005-11-09 Diego Novillo <dnovillo@redhat.com>
10577
10578 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10579 threadprivate variable 'i'.
10580
105812005-11-09 Jakub Jelinek <jakub@redhat.com>
10582
10583 * config/linux/s390/futex.h: New file.
10584 * configure.tgt: Use it.
10585
10586 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10587 before the parallel.
10588
105892005-11-08 Jakub Jelinek <jakub@redhat.com>
10590
10591 PR c++/24734
10592 * testsuite/libgomp.c++/master-1.C: New test.
10593
105942005-11-07 Jakub Jelinek <jakub@redhat.com>
10595
10596 * testsuite/libgomp.dg/copyin-3.c: New test.
10597
105982005-11-07 Jakub Jelinek <jakub@redhat.com>
10599
10600 * testsuite/libgomp.fortran/retval1.f90: New test.
10601 * testsuite/libgomp.fortran/vla7.f90: New test.
10602
106032005-11-06 Jakub Jelinek <jakub@redhat.com>
10604
10605 * testsuite/libgomp.fortran/vla2.f90: New test.
10606 * testsuite/libgomp.fortran/vla3.f90: New test.
10607 * testsuite/libgomp.fortran/vla4.f90: New test.
10608 * testsuite/libgomp.fortran/vla5.f90: New test.
10609 * testsuite/libgomp.fortran/vla6.f90: New test.
10610
106112005-11-01 Jakub Jelinek <jakub@redhat.com>
10612
10613 * config/linux/sparc/futex.h: New file.
10614 * configure.tgt: Use it.
10615 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10616
10617 * critical.c: Include stdlib.h.
10618 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10619 ignoring return value.
10620 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10621 LIBGOMP_CHECK_SYNC_BUILTINS check.
10622 * configure: Rebuilt.
10623
106242005-10-31 Jakub Jelinek <jakub@redhat.com>
10625
10626 * testsuite/libgomp.fortran/vla1.f90: New test.
10627
106282005-10-31 Richard Henderson <rth@redhat.com>
10629
10630 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10631 setting 's' in different threads.
10632
106332005-10-31 Jakub Jelinek <jakub@redhat.com>
10634
10635 * libgomp.h (attribute_hidden, ialias): Define.
10636 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10637 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10638 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10639 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10640 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10641 omp_test_lock, omp_test_nest_lock): Likewise.
10642 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10643 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10644 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10645 omp_test_lock, omp_test_nest_lock): Likewise.
10646 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10647 omp_get_dynamic, omp_get_nested): Likewise.
10648 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10649 omp_get_thread_num, omp_in_parallel): Likewise.
10650 * fortran.c (ialias_redirect): Define.
10651 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10652 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10653 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10654 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10655 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10656 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10657 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10658 omp_get_wtime): Add ialias_redirect.
10659
106602005-10-30 Jakub Jelinek <jakub@redhat.com>
10661
10662 * fortran.c: Include stdlib.h.
10663
106642005-10-29 Jakub Jelinek <jakub@redhat.com>
10665
10666 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10667 * Makefile.in: Regenerated.
10668
106692005-10-28 Jakub Jelinek <jakub@redhat.com>
10670
10671 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10672 * libgomp_f.h.in (omp_check_defines): New function.
10673 * env.c: Include libgomp_f.h.
10674 (initialize_env): Call omp_check_defines.
10675
10676 * testsuite/libgomp.dg/copyin-2.c: New test.
10677 * testsuite/libgomp.c++/copyin-2.C: New test.
10678 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10679
10680 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10681 * testsuite/libgomp.fortran/sharing2.f90: New test.
10682
10683 * testsuite/libgomp.dg/copyin-1.c: New test.
10684 * testsuite/libgomp.c++/copyin-1.C: New test.
10685
106862005-10-26 Jakub Jelinek <jakub@redhat.com>
10687
10688 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10689
10690 * testsuite/libgomp.fortran/workshare1.f90: New test.
10691
10692 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10693 only test.
10694 * libgomp.fortran/sharing1.f90: New test.
10695
106962005-10-24 Jakub Jelinek <jakub@redhat.com>
10697
10698 PR c++/24502
10699 * testsuite/libgomp.c++/loop-7.C: New test.
10700
10701 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10702
10703 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10704 * testsuite/libgomp.fortran/reduction6.f90: New test.
10705 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10706
107072005-10-23 Richard Henderson <rth@redhat.com>
10708
10709 * testsuite/libgomp.c++/ctor-1.C: New.
10710 * testsuite/libgomp.c++/ctor-2.C: New.
10711 * testsuite/libgomp.c++/ctor-3.C: New.
10712 * testsuite/libgomp.c++/ctor-4.C: New.
10713 * testsuite/libgomp.c++/ctor-5.C: New.
10714 * testsuite/libgomp.c++/ctor-6.C: New.
10715 * testsuite/libgomp.c++/ctor-7.C: New.
10716 * testsuite/libgomp.c++/ctor-8.C: New.
10717 * testsuite/libgomp.c++/ctor-9.C: New.
10718
107192005-10-21 Diego Novillo <dnovillo@redhat.com>
10720
10721 PR 24455
10722 * testsuite/libgomp.c++/pr24455-1.C: New test.
10723 * testsuite/libgomp.c++/pr24455.C: New test.
10724 * testsuite/libgomp.dg/pr24455-1.c: New test.
10725 * testsuite/libgomp.dg/pr24455.c: New test.
10726
107272005-10-20 Richard Henderson <rth@redhat.com>
10728
10729 * testsuite/libgomp.c++/loop-6.C: New.
10730 * testsuite/libgomp.dg/loop-3.c: New.
10731
107322005-10-20 Jakub Jelinek <jakub@redhat.com>
10733
10734 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10735 explicitly private.
10736 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10737 explicitly shared.
10738
107392005-10-19 Diego Novillo <dnovillo@redhat.com>
10740
10741 * testsuite/libgomp.fortran/jacobi.f: New test.
10742
107432005-10-19 Richard Henderson <rth@redhat.com>
10744
10745 * configure.tgt (i?86-linux): Default to with_arch instead of
10746 CFLAGS. Add -mtune to match target_cpu.
10747 (x86_64-linux): Tune to i686.
10748
10749 * fortran.c (omp_test_nest_lock_): Fix typo.
10750
107512005-10-19 Jakub Jelinek <jakub@redhat.com>
10752
10753 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10754 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10755 * testsuite/libgomp.dg/ordered-3.c: New test.
10756
10757 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10758 Remove volatile keyword.
10759
10760 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10761 in COMMON block to avoid warnings on 64-bit targets.
10762
107632005-10-18 Diego Novillo <dnovillo@redhat.com>
10764
10765 * testsuite/libgomp.dg/shared-3.c: New test.
10766
107672005-10-18 Jakub Jelinek <jakub@redhat.com>
10768
10769 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10770 * testsuite/libgomp.fortran/reduction5.f90: New test.
10771
107722005-10-18 Jakub Jelinek <jakub@redhat.com>
10773
10774 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10775 dg-options.
10776 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10777 flush loop now that __sync_synchronize has proper memory barrier.
10778 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10779 Add -ffixed-form to dg-options.
10780
107812005-10-17 Diego Novillo <dnovillo@redhat.com>
10782
10783 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10784 from subdirectories.
10785 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10786 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10787 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10788 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10789 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10790 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10791 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10792 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10793 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10794 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10795 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10796 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10797 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10798 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10799 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10800 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10801 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10802 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10803 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10804 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10805 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10806 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10807 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10808 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10809 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10810
108112005-10-17 Jakub Jelinek <jakub@redhat.com>
10812
10813 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10814 lang_library_path exists. Use find instead of glob to gather tests.
10815 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10816
108172005-10-17 Diego Novillo <dnovillo@redhat.com>
10818
10819 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10820 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10821 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10822 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10823 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10824 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10825 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10826 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10827 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10828 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10829 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10830 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10831 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10832
108332005-10-15 Jakub Jelinek <jakub@redhat.com>
10834
10835 * testsuite/libgomp.dg/vla-1.c: New test.
10836
10837 * testsuite/libgomp.fortran/reference2.f90: New test.
10838
10839 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10840 declaration of omp_get_thread_num.
10841 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10842 use omp_lib.
10843
10844 * testsuite/libgomp.fortran/reduction1.f90: New test.
10845 * testsuite/libgomp.fortran/reduction2.f90: New test.
10846 * testsuite/libgomp.fortran/reduction3.f90: New test.
10847 * testsuite/libgomp.fortran/reduction4.f90: New test.
10848
108492005-10-13 Richard Henderson <rth@redhat.com>
10850
10851 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10852 * Makefile.in: Regenerate.
10853 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10854 * libgomp.h: Include bar.h.
10855 (struct gomp_barrier): Remove.
10856 (struct gomp_team): Add barrier. Replace master_barrier with
10857 master_release. Replace threads with ordered_release.
10858 (struct gomp_thread): Replace barrier with release.
10859 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10860 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10861 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10862 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10863 (GOMP_single_copy_end): Likewise.
10864 * team.c (gomp_threads_dock): New.
10865 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10866 (gomp_thread_start): Use gomp_barrier_wait.
10867 (new_team, free_team): Update for gomp_team changes.
10868 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10869 (gomp_team_end): Use gomp_barrier_wait.
10870 (initialize_team): Update for gomp_thread changes.
10871 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10872 (gomp_work_share_end_nowait): Use atomic ops when available.
10873 * config/linux/bar.c, config/linux/bar.h: New files.
10874 * config/posix/bar.c, config/posix/bar.h: New files.
10875
108762005-10-13 Jakub Jelinek <jakub@redhat.com>
10877
10878 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10879 * testsuite/libgomp.dg/single-2.c: New test.
10880
10881 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10882 lang_link_flags): Unset, so that they aren't inherited from previously
10883 sourced *.exp.
10884
10885 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10886
108872005-10-12 Richard Henderson <rth@redhat.com>
10888
10889 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10890 (libgomp_init): Use lang_test_file, lang_library_path, and
10891 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10892
10893 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10894 (lang_test_file, lang_link_flags): New.
10895 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10896
10897 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10898 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10899 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10900 testsuite/libgomp.c++/parallel-1.C,
10901 testsuite/libgomp.c++/reduction-1.C,
10902 testsuite/libgomp.c++/reduction-2.C,
10903 testsuite/libgomp.c++/reduction-3.C,
10904 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10905 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10906 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10907 New files, largely cribbed from the C testsuite.
10908
109092005-10-12 Jakub Jelinek <jakub@redhat.com>
10910
10911 * testsuite/libgomp.fortran/character1.f90: New test.
10912 * testsuite/libgomp.fortran/character2.f90: New test.
10913
10914 * testsuite/libgomp.dg/nested-1.c: New test.
10915 * testsuite/libgomp.dg/nested-2.c: New test.
10916 * testsuite/libgomp.fortran/do1.f90: New test.
10917 * testsuite/libgomp.fortran/do2.f90: New test.
10918
10919 * testsuite/libgomp.fortran/reference1.f90: New test.
10920
109212005-10-11 Jakub Jelinek <jakub@redhat.com>
10922
10923 * testsuite/libgomp.dg/reduction-1.c: New test.
10924 * testsuite/libgomp.dg/reduction-2.c: New test.
10925 * testsuite/libgomp.dg/reduction-3.c: New test.
10926
109272005-10-10 Jakub Jelinek <jakub@redhat.com>
10928
10929 * testsuite/libgomp.dg/atomic-1.c: New test.
10930 * testsuite/libgomp.dg/atomic-2.c: New test.
10931
109322005-10-09 Richard Henderson <rth@redhat.com>
10933
10934 * critical.c (atomic_lock): New.
10935 (initialize_critical): Initialize it.
10936 (GOMP_atomic_start, GOMP_atomic_end): New.
10937 * libgomp.map: Export them.
10938 * libgomp_g.h: Declare them.
10939
10940 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10941
109422005-10-02 Richard Henderson <rth@redhat.com>
10943
10944 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10945 to XCFLAGS instead of CFLAGS.
10946
109472005-09-30 Richard Henderson <rth@redhat.com>
10948
10949 * configure.ac: Determine whether -pthread or -lpthread is needed.
10950 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10951 * Makefine.in, configure: Rebuild.
10952
109532005-09-28 Richard Henderson <rth@redhat.com>
10954
10955 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10956 * testsuite/libgomp.dg/omp-single-3.c: New test.
10957
109582005-09-28 Diego Novillo <dnovillo@redhat.com>
10959
10960 * testsuite/libgomp.dg/omp-single-2.c: New test.
10961 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10962
109632005-09-27 Richard Henderson <rth@redhat.com>
10964
10965 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10966 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10967
109682005-09-27 Jakub Jelinek <jakub@redhat.com>
10969
10970 * testsuite/libgomp.dg/omp-loop03.c: New test.
10971
109722005-09-27 Diego Novillo <dnovillo@redhat.com>
10973
10974 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10975
109762005-09-27 Diego Novillo <dnovillo@redhat.com>
10977
10978 * testsuite/libgomp.dg/omp-single-1.c: New test.
10979 * testsuite/libgomp.dg/shared-1.c: Return 0.
10980 Add prototype for abort.
10981 * testsuite/libgomp.dg/shared-2.c: Likewise.
10982
109832005-09-26 Jakub Jelinek <jakub@redhat.com>
10984
10985 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10986 constructs.
10987
109882005-09-26 Diego Novillo <dnovillo@redhat.com>
10989
10990 * testsuite/libgomp.dg/shared-1.c: New test.
10991 * testsuite/libgomp.dg/shared-2.c: New test.
10992
109932005-09-24 Richard Henderson <rth@redhat.com>
10994
10995 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10996
109972005-09-24 Richard Henderson <rth@redhat.com>
10998
10999 * iter.c (gomp_iter_static_next): Round up when computing number
11000 of iterations. Don't bother distributing a remainder equally.
11001
11002 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11003 Don't call srand. Zero b before testing.
11004 (main): New.
11005
110062005-09-24 Jakub Jelinek <jakub@redhat.com>
11007
11008 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11009 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11010
110112005-09-23 Jakub Jelinek <jakub@redhat.com>
11012
11013 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11014 without !$omp end do, followed immediately by subroutine end.
11015
110162005-09-23 Diego Novillo <dnovillo@redhat.com>
11017
11018 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11019
110202005-09-22 Richard Henderson <rth@redhat.com>
11021
11022 * critical.c (GOMP_critical_name_start): Change argument to void**.
11023 Reuse the pointer space if the mutex fits.
11024 (GOMP_critical_name_end): Likewise.
11025 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11026 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11027 (GOMP_critical_name_end): Likewise.
11028 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11029 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11030
110312005-09-20 Richard Henderson <rth@redhat.com>
11032
11033 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11034 (create_lock_lock): New.
11035 (initialize_critical): Initialize it.
11036 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11037 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11038
110392005-09-20 Diego Novillo <dnovillo@redhat.com>
11040
11041 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11042
110432005-09-20 Diego Novillo <dnovillo@redhat.com>
11044
11045 * testsuite/libgomp.dg/omp-loop01.c: New test.
11046 * testsuite/libgomp.dg/omp-loop02.c: New test.
11047
110482005-09-20 Jakub Jelinek <jakub@redhat.com>
11049
11050 * configure.ac (AC_PROG_FC): Add.
11051 (USE_FORTRAN): New automake conditional.
11052 * configure: Rebuilt.
11053 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11054 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11055 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11056 Add rules to build them.
11057 * Makefile.in: Rebuilt.
11058 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11059 OMP_NEST_LOCK_KIND.
11060 * libgomp.map: Add Fortran wrappers.
11061 * libgomp_f.h.in: New file.
11062 * omp_lib.h.in: New file.
11063 * omp_lib.f90.in: New file.
11064 * fortran.c: New file.
11065 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11066 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11067 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11068 libgfortran has been built.
11069 * testsuite/libgomp.fortran/fortran.exp: New file.
11070 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11071 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11072 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11073 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11074 * testsuite/libgomp.fortran/omp_hello.f: New test.
11075 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11076 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11077 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11078 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11079 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11080 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11081 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11082 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11083
110842005-08-30 Richard Henderson <rth@redhat.com>
11085
11086 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11087 function for when aliases are not usable.
11088 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11089 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11090 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11091 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11092 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11093 GOMP_loop_ordered_guided_next): Likewise.
11094 * ordered.c (GOMP_ordered_start): Likewise.
11095
110962005-08-01 Diego Novillo <dnovillo@redhat.com>
11097
11098 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11099 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11100 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11101 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11102 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11103 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11104 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11105 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11106 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11107
111082005-07-07 Eric Christopher <echristo@redhat.com>
11109 Diego Novillo <dnovillo@redhat.com>
11110
11111 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11112 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11113 up code.
11114 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11115 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11116 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11117 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11118 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11119 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11120 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11121
111222005-06-13 Diego Novillo <dnovillo@redhat.com>
11123
11124 * TOPLEVEL.patch: Remove.
11125
111262005-05-16 Richard Henderson <rth@redhat.com>
11127
11128 * configure.ac: Test for clock_gettime.
11129 * config.h.in, configure: Rebuild.
11130 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11131 (omp_get_wtime): Use clock_gettime if available.
11132 (omp_get_wtick): Use clock_getres if available.
11133
111342005-05-11 Richard Henderson <rth@redhat.com>
11135
11136 * config/linux/ia64/futex.h: New file.
11137 * configure.tgt: Use it.
11138
11139 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11140
111412005-05-07 Richard Henderson <rth@redhat.com>
11142
11143 * config/linux/powerpc/futex.h: New file.
11144 * configure.tgt: Use it.
11145
11146 * config/linux/i486/futex.h: Merge ...
11147 * config/linux/x86_64/futex.h: ... into ...
11148 * config/linux/x86/futex.h: ... here.
11149 * configure.tgt: Update to match.
11150
111512005-05-06 Richard Henderson <rth@redhat.com>
11152
11153 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11154 * config/linux/i486/futex.h: Likewise.
11155 * config/linux/x86_64/futex.h: Likewise.
11156
11157 * config/linux/lock.c: New file.
11158 * config/linux/omp-lock.h: New file.
11159
11160 * critical.c, env.h: Don't include omp.h
11161 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11162 * config/posix/time.c: Likewise.
11163 * config/posix/omp-lock.h: New file.
11164 * libgomp.h: Include omp-lock.h and omp.h.
11165 * Makefile.am (nodist_include_HEADERS): New.
11166 (omp.h): New rule.
11167 * configure.ac (PERL): New.
11168 * mkomp_h.pl: New file.
11169 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11170 with templates.
11171 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11172
11173 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11174 build directory. Re-add -march=i486 hack.
11175
11176 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11177 (libgomp_link_flags): Remove.
11178 (libgomp_initialized): Remove.
11179 (libgomp_init): Don't protect from reinitialization. Copy code
11180 from libstdc++ for getting the multilib set correctly.
11181
111822005-05-05 Richard Henderson <rth@redhat.com>
11183
11184 * config/linux/alpha/futex.h: New file.
11185 * configure.tgt (alpha*-*-linux*): Use it.
11186
11187 * config/posix/mutex.c: New file.
11188 * config/posix/sem.c: Use libgomp.h.
11189
11190 * configure.tgt (x86_64-linux): Also test CC for -m32.
11191 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11192
a1daed2d 11193 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11194 after $gccpath.
11195
11196 * Makefile.am (SUBDIRS): New.
11197 (libgomp_la_LDFLAGS): Add -lpthread.
11198 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11199 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11200
11201 * libgomp_g.h: New file.
11202 * libgomp.h: Split out all public declarations to libgomp_g.h.
11203 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11204 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11205 * config/linux/sem.h: Likewise.
11206 * config/posix/sem.h: Likewise.
11207
11208 * Makefile.am (AM_LDFLAGS): New.
11209 (libgomp_version_script): Split out from ...
11210 (libgomp_la_LDFLAGS): ... here.
11211 (libgomp_version_info): New.
11212 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11213 (LIBGOMP_ENABLE): New.
11214 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11215 (LIBGOMP_ENABLE_SYMVERS): New.
11216 * configure.ac (AC_INIT): Version 1.0.
11217 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11218 (enable-linux-futex): Likewise. Rename from enable-futex.
11219 (libtool_VERSION): New.
11220 (LIBGOMP_ENABLE_SYMVERS): Use it.
11221 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11222 * Makefile.in, aclocal.m4, configure: Rebuild.
11223
11224 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11225 (gomp_mutex_unlock_slow): Fix typo.
11226 * config/linux/sem.c: Similarly.
11227 (gomp_sem_post_slow): Fix typo.
11228 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11229 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11230 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11231
11232 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11233 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11234 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11235 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11236 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11237 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11238 LDFLAGS. Pull enable_futex check to top-level.
11239 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11240 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11241
11242 First attempt at real configury.
11243 * Makefile, config.h: Remove file.
11244 * Makefile.am, Makefile.in: New file.
11245 * acinclude.m4 aclocal.m4: New file.
11246 * configure.ac, configure.tgt, configure: New file.
11247
11248 * config/posix/lock.c: Rename from sys-lock.c.
11249 * config/posix/mutex.h: Rename from sys-mutex.h.
11250 * config/posix/sem.c: Rename from sys-sem.c.
11251 * config/posix/sem.h: Rename from sys-sem.h.
11252 * config/posix/proc.c: Rename from sys-proc.c.
11253 * config/posix/time.c: Rename from sys-proc.c.
11254
11255 * config/linux/mutex.c: New file.
11256 * config/linux/mutex.h: New file.
11257 * config/linux/sem.c: New file.
11258 * config/linux/sem.h: New file.
11259 * config/linux/i486/futex.h: New file.
11260 * config/linux/x86_64/futex.h: New file.
11261
112622005-05-04 Richard Henderson <rth@redhat.com>
11263
11264 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11265 * libgomp.h: Declare them.
11266 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11267 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11268
112692005-05-04 Richard Henderson <rth@redhat.com>
11270
11271 * libgomp-1 code drop
11272
112732005-05-04 Richard Henderson <rth@redhat.com>
11274
11275 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11276 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11277 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11278 (gomp_iter_static_next): Update.
11279 (gomp_ordered_static_next): Update.
11280 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11281 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11282 totally empty range.
11283 (gomp_loop_ordered_static_next): Refine test for calling
11284 gomp_ordered_static_next.
11285 * testsuite/ordered-1.c: Add case for more threads than iterations.
11286
11287 * iter.c (gomp_iter_runtime_next_locked): Remove.
11288 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 11289 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
11290 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11291 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11292 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11293 gomp_loop_ordered_guided_next): Downcase name, make static, add
11294 an external alias with the old name.
11295 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11296 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11297 switch and call one of the above static functions.
11298 * libgomp.h: Update.
11299
11300 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11301 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11302 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11303 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11304 GOMP_loop_ordered_guided_start): Update to match.
11305 * sections.c (GOMP_sections_start): Likewise.
11306 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11307
11308 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11309 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11310 Use bounds check instead of modulus.
11311 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11312 (gomp_ordered_last): Don't sync with ordered_owner here.
11313 (gomp_ordered_next): Likewise.
11314 (gomp_ordered_static_loop_next): Likewise.
11315 * loop.c, libgomp.h: Update to match.
11316
11317 * libgomp.h (GOMP_barrier): Declare.
11318
11319 * testsuite/barrier-1.c: New file.
11320 * testsuite/critical-1.c: New file.
11321 * testsuite/ordered-2.c: New file.
11322 * testsuite/ordered-1.c: New file.
11323 * testsuite/sections-1.c: New file.
11324 * testsuite/single-1.c: New file.
11325 * testsuite/Makefile (TESTS): Add them.
11326
113272005-05-04 Richard Henderson <rth@redhat.com>
11328
11329 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11330 * loop.c (GOMP_loop_static_start): If not the startup thread,
11331 acquire the mutex to wait for initialization complete.
11332 (GOMP_loop_ordered_static_start): Likewise.
11333 (GOMP_loop_ordered_runtime_start): Likewise.
11334 (GOMP_loop_ordered_static_first): Remove.
11335 (GOMP_loop_ordered_dynamic_first): Remove.
11336 (GOMP_loop_ordered_guided_first): Remove.
11337 (GOMP_loop_ordered_runtime_first): Remove.
11338 * ordered.c (gomp_ordered_loop_first): Post to own release when
11339 we're the first thread.
11340 (gomp_ordered_loop_last): Wait on release if not owner.
11341 (gomp_ordered_loop_next): Likewise.
11342 (gomp_ordered_static_loop_init): New.
11343 (gomp_ordered_static_loop_next): Use ordered_owner.
11344 (GOMP_ordered_start): Likewise.
11345 * work.c (gomp_new_work_share): Initialize ordered_owner.
11346
113472005-05-03 Richard Henderson <rth@redhat.com>
11348
11349 * Makefile (OPT): New.
11350 (CFLAGS): Use it.
11351
11352 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11353 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11354 * libgomp.h, libgomp.map, NOTES: Update to match.
11355
11356 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11357 Add initialized and thr members.
11358 (gomp_thread_start): Pause when initially spawned to wait for
11359 the whole team to be created.
11360 (gomp_team_start): Release team members at the end.
11361
11362 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11363 (f_foo_1): Use GOMP_loop_end.
11364 (f_foo_2): Use GOMP_loop_end_nowait.
11365
11366 * testsuite/loop-2.c: New file.
11367 * testsuite/Makefile (TESTS): Add it.
11368
113692005-05-03 Richard Henderson <rth@redhat.com>
11370
11371 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11372 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11373 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11374 initial work_share.
11375
11376 * testsuite/Makefile: New file.
11377 * testsuite/loop-1.c: New file.
11378
113792005-05-03 Richard Henderson <rth@redhat.com>
11380
11381 Initial implementation and checkin.
21fa2a29 11382\f
a5544970 11383Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
11384
11385Copying and distribution of this file, with or without modification,
11386are permitted in any medium without royalty provided the copyright
11387notice and this notice are preserved.