]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[Darwin] Revert one hunk from r273016 (TLC for older Darwin versions).
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
2f6bb511
JJ
12019-07-03 Jakub Jelinek <jakub@redhat.com>
2
3 * testsuite/libgomp.c++/scan-1.C: New test.
4 * testsuite/libgomp.c++/scan-2.C: New test.
5 * testsuite/libgomp.c++/scan-3.C: New test.
6 * testsuite/libgomp.c++/scan-4.C: New test.
7 * testsuite/libgomp.c++/scan-5.C: New test.
8 * testsuite/libgomp.c++/scan-6.C: New test.
9 * testsuite/libgomp.c++/scan-7.C: New test.
10 * testsuite/libgomp.c++/scan-8.C: New test.
11 * testsuite/libgomp.c/scan-1.c: New test.
12 * testsuite/libgomp.c/scan-2.c: New test.
13 * testsuite/libgomp.c/scan-3.c: New test.
14 * testsuite/libgomp.c/scan-4.c: New test.
15 * testsuite/libgomp.c/scan-5.c: New test.
16 * testsuite/libgomp.c/scan-6.c: New test.
17 * testsuite/libgomp.c/scan-7.c: New test.
18 * testsuite/libgomp.c/scan-8.c: New test.
19
bd194a51
TS
202019-06-18 Thomas Schwinge <thomas@codesourcery.com>
21
85fca03a
TS
22 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
23 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
24 Likewise.
25
bd194a51
TS
26 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
27 check.
28
6652161e
CP
292019-06-18 Cesar Philippidis <cesar@codesourcery.com>
30
31 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
32 file.
33
3a37d6f6
TS
342019-06-18 Thomas Schwinge <thomas@codesourcery.com>
35
4017da8d
TS
36 PR fortran/90743
37 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
38 case.
39 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
40 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
41 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
42 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
43
6f7c1f65
TS
44 PR testsuite/90861
45 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
46
3a37d6f6
TS
47 PR middle-end/90862
48 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
49
f45ce17d
TV
502019-06-16 Tom de Vries <tdevries@suse.de>
51
52 PR tree-optimization/89376
53 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
54
00908992
TV
552019-06-15 Tom de Vries <tdevries@suse.de>
56
57 PR tree-optimization/89713
58 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
59 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
60
211b7533
JJ
612019-06-15 Jakub Jelinek <jakub@redhat.com>
62
63 PR middle-end/90779
64 * testsuite/libgomp.c/pr90779.c: New test.
65 * testsuite/libgomp.fortran/pr90779.f90: New test.
66
120a01d1
TV
672019-06-15 Tom de Vries <tdevries@suse.de>
68
69 PR tree-optimization/90009
70 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
71
c29c92c7
FX
722019-06-13 Feng Xue <fxue@os.amperecomputing.com>
73
74 PR tree-optimization/89713
75 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
76
ce9c4ec3
JJ
772019-06-11 Jakub Jelinek <jakub@redhat.com>
78
79 PR target/90811
80 * testsuite/libgomp.c/pr90811.c: New test.
81
28b3a77c
JJ
822019-06-05 Jakub Jelinek <jakub@redhat.com>
83
84 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
85 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
86
7855700e
JJ
872019-06-04 Jakub Jelinek <jakub@redhat.com>
88
89 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
90 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
91 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
92 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
93
a7155c2e
RO
942019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
95
96 * configure.ac: Call AX_COUNT_CPUS.
97 Substitute CPU_COUNT.
98 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
99 count fallback.
100 * aclocal.m4: Regenerate.
101 * configure: Regenerate.
102 * Makefile.in, testsuite/Makefile.in: Regenerate.
103
7e47198b
JJ
1042019-05-29 Jakub Jelinek <jakub@redhat.com>
105
106 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
107 to ...
108 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
109 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
110 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
111
fcfb8032
JJ
1122019-05-27 Jakub Jelinek <jakub@redhat.com>
113
8e7757ba
JJ
114 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
115
36c7a3ff
JJ
116 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
117
fcfb8032
JJ
118 PR libgomp/90641
119 * work.c (gomp_init_work_share): Instead of aligning final ordered
120 value to multiples of long long alignment, align to that the
121 first part (ordered team ids) and if inline_ordered_team_ids
122 is not on a long long alignment boundary within the structure,
123 use __alignof__ (long long) - 1 pad size always.
124 * loop.c (GOMP_loop_start): Fix *mem computation if
125 inline_ordered_team_ids is not aligned on long long alignment boundary
126 within the structure.
127 * loop-ull.c (GOMP_loop_ull_start): Likewise.
128 * sections.c (GOMP_sections2_start): Likewise.
129
b5c26449
JJ
1302019-05-24 Jakub Jelinek <jakub@redhat.com>
131
6c7ae8c5
JJ
132 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
133 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
134
b5c26449
JJ
135 PR libgomp/90585
136 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
137 HAVE_INTTYPES_H is defined.
138 (print_uint64_t): New typedef.
139 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
140 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
141 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
142 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
143 before casting to void *.
144 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
145 * oacc-mem.c: Don't include config.h nor stdint.h.
146 * target.c: Don't include config.h.
147 * oacc-cuda.c: Likewise.
148 * oacc-host.c: Don't include stdint.h.
149
3e03ed66
JJ
1502019-05-20 Jakub Jelinek <jakub@redhat.com>
151
152 PR libgomp/90527
153 * alloc.c (_GNU_SOURCE): Define.
154
5fae049d
TS
1552019-05-17 Thomas Schwinge <thomas@codesourcery.com>
156
157 * acc_prof.h: New file.
158 * oacc-profiling.c: Likewise.
159 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
160 Add these, respectively.
161 * Makefile.in: Regenerate.
162 * env.c (initialize_env): Call goacc_profiling_initialize.
163 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
164 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
165 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
166 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
167 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
168 acc_prof_register, acc_prof_unregister, and acc_register_library.
169 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
170 GOMP_PLUGIN_goacc_thread.
171 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
172 prof_callbacks_enabled members.
173 (goacc_prof_enabled, goacc_profiling_initialize)
174 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
175 (goacc_profiling_dispatch): Declare.
176 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
177 (GOACC_PROFILING_SETUP_P): Define.
178 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
179 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
180 OpenACC Profiling Interface.
181 * oacc-cuda.c (acc_get_current_cuda_device)
182 (acc_get_current_cuda_context, acc_get_cuda_stream)
183 (acc_set_cuda_stream): Likewise.
184 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
185 (acc_init, acc_set_device_type, acc_get_device_type)
186 (acc_get_device_num, goacc_lazy_initialize): Likewise.
187 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
188 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
189 (acc_unmap_data, present_create_copy, delete_copyout)
190 (update_dev_host): Likewise.
191 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
192 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
193 Likewise.
194 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
195 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
196 Likewise.
197 * libgomp.texi: Update.
198 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
199 file.
200 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
201 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
202 Likewise.
203 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
204 Likewise.
205 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
206 Likewise.
207 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
208 Likewise.
209
1f4c5b9b
CLT
2102019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
211
212 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
213 (struct goacc_asyncqueue_list): Likewise.
214 (goacc_aq): Likewise.
215 (goacc_aq_list): Likewise.
216 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
217 (GOMP_OFFLOAD_openacc_async_test): Remove.
218 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
219 (GOMP_OFFLOAD_openacc_async_wait): Remove.
220 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
221 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
222 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
223 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
224 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
225 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
226 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
227 (GOMP_OFFLOAD_openacc_async_exec): Declare.
228 (GOMP_OFFLOAD_openacc_async_construct): Declare.
229 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
230 (GOMP_OFFLOAD_openacc_async_test): Declare.
231 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
232 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
233 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
234 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
235 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
236
237 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
238 (gomp_acc_insert_pointer): Adjust declaration.
239 (gomp_copy_host2dev): New declaration.
240 (gomp_copy_dev2host): Likewise.
241 (gomp_map_vars_async): Likewise.
242 (gomp_unmap_tgt): Likewise.
243 (gomp_unmap_vars_async): Likewise.
244 (gomp_fini_device): Likewise.
245
246 * oacc-async.c (get_goacc_thread): New function.
247 (get_goacc_thread_device): New function.
248 (lookup_goacc_asyncqueue): New function.
249 (get_goacc_asyncqueue): New function.
250 (acc_async_test): Adjust code to use new async design.
251 (acc_async_test_all): Likewise.
252 (acc_wait): Likewise.
253 (acc_wait_async): Likewise.
254 (acc_wait_all): Likewise.
255 (acc_wait_all_async): Likewise.
256 (goacc_async_free): New function.
257 (goacc_init_asyncqueues): Likewise.
258 (goacc_fini_asyncqueues): Likewise.
259 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
260 design.
261 (acc_set_cuda_stream): Likewise.
262 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
263 (host_openacc_register_async_cleanup): Remove.
264 (host_openacc_async_exec): New function.
265 (host_openacc_async_test): Adjust parameters.
266 (host_openacc_async_test_all): Remove.
267 (host_openacc_async_wait): Remove.
268 (host_openacc_async_wait_async): Remove.
269 (host_openacc_async_wait_all): Remove.
270 (host_openacc_async_wait_all_async): Remove.
271 (host_openacc_async_set_async): Remove.
272 (host_openacc_async_synchronize): New function.
273 (host_openacc_async_serialize): New function.
274 (host_openacc_async_host2dev): New function.
275 (host_openacc_async_dev2host): New function.
276 (host_openacc_async_queue_callback): New function.
277 (host_openacc_async_construct): New function.
278 (host_openacc_async_destruct): New function.
279 (struct gomp_device_descr host_dispatch): Remove initialization of old
280 interface, add intialization of new async sub-struct.
281 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
282 (goacc_attach_host_thread_to_device): Remove old async code usage.
283 * oacc-int.h (goacc_init_asyncqueues): New declaration.
284 (goacc_fini_asyncqueues): Likewise.
285 (goacc_async_copyout_unmap_vars): Likewise.
286 (goacc_async_free): Likewise.
287 (get_goacc_asyncqueue): Likewise.
288 (lookup_goacc_asyncqueue): Likewise.
289 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
290 design.
291 (present_create_copy): Adjust code to use new async design.
292 (delete_copyout): Likewise.
293 (update_dev_host): Likewise.
294 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
295 async design.
296 (gomp_acc_remove_pointer): Adjust code to use new async design.
297 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
298 design.
299 (GOACC_enter_exit_data): Likewise.
300 (goacc_wait): Likewise.
301 (GOACC_update): Likewise.
302 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
303 when called, warn as obsolete in comment.
304 * target.c (goacc_device_copy_async): New function.
305 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
306 add goacc_device_copy_async case.
307 (gomp_copy_dev2host): Likewise.
308 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
309 (gomp_map_pointer): Likewise.
310 (gomp_map_fields_existing): Likewise.
311 (gomp_map_vars_internal): New always_inline function, renamed from
312 gomp_map_vars.
313 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
314 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
315 passing goacc_asyncqueue argument.
316 (gomp_unmap_tgt): Remove static, add attribute_hidden.
317 (gomp_unref_tgt): New function.
318 (gomp_unmap_vars_internal): New always_inline function, renamed from
319 gomp_unmap_vars.
320 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
321 (gomp_unmap_vars_async): Implement by calling
322 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
323 (gomp_fini_device): New function.
324 (gomp_exit_data): Adjust gomp_copy_dev2host call.
325 (gomp_load_plugin_for_device): Remove old interface, adjust to load
326 new async interface.
327 (gomp_target_fini): Adjust code to call gomp_fini_device.
328
329 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
330 (struct ptx_stream): Remove.
331 (struct nvptx_thread): Remove current_stream field.
332 (cuda_map_create): Remove.
333 (cuda_map_destroy): Remove.
334 (map_init): Remove.
335 (map_fini): Remove.
336 (map_pop): Remove.
337 (map_push): Remove.
338 (struct goacc_asyncqueue): Define.
339 (struct nvptx_callback): Define.
340 (struct ptx_free_block): Define.
341 (struct ptx_device): Remove null_stream, active_streams, async_streams,
342 stream_lock, and next fields.
343 (enum ptx_event_type): Remove.
344 (struct ptx_event): Remove.
345 (ptx_event_lock): Remove.
346 (ptx_events): Remove.
347 (init_streams_for_device): Remove.
348 (fini_streams_for_device): Remove.
349 (select_stream_for_async): Remove.
350 (nvptx_init): Remove ptx_events and ptx_event_lock references.
351 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
352 case.
353 (nvptx_open_device): Add free_blocks initialization, remove
354 init_streams_for_device call.
355 (nvptx_close_device): Remove fini_streams_for_device call, add
356 free_blocks destruct code.
357 (event_gc): Remove.
358 (event_add): Remove.
359 (nvptx_exec): Adjust parameters and code.
360 (nvptx_free): Likewise.
361 (nvptx_host2dev): Remove.
362 (nvptx_dev2host): Remove.
363 (nvptx_set_async): Remove.
364 (nvptx_async_test): Remove.
365 (nvptx_async_test_all): Remove.
366 (nvptx_wait): Remove.
367 (nvptx_wait_async): Remove.
368 (nvptx_wait_all): Remove.
369 (nvptx_wait_all_async): Remove.
370 (nvptx_get_cuda_stream): Remove.
371 (nvptx_set_cuda_stream): Remove.
372 (GOMP_OFFLOAD_alloc): Adjust code.
373 (GOMP_OFFLOAD_free): Likewise.
374 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
375 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
376 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
377 (GOMP_OFFLOAD_openacc_async_wait): Remove.
378 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
379 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
380 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
381 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
382 (cuda_free_argmem): New function.
383 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
384 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
385 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
386 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
387 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
388 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
389 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
390 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
391 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
392 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
393 (cuda_callback_wrapper): New function.
394 (cuda_memcpy_sanity_check): New function.
395 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
396 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
397 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
398 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
399
da2d30c1
TS
4002019-05-07 Thomas Schwinge <thomas@codesourcery.com>
401
402 PR target/87835
403 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
404
2bbbfa4e
TS
4052019-05-06 Thomas Schwinge <thomas@codesourcery.com>
406
407 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
408
bbf1efe1
KB
4092019-03-27 Kevin Buettner <kevinb@redhat.com>
410
411 * team.c (gomp_team_start): Initialize pool->threads[0].
412
1241136c
TS
4132019-02-22 Thomas Schwinge <thomas@codesourcery.com>
414
b03d721a
TS
415 * testsuite/libgomp.oacc-c++/c++.exp: Specify
416 "-foffload=$offload_target".
417 * testsuite/libgomp.oacc-c/c.exp: Likewise.
418 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
419 * testsuite/lib/libgomp.exp
420 (check_effective_target_openacc_nvidia_accel_configured): Remove,
421 as (conceptually) merged into
422 check_effective_target_openacc_nvidia_accel_selected. Adjust all
423 users.
424
0a0384b4
TS
425 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
426 * testsuite/libgomp-test-support.exp.in: Adjust.
427 * testsuite/lib/libgomp.exp: Likewise. Don't populate
428 openacc_device_types_s.
429 (offload_target_to_openacc_device_type): New proc.
430 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
431 * testsuite/libgomp.oacc-c/c.exp: Likewise.
432 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
433 * Makefile.in: Regenerate.
434 * configure: Likewise.
435 * testsuite/Makefile.in: Likewise.
436
ee332b4a
TS
437 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
438 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
439 instead of OFFLOAD_TARGETS.
440 * target.c (gomp_target_init): Adjust.
441 * testsuite/libgomp-test-support.exp.in: Likewise.
442 * testsuite/lib/libgomp.exp: Likewise. Populate
443 openacc_device_types_s instead of offload_targets_s_openacc.
444 (check_effective_target_openacc_nvidia_accel_selected)
445 (check_effective_target_openacc_host_selected): Adjust.
446 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
447 * testsuite/libgomp.oacc-c/c.exp: Likewise.
448 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
449 * Makefile.in: Regenerate.
450 * config.h.in: Likewise.
451 * configure: Likewise.
452 * testsuite/Makefile.in: Likewise.
453
1241136c
TS
454 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
455 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
456 "offloading: supported, but hardware not accessible".
457 * testsuite/libgomp.oacc-c/c.exp: Likewise.
458 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
459
19695f4d
CLT
4602019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
461
462 PR c/87924
463 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
464 goacc_wait().
465 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
466 and related adjustment.
467
8b44f8ec
JJ
4682019-01-30 Jakub Jelinek <jakub@redhat.com>
469
470 PR c++/88988
471 * testsuite/libgomp.c++/pr88988.C: New test.
472
be3a87e7
JJ
4732019-01-28 Jakub Jelinek <jakub@redhat.com>
474
475 PR middle-end/89002
476 * testsuite/libgomp.c/pr89002.c: New test.
477
497ef4d7
RB
4782019-01-28 Richard Biener <rguenther@suse.de>
479
480 PR testsuite/89064
481 PR tree-optimization/86865
482 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
483
738c56d4
TV
4842019-01-24 Tom de Vries <tdevries@suse.de>
485
486 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
487 once instantiated_devices drops to 0.
488
4a75460b
TV
4892019-01-23 Tom de Vries <tdevries@suse.de>
490
491 PR target/PR88946
492 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
493 cuMemFree.
494 (nvptx_exec): Don't call map_push if mapnum == 0.
495 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
496
4fef8e4d
TV
4972019-01-23 Tom de Vries <tdevries@suse.de>
498
499 PR target/88941
500 PR target/88939
501 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
502 (map_fini): Remove "assert (!s->map->active)".
503 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
504
2ee6cb22
TV
5052019-01-23 Tom de Vries <tdevries@suse.de>
506
507 PR target/87835
508 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
509 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
510
d41d952c
TV
5112019-01-15 Tom de Vries <tdevries@suse.de>
512
513 PR target/80547
514 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
515 New test.
516
efb56ae8
TV
5172019-01-12 Tom de Vries <tdevries@suse.de>
518
519 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
520 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
521 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
522 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
523
2c2ff168
TV
5242019-01-12 Tom de Vries <tdevries@suse.de>
525
526 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
527
a1057758
TV
5282019-01-12 Tom de Vries <tdevries@suse.de>
529
530 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
531 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
532 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
533
56314b77
TV
5342019-01-12 Tom de Vries <tdevries@suse.de>
535
536 PR target/85486
537 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
538 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
539
b39e4366
TV
5402019-01-12 Tom de Vries <tdevries@suse.de>
541
542 PR target/85381
543 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
544 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
545
2cb7a501
TV
5462019-01-12 Tom de Vries <tdevries@suse.de>
547
548 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
549 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
550 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
551
8e77f71e
TV
5522019-01-12 Tom de Vries <tdevries@suse.de>
553
554 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
555 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
556 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
557
52d22ece
TV
5582019-01-12 Tom de Vries <tdevries@suse.de>
559
560 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
561 resources diagnostic.
562
2b9d9e39
TV
5632019-01-12 Tom de Vries <tdevries@suse.de>
564
565 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
566 vector length to be 128.
567 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
568 length 2097152 to be reduced to 1024 instead of 32.
569
4102bda6
TS
5702019-01-11 Thomas Schwinge <thomas@codesourcery.com>
571 James Norris <jnorris@codesourcery.com>
572
573 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
574 Library Routines", and "Environment Variables".
575
052aaace
TV
5762019-01-11 Tom de Vries <tdevries@suse.de>
577
578 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
579 num_workers 16.
580
9390f916
TV
5812019-01-11 Tom de Vries <tdevries@suse.de>
582
583 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
584 -foffload=-w.
585 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
586 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
587 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
588 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
589
2c3e7ad2
TV
5902019-01-11 Tom de Vries <tdevries@suse.de>
591
592 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
593 test.
594
e222497d
NS
5952019-01-10 Nathan Sidwell <nathan@acm.org>
596 Julian Brown <julian@codesourcery.com>
597
598 PR lto/71959
599 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
600 * testsuite/libgomp.oacc-c++/pr71959.C: New.
601
cb87fec3
SH
6022019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
603
604 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
605 and paste code.
606
30b4d0d0
SH
6072019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
608
609 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
610 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
611 write.
612
5d0bc70a
TV
6132019-01-09 Tom de Vries <tdevries@suse.de>
614
615 PR target/88756
616 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
617 #define instead of "const int".
618 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
619 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
620 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
621 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
622
2c372e81
TV
6232019-01-09 Tom de Vries <tdevries@suse.de>
624
625 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
626 one worker.
627
43493c97
TV
6282019-01-07 Tom de Vries <tdevries@suse.de>
629
630 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
631 GOMP_OPENACC_DIM argument.
632
5c571497
TV
6332019-01-03 Tom de Vries <tdevries@suse.de>
634
635 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
636 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
637
a5544970
JJ
6382019-01-01 Jakub Jelinek <jakub@redhat.com>
639
640 Update copyright years.
641
3f27508c
JJ
6422019-01-01 Jakub Jelinek <jakub@redhat.com>
643
644 * libgomp.texi: Bump @copying's copyright year.
645
59d5960c
TS
6462018-12-28 Thomas Schwinge <thomas@codesourcery.com>
647
648 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
649 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
650 (GOACC_declare): Redefine the "device" argument to "flags".
651
a44c1790
TS
6522018-12-28 Thomas Schwinge <thomas@codesourcery.com>
653 Cesar Philippidis <cesar@codesourcery.com>
654
655 * target.c (struct gomp_coalesce_chunk): New structure.
656 (struct gomp_coalesce_buf): Update the chunks member to use that
657 type. Adjust all users.
658
a152954e
TV
6592018-12-19 Tom de Vries <tdevries@suse.de>
660
661 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
662 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
663 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
664
49188cd1
TV
6652018-12-19 Tom de Vries <tdevries@suse.de>
666
667 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
668 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
669 gcc/testsuite/gcc.dg/goacc.
670 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
671
c759830b
TS
6722018-12-14 Thomas Schwinge <thomas@codesourcery.com>
673 Chung-Lin Tang <cltang@codesourcery.com>
674
675 * oacc-mem.c (acc_present_or_create): Remove definition and change
676 to alias of acc_create.
677 (acc_present_or_copyin): Remove definition and change to alias of
678 acc_copyin.
679 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
680 of acc_present_or_create.
681 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
682 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
683 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
684 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
685 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
686 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
687 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
688 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
689 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
690 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
691 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
692 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
693 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
694 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
695 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
696 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
697
7de562ee
TS
6982018-12-14 Thomas Schwinge <thomas@codesourcery.com>
699
f847198e
TS
700 PR libgomp/88495
701 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
702 "identical parameters".
703 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
704 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
705
c8ab8aab
TS
706 PR libgomp/88484
707 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
708 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
709
1404af62
TS
710 PR libgomp/88407
711 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
712 (nvptx_wait_async): Unseen async-argument is a no-op.
713 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
714 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
716 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
717 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
718 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
719 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
720 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
721 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
722
7de562ee
TS
723 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
724 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
725
17469af7
CLT
7262018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
727
728 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
729 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
730 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
731
18c247cc
TS
7322018-12-14 Thomas Schwinge <thomas@codesourcery.com>
733
734 PR libgomp/88370
735 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
736 (acc_set_cuda_stream): Clarify.
737 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
738 "async_valid_p".
739 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
740 acc_async_sync".
741 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
742 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
743 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
744 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
745
b0aba46c
TV
7462018-12-14 Tom de Vries <tdevries@suse.de>
747
748 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
749 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
750 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
751 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
752 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
753
fe0827ee
TV
7542018-12-13 Tom de Vries <tdevries@suse.de>
755
756 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
757 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
758 * fortran.c (omp_display_affinity_): ... here.
759 * libgomp.h (gomp_print_string): Declare.
760 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
761 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
762 write.
763
a51f8c92
JJ
7642018-12-13 Jakub Jelinek <jakub@redhat.com>
765
766 PR libgomp/88460
767 * testsuite/libgomp.c++/for-24.C (results): Include it in
768 omp declare target region.
769 (main): Use map (always, tofrom: results) instead of
770 map (tofrom: results).
771
a6ef2ac9
JJ
7722018-12-12 Jakub Jelinek <jakub@redhat.com>
773
7a289b7d
JJ
774 PR fortran/88463
775 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
776 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
777
a6ef2ac9
JJ
778 * testsuite/libgomp.c-c++-common/for-16.c: New test.
779
9c47a019
AS
7802018-12-12 Andreas Schwab <schwab@suse.de>
781
782 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
783 clobbered.
784
d0cbb206
TK
7852018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
786
787 PR fortran/88411
788 * testsuite/libgomp.fortran/async_io_8.f90: New test.
789
84ca08d2
TS
7902018-12-09 Thomas Schwinge <thomas@codesourcery.com>
791 Jakub Jelinek <jakub@redhat.com>
792
793 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
794 devicep->host2dev_func.
795
6997628d
JJ
7962018-12-08 Jakub Jelinek <jakub@redhat.com>
797
798 PR libgomp/87995
799 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
800 tls_runtime effective target.
801 (t): New threadprivate variable.
802 (main): Set t in threads which execute iterations of the worksharing
803 loop. Propagate that to the task after the loop and don't abort
804 if the current taskgroup hasn't been cancelled.
805
daa8c1d7
JJ
8062018-12-02 Jakub Jelinek <jakub@redhat.com>
807
4a82df9a
JJ
808 * testsuite/libgomp.c/task-reduction-3.c: New test.
809
daa8c1d7
JJ
810 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
811
fe570ff8
CP
8122018-11-30 Cesar Philippidis <cesar@codesourcery.com>
813
814 PR libgomp/88288
815 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
816 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
817
c223608f
TS
8182018-11-30 Thomas Schwinge <thomas@codesourcery.com>
819
820 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
821
fc60283c
RB
8222018-10-19 Richard Biener <rguenther@suse.de>
823
824 PR tree-optimization/88182
825 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
826
ffcf3b79
JJ
8272018-11-26 Jakub Jelinek <jakub@redhat.com>
828
829 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
830 (RUNTEST): Don't define.
831 (RUNTESTDEFAULTFLAGS): Add.
832 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
833 (distclean-am): Depend on distclean-DEJAGNU.
834 (check-am): If -j% option is present in MFLAGS and if
835 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
836 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
837 * testsuite/Makefile.in: Regenerated.
838
ef6e6914
RB
8392018-11-26 Richard Biener <rguenther@suse.de>
840
841 PR tree-optimization/88182
842 * testsuite/libgomp.c++/pr88182.C: New testcase.
843
72d3bb76
JJ
8442018-11-20 Jakub Jelinek <jakub@redhat.com>
845
846 PR bootstrap/88106
847 * config/mingw32/affinity-fmt.c: New file.
848
207286c3
JJ
8492018-11-09 Jakub Jelinek <jakub@redhat.com>
850
9666c522
JJ
851 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
852 (gomp_display_affinity): Use __builtin_choose_expr to handle
853 properly handle argument having integral, or pointer or some other
854 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
855 with uint64_t type instead of %llx and unsigned long long.
856
207286c3
JJ
857 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
858 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
859
2033f45b
RO
8602018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
861
862 * affinity.c: Include <string.h>, <stdio.h>.
863 (gomp_display_affinity_place): Remove cpusetp.
864 * teams.c: Include <limits.h>.
865
28567c40
JJ
8662018-11-08 Jakub Jelinek <jakub@redhat.com>
867
8991d779
JJ
868 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
869 in_reduction clause for s[0].
870
28567c40
JJ
871 * affinity.c (gomp_display_affinity_place): New function.
872 * affinity-fmt.c: New file.
873 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
874 * config/linux/affinity.c (gomp_display_affinity_place): New function.
875 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
876 Move these functions to ...
877 * config/nvptx/teams.c: ... here. New file.
878 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
879 New functions.
880 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
881 functions.
882 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
883 and _aligned_malloc.
884 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
885 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
886 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
887 gomp_affinity_format_len): New variables.
888 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
889 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
890 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
891 modifiers. Display (non-default) chunk sizes. Print
892 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
893 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
894 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
895 * fortran.c: Include stdio.h and string.h.
896 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
897 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
898 (omp_set_affinity_format_, omp_get_affinity_format_,
899 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
900 omp_pause_resource_all_): New functions.
901 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
902 switch.
903 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
904 functions to ...
905 * teams.c: ... here. New file.
906 * libgomp_g.h: Include gstdint.h.
907 (GOMP_loop_nonmonotonic_runtime_start,
908 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
909 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
910 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
911 GOMP_parallel_loop_nonmonotonic_runtime,
912 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
913 GOMP_loop_ull_nonmonotonic_runtime_start,
914 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
915 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
916 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
917 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
918 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
919 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
920 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
921 GOMP_teams_reg): Declare.
922 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
923 gomp_aligned_alloc uses fallback implementation.
924 (gomp_aligned_alloc, gomp_aligned_free): Declare.
925 (enum gomp_schedule_type): Add GFS_MONOTONIC.
926 (struct gomp_doacross_work_share): Add extra field.
927 (struct gomp_work_share): Add task_reductions field.
928 (struct gomp_taskgroup): Add workshare and reductions fields.
929 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
930 (gomp_thread_handle): New typedef.
931 (gomp_display_affinity_place, gomp_set_affinity_format,
932 gomp_display_string, gomp_display_affinity,
933 gomp_display_affinity_thread): Declare.
934 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
935 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
936 gomp_workshare_task_reduction_register): Declare.
937 (gomp_team_start): Add taskgroup argument.
938 (gomp_pause_host): Declare.
939 (gomp_init_work_share, gomp_work_share_start): Change bool argument
940 to size_t.
941 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
942 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
943 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
944 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
945 GOMP_loop_ull_doacross_start,
946 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
947 GOMP_loop_maybe_nonmonotonic_runtime_next,
948 GOMP_loop_maybe_nonmonotonic_runtime_start,
949 GOMP_loop_nonmonotonic_runtime_next,
950 GOMP_loop_nonmonotonic_runtime_start,
951 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
952 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
953 GOMP_loop_ull_nonmonotonic_runtime_next,
954 GOMP_loop_ull_nonmonotonic_runtime_start,
955 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
956 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
957 GOMP_taskgroup_reduction_register,
958 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
959 GOMP_teams_reg and GOMP_taskwait_depend.
960 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
961 omp_{capture,display}_affinity{,_}, and
962 omp_[gs]et_affinity_format{,_}.
963 * loop.c: Include string.h.
964 (GOMP_loop_runtime_next): Add ialias.
965 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
966 (gomp_loop_static_start, gomp_loop_dynamic_start,
967 gomp_loop_guided_start, gomp_loop_ordered_static_start,
968 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
969 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
970 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
971 or gomp_doacross_init callers.
972 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
973 GOMP_loop_doacross_start): New functions.
974 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
975 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
976 Mask off GFS_MONOTONIC bit.
977 (GOMP_loop_maybe_nonmonotonic_runtime_next,
978 GOMP_loop_maybe_nonmonotonic_runtime_start,
979 GOMP_loop_nonmonotonic_runtime_next,
980 GOMP_loop_nonmonotonic_runtime_start,
981 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
982 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
983 functions.
984 (gomp_parallel_loop_start): Pass NULL as taskgroup to
985 gomp_team_start.
986 * loop_ull.c: Include string.h.
987 (GOMP_loop_ull_runtime_next): Add ialias.
988 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
989 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
990 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
991 gomp_loop_ull_ordered_dynamic_start,
992 gomp_loop_ull_ordered_guided_start,
993 gomp_loop_ull_doacross_static_start,
994 gomp_loop_ull_doacross_dynamic_start,
995 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
996 and gomp_doacross_ull_init callers.
997 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
998 GOMP_loop_ull_doacross_start): New functions.
999 (GOMP_loop_ull_runtime_start,
1000 GOMP_loop_ull_ordered_runtime_start,
1001 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1002 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1003 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1004 GOMP_loop_ull_nonmonotonic_runtime_next,
1005 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1006 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1007 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1008 (omp_pause_resource_t, omp_depend_t): New typedefs.
1009 (enum omp_lock_hint_t): Renamed to ...
1010 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1011 enumerators using numbers and omp_lock_hint_* as their aliases.
1012 (omp_lock_hint_t): New typedef. Rename to ...
1013 (omp_sync_hint_t): ... this.
1014 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1015 omp_sync_hint_t instead of omp_lock_hint_t.
1016 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1017 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1018 Declare.
1019 (omp_target_is_present, omp_target_disassociate_ptr):
1020 Change first argument from void * to const void *.
1021 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1022 from void * to const void *.
1023 (omp_target_associate_ptr): Change first and second arguments from
1024 void * to const void *.
1025 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1026 omp_pause_hard): New parameters.
1027 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1028 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1029 New interfaces.
1030 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1031 omp_pause_hard): New parameters.
1032 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1033 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1034 New externals.
1035 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1036 EXTRA argument. If not needed to prepare array, if extra is 0,
1037 clear ws->doacross, otherwise allocate just doacross structure and
1038 extra payload. If array is needed, allocate also extra payload.
1039 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1040 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1041 doacross == NULL.
1042 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1043 gomp_team_start.
1044 (GOMP_parallel): Likewise. Formatting fix.
1045 (GOMP_parallel_reductions): New function.
1046 (GOMP_cancellation_point): If taskgroup has workshare
1047 flag set, check cancelled of prev taskgroup if any.
1048 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1049 on prev taskgroup if any.
1050 * sections.c: Include string.h.
1051 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1052 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1053 (GOMP_sections2_start): New function.
1054 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1055 Pass NULL as taskgroup to gomp_team_start.
1056 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1057 gomp_work_share_start callers.
1058 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1059 If taskgroup has workshare flag set, check cancelled on prev
1060 taskgroup if any. Guard all cancellation tests with
1061 gomp_cancel_var test.
1062 (omp_target_is_present, omp_target_disassociate_ptr):
1063 Change ptr argument from void * to const void *.
1064 (omp_target_memcpy): Change src argument from void * to const void *.
1065 (omp_target_memcpy_rect): Likewise.
1066 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1067 instead of char * where needed.
1068 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1069 from void * to const void *.
1070 (omp_pause_resource, omp_pause_resource_all): New functions.
1071 * task.c (gomp_task_handle_depend): Handle new depend array format
1072 in addition to the old. Handle mutexinoutset kinds the same as
1073 inout for now, handle unspecified kinds.
1074 (gomp_create_target_task): If taskgroup has workshare flag set, check
1075 cancelled on prev taskgroup if any. Guard all cancellation tests with
1076 gomp_cancel_var test. Handle new depend array format count in
1077 addition to the old.
1078 (GOMP_task): Likewise. Adjust function comment.
1079 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1080 cancelled on prev taskgroup if any. Guard all cancellation tests with
1081 gomp_cancel_var test.
1082 (GOMP_taskwait_depend): New function.
1083 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1084 format in addition to the old. Handle mutexinoutset kinds the same as
1085 inout for now, handle unspecified kinds. Fix a function comment typo.
1086 (gomp_taskgroup_init): New function.
1087 (GOMP_taskgroup_start): Use it.
1088 (gomp_reduction_register, gomp_create_artificial_team,
1089 GOMP_taskgroup_reduction_register,
1090 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1091 gomp_parallel_reduction_register,
1092 gomp_workshare_task_reduction_register,
1093 gomp_workshare_taskgroup_start,
1094 GOMP_workshare_task_reduction_unregister): New functions.
1095 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1096 check cancelled on prev taskgroup if any. Guard all cancellation
1097 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1098 by calling GOMP_taskgroup_reduction_register.
1099 * team.c (gomp_thread_attr): Remove comment.
1100 (struct gomp_thread_start_data): Add handle field.
1101 (gomp_thread_start): Call pthread_detach.
1102 (gomp_new_team): Adjust gomp_init_work_share caller.
1103 (gomp_free_pool_helper): Call pthread_detach.
1104 (gomp_team_start): Add taskgroup argument, initialize implicit
1105 tasks' taskgroup field to that. Don't call
1106 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1107 (gomp_team_end): Determine nesting by thr->ts.level != 0
1108 rather than thr->ts.team != NULL.
1109 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1110 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1111 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1112 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1113 if more than 1 allocate also extra payload at the end of array. Never
1114 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1115 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1116 return true instead of ws.
1117 * Makefile.in: Regenerated.
1118 * configure: Regenerated.
1119 * config.h.in: Regenerated.
1120 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1121 in some cases.
1122 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1123 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1124 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1125 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1126 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1127 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1128 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1129 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1130 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1131 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1132 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1133 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1134 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1135 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1136 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1137 define a different N(test), don't define N(f0) to N(f14), but instead
1138 define N(f20) to N(f34) using != comparisons.
1139 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1140 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1141 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1142 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1143 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1144 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1145 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1146 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1147 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1148 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1149 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1150 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1151 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1152 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1153 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1154 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1155 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1156 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1157 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1158 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1159 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1160 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1161 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1162 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1163 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1164 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1165 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1166 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1167 * testsuite/libgomp.c++/depend-1.C: New test.
1168 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1169 * testsuite/libgomp.c++/depobj-1.C: New test.
1170 * testsuite/libgomp.c++/for-16.C: New test.
1171 * testsuite/libgomp.c++/for-21.C: New test.
1172 * testsuite/libgomp.c++/for-22.C: New test.
1173 * testsuite/libgomp.c++/for-23.C: New test.
1174 * testsuite/libgomp.c++/for-24.C: New test.
1175 * testsuite/libgomp.c++/for-25.C: New test.
1176 * testsuite/libgomp.c++/for-26.C: New test.
1177 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1178 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1179 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1180 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1181 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1182 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1183 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1184 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1185 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1186 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1187 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1188 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1189 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1190 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1191 * testsuite/libgomp.c/task-reduction-1.c: New test.
1192 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1193 * testsuite/libgomp.c/task-reduction-2.c: New test.
1194 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1195 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1196 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1197 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1198 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1199 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1200 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1201 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1202 * testsuite/libgomp.c/teams-1.c: New test.
1203 * testsuite/libgomp.c/teams-2.c: New test.
1204 * testsuite/libgomp.c/thread-limit-4.c: New test.
1205 * testsuite/libgomp.c/thread-limit-5.c: New test.
1206 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1207
58168bbf
CLT
12082018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1209
1210 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1211 acc_memcpy_to/from_device functions, now with async parameter.
1212 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1213 (acc_memcpy_from_device): Likewise.
1214 (acc_memcpy_to_device_async): New API function.
1215 (acc_memcpy_from_device_async): Likewise.
1216 (present_create_copy): Add async parameter and async setting/unsetting.
1217 (acc_create): Adjust present_create_copy call.
1218 (acc_copyin): Likewise.
1219 (acc_present_or_create): Likewise.
1220 (acc_present_or_copyin): Likewise.
1221 (acc_create_async): New API function.
1222 (acc_copyin_async): New API function.
1223 (delete_copyout): Add async parameter and async setting/unsetting.
1224 (acc_delete): Adjust delete_copyout call.
1225 (acc_copyout): Likewise.
1226 (acc_delete_async): New API function.
1227 (acc_copyout_async): Likewise.
1228 (update_dev_host): Add async parameter and async setting/unsetting.
1229 (acc_update_device): Adjust update_dev_host call.
1230 (acc_update_self): Likewise.
1231 (acc_update_device_async): New API function.
1232 (acc_update_self_async): Likewise.
1233 * openacc.h (acc_copyin_async): Declare new API function.
1234 (acc_create_async): Likewise.
1235 (acc_copyout_async): Likewise.
1236 (acc_delete_async): Likewise.
1237 (acc_update_device_async): Likewise.
1238 (acc_update_self_async): Likewise.
1239 (acc_memcpy_to_device_async): Likewise.
1240 (acc_memcpy_from_device_async): Likewise.
1241 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1242 (acc_copyin_async_64_h): New subroutine.
1243 (acc_copyin_async_array_h): New subroutine.
1244 (acc_create_async_32_h): New subroutine.
1245 (acc_create_async_64_h): New subroutine.
1246 (acc_create_async_array_h): New subroutine.
1247 (acc_copyout_async_32_h): New subroutine.
1248 (acc_copyout_async_64_h): New subroutine.
1249 (acc_copyout_async_array_h): New subroutine.
1250 (acc_delete_async_32_h): New subroutine.
1251 (acc_delete_async_64_h): New subroutine.
1252 (acc_delete_async_array_h): New subroutine.
1253 (acc_update_device_async_32_h): New subroutine.
1254 (acc_update_device_async_64_h): New subroutine.
1255 (acc_update_device_async_array_h): New subroutine.
1256 (acc_update_self_async_32_h): New subroutine.
1257 (acc_update_self_async_64_h): New subroutine.
1258 (acc_update_self_async_array_h): New subroutine.
1259 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1260 (acc_copyin_async_64_h): New subroutine.
1261 (acc_copyin_async_array_h): New subroutine.
1262 (acc_create_async_32_h): New subroutine.
1263 (acc_create_async_64_h): New subroutine.
1264 (acc_create_async_array_h): New subroutine.
1265 (acc_copyout_async_32_h): New subroutine.
1266 (acc_copyout_async_64_h): New subroutine.
1267 (acc_copyout_async_array_h): New subroutine.
1268 (acc_delete_async_32_h): New subroutine.
1269 (acc_delete_async_64_h): New subroutine.
1270 (acc_delete_async_array_h): New subroutine.
1271 (acc_update_device_async_32_h): New subroutine.
1272 (acc_update_device_async_64_h): New subroutine.
1273 (acc_update_device_async_array_h): New subroutine.
1274 (acc_update_self_async_32_h): New subroutine.
1275 (acc_update_self_async_64_h): New subroutine.
1276 (acc_update_self_async_array_h): New subroutine.
1277 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1278 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1279 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1280 acc_memcpy_to_device_async*, acc_update_device_async*, and
1281 acc_update_self_async* entries.
1282 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1283 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1284 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1285
22e05272
JM
12862018-10-31 Joseph Myers <joseph@codesourcery.com>
1287
1288 PR bootstrap/82856
1289 * Makefile.am: Include multilib.am
1290 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1291 (CLEANFILES): Remove libgomp.info.
1292 * configure.ac: Remove AC_PREREQ.
1293 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1294 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1295 Regenerate.
1296
87a5ccfb
JM
12972018-10-29 Joseph Myers <joseph@codesourcery.com>
1298 Julian Brown <julian@codesourcery.com>
1299
1300 * testsuite/libgomp.oacc-c++/this.C: New.
1301
2049befd
CP
13022018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1303
1304 * plugin/plugin-nvptx.c (struct cuda_map): New.
1305 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1306 h_tail with (cuda_map *) map.
1307 (cuda_map_create): New function.
1308 (cuda_map_destroy): New function.
1309 (map_init): Update to use a linked list of cuda_map objects.
1310 (map_fini): Likewise.
1311 (map_pop): Likewise.
1312 (map_push): Likewise. Return CUdeviceptr instead of void.
1313 (init_streams_for_device): Remove stales references to ptx_stream
1314 members.
1315 (select_stream_for_async): Likewise.
1316 (nvptx_exec): Update call to map_init.
1317
8e36332c
CP
13182018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1319 Julian Brown <julian@codesourcery.com>
1320
1321 PR middle-end/86336
1322 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1323
2b4c9065
NK
13242018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1325 Thomas Koenig <tkoenig@gcc.gnu.org>
1326
1327 PR fortran/25829
1328 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1329 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1330 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1331 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1332 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1333 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1334 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1335
bd9b3d3d
CP
13362018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1337 Tom de Vries <tdevries@suse.de>
1338
1339 PR target/85590
1340 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1341 (cuOccupancyMaxPotentialBlockSize): Declare.
1342 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1343 CUDA_ONE_CALL_MAYBE_NULL.
1344 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1345 CUoccupancyB2DSize and declare
1346 cuOccupancyMaxPotentialBlockSize.
1347 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1348 default num_gangs and num_workers when the driver supports it.
1349
8e09a12f
TV
13502018-08-08 Tom de Vries <tdevries@suse.de>
1351
1352 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1353 CUDA_ONE_CALL_MAYBE_NULL.
1354 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1355 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1356 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1357 are not found.
1358
cedd9bd0
TV
13592018-08-08 Tom de Vries <tdevries@suse.de>
1360
1361 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1362 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1363 present.
1364
b113af95
TV
13652018-08-08 Tom de Vries <tdevries@suse.de>
1366
1367 * plugin/plugin-nvptx.c
1368 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1369 (nvptx_open_device): Use
1370 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1371
94767dac
TV
13722018-08-08 Tom de Vries <tdevries@suse.de>
1373
1374 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1375 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1376
02150de8
TV
13772018-08-07 Tom de Vries <tdevries@suse.de>
1378
1379 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1380 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1381 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1382 corresponding call in CUDA_ONE_CALL. Add def/undef of
1383 CUDA_ONE_CALL_MAYBE_NULL.
1384 (CUDA_CALL_EXISTS): Define.
1385
9e28b107
TV
13862018-08-07 Tom de Vries <tdevries@suse.de>
1387
1388 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1389 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1390 corresponding undefs right after.
1391
09940090
TV
13922018-08-04 Tom de Vries <tdevries@suse.de>
1393
1394 * plugin/configfrag.ac: For --without-cuda-driver, set
1395 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1396 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1397 * configure: Regenerate.
1398
77e0a97a
TV
13992018-08-02 Tom de Vries <tdevries@suse.de>
1400
1401 PR target/86660
1402 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1403 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1404 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1405 Same.
1406 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1407 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1408 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1409
701d080a
CP
14102018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1411 Thomas Schwinge <thomas@codesourcery.com>
1412
1413 * config/nvptx/oacc-parallel.c: Truncate.
1414
094db6be
CP
14152018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1416 James Norris <jnorris@codesourcery.com>
1417
1418 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
1419 (map_init, map_pop): Remove use of struct map.
1420 (map_push): Likewise and change argument list.
094db6be
CP
1421 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1422
8c6310a2
TV
14232018-08-01 Tom de Vries <tdevries@suse.de>
1424
1425 * plugin/cuda-lib.def: New file. Factor out of ...
1426 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1427 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1428 using CUDA_CALLS.
1429
1d4a51cf
AV
14302018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1431
1432 Revert 'AsyncI/O patch committed'.
1433 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1434 Thomas Koenig <tkoenig@gcc.gnu.org>
1435
1436 PR fortran/25829
1437 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1438 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1439 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1440 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1441 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1442 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1443 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1444
4cdfee3f
TV
14452018-07-30 Tom de Vries <tdevries@suse.de>
1446
1447 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1448 (nvptx_exec): Ensure worker and vector default dims don't exceed
1449 targ_fn->max_threads_per_block.
1450
0b210c43
TV
14512018-07-30 Tom de Vries <tdevries@suse.de>
1452
1453 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1454 (nvptx_open_device): Init default_dims for device.
1455 (nvptx_exec): Use default_dims from device.
1456
5883c5cc
JJ
14572018-07-26 Jakub Jelinek <jakub@redhat.com>
1458
5d36384c
JJ
1459 PR testsuite/86660
1460 * testsuite/libgomp.c++/for-15.C (results): Include it in
1461 omp declare target region.
1462 (main): Use map (always, tofrom: results) instead of
1463 map (tofrom: results).
1464
5883c5cc
JJ
1465 PR middle-end/86660
1466 * testsuite/libgomp.c/pr86660.c: New test.
1467
88a4654d
CP
14682018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1469 Tom de Vries <tdevries@suse.de>
1470
1471 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1472 sufficient resources to launch a kernel, and give a hint on how to fix
1473 it.
1474
0c6c2f5f
CP
14752018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1476 Tom de Vries <tdevries@suse.de>
1477
1478 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1479 max_threads_per_block and max_threads_per_multiprocessor fields.
1480 (nvptx_open_device): Initialize new fields.
1481 (nvptx_exec): Use num_sms, and new fields.
1482
6dd58010
TV
14832018-07-26 Tom de Vries <tdevries@suse.de>
1484
1485 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1486 to correct locations. Remove xfail.
1487
b2eb1779
TV
14882018-07-26 Tom de Vries <tdevries@suse.de>
1489
1490 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1491 acc_wait. Move acc_async_test calls to correct locations. Remove
1492 xfail.
1493
b1f45884
NK
14942018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1495 Thomas Koenig <tkoenig@gcc.gnu.org>
1496
1497 PR fortran/25829
1498 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1499 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1500 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1501 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1502 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1503 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1504 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1505
3a106211
JJ
15062018-07-17 Jakub Jelinek <jakub@redhat.com>
1507
a3bccfa1
JJ
1508 PR middle-end/86542
1509 * testsuite/libgomp.c++/pr86542.C: New test.
1510
3a106211
JJ
1511 PR middle-end/86539
1512 * testsuite/libgomp.c++/pr86539.C: New test.
1513
2bae8b2f
JJ
15142018-07-11 Jakub Jelinek <jakub@redhat.com>
1515
1516 PR c++/86443
1517 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1518 (results): Make sure the variable is not inside declare target region.
1519 (qux): Remove unused function.
1520
0b27c3ed
JJ
15212018-07-10 Jakub Jelinek <jakub@redhat.com>
1522
1523 PR c++/86443
1524 * testsuite/libgomp.c++/for-15.C: New test.
1525
f0391511
JJ
15262018-06-26 Jakub Jelinek <jakub@redhat.com>
1527
1528 PR c++/86291
1529 * testsuite/libgomp.c++/pr86291.C: New test.
1530
1a6d1d24
GP
15312018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1532
1533 * libgomp.texi (Top): Move www.openmp.org to https.
1534 (Enabling OpenMP): Ditto.
1535 (omp_get_active_level): Ditto.
1536 (omp_get_ancestor_thread_num): Ditto.
1537 (omp_get_cancellation): Ditto.
1538 (omp_get_default_device): Ditto.
1539 (omp_get_dynamic): Ditto.
1540 (omp_get_level): Ditto.
1541 (omp_get_max_active_levels): Ditto.
1542 (omp_get_max_task_priority): Ditto.
1543 (omp_get_max_threads): Ditto.
1544 (omp_get_nested): Ditto.
1545 (omp_get_num_devices): Ditto.
1546 (omp_get_num_procs): Ditto.
1547 (omp_get_num_teams): Ditto.
1548 (omp_get_num_threads): Ditto.
1549 (omp_get_proc_bind): Ditto.
1550 (omp_get_schedule): Ditto.
1551 (omp_get_team_num): Ditto.
1552 (omp_get_team_size): Ditto.
1553 (omp_get_thread_limit): Ditto.
1554 (omp_get_thread_num): Ditto.
1555 (omp_in_parallel): Ditto.
1556 (omp_in_final): Ditto.
1557 (omp_is_initial_device): Ditto.
1558 (omp_set_default_device): Ditto.
1559 (omp_set_dynamic): Ditto.
1560 (omp_set_max_active_levels): Ditto.
1561 (omp_set_nested): Ditto.
1562 (omp_set_num_threads): Ditto.
1563 (omp_set_schedule): Ditto.
1564 (omp_init_lock): Ditto.
1565 (omp_set_lock): Ditto.
1566 (omp_test_lock): Ditto.
1567 (omp_unset_lock): Ditto.
1568 (omp_destroy_lock): Ditto.
1569 (omp_init_nest_lock): Ditto.
1570 (omp_set_nest_lock): Ditto.
1571 (omp_test_nest_lock): Ditto.
1572 (omp_unset_nest_lock): Ditto.
1573 (omp_destroy_nest_lock): Ditto.
1574 (omp_get_wtick): Ditto.
1575 (omp_get_wtime): Ditto.
1576 (OMP_CANCELLATION): Ditto.
1577 (OMP_DISPLAY_ENV): Ditto.
1578 (OMP_DEFAULT_DEVICE): Ditto.
1579 (OMP_DYNAMIC): Ditto.
1580 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1581 (OMP_MAX_TASK_PRIORITY): Ditto.
1582 (OMP_NESTED): Ditto.
1583 (OMP_NUM_THREADS): Ditto.
1584 (OMP_PROC_BIND): Ditto.
1585 (OMP_PLACES): Ditto.
1586 (OMP_STACKSIZE): Ditto.
1587 (OMP_SCHEDULE): Ditto.
1588 (OMP_THREAD_LIMIT): Ditto.
1589 (OMP_WAIT_POLICY): Ditto.
1590
31dd69b7
CP
15912018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1592 James Norris <jnorris@codesourcery.com>
1593 Julian Brown <julian@codesourcery.com>
1594 Thomas Schwinge <thomas@codesourcery.com>
1595 Tom de Vries <tom@codesourcery.com>
1596
1597 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1598 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1599 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1600 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1601 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1602 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1603 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1604 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1605 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1606 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1607 Likewise.
1608 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1609 Likewise.
1610 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1611 Likewise.
1612 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1613 Likewise.
1614 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1615 Likewise.
1616 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1617 Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1619 Likewise.
1620 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1621 Likewise.
1622 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1623 Likewise.
1624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1625 Likewise.
1626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1627 Likewise.
1628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1629 Likewise.
1630 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1631 Likewise.
1632 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1633 Likewise.
1634 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1635 Likewise.
1636 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1637 Likewise.
1638 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1639 Likewise.
1640 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1641 Likewise.
1642 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1643 Likewise.
1644 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1645 Likewise.
1646 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1647 Likewise.
1648 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1649 Likewise.
1650 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1651 Likewise.
1652 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1653 Likewise.
1654 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1655 Likewise.
1656 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1657 Likewise.
1658 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1659 Likewise.
1660 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1661 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1662 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1663 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1664 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1665 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1666 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1667 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1668 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1669 Likewise.
1670 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1671 Likewise.
1672 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1673 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1674 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1675 Likewise.
1676 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1677 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1678 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1679 Likewise.
1680 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1681 Likewise.
1682 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1683 Likewise.
1684 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1685 Likewise.
1686 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1687 Likewise.
1688 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1689 Likewise.
1690 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1691 Likewise.
1692 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1693 Likewise.
1694 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1695 Likewise.
1696 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1697 Likewise.
1698 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1699 Likewise.
1700 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1701 Likewise.
1702 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1703 Likewise.
1704 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1705 Likewise.
1706 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1707 Likewise.
1708 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1709 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1710 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1711 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1712 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1713 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1714 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1715
829c6349
CLT
17162018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1717 Thomas Schwinge <thomas@codesourcery.com>
1718 Cesar Philippidis <cesar@codesourcery.com>
1719
1720 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1721 (gomp_acc_remove_pointer): Update declaration.
1722 (gomp_acc_declare_allocate): Declare.
1723 (gomp_remove_var): Declare.
1724 * libgomp.map (OACC_2.5): Define.
1725 * oacc-mem.c (acc_map_data): Update refcount.
1726 (acc_unmap_data): Likewise.
1727 (present_create_copy): Likewise.
1728 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1729 (acc_copyin): Likewise.
1730 (FLAG_FINALIZE): Define.
1731 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1732 (acc_delete_finalize): New function.
1733 (acc_delete_finalize_async): New function.
1734 (acc_copyout_finalize): New function.
1735 (acc_copyout_finalize_async): New function.
1736 (gomp_acc_insert_pointer): Update refcounts.
1737 (gomp_acc_remove_pointer): Return if data is not present on the
1738 accelerator.
1739 * oacc-parallel.c (find_pset): Rename to find_pointer.
1740 (find_pointer): Add support for GOMP_MAP_POINTER.
1741 (handle_ftn_pointers): New function.
1742 (GOACC_parallel_keyed): Update refcounts of variables.
1743 (GOACC_enter_exit_data): Add support for finalized data mappings.
1744 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1745 of fortran arrays.
1746 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1747 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1748 for GOMP_MAP_FORCE_FROM.
1749 * openacc.f90 (module openacc_internal): Add
1750 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1751 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1752 acc_copyout_finalize and acc_delete_finalize.
1753 (acc_copyout_finalize_32_h): New subroutine.
1754 (acc_copyout_finalize_64_h): New subroutine.
1755 (acc_copyout_finalize_array_h): New subroutine.
1756 (acc_delete_finalize_32_h): New subroutine.
1757 (acc_delete_finalize_64_h): New subroutine.
1758 (acc_delete_finalize_array_h): New subroutine.
1759 * openacc.h (acc_copyout_finalize): Declare.
1760 (acc_copyout_finalize_async): Declare.
1761 (acc_delete_finalize): Declare.
1762 (acc_delete_finalize_async): Declare.
1763 * openacc_lib.h (acc_copyout_finalize): New interface.
1764 (acc_delete_finalize): New interface.
1765 * target.c (gomp_map_vars): Update dynamic_refcount.
1766 (gomp_remove_var): New function.
1767 (gomp_unmap_vars): Use it.
1768 (gomp_unload_image_from_device): Likewise.
1769 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1770 case to utilize OpenACC 2.5 data clause semantics.
1771 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1772 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1773 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1774 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1775 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1776 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1777 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1778 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1779 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1780 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1781 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1782 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1783 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1784 utilize OpenACC 2.5 data clause semantics.
1785 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1786 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1787 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1788 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1789 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1790 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1791 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1792 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1793 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1794
4358400b
JW
17952018-05-21 Janus Weil <janus@gcc.gnu.org>
1796
1797 PR fortran/85841
1798 PR testsuite/85865
1799 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1800 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1801 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1802 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1803 * testsuite/libgomp.fortran/task2.f90: Ditto.
1804 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1805 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1806 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1807 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1808 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1809 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1810 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1811 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1812 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1813
950ad0ba
CP
18142018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1815
1816 PR c++/85782
1817 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1818
f5ad16f1
TV
18192018-05-09 Tom de Vries <tom@codesourcery.com>
1820
1821 PR libgomp/82901
1822 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1823 to GOACC_enter_exit_data.
1824
edbd038a
TV
18252018-05-09 Tom de Vries <tom@codesourcery.com>
1826
1827 PR libgomp/83792
1828 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1829 (async_synchronous_p): New function.
1830 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1831 async_valid_p.
1832 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1833 async_valid_stream_id_p.
1834 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1835 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1836
37d6c719
TV
18372018-05-07 Tom de Vries <tom@codesourcery.com>
1838
1839 PR testsuite/85677
1840 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1841 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1842
63f12215
TV
18432018-05-03 Tom de Vries <tom@codesourcery.com>
1844
1845 PR testsuite/85106
1846 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1847 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1848 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1849 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1850
ec00d3fa
TV
18512018-05-02 Tom de Vries <tom@codesourcery.com>
1852
1853 PR libgomp/85411
1854 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1855 GOMP_OPENACC_DIM ...
1856 * env.c (parse_gomp_openacc_dim): ... here. New function.
1857 (initialize_env): Call parse_gomp_openacc_dim.
1858 (goacc_default_dims): Define.
1859 * libgomp.h (goacc_default_dims): Declare.
1860 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1861 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1862 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1863 GOMP_PLUGIN_acc_default_dim.
1864 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1865 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1866
92243e7c
TV
18672018-05-02 Tom de Vries <tom@codesourcery.com>
1868
1869 PR testsuite/83791
1870 * testsuite/libgomp.c++/udr-9.C: Update.
1871 * testsuite/libgomp.c++/atomic-16.C: Remove.
1872 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1873 * testsuite/libgomp.c++/loop-13.C: Remove.
1874 * testsuite/libgomp.c++/loop-14.C: Remove.
1875 * testsuite/libgomp.c++/loop-15.C: Remove.
1876 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1877 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1878 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1879 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1880 * testsuite/libgomp.c++/ordered-1.C: Remove.
1881 * testsuite/libgomp.c++/pr45784.C: Remove.
1882 * testsuite/libgomp.c++/pr64824.C: Remove.
1883 * testsuite/libgomp.c++/pr64868.C: Remove.
1884 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1885 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1886 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1887 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1888 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1889 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1890 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1891 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1892 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1893 * testsuite/libgomp.c++/pr69389.C: Remove.
1894 * testsuite/libgomp.c++/simd10.C: Remove.
1895 * testsuite/libgomp.c++/simd11.C: Remove.
1896 * testsuite/libgomp.c++/simd12.C: Remove.
1897 * testsuite/libgomp.c++/simd13.C: Remove.
1898 * testsuite/libgomp.c++/target-1.C: Remove.
1899 * testsuite/libgomp.c++/target-3.C: Remove.
1900 * testsuite/libgomp.c++/target-4.C: Remove.
1901 * testsuite/libgomp.c++/target-5.C: Remove.
1902 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1903 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1904 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1905 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1906 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1907 * testsuite/libgomp.c++/udr-9.C: Remove.
1908 * testsuite/libgomp.c++/for-10.C: Remove.
1909 * testsuite/libgomp.c++/for-11.C: Remove.
1910 * testsuite/libgomp.c++/for-12.C: Remove.
1911 * testsuite/libgomp.c++/for-13.C: Remove.
1912 * testsuite/libgomp.c++/for-14.C: Remove.
1913 * testsuite/libgomp.c++/for-9.C: Remove.
1914 * testsuite/libgomp.c/atomic-18.c: Move ...
1915 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1916 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1917 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1918 * testsuite/libgomp.c/loop-13.c: Move ...
1919 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1920 * testsuite/libgomp.c/loop-14.c: Move ...
1921 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1922 * testsuite/libgomp.c/loop-15.c: Remove.
1923 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1924 * testsuite/libgomp.c/monotonic-1.c: Move ...
1925 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1926 * testsuite/libgomp.c/monotonic-2.c: Move ...
1927 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1928 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1929 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1930 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1931 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1932 * testsuite/libgomp.c/ordered-4.c: Move ...
1933 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1934 * testsuite/libgomp.c/pr45784.c: Move ...
1935 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1936 * testsuite/libgomp.c/pr64824.c: Move ...
1937 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1938 * testsuite/libgomp.c/pr64868.c: Move ...
1939 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1940 * testsuite/libgomp.c/pr66199-1.c: Move ...
1941 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1942 * testsuite/libgomp.c/pr66199-2.c: Move ...
1943 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1944 * testsuite/libgomp.c/pr66199-3.c: Move ...
1945 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1946 * testsuite/libgomp.c/pr66199-4.c: Move ...
1947 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1948 * testsuite/libgomp.c/pr66199-5.c: Move ...
1949 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1950 * testsuite/libgomp.c/pr66199-6.c: Move ...
1951 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1952 * testsuite/libgomp.c/pr66199-7.c: Move ...
1953 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1954 * testsuite/libgomp.c/pr66199-8.c: Move ...
1955 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1956 * testsuite/libgomp.c/pr66199-9.c: Move ...
1957 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1958 * testsuite/libgomp.c/pr69389.c: Move ...
1959 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1960 * testsuite/libgomp.c/simd-14.c: Move ...
1961 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1962 * testsuite/libgomp.c/simd-15.c: Move ...
1963 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1964 * testsuite/libgomp.c/simd-16.c: Move ...
1965 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1966 * testsuite/libgomp.c/simd-17.c: Move ...
1967 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1968 * testsuite/libgomp.c/target-1.c: Move ...
1969 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1970 * testsuite/libgomp.c/target-10.c: Move ...
1971 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1972 * testsuite/libgomp.c/target-13.c: Move ...
1973 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1974 * testsuite/libgomp.c/target-2.c: Move ...
1975 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1976 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1977 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1978 * testsuite/libgomp.c/taskloop-1.c: Move ...
1979 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1980 * testsuite/libgomp.c/taskloop-2.c: Move ...
1981 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1982 * testsuite/libgomp.c/taskloop-3.c: Move ...
1983 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1984 * testsuite/libgomp.c/taskloop-4.c: Move ...
1985 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1986 * testsuite/libgomp.c/udr-1.c: Move ...
1987 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1988 * testsuite/libgomp.c/for-1.c: Move ...
1989 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1990 * testsuite/libgomp.c/for-1.h: Move ...
1991 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1992 * testsuite/libgomp.c/for-2.c: Move ...
1993 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1994 * testsuite/libgomp.c/for-2.h: Move ...
1995 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1996 * testsuite/libgomp.c/for-3.c: Move ...
1997 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1998 * testsuite/libgomp.c/for-4.c: Move ...
1999 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2000 * testsuite/libgomp.c/for-5.c: Move ...
2001 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2002 * testsuite/libgomp.c/for-6.c: Move ...
2003 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2004
1f62d637
TV
20052018-05-02 Tom de Vries <tom@codesourcery.com>
2006
2007 PR libgomp/82428
2008 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2009 __builtin_goacc_parlevel_{id,size}.
2010 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2011 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2012 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2013 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2014 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2015 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2016 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2017 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2018 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2019 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2020 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2021 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2022 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2023 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2024 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2025 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2026 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2027 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2028 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2029 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2030 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2031 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2032 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2033
9220b511
TV
20342018-05-02 Tom de Vries <tom@codesourcery.com>
2035
2036 PR testsuite/85106
2037 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2038
6c3c13c1
TV
20392018-05-02 Tom de Vries <tom@codesourcery.com>
2040
2041 PR testsuite/85106
2042 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2043
8d70b61e
JB
20442018-04-29 Julian Brown <julian@codesourcery.com>
2045 Tom de Vries <tom@codesourcery.com>
2046
2047 PR testsuite/85527
2048 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2049 arbitrary order for iterations of atomic subtract check.
2050
4a57a4b6
TV
20512018-04-28 Tom de Vries <tom@codesourcery.com>
2052
2053 PR testsuite/85527
2054 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2055 atomic capture results obtained in parallel loop to an array, instead of
2056 to a scalar.
2057
df36a3d3
TV
20582018-04-26 Tom de Vries <tom@codesourcery.com>
2059
2060 PR libgomp/84020
2061 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2062 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2063 (process_GOMP_NVPTX_JIT): New function.
2064 (link_ptx): Use process_GOMP_NVPTX_JIT.
2065
d160ae78
RB
20662018-04-26 Richard Biener <rguenther@suse.de>
2067 Tom de Vries <tom@codesourcery.com>
2068
2069 PR lto/85422
2070 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2071
ca9dc642
TV
20722018-04-26 Tom de Vries <tom@codesourcery.com>
2073
2074 PR target/85519
2075 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2076 recursion depth from 25 to 23.
2077 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2078
7b47ecf2
L
20792018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2080
2081 * configure: Regenerated.
2082
e91eba31
NS
20832018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2084 Tom de Vries <tom@codesourcery.com>
2085
2086 PR target/85445
2087 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2088
6e0d40b6
TS
20892018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2090
2091 PR libgomp/85463
2092 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2093 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2094 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2095 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2096 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2097 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2098
2099 PR libfortran/85166
2100 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2101 abort".
2102 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2103
a0e1df88
JJ
21042018-04-19 Jakub Jelinek <jakub@redhat.com>
2105
2106 * configure: Regenerated.
2107
001ddaa8
DM
21082018-04-18 David Malcolm <dmalcolm@redhat.com>
2109
2110 PR jit/85384
2111 * configure: Regenerate.
2112
05e0af43
CP
21132018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2114 Tom de Vries <tom@codesourcery.com>
2115
2116 PR middle-end/84955
2117 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2118 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2119
bc436e10
TK
21202018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2121
2122 PR fortran/83064
2123 PR testsuite/85346
2124 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2125 test from gfortran.dg to here.
2126
ffb164c7
JJ
21272018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2128
2129 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2130 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2131
21322018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2133
2134 PR middle-end/84955
2135 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2136 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2137
2ba16fd2
TV
21382018-04-05 Tom de Vries <tom@codesourcery.com>
2139
2140 PR target/85204
2141 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2142
46dbeb40
TV
21432018-03-26 Tom de Vries <tom@codesourcery.com>
2144
2145 PR tree-optimization/85063
2146 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2147 * testsuite/libgomp.c/switch-conversion.c: New test.
2148 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2149 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2150
bfc24e32
TK
21512018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2152
2153 PR fortran/84381
2154 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2155 call abort by STOP n.
2156 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2157 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2158 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2159 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2160 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2161 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2162 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2163 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2164 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2165 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2166 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2167 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2168 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2169 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2170 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2171 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2172 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2173 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2174 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2175 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2176 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2177 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2178 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2179 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2180 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2181 * testsuite/libgomp.fortran/character1.f90: Likewise.
2182 * testsuite/libgomp.fortran/character2.f90: Likewise.
2183 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2184 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2185 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2186 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2187 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2188 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2189 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2190 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2191 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2192 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2193 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2194 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2195 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2196 * testsuite/libgomp.fortran/do1.f90: Likewise.
2197 * testsuite/libgomp.fortran/do2.f90: Likewise.
2198 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2199 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2200 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2201 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2202 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2203 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2204 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2205 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2206 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2207 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2208 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2209 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2210 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2211 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2212 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2213 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2214 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2215 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2216 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2217 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2218 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2219 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2220 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2221 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2222 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2223 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2224 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2225 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2226 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2227 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2228 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2229 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2230 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2231 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2232 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2233 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2234 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2235 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2236 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2237 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2238 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2239 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2240 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2241 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2242 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2243 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2244 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2245 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2246 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2247 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2248 * testsuite/libgomp.fortran/lib2.f: Likewise.
2249 * testsuite/libgomp.fortran/lib3.f: Likewise.
2250 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2251 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2252 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2253 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2254 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2255 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2256 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2257 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2258 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2259 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2260 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2261 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2262 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2263 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2264 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2265 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2266 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2267 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2268 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2269 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2270 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2271 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2272 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2273 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2274 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2275 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2276 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2277 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2278 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2279 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2280 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2281 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2282 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2283 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2284 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2285 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2286 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2287 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2288 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2289 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2290 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2291 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2292 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2293 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2294 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2295 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2296 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2297 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2298 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2299 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2300 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2301 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2302 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2303 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2304 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2305 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2306 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2307 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2308 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2309 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2310 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2311 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2312 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2313 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2314 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2315 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2316 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2317 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2318 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2319 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2320 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2321 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2322 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2323 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2324 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2325 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2326 * testsuite/libgomp.fortran/stack.f90: Likewise.
2327 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2328 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2329 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2330 * testsuite/libgomp.fortran/target1.f90: Likewise.
2331 * testsuite/libgomp.fortran/target2.f90: Likewise.
2332 * testsuite/libgomp.fortran/target3.f90: Likewise.
2333 * testsuite/libgomp.fortran/target4.f90: Likewise.
2334 * testsuite/libgomp.fortran/target5.f90: Likewise.
2335 * testsuite/libgomp.fortran/target6.f90: Likewise.
2336 * testsuite/libgomp.fortran/target7.f90: Likewise.
2337 * testsuite/libgomp.fortran/target8.f90: Likewise.
2338 * testsuite/libgomp.fortran/task1.f90: Likewise.
2339 * testsuite/libgomp.fortran/task2.f90: Likewise.
2340 * testsuite/libgomp.fortran/task3.f90: Likewise.
2341 * testsuite/libgomp.fortran/task4.f90: Likewise.
2342 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2343 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2344 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2345 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2346 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2347 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2348 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2349 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2350 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2351 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2352 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2353 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2354 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2355 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2356 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2357 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2358 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2359 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2360 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2361 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2362 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2363 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2364 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2365 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2366 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2367 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2368 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2369 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2370 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2371 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2372 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2373 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2374 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2375 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2376 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2377 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2378 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2379 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2380 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2381 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2382 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2383 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2384 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2385 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2386 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2387 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2388 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2389 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2390 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2391 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2392 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2393 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2394 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2395 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2396 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2397 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2398 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2399 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2400 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2401 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2402 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2403 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2404 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2405 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2406 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2407 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2408 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2409 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2410 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2411 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2412 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2413 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2414 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2415 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2416 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2417 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2418 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2419 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2420 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2421 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2422 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2423 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2424 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2425 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2426 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2427 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2428 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2429 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2430 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2431 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2432 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2433 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2434 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2435 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2436 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2437 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2438 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2439 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2440 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2441 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2442 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2443 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2444 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2445 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2446 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2447 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2448 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2449 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2450 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2451 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2452 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2453 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2454 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2455 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2456 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2457 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2458 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2459 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2460 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2461 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2462 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2463 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2464 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2465 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2466 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2467 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2468
79cf14ae
RB
24692018-03-20 Richard Biener <rguenther@suse.de>
2470
2471 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2472 parallelizable loop.
2473
14e335ed
IT
24742018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2475
2476 PR target/84148
2477 * configure: Regenerate.
2478
83d9be55
JJ
24792018-02-16 Jakub Jelinek <jakub@redhat.com>
2480
2481 PR fortran/84418
2482 * libgomp.fortran/pr84418-1.f90: New test.
2483 * libgomp.fortran/pr84418-2.f90: New test.
2484
d1fe6124
JJ
24852018-02-14 Jakub Jelinek <jakub@redhat.com>
2486
2487 PR fortran/84313
2488 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2489 -std=f2003 -fall-intrinsics into dg-additional-options.
2490
3d224921
MJ
24912018-02-08 Martin Jambor <mjambor@suse.cz>
2492
2493 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2494 clonable.
2495
c7c30edd
MJ
24962018-02-08 Martin Jambor <mjambor@suse.cz>
2497
2498 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2499
f320fdfd
RO
25002018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2501
2502 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2503 [__cplusplus]: Declare extern "C".
2504
c31bc4ac
TV
25052018-02-07 Tom de Vries <tom@codesourcery.com>
2506
2507 PR libgomp/84217
2508 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2509
99ae7ce5
CS
25102018-01-29 Christoph Spiel <cspiel@freenet.de>
2511 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR libgomp/84096
2514 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2515 instead of omp_lock_t.
2516
e77a1236
TV
25172018-01-25 Tom de Vries <tom@codesourcery.com>
2518
2519 PR target/84028
2520 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2521
3dede32b
TV
25222018-01-24 Tom de Vries <tom@codesourcery.com>
2523
2524 PR target/83589
2525 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2526
be606483
TV
25272018-01-24 Tom de Vries <tom@codesourcery.com>
2528
2529 PR target/81352
2530 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2531
8c8e9a6b
TV
25322018-01-19 Tom de Vries <tom@codesourcery.com>
2533 Cesar Philippidis <cesar@codesourcery.com>
2534
2535 PR target/83920
2536 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2537 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2538
65e6aea3
JJ
25392018-01-03 Jakub Jelinek <jakub@redhat.com>
2540
85ec4feb
JJ
2541 Update copyright years.
2542
65e6aea3
JJ
2543 * libgomp.texi: Bump @copying's copyright year.
2544
60bf575c
TV
25452017-12-30 Tom de Vries <tom@codesourcery.com>
2546
2547 PR libgomp/83046
2548 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2549 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2550
7ec16b79
TV
25512017-12-27 Tom de Vries <tom@codesourcery.com>
2552
2553 PR c++/83046
2554 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2555 (test_nonstatic): Fix return type to workaround PR83046.
2556
ac550b9a
JJ
25572017-12-05 Jakub Jelinek <jakub@redhat.com>
2558
2559 PR testsuite/83281
2560 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2561 j suffix instead of i.
2562 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2563 Likewise.
2564
ebdc83f0
CP
25652017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2566
2567 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2568 call to acc_wait (1).
2569
3b3e6283
JJ
25702017-11-24 Jakub Jelinek <jakub@redhat.com>
2571
2572 PR fortran/81304
2573 * testsuite/libgomp.fortran/pr81304.f90: New test.
2574
3b575376
JJ
25752017-11-23 Jakub Jelinek <jakub@redhat.com>
2576
2577 PR fortran/81841
2578 * libgomp.fortran/pr81841.f90: New test.
2579
b13547d8
JJ
25802017-11-22 Jakub Jelinek <jakub@redhat.com>
2581
2582 PR libgomp/83106
2583 * target.c (gomp_target_init): Compute lengths just once and
2584 use them in both malloc size and subsequent copying.
2585
efe33ced
IT
25862017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2587
2588 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2589 * acinclude.m4: Add cet.m4.
2590 * configure: Regenerate.
2591 * Makefile.in: Likewise.
2592 * testsuite/Makefile.in: Likewise.
2593
a7cf2612
TV
25942017-11-15 Tom de Vries <tom@codesourcery.com>
2595
2596 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2597 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2598 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2599 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2600 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2601 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2602
dde76623
TV
26032017-11-14 Tom de Vries <tom@codesourcery.com>
2604
2605 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2606 non-nvidia devices.
2607
4dbeb716
JJ
26082017-11-07 Jakub Jelinek <jakub@redhat.com>
2609
2610 PR c++/82835
2611 * testsuite/libgomp.c++/pr82835.C: New test.
2612
454f8b2b
ML
26132017-11-06 Martin Liska <mliska@suse.cz>
2614
2615 * testsuite/libgomp.c++/loop-2.C: Return a value
2616 for functions with non-void return type, or change type to void,
2617 or add -Wno-return-type for test.
2618 * testsuite/libgomp.c++/loop-4.C: Likewise.
2619 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2620 * testsuite/libgomp.c++/shared-1.C: Likewise.
2621 * testsuite/libgomp.c++/single-1.C: Likewise.
2622 * testsuite/libgomp.c++/single-2.C: Likewise.
2623
12e9c8ce
TV
26242017-10-31 Tom de Vries <tom@codesourcery.com>
2625
2626 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2627 "do {} while (false)".
2628 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2629 after HSA_DEBUG call.
2630
7324369a
JJ
26312017-10-28 Jakub Jelinek <jakub@redhat.com>
2632
2633 * target.c (struct gomp_coalesce_buf): New type.
2634 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2635 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2636 (gomp_copy_host2dev): Add CBUF argument, if copying into
2637 the cached ranges, memcpy into buffer instead of copying
2638 into device.
2639 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2640 Add CBUF argument, pass it through to other calls.
2641 (gomp_map_vars): Aggregate copies from host to device if small enough
2642 and with small enough gaps in between into memcpy into a buffer and
2643 fewer host to device copies from the buffer.
2644 (gomp_update): Adjust gomp_copy_host2dev caller.
2645
933ab0e6
TS
26462017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2647
2648 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2649 run" directive.
2650 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2651 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2652 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2653 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2654
92d5d01a
TV
26552017-10-16 Tom de Vries <tom@codesourcery.com>
2656
2657 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2658 openacc_nvidia_accel_selected.
2659 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2660 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2661 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2662 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2663 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2664 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2665 openacc_nvidia_accel_selected. Skip for shared memory device.
2666 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2667 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2668
191411e4
MJ
26692017-10-09 Martin Jambor <mjambor@suse.cz>
2670
2671 PR hsa/82416
2672 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2673
e923330e
TV
26742017-10-07 Tom de Vries <tom@codesourcery.com>
2675
2676 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2677 Remove acc_device_nvidia references.
2678 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2679 Same.
2680
8fe3ed4c
TV
26812017-10-05 Tom de Vries <tom@codesourcery.com>
2682
2683 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2684 vector_length(32) clause from acc parallel directive.
2685 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2686
26596ee5
TV
26872017-10-04 Tom de Vries <tom@codesourcery.com>
2688
2689 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2690 (main): Reduce sum of arr elements. Assert that hres is exactly
2691 representable in 32-bit floating point.
2692 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2693 (main): Reduce sum of arr elements. Assert that hres and hmres are
2694 exactly representable in 32-bit floating point.
2695 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2696
5c561fa9
TV
26972017-09-28 Tom de Vries <tom@codesourcery.com>
2698
2699 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2700 setting.
2701 * testsuite/libgomp.c++/pr69393.C: Same.
2702 * testsuite/libgomp.c++/taskloop-1.C: Same.
2703 * testsuite/libgomp.c++/taskloop-3.C: Same.
2704 * testsuite/libgomp.c++/taskloop-4.C: Same.
2705 * testsuite/libgomp.c/for-4.c: Same.
2706 * testsuite/libgomp.c/pr66199-3.c: Same.
2707 * testsuite/libgomp.c/pr66199-4.c: Same.
2708 * testsuite/libgomp.c/pr66199-6.c: Same.
2709 * testsuite/libgomp.c/taskloop-1.c: Same.
2710 * testsuite/libgomp.c/taskloop-3.c: Same.
2711 * testsuite/libgomp.c/taskloop-4.c: Same.
2712 * testsuite/libgomp.fortran/aligned1.f03: Same.
2713 * testsuite/libgomp.fortran/condinc1.f: Same.
2714 * testsuite/libgomp.fortran/condinc3.f90: Same.
2715 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2716 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2717 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2718 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2719 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2720 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2721 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2722 * testsuite/libgomp.fortran/recursion1.f90: Same.
2723 * testsuite/libgomp.fortran/target2.f90: Same.
2724 * testsuite/libgomp.fortran/target5.f90: Same.
2725 * testsuite/libgomp.fortran/task3.f90: Same.
2726
7d6206fe
TV
27272017-09-28 Tom de Vries <tom@codesourcery.com>
2728
2729 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2730 vector_length(32) clause from acc parallel directive.
2731 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2732
84c8627c
TV
27332017-09-27 Tom de Vries <tom@codesourcery.com>
2734
2735 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2736 Remove acc_device_nvidia references.
2737
ebc6a85e
TV
27382017-09-16 Tom de Vries <tom@codesourcery.com>
2739
2740 PR c/81875
2741 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2742
82419efb
TV
27432017-09-14 Tom de Vries <tom@codesourcery.com>
2744
2745 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2746 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2747 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2748 * testsuite/libgomp.c/c.exp: Include test-cases from
2749 libgomp.c-c++-common.
2750 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2751 files.
2752
8b586510
JJ
27532017-09-14 Jakub Jelinek <jakub@redhat.com>
2754
2755 PR c++/81314
2756 * testsuite/libgomp.c++/pr81314.C: New test.
2757
9651fbaf
GP
27582017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2759
2760 * libgomp.texi (Top): www.openacc.org now uses https.
2761 (Enabling OpenACC): Ditto.
2762 (acc_get_num_devices): Ditto.
2763 (acc_set_device_type): Ditto.
2764 (acc_get_device_type): Ditto.
2765 (acc_set_device_num): Ditto.
2766 (acc_get_device_num): Ditto.
2767 (acc_async_test): Ditto.
2768 (acc_async_test_all): Ditto.
2769 (acc_wait): Ditto.
2770 (acc_wait_all): Ditto.
2771 (acc_wait_all_async): Ditto.
2772 (acc_wait_async): Ditto.
2773 (acc_init): Ditto.
2774 (acc_shutdown): Ditto.
2775 (acc_on_device): Ditto.
2776 (acc_malloc): Ditto.
2777 (acc_free): Ditto.
2778 (acc_copyin): Ditto.
2779 (acc_present_or_copyin): Ditto.
2780 (acc_create): Ditto.
2781 (acc_present_or_create): Ditto.
2782 (acc_copyout): Ditto.
2783 (acc_delete): Ditto.
2784 (acc_update_device): Ditto.
2785 (acc_update_self): Ditto.
2786 (acc_map_data): Ditto.
2787 (acc_unmap_data): Ditto.
2788 (acc_deviceptr): Ditto.
2789 (acc_hostptr): Ditto.
2790 (acc_is_present): Ditto.
2791 (acc_memcpy_to_device): Ditto.
2792 (acc_memcpy_from_device): Ditto.
2793 (acc_get_current_cuda_device): Ditto.
2794 (acc_get_current_cuda_context): Ditto.
2795 (acc_get_cuda_stream): Ditto.
2796 (acc_set_cuda_stream): Ditto.
2797 (ACC_DEVICE_TYPE): Ditto.
2798 (ACC_DEVICE_NUM): Ditto.
2799 (OpenACC Library Interoperability): Ditto.
2800
50aa16c3
JJ
28012017-08-09 Jakub Jelinek <jakub@redhat.com>
2802
2803 PR c/81687
2804 * testsuite/libgomp.c/pr81687-1.c: New test.
2805 * testsuite/libgomp.c/pr81687-2.c: New test.
2806
56b5041c
JJ
28072017-08-07 Jakub Jelinek <jakub@redhat.com>
2808
2809 PR c/69389
2810 * testsuite/libgomp.c/pr69389.c: New test.
2811 * testsuite/libgomp.c++/pr69389.C: New test.
2812
f4c222c0
TV
28132017-08-07 Tom de Vries <tom@codesourcery.com>
2814
2815 PR middle-end/78266
2816 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2817 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2818
a40ff0ae
JJ
28192017-07-27 Jakub Jelinek <jakub@redhat.com>
2820
2821 PR c/45784
2822 * testsuite/libgomp.c/pr45784.c: New test.
2823 * testsuite/libgomp.c++/pr45784.C: New test.
2824
3717fbe3
TV
28252017-07-19 Tom de Vries <tom@codesourcery.com>
2826
2827 * testsuite/libgomp.oacc-c/vec.c: New test.
2828
9607b014
TV
28292017-07-03 Tom de Vries <tom@codesourcery.com>
2830
2831 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2832
dfb15f6b
TV
28332017-06-27 Tom de Vries <tom@codesourcery.com>
2834
2835 * plugin/plugin-nvptx.c (notify_var): New function.
2836 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2837
22f1a037
TV
28382017-06-27 Tom de Vries <tom@codesourcery.com>
2839
2840 * env.c (parse_unsigned_long_1): Factor out of ...
2841 (parse_unsigned_long): ... here.
2842 (parse_int_1): Factor out of ...
2843 (parse_int): ... here.
2844 (parse_int_secure): New function.
2845 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2846 * secure_getenv.h: Factor out of ...
2847 * plugin/plugin-hsa.c: ... here.
2848 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2849
d54d1fc3
JJ
28502017-06-21 Jakub Jelinek <jakub@redhat.com>
2851
2852 PR c++/81130
2853 * testsuite/libgomp.c++/pr81130.C: New test.
2854
4f4b0ab8
RO
28552017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2856
2857 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2858 default args.
2859 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2860 dg-xfail-run-if default args.
2861
40ffd95f
BE
28622017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2863
2864 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2865 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2866
01275e1e
JJ
28672017-05-30 Jakub Jelinek <jakub@redhat.com>
2868
2869 PR libgomp/80822
2870 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2871 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2872 sibling lists, depending on level just pick up what CPUs to put
2873 together into a place vs. whether add multiple ordered places.
2874
78672bd8
TS
28752017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2876
7ce64403
TS
2877 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2878 * libgomp.map (OACC_2.0.1): Add these.
2879 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2880 for "acc_wait", and "acc_wait_all", respectively.
2881 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2882 for "acc_wait", and "acc_wait_all", respectively.
2883 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2884 * libgomp.texi (acc_wait, acc_wait_all): Update.
2885 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2886 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2887 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2888
318686c2
TS
2889 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2890 acc_present_or_copyin and acc_present_or_create procedures,
2891 respectively.
2892 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2893 generally different variants of OpenACC Runtime Library functions.
2894 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2895
a6745534
TS
2896 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2897 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2898
9b94fbc7
TS
2899 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2900 of preprocessor definitions.
2901 * libgomp.h (strong_alias): Guard by "#ifdef
2902 HAVE_ATTRIBUTE_ALIAS".
2903 * oacc-mem.c: Provide "acc_pcreate" as alias for
2904 "acc_present_or_create", and "acc_pcopyin" as alias for
2905 "acc_present_or_copyin".
2906 * libgomp.map: New version "OACC_2.0.1".
2907 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2908 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2909 its content into...
2910 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2911 Extend testing.
2912
78672bd8
TS
2913 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2914 when disabling nvptx offloading.
2915
0c36d0d5
TS
29162017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2917
fd71a9a2
TS
2918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2919 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2920 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2921
0c36d0d5
TS
2922 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2923 * testsuite/lib/libgomp.exp
2924 (check_effective_target_openacc_nvidia_accel_configured): New
2925 proc.
2926 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2927 (check_effective_target_c++): New procs.
2928 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2929 (check_effective_target_c++): Likewise.
2930
c24783c4
JJ
29312017-05-22 Jakub Jelinek <jakub@redhat.com>
2932
655e5265
JJ
2933 PR middle-end/80809
2934 * testsuite/libgomp.c/pr80809-2.c: New test.
2935 * testsuite/libgomp.c/pr80809-3.c: New test.
2936
e9e2ef9f
JJ
2937 PR middle-end/80809
2938 * testsuite/libgomp.c/pr80809-1.c: New test.
2939
c24783c4
JJ
2940 PR middle-end/80853
2941 * testsuite/libgomp.c/pr80853.c: New test.
2942
0da2f96a
TS
29432017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2944
7fd549d2
TS
2945 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2946 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2947 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2948 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2949 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2950
0da2f96a
TS
2951 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2952 Debug output for failure.
2953
62ffe920
RO
29542017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2955
2956 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2957
f49215b1
JJ
29582017-04-27 Jakub Jelinek <jakub@redhat.com>
2959
2960 PR bootstrap/80531
2961 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2962 bootstrap compare failures.
2963
2260d19d
AM
29642017-04-20 Alexander Monakov <amonakov@ispras.ru>
2965
2966 * testsuite/libgomp.c/target-36.c: New testcase.
2967
19929ba9
JJ
29682017-04-13 Jakub Jelinek <jakub@redhat.com>
2969
2970 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2971 instead of char.
2972
fbc698e0
JJ
29732017-04-11 Jakub Jelinek <jakub@redhat.com>
2974
2975 PR libgomp/80394
2976 * testsuite/libgomp.c/pr80394.c: New test.
2977
c4060df4
JJ
29782017-04-04 Jakub Jelinek <jakub@redhat.com>
2979
2980 PR libgomp/79876
2981 * config/posix/thread-stacksize.h: New file.
2982 * config/darwin/thread-stacksize.h: New file.
2983 * config/nvptx/thread-stacksize.h: New file.
2984 * env.c: Include thread-stacksize.h.
2985 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2986 instead of 0. Call pthread_attr_setstacksize even if
2987 GOMP_DEFAULT_STACKSIZE is non-zero.
2988
e02d868a
JJ
29892017-03-30 Jakub Jelinek <jakub@redhat.com>
2990
2991 * env.c (initialize_env): Initialize stacksize to 0.
2992
7ba8651e
CP
29932017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2994
2995 PR c++/80029
2996 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2997
eebc5e2d
JJ
29982017-03-08 Jakub Jelinek <jakub@redhat.com>
2999
3000 PR c/79940
3001 * testsuite/libgomp.c/pr79940.c: New test.
3002
1eb08f52
RO
30032017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3004
3005 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3006 targets.
3007 Add __float128 options.
3008
b0f78ff3
JDA
30092017-02-11 John David Anglin <danglin@gcc.gnu.org>
3010
3011 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3012 hppa*-*-* dg-skip-if directive.
3013
1bbe0d8f
JJ
30142017-02-09 Jakub Jelinek <jakub@redhat.com>
3015
3016 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3017 dg-skip-if directive into a comment.
3018
02889d23
CLT
30192017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3020 Chung-Lin Tang <cltang@codesourcery.com>
3021
3022 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3023 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3024 add additional case.
3025 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3026 "openacc_nvidia_accel_selected".
3027 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3028 Add num_workers(8) clause.
3029
5896a41d
JDA
30302017-02-08 John David Anglin <danglin@gcc.gnu.org>
3031
3032 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3033 hppa*-*-*.
3034 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3035 include complex.h on hppa*-*-hpux*.
3036 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3037
345a8c17
TS
30382017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3039
e70ab10d
TS
3040 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3041
345a8c17
TS
3042 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3043 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3044 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3045 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3046 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3047 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3048 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3049 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3050 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3051 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3052
dced339c
TS
30532017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3054
3055 * libgomp-plugin.h: #include <stdbool.h>.
3056 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3057 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3058 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3059 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3060 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3061 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3062 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3063 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3064 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3065 (GOMP_OFFLOAD_openacc_async_test)
3066 (GOMP_OFFLOAD_openacc_async_test_all)
3067 (GOMP_OFFLOAD_openacc_async_wait)
3068 (GOMP_OFFLOAD_openacc_async_wait_async)
3069 (GOMP_OFFLOAD_openacc_async_wait_all)
3070 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3071 (GOMP_OFFLOAD_openacc_async_set_async)
3072 (GOMP_OFFLOAD_openacc_create_thread_data)
3073 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3074 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3075 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3076 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3077 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3078 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3079 these.
3080 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3081 (GOMP_OFFLOAD_unload_image): Fix argument types.
3082
23749904
JJ
30832017-01-26 Jakub Jelinek <jakub@redhat.com>
3084
c1cadde1
JJ
3085 * testsuite/lib/libgomp.exp
3086 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3087 check_compile invocation. Fix up removal of executable. Drop
3088 bogus "2>&1" argument.
3089
23749904
JJ
3090 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3091 directive.
3092
30932017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3094 Martin Jambor <mjambor@suse.cz>
3095
3096 * plugin/hsa.h: Moved to top level include.
3097 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3098
73aa401e
JJ
30992017-01-21 Jakub Jelinek <jakub@redhat.com>
3100
3101 PR other/79046
3102 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3103 of cat to get version from BASE-VER file.
3104 * testsuite/Makefile.in: Regenerated.
3105
b32e85fa
JJ
31062017-01-19 Jakub Jelinek <jakub@redhat.com>
3107
3108 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3109 for _WIN64.
3110
3c36aa6b
JJ
31112017-01-17 Jakub Jelinek <jakub@redhat.com>
3112
d190d5c0
JJ
3113 * plugin/hsa.h: Add GCC runtime library exception.
3114 * plugin/hsa_ext_finalize.h: Likewise.
3115
2393d337
JJ
3116 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3117 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3118 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3119 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3120 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3121 library to link ptx plugin against.
3122 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3123 (CUDA_CALLS): Define.
3124 (cuda_lib, cuda_lib_inited): New variables.
3125 (init_cuda_lib): New function.
3126 (CUDA_CALL_PREFIX): Define.
3127 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3128 (CUDA_CALL): Use FN instead of (FN).
3129 (CUDA_CALL_NOCHECK): Define.
3130 (cuda_error, fini_streams_for_device, select_stream_for_async,
3131 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3132 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3133 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3134 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3135 CUDA_CALL_NOCHECK.
3136 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3137 CUDA_CALL_NOCHECK.
3138 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3139 Use CUDA_CALL_NOCHECK.
3140 * plugin/cuda/cuda.h: New file.
3141 * config.h.in: Regenerated.
3142 * configure: Regenerated.
3143
3c36aa6b
JJ
3144 PR other/79046
3145 * configure.ac: Add GCC_BASE_VER.
3146 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3147 get version from BASE-VER file.
3148 * testsuite/Makefile.in: Regenerated.
3149 * configure: Regenerated.
3150 * Makefile.in: Regenerated.
3151
c508bc2d
FXC
31522017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3153
3154 PR libgomp/60670
3155 * Makefile.am: Make fincludedir multilib-aware.
3156 * Makefile.in: Regenerate.
3157
c1a9c369
JJ
31582017-01-01 Jakub Jelinek <jakub@redhat.com>
3159
cbe34bb5
JJ
3160 Update copyright years.
3161
c1a9c369
JJ
3162 * libgomp.texi: Bump @copying's copyright year.
3163
e7a7f4be
SH
31642016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3165
3166 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3167 pthread_spinlock_t instead of gomp_mutex_t lock.
3168 (gomp_get_thread_pool): Likewise.
3169 (gomp_release_thread_pool): Likewise.
3170 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3171 Likewise.
3172
d313d52c
SH
31732016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3174
3175 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3176 thread pool in case nthreads == 1.
3177
630e3c3a
AM
31782016-11-30 Alexander Monakov <amonakov@ispras.ru>
3179
3180 * config/nvptx/env.c: Delete.
3181 * icv.c: Move definitions of ICV variables back ...
3182 * env.c: ...here. Do not compile environment-related functionality if
3183 LIBGOMP_OFFLOADED_ONLY is set.
3184
9e38af5c
AM
31852016-11-30 Alexander Monakov <amonakov@ispras.ru>
3186
3187 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3188 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3189 * configure: Regenerate.
3190 * config.h.in: Likewise.
3191
f96b7f1f
AM
31922016-11-30 Alexander Monakov <amonakov@ispras.ru>
3193
3194 * Makefile.in: Regenerate with automake-1.11.6.
3195 * aclocal.m4: Likewise.
3196 * configure: Likewise.
3197 * testsuite/Makefile.in: Likewise.
3198
6a6951b1
AM
31992016-11-28 Alexander Monakov <amonakov@ispras.ru>
3200
3201 * config/nvptx/critical.c: Delete to use generic implementation.
3202
c7ac071f
JH
32032016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3204
3205 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3206 ../../affinity.c as fallback.
3207 * config/nvptx/affinity.c: Delete to use fallback implementation.
3208
6103184e 32092016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3210 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3211 Dmitry Melnik <dm@ispras.ru>
3212
3213 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3214 * Makefile.in. Regenerate.
3215 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3216 (LIBGOMP_USE_PTHREADS): ...here; new define.
3217 * configure: Regenerate.
3218 * config.h.in: Likewise.
3219 * config/posix/affinity.c: Move to...
3220 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3221 interface by LIBGOMP_USE_PTHREADS.
3222 * critical.c: Split out GOMP_atomic_{start,end} into...
3223 * atomic.c: ...here (new file).
3224 * env.c: Split out ICV definitions into...
3225 * icv.c: ...here (new file) and...
3226 * icv-device.c: ...here. New file.
3227 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3228 (gomp_destroy_lock_30): Ditto.
3229 (gomp_set_lock_30): Ditto.
3230 (gomp_unset_lock_30): Ditto.
3231 (gomp_test_lock_30): Ditto.
3232 (gomp_init_nest_lock_30): Ditto.
3233 (gomp_destroy_nest_lock_30): Ditto.
3234 (gomp_set_nest_lock_30): Ditto.
3235 (gomp_unset_nest_lock_30): Ditto.
3236 (gomp_test_nest_lock_30): Ditto.
3237 * lock.c: New.
3238 * config/nvptx/lock.c: New.
3239 * config/nvptx/bar.c: New.
3240 * config/nvptx/bar.h: New.
3241 * config/nvptx/doacross.h: New.
3242 * config/nvptx/error.c: New.
3243 * config/nvptx/icv-device.c: New.
3244 * config/nvptx/mutex.h: New.
3245 * config/nvptx/pool.h: New.
3246 * config/nvptx/proc.c: New.
3247 * config/nvptx/ptrlock.h: New.
3248 * config/nvptx/sem.h: New.
3249 * config/nvptx/simple-bar.h: New.
3250 * config/nvptx/target.c: New.
3251 * config/nvptx/task.c: New.
3252 * config/nvptx/team.c: New.
3253 * config/nvptx/time.c: New.
3254 * config/posix/simple-bar.h: New.
3255 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3256 (gomp_num_teams_var): Declare.
3257 (struct gomp_thread_pool): Change threads_dock member to
3258 gomp_simple_barrier_t.
3259 [__nvptx__] (gomp_thread): New implementation.
3260 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3261 (gomp_thread_destructor): Ditto.
3262 (gomp_init_thread_affinity): Ditto.
3263 * team.c: Guard uses of Pthreads-specific interfaces by
3264 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3265 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3266 * config/nvptx/alloc.c: Delete.
3267 * config/nvptx/barrier.c: Ditto.
3268 * config/nvptx/fortran.c: Ditto.
3269 * config/nvptx/iter.c: Ditto.
3270 * config/nvptx/iter_ull.c: Ditto.
3271 * config/nvptx/loop.c: Ditto.
3272 * config/nvptx/loop_ull.c: Ditto.
3273 * config/nvptx/ordered.c: Ditto.
3274 * config/nvptx/parallel.c: Ditto.
3275 * config/nvptx/priority_queue.c: Ditto.
3276 * config/nvptx/sections.c: Ditto.
3277 * config/nvptx/single.c: Ditto.
3278 * config/nvptx/splay-tree.c: Ditto.
3279 * config/nvptx/work.c: Ditto.
3280 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3281 -foffload=-lgfortran in addition to -lgfortran.
3282 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3283 * plugin/plugin-nvptx.c: Include <limits.h>.
3284 (struct targ_fn_descriptor): Add new fields.
3285 (struct ptx_device): Ditto. Set them...
3286 (nvptx_open_device): ...here.
3287 (nvptx_adjust_launch_bounds): New.
3288 (nvptx_host2dev): Allow NULL 'nvthd'.
3289 (nvptx_dev2host): Ditto.
3290 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3291 (link_ptx): Adjust log sizes.
3292 (nvptx_host2dev): Allow NULL 'nvthd'.
3293 (nvptx_dev2host): Ditto.
3294 (nvptx_set_clocktick): New. Use it...
3295 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3296 fields.
3297 (GOMP_OFFLOAD_dev2dev): New.
3298 (nvptx_adjust_launch_bounds): New.
3299 (nvptx_stacks_size): New.
3300 (nvptx_stacks_alloc): New.
3301 (nvptx_stacks_free): New.
3302 (GOMP_OFFLOAD_run): New.
3303 (GOMP_OFFLOAD_async_run): New (stub).
3304
56b1c60e
MJ
33052016-11-23 Martin Jambor <mjambor@suse.cz>
3306
3307 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3308 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3309 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3310
b8d89b03 33112016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3312 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3313
3314 * plugin/hsa.h: New file.
3315 * plugin/hsa_ext_finalize.h: New file.
3316 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3317 header file unistd.h, and functions secure_getenv, __secure_getenv,
3318 getuid, geteuid, getgid and getegid.
3319 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3320 -D_GNU_SOURCE.
3321 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3322 Handle various cases of secure_getenv presence, add an implementation
3323 when we can test effective UID and GID.
3324 (struct hsa_runtime_fn_info): New structure.
3325 (hsa_runtime_fn_info hsa_fns): New variable.
3326 (hsa_runtime_lib): Likewise.
3327 (support_cpu_devices): Likewise.
3328 (init_enviroment_variables): Load newly introduced ENV
3329 variables.
3330 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3331 (hsa_fatal): Likewise.
3332 (DLSYM_FN): New macro.
3333 (init_hsa_runtime_functions): New function.
3334 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3335 structure. Depending on environment, also allow CPU devices.
3336 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3337 (get_kernarg_memory_region): Likewise.
3338 (GOMP_OFFLOAD_init_device): Likewise.
3339 (destroy_hsa_program): Likewise.
3340 (init_basic_kernel_info): New function.
3341 (GOMP_OFFLOAD_load_image): Use it.
3342 (create_and_finalize_hsa_program): Call hsa run-time functions via
3343 hsa_fns structure.
3344 (create_single_kernel_dispatch): Likewise.
3345 (release_kernel_dispatch): Likewise.
3346 (init_single_kernel): Likewise.
3347 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3348 (get_group_size): New function.
3349 (run_kernel): Likewise.
3350 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3351 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3352 structure.
3353 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3354 * testsuite/libgomp-test-support.exp.in: Likewise.
3355 * Makefile.in: Regenerated.
3356 * aclocal.m4: Likewise.
3357 * config.h.in: Likewise.
3358 * configure: Likewise.
3359 * testsuite/Makefile.in: Likewise.
3360
18d2ada8 33612016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 3362 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
3363
3364 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3365 mapping clauses to target constructs.
3366 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3367
84c1b9d3
MK
33682016-11-15 Matthias Klose <doko@ubuntu.com>
3369
3370 * configure: Regenerate.
3371
b4c3a85b
JJ
33722016-11-10 Jakub Jelinek <jakub@redhat.com>
3373
8ebd1b31
JJ
3374 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3375 * omp_lib.h.in (openmp_version): Likewise.
3376 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3377 of 201307.
3378 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3379
b4c3a85b
JJ
3380 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3381 (fib_wrapper): Add map(from: x) clause.
3382 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3383 (e_53_2): Likewise.
3384 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3385 (accum): Add map(tmp) clause.
3386 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3387 (accum): Add map(tofrom: tmp) clause.
3388 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3389 (gramSchmidt): Likewise.
3390 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3391 map(tofrom: sum) clause.
3392 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3393 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3394 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3395 only allowed on the loop iterator.
3396 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3397 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3398 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3399 * testsuite/libgomp.fortran/doacross1.f90: New test.
3400 * testsuite/libgomp.fortran/doacross3.f90: New test.
3401 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3402 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3403 * testsuite/libgomp.fortran/doacross2.f90: New test.
3404 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3405 #pragma omp atomic read.
3406 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3407 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3408
6668eb45
CP
34092016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3410 Nathan Sidwell <nathan@acm.org>
3411
3412 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3413 to determine default geometry.
3414 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3415 dimension.
3416
f10e37a1
JJ
34172016-11-01 Jakub Jelinek <jakub@redhat.com>
3418
3419 * hashtab.h: Use standard GPLv3 with runtime exception
3420 boilerplate.
3421
015c7760
AH
34222016-10-27 Aldy Hernandez <aldyh@redhat.com>
3423
3424 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3425 size when allocating new thread.
3426
20a1e5b8
MP
34272016-09-14 Marek Polacek <polacek@redhat.com>
3428
3429 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3430
1cad9284
JJ
34312016-08-19 Jakub Jelinek <jakub@redhat.com>
3432
3433 PR fortran/71014
3434 * testsuite/libgomp.fortran/pr71014.f90: New test.
3435
2c71d454
CLT
34362016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3437
3438 PR middle-end/70895
3439 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3440 firstprivate clauses.
3441 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3442 copy clauses.
3443 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3444 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3445 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3446 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3447 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3449 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3451 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3453 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3454 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3455
7c713714
CLT
34562016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3457
3458 PR fortran/70598
3459 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3460
5c934396
JJ
34612016-08-08 Jakub Jelinek <jakub@redhat.com>
3462
3463 PR c++/58706
3464 * testsuite/libgomp.c++/pr58706.C: New test.
3465
9ef64248
TS
34662016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3467
bbc79c0e
TS
3468 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3469 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3470 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3471 Likewise.
3472 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3473 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3474 Likewise.
3475 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3476
9ef64248
TS
3477 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3478 test, and don't hardcode -O0.
3479
c1311c86
NS
34802016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3481
3482 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3483
b1c9c068
CP
34842016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3485
3486 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3487 test.
3488
b4410f63
L
34892016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3490
3491 PR middle-end/71734
3492 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3493 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3494
a8dbab92
JJ
34952016-07-01 Jakub Jelinek <jakub@redhat.com>
3496
3497 PR fortran/71717
3498 * testsuite/libgomp.fortran/associate3.f90: New test.
3499
9b6a8d0f
JJ
35002016-06-17 Jakub Jelinek <jakub@redhat.com>
3501
3502 * testsuite/libgomp.c++/target-21.C: New test.
3503
283635f9
JJ
35042016-06-16 Jakub Jelinek <jakub@redhat.com>
3505
3506 * testsuite/libgomp.c++/target-20.C: New test.
3507
27d6ba88
TS
35082016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3509 Cesar Philippidis <cesar@codesourcery.com>
3510
3511 PR middle-end/71373
3512 * libgomp.oacc-c/nested-function-1.c: New file.
3513 * libgomp.oacc-c/nested-function-2.c: Likewise.
3514 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3515 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3516 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3517
4b1ffdb1
TS
35182016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3519
3520 PR c/71381
3521 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3522 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3523 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3524
d821b794
CLT
35252016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3526
3527 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3528 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3529
3616a8c5
CP
35302016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3531
3532 PR c/70688
5eed9a88 3533 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 3534
7211a097
JJ
35352016-05-26 Jakub Jelinek <jakub@redhat.com>
3536
3537 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3538 instead of invalid schedule(static, 0).
3539 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3540
b4557008
CLT
35412016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3542
3543 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3544 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3545 parameter, use to set async stream around call to gomp_unmap_vars,
3546 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3547 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3548 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3549 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3550 (event_add): Add int parameter, initialize 'val' field when
3551 adding new ptx_event struct.
3552 (nvptx_evec): Adjust event_add() call arguments.
3553 (nvptx_host2dev): Likewise.
3554 (nvptx_dev2host): Likewise.
3555 (nvptx_wait_async): Likewise.
3556 (nvptx_wait_all_async): Likewise.
3557 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3558 pass to event_add() call.
3559 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3560 parameter.
3561 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3562 call openacc.register_async_cleanup_func() hook.
3563 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3564 * target.c (gomp_copy_from_async): Delete function.
3565 (gomp_map_vars): Remove async_refcount.
3566 (gomp_unmap_vars): Likewise.
3567 (gomp_load_image_to_device): Likewise.
3568 (omp_target_associate_ptr): Likewise.
3569 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3570 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3571 (gomp_copy_from_async): Remove.
3572
6ce13072
CLT
35732016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3574
3575 * target.c (gomp_device_copy): New function.
3576 (gomp_copy_host2dev): Likewise.
3577 (gomp_copy_dev2host): Likewise.
3578 (gomp_free_device_memory): Likewise.
3579 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3580 (gomp_map_pointer): Likewise.
3581 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3582 NULL value from alloc_func plugin hook.
3583 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3584 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3585 (gomp_unmap_vars): Likewise.
3586 (gomp_update): Adjust to call gomp_copy_dev2host and
3587 gomp_copy_host2dev functions.
3588 (gomp_unload_image_from_device): Handle false value from
3589 unload_image_func plugin hook.
3590 (gomp_init_device): Handle false value from init_device_func
3591 plugin hook.
3592 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3593 (omp_target_free): Adjust to call gomp_free_device_memory.
3594 (omp_target_memcpy): Handle return values from host2dev_func,
3595 dev2host_func, and dev2dev_func plugin hooks.
3596 (omp_target_memcpy_rect_worker): Likewise.
3597 (gomp_target_fini): Handle false value from fini_device_func
3598 plugin hook.
3599 * libgomp.h (struct gomp_device_descr): Adjust return type of
3600 init_device_func, fini_device_func, unload_image_func, free_func,
3601 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3602 * oacc-init.c (acc_shutdown_1): Handle false value from
3603 fini_device_func plugin hook.
3604 * oacc-host.c (host_init_device): Change return type to bool.
3605 (host_fini_device): Likewise.
3606 (host_unload_image): Likewise.
3607 (host_free): Likewise.
3608 (host_dev2host): Likewise.
3609 (host_host2dev): Likewise.
3610 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3611 (acc_memcpy_to_device): Likewise.
3612 (acc_memcpy_from_device): Likewise.
3613 (delete_copyout): Add libfnname parameter, handle free_func
3614 hook fatal error case.
3615 (acc_delete): Adjust delete_copyout call.
3616 (acc_copyout): Likewise.
3617 (update_dev_host): Move gomp_mutex_unlock to after
3618 host2dev/dev2host hook calls.
3619
3620 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3621 to 'hsa_error_msg', for clarity.
3622 (hsa_fatal): Likewise.
3623 (hsa_error): New function.
3624 (init_hsa_context): Change return type to bool, adjust to return
3625 false on error.
3626 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3627 return value.
3628 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3629 return false on error.
3630 (get_agent_info): Adjust to return NULL on error.
3631 (destroy_hsa_program): Change return type to bool, adjust to
3632 return false on error.
3633 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3634 (destroy_module): Change return type to bool, adjust to
3635 return false on error.
3636 (GOMP_OFFLOAD_unload_image): Likewise.
3637 (GOMP_OFFLOAD_fini_device): Likewise.
3638 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3639 (GOMP_OFFLOAD_free): Change to return false when called.
3640 (GOMP_OFFLOAD_dev2host): Likewise.
3641 (GOMP_OFFLOAD_host2dev): Likewise.
3642 (GOMP_OFFLOAD_dev2dev): Likewise.
3643
3644 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3645 (CUDA_CALL): Likewise.
3646 (CUDA_CALL_ASSERT): Likewise.
3647 (map_init): Change return type to bool, use CUDA_CALL* macros.
3648 (map_fini): Likewise.
3649 (init_streams_for_device): Change return type to bool, adjust
3650 call to map_init.
3651 (fini_streams_for_device): Change return type to bool, adjust
3652 call to map_fini.
3653 (select_stream_for_async): Release stream_lock before calls to
3654 GOMP_PLUGIN_fatal, adjust call to map_init.
3655 (nvptx_init): Use CUDA_CALL* macros.
3656 (nvptx_attach_host_thread_to_device): Change return type to bool,
3657 use CUDA_CALL* macros.
3658 (nvptx_open_device): Use CUDA_CALL* macros.
3659 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3660 macros.
3661 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3662 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3663 (nvptx_exec): Use CUDA_CALL* macros.
3664 (nvptx_alloc): Use CUDA_CALL* macros.
3665 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3666 (nvptx_host2dev): Likewise.
3667 (nvptx_dev2host): Likewise.
3668 (nvptx_wait): Use CUDA_CALL* macros.
3669 (nvptx_wait_async): Likewise.
3670 (nvptx_wait_all): Likewise.
3671 (nvptx_wait_all_async): Likewise.
3672 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3673 use CUDA_CALL* macros, adjust call to map_fini.
3674 (GOMP_OFFLOAD_init_device): Change return type to bool,
3675 adjust code accordingly.
3676 (GOMP_OFFLOAD_fini_device): Likewise.
3677 (GOMP_OFFLOAD_load_image): Adjust calls to
3678 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3679 use CUDA_CALL* macros.
3680 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3681 return code.
3682 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3683 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3684 handle error return.
3685 (GOMP_OFFLOAD_dev2host): Likewise.
3686 (GOMP_OFFLOAD_host2dev): Likewise.
3687 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3688 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3689
e46c7770
CP
36902016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3691
3692 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3693 (acc_free): Likewise.
3694 (acc_memcpy_to_device): Likewise.
3695 (acc_memcpy_from_device): Likewise.
3696 (acc_deviceptr): Likewise.
3697 (acc_hostptr): Likewise.
3698 (acc_is_present): Likewise.
3699 (acc_map_data): Likewise.
3700 (acc_unmap_data): Likewise.
3701 (present_create_copy): Likewise.
3702 (delete_copyout): Likewise.
3703 (update_dev_host): Likewise.
3704 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3705 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3706 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3707 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3708 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3709 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3710 it only runs on nvptx targets.
3711 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3712 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3713 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3714 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3715 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3716 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3717 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3718 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3719 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3720 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3721 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3722 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3723 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3724 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3725 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3726 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3727 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3728 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3729 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3730 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3731 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3732 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3734
a5057543
MJ
37352016-05-23 Martin Jambor <mjambor@suse.cz>
3736
3737 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3738
e37288a6
CLT
37392016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3740
3741 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3742 to gomp_init_targets_once.
3743 (acc_set_device_type): Remove !cached_base_dev condition on call to
3744 gomp_init_targets_once, move call to before acc_device_lock acquire,
3745 to avoid deadlock.
3746 (acc_get_device_num): Remove !cached_base_dev condition on call to
3747 gomp_init_targets_once.
3748 (acc_set_device_num): Likewise.
3749
51d9ed48
MJ
37502016-05-16 Martin Jambor <mjambor@suse.cz>
3751
92a285c1 3752 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 3753
5b37e866
NS
37542016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3755
3756 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3757 expected partitioning.
3758
e7ff0319
CP
37592016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3760
3761 PR middle-end/70626
3762 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3763 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3764 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3765
c2bd3b69
AM
37662016-04-21 Alexander Monakov <amonakov@ispras.ru>
3767
3768 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3769 non-fatal.
3770
84311083
JJ
37712016-04-19 Jakub Jelinek <jakub@redhat.com>
3772
3773 PR middle-end/70680
3774 * testsuite/libgomp.c/pr70680-1.c: New test.
3775 * testsuite/libgomp.c/pr70680-2.c: New test.
3776
aadc043f
CP
37772016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3778
3779 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3780 pass parameter variables to subroutines.
3781
e387fc64
CP
37822016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3783
3784 PR middle-end/70643
3785 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3786
10c3c424
CP
37872016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3788
3789 PR testsuite/68242
3790 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3791 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3792
27f9add3
TS
37932016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3794
58d32aeb
TS
3795 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3796 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3797 GOACC_declare prototype.
3798
d97633ef
TS
3799 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3800 Merge this file, and...
3801 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3802 ... this file, and...
3803 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3804 ... this file, and...
3805 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3806 ... this file, and...
3807 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3808 ... this file, and...
3809 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3810 ... this file, and...
3811 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3812 ... this file, and...
3813 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3814 ... this file, and...
3815 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3816 ... this file, and...
3817 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3818 ... this file, and...
3819 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3820 ... this file, and...
3821 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3822 ... this file, and...
3823 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3824 ... this file into...
3825 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3826 file.
3827
27f9add3
TS
3828 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3829 Make failure observable.
3830
21f3a236
JJ
38312016-04-12 Jakub Jelinek <jakub@redhat.com>
3832
3833 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3834 field.
3835 * target.c (gomp_target_fallback_firstprivate,
3836 gomp_target_unshare_firstprivate): Removed.
3837 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3838 before waiting for dependencies.
3839 (gomp_target_task_fn): Don't copy firstprivate vars here.
3840 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3841 firstprivate_copies here.
3842 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3843 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3844 explicit/implicit firstprivate.
3845
c42cfb5c
CP
38462016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3847
3848 PR lto/70289
3849 PR ipa/70348
3850 PR tree-optimization/70373
3851 PR middle-end/70533
3852 PR middle-end/70534
3853 PR middle-end/70535
3854 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3855 test.
3856 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3857 test.
3858 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3859 test.
3860 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3861 test.
3862 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3863 test.
3864 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3865 test.
3866 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3867 test.
3868 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3869 test.
3870 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3871 test.
3872 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3873 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3874 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3875 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3876 test.
3877 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3878 test.
3879 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3880 test.
3881 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3882 test.
3883 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3884 coverage.
3885 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3886 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3888 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3889 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3890 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3891 coverage.
3892 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3893 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3894 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3895 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3896 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3897 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3898 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3899 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3900 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3901 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3902 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3903 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3904 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3905 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3906 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3907
2620c80d
TS
39082016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3909 James Norris <jnorris@codesourcery.com>
3910 Nathan Sidwell <nathan@codesourcery.com>
3911 Julian Brown <julian@codesourcery.com>
3912 Cesar Philippidis <cesar@codesourcery.com>
3913 Chung-Lin Tang <cltang@codesourcery.com>
3914 Tom de Vries <tom@codesourcery.com>
3915
3916 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3917 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3918 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3919 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3920 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3921 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3922 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3923 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3924 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3925 XFAIL.
3926 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3927 Incorporate...
3928 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3929 file.
3930 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3931 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3932 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3933 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3934 Likewise.
3935 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3936 Likewise.
3937 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3938 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3939 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3940 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3941 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3942 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3943 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3944 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3945 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3946 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3947 Likewise.
3948 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3949 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3950 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3951 file...
3952 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3953 file into...
3954 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3955 file. Update.
3956 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3957 file.
3958 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3959 Likewise.
3960 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3961 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3962 ... this new file. Update.
3963 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3964 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3965 ... this new file. Update.
3966 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3967 file. Incorporate...
3968 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3969 file, and...
3970 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3971 file, and...
3972 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3973 file.
3974 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3975
ce83104b
TS
39762016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3977
3978 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3979 set-torture-options.
3980
6e0df3b7
TS
39812016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3982
3983 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3984 gcc-dg-runtest.
3985 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3986 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3987 -fno-builtin-acc_on_device instead of -O0.
3988 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3989 -O0.
3990 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3991 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3992 Likewise.
3993 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3994 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3996 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3998 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4000 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4001 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4002 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4004 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4006 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4008 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4010 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4011 Don't specify -O2.
4012 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4013 Likewise.
4014 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4015 Likewise.
4016
f9c8babb
ML
40172016-03-24 Martin Liska <mliska@suse.cz>
4018
4019 * plugin/plugin-hsa.c (packet_store_release): New function
4020 that is taken from the HSA runtime manual.
4021 (GOMP_OFFLOAD_run): Use the function.
4022
04833609
JJ
40232016-03-23 Jakub Jelinek <jakub@redhat.com>
4024
4025 PR c++/70376
4026 * testsuite/libgomp.c++/pr70376.C: New test.
4027
d79ee524
TV
40282016-03-23 Tom de Vries <tom@codesourcery.com>
4029
4030 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4031 initialization of lresult and lvresult.
4032 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4033
b6d1f2b5
JN
40342016-03-23 James Norris <jnorris@codesourcery.com>
4035 Daichi Fukuoka <dc-fukuoka@sgi.com>
4036
4037 PR libgomp/69414
4038 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4039 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4040 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4041 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4042
7397fce2
ML
40432016-03-23 Martin Liska <mliska@suse.cz>
4044
4045 PR hsa/70337
4046 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4047 argument just in case a dispatched kernel uses that argument.
4048
ee2e7d51
TS
40492016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4050
4051 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4052 -ftree-parallelize-loops/-fopenacc changes.
4053 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4054 Likewise.
4055 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4056 Likewise.
4057 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4058 Likewise.
4059 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4060 Likewise.
4061 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4062 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4063
be9f7143
TS
40642016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4065
4066 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4067 always_ld_library_path the path to libgcc_s.
4068
f6c1032d
CP
40692016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4070
4071 PR testsuite/70009
4072 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4073
5a6452e6
TV
40742016-03-09 Tom de Vries <tom@codesourcery.com>
4075
4076 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4077 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4078 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4079 Same.
4080 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4081 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4082 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4083 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4084
96a71bd5
MJ
40852016-03-07 Martin Jambor <mjambor@suse.cz>
4086
4087 * testsuite/lib/libgomp.exp
4088 (check_effective_target_hsa_offloading_selected_nocache): New.
4089 (check_effective_target_hsa_offloading_selected): Likewise.
4090 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4091 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4092 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4093 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4094 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4095 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4096 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4097 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4098 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4099 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4100 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4101 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4102 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4103 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4104 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4105 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4106 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4107
02e0b5b2
MJ
41082016-03-07 Martin Jambor <mjambor@suse.cz>
4109
4110 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4111 non-shared memory accelerators.
4112 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4113 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4114 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4115 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4116 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4117 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4118 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4119 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4120 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4121
45548f30
MJ
41222016-03-07 Martin Jambor <mjambor@suse.cz>
4123
4124 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4125 ALWAYS_CFLAGS.
4126
da3d46cb
JJ
41272016-03-02 Jakub Jelinek <jakub@redhat.com>
4128
4129 PR libgomp/69555
4130 * testsuite/libgomp.c++/pr69555-1.C: New test.
4131 * testsuite/libgomp.c++/pr69555-2.C: New test.
4132
622174b2
KM
41332016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4134 Martin Jambor <mjambor@suse.cz>
4135
4136 * testsuite/lib/libgomp.exp
4137 (check_effective_target_offload_device_shared_as): New proc.
4138 * testsuite/libgomp.c++/declare_target-1.C: New test.
4139
e6861a99
IV
41402016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4141
4142 PR driver/68463
4143 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4144
f99c3557
TS
41452016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4146
4147 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4148 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4149 dims.
4150 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4151 -ftree-parallelize-loops/-fopenacc changes.
4152 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4153 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4154 Likewise.
4155 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4156 Likewise.
4157 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4158 Likewise.
4159 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4160 Likewise.
4161 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4162 Likewise.
4163 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4164 Likewise.
4165 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4166 Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4169 Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4172 Likewise.
4173 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4175 Likewise.
4176
d5ace3b5
CP
41772016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4178
4179 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4180
f3609a89
JJ
41812016-02-19 Jakub Jelinek <jakub@redhat.com>
4182
4183 PR driver/69805
4184 * testsuite/libgomp.c/pr69805.c: New test.
4185
2175df99
TV
41862016-02-16 Tom de Vries <tom@codesourcery.com>
4187
4188 PR lto/67709
4189 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4190
17b6426c
TV
41912016-02-09 Tom de Vries <tom@codesourcery.com>
4192
4193 PR tree-optimization/69599
4194 * testsuite/libgomp.c/omp-nested-3.c: New test.
4195 * testsuite/libgomp.c/pr46032-2.c: New test.
4196 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4197 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4198
34df756c
TV
41992016-02-09 Tom de Vries <tom@codesourcery.com>
4200
4201 PR lto/69707
4202 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4203
5854ee30
AM
42042016-02-02 Alexander Monakov <amonakov@ispras.ru>
4205
4206 * testsuite/libgomp.c/target-31.c: Fix testcase.
4207
e70b6ad7
AM
42082016-02-02 Alexander Monakov <amonakov@ispras.ru>
4209
4210 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4211 clause.
4212 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4213 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4214 reduction and map clauses.
4215 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4216
bd78a45f
JN
42172016-02-02 James Norris <jnorris@codesourcery.com>
4218
4219 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4220
41d809d3
TS
42212016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4222
18f60146
TS
4223 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4224 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4225
1a06f5e6
TS
4226 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4227 cases.
4228
033ff3d1
TS
4229 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4230 variables.
4231 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4232 (hsa_kmt_lib): Set variables.
4233 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4234 always_ld_library_path.
4235 * Makefile.in: Regenerate.
4236 * configure: Likewise.
4237 * testsuite/Makefile.in: Likewise.
4238
4a88d9b7
TS
4239 * plugin/configfrag.ac (offload_additional_options)
4240 (offload_additional_lib_paths): Don't amend for hsa offloading.
4241 * configure: Regenerate.
4242
41d809d3
TS
4243 * plugin/configfrag.ac: Don't configure for offloading target if
4244 we don't build the corresponding plugin.
4245 * configure: Regenerate.
4246
b6adbb9f
NS
42472016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4248
4249 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4250 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4251
8dfdb419
TV
42522016-01-26 Tom de Vries <tom@codesourcery.com>
4253
4254 PR tree-optimization/69110
4255 * testsuite/libgomp.c/pr69110.c: New test.
4256
02ef53f2
RB
42572016-01-25 Richard Biener <rguenther@suse.de>
4258
4259 PR lto/69393
4260 * testsuite/libgomp.c++/pr69393.C: New testcase.
4261
eb4048f2
IV
42622016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4263
4264 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4265 function wasn't mapped to the device with non-shared memory.
4266
b235cdd5
IV
42672016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4268
4269 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4270
b2b40051
MJ
42712016-01-19 Martin Jambor <mjambor@suse.cz>
4272 Martin Liska <mliska@suse.cz>
4273
4274 * plugin/Makefrag.am: Add HSA plugin requirements.
4275 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4276 (HSA_RUNTIME_LIB): Likewise.
4277 (HSA_RUNTIME_CPPFLAGS): Likewise.
4278 (HSA_RUNTIME_INCLUDE): New substitution.
4279 (HSA_RUNTIME_LIB): Likewise.
4280 (HSA_RUNTIME_LDFLAGS): Likewise.
4281 (hsa-runtime): New configure option.
4282 (hsa-runtime-include): Likewise.
4283 (hsa-runtime-lib): Likewise.
4284 (PLUGIN_HSA): New substitution variable.
4285 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4286 configure options.
4287 (PLUGIN_HSA_CPPFLAGS): Likewise.
4288 (PLUGIN_HSA_LDFLAGS): Likewise.
4289 (PLUGIN_HSA_LIBS): Likewise.
4290 Check that we have access to HSA run-time.
4291 * libgomp-plugin.h (offload_target_type): New element
4292 OFFLOAD_TARGET_TYPE_HSA.
4293 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4294 args.
4295 (bool gomp_create_target_task): Updated.
4296 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4297 new field can_run_func.
4298 * libgomp_g.h (GOMP_target_ext): Update prototype.
4299 * oacc-host.c (host_run): Added a new parameter args.
4300 * target.c (calculate_firstprivate_requirements): New function.
4301 (copy_firstprivate_data): Likewise.
4302 (gomp_target_fallback_firstprivate): Use them.
4303 (gomp_target_unshare_firstprivate): New function.
4304 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4305 devices.
4306 (GOMP_target): Do host fallback for all shared memory devices. Do not
4307 pass any args to plugins.
4308 (GOMP_target_ext): Introduce device-specific argument parameter args.
4309 Allow host fallback if device shares memory. Do not remap data if
4310 device has shared memory.
4311 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4312 like host fallback for mappings.
4313 (GOMP_target_data): Treat shared memory devices like host fallback.
4314 (GOMP_target_data_ext): Likewise.
4315 (GOMP_target_update): Likewise.
4316 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4317 gomp_create_target_task.
4318 (GOMP_target_enter_exit_data): Likewise.
4319 (omp_target_alloc): Treat shared memory devices like host fallback.
4320 (omp_target_free): Likewise.
4321 (omp_target_is_present): Likewise.
4322 (omp_target_memcpy): Likewise.
4323 (omp_target_memcpy_rect): Likewise.
4324 (omp_target_associate_ptr): Likewise.
4325 (gomp_load_plugin_for_device): Also load can_run.
4326 * task.c (GOMP_PLUGIN_target_task_completion): Free
4327 firstprivate_copies.
4328 (gomp_create_target_task): Accept new argument args and store it to
4329 ttask.
4330 * plugin/plugin-hsa.c: New file.
4331
5d7804a9
TV
43322016-01-18 Tom de Vries <tom@codesourcery.com>
4333
4334 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4336 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4338 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4340 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4342 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4344 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4345 Same.
4346 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4347 Same.
4348 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4349 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4350 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4351 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4352 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4353 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4354 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4355 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4356 Same.
4357 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4358
cb11f3cf
JJ
43592016-01-15 Jakub Jelinek <jakub@redhat.com>
4360
4361 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4362
33a126a6
CP
43632016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4364
4365 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4366
cdf6119d
JN
43672016-01-12 James Norris <jnorris@codesourcery.com>
4368
4369 * libgomp.texi: Updates for OpenACC.
4370
0d58938e
AM
43712016-01-11 Alexander Monakov <amonakov@ispras.ru>
4372
4373 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4374
95918b49
L
43752016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4376
4377 PR fortran/66680
4378 * testsuite/libgomp.fortran/pr66680.f90: New test.
4379
8fc708b7
JJ
43802016-01-07 Jakub Jelinek <jakub@redhat.com>
4381
4382 PR middle-end/68960
4383 * testsuite/libgomp.c/pr68960.c: New test.
4384
e9b596c1
NS
43852016-01-06 Nathan Sidwell <nathan@acm.org>
4386
1a14faf2 4387 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
4388 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4389
21fa2a29
JJ
43902016-01-04 Jakub Jelinek <jakub@redhat.com>
4391
818ab71a
JJ
4392 Update copyright years.
4393
21fa2a29
JJ
4394 * libgomp.texi: Bump @copying's copyright year.
4395
9310efbc
NS
43962015-12-31 Nathan Sidwell <nathan@acm.org>
4397
4398 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4399 dg-additional-options syntax.
4400 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4404 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4405 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4406 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4407 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4408 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4409 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4410 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4411 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4412 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4413 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4414 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4415 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4416 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4417 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4418
4a38b02b
IV
44192015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4420
4421 * libgomp.h (REFCOUNT_LINK): Define.
4422 (struct splay_tree_key_s): Add link_key.
4423 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4424 Replace target address of the pointer with target address of newly
4425 mapped object in the splay tree. Set link pointer on target to the
4426 device address of the mapped object.
4427 (gomp_unmap_vars): Restore target address of the pointer in the splay
4428 tree for REFCOUNT_LINK objects after unmapping.
4429 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4430 declare target link" objects.
4431 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4432 "omp declare target link" objects, which were mapped for the image.
4433 (gomp_exit_data): Restore target address of the pointer in the splay
4434 tree for REFCOUNT_LINK objects after unmapping.
4435 * testsuite/libgomp.c/target-link-1.c: New file.
4436
d84ffc0a
IV
44372015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4438
4439 * libgomp.h (gomp_device_state): New enum.
4440 (struct gomp_device_descr): Replace is_initialized with state.
4441 (gomp_fini_device): Remove declaration.
4442 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4443 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4444 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4445 (acc_set_device_type): Use state instead of is_initialized.
4446 (acc_set_device_num): Likewise.
4447 * target.c (resolve_device): Use state instead of is_initialized.
4448 Do not initialize finalized device.
4449 (gomp_map_vars): Do nothing if device is finalized.
4450 (gomp_unmap_vars): Likewise.
4451 (gomp_update): Likewise.
4452 (GOMP_offload_register_ver): Use state instead of is_initialized.
4453 (GOMP_offload_unregister_ver): Likewise.
4454 (gomp_init_device): Likewise.
4455 (gomp_unload_device): Likewise.
4456 (gomp_fini_device): Remove.
4457 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4458 (GOMP_target): Go to host fallback if device is finalized.
4459 (GOMP_target_ext): Likewise.
4460 (gomp_exit_data): Do nothing if device is finalized.
4461 (gomp_target_task_fn): Go to host fallback if device is finalized.
4462 (gomp_target_fini): New static function.
4463 (gomp_target_init): Use state instead of is_initialized.
4464 Call gomp_target_fini at exit.
4465
76680678
TV
44662015-12-09 Tom de Vries <tom@codesourcery.com>
4467
4468 PR tree-optimization/68716
4469 * testsuite/libgomp.c/omp-nested-2.c: New test.
4470
ff7a55bf
TS
44712015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4472
4473 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4474 target openacc_nvidia_accel_selected.
4475 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4476 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4477 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4478 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4479
37d5ad46
JB
44802015-12-01 Julian Brown <julian@codesourcery.com>
4481 James Norris <James_Norris@mentor.com>
4482
4483 * oacc-parallel.c (GOACC_host_data): New function.
4484 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4485 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4486 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4487 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4488 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4489 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4490 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4491
db941d7e
CP
44922015-11-30 James Norris <jnorris@codesourcery.com>
4493 Cesar Philippidis <cesar@codesourcery.com>
4494
4495 libgomp/
4496 * libgomp.oacc-fortran/routine-5.f90: New test.
4497 * libgomp.oacc-fortran/routine-7.f90: New test.
4498 * libgomp.oacc-fortran/routine-9.f90: New test.
4499
e0ca27c5
TV
45002015-11-30 Tom de Vries <tom@codesourcery.com>
4501
4502 PR tree-optimization/46032
4503 * testsuite/libgomp.c/pr46032.c: New test.
4504
aec17bfe
JJ
45052015-11-27 Jakub Jelinek <jakub@redhat.com>
4506
8e4e4719
JJ
4507 PR libgomp/68579
4508 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4509 (gomp_create_target_task): Call it before freeing
4510 GOMP_TARGET_TASK_DATA tasks.
4511
aec17bfe
JJ
4512 PR c/63326
4513 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4514 in between case label and OpenMP standalone directives.
4515 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4516
6cfe90e6
DE
45172015-11-26 David Edelsohn <dje.gcc@gmail.com>
4518
4519 * configure: Regenerate.
4520
0e65fd7d
JJ
45212015-11-26 Jakub Jelinek <jakub@redhat.com>
4522
4523 * testsuite/libgomp.c/target-35.c: New test.
4524
dc7a8b4b
JN
45252015-11-22 James Norris <jnorris@codesourcery.com>
4526 Cesar Philippidis <cesar@codesourcery.com>
4527
4528 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4529 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4530 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4531 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4532 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4533
48a78aee
JJ
45342015-11-20 Jakub Jelinek <jakub@redhat.com>
4535
4536 PR middle-end/68221
4537 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4538 * testsuite/libgomp.c/reduction-12.c: Likewise.
4539 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4540 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4541
2d256816
NS
45422015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4543
4544 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4545 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4546 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4547 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4548 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4549 and fix.
4550 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4551 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4552
33f47f42
NS
45532015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4554
4555 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4556 worker & gang cases.
4557 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4558
3d7bfee0
CP
45592015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4560
4561 * config/nvptx/priority_queue.c: New file.
4562
00b9bd52
JJ
45632015-11-14 Jakub Jelinek <jakub@redhat.com>
4564
4565 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4566 sections.
4567
e4606348
JJ
45682015-11-14 Jakub Jelinek <jakub@redhat.com>
4569 Aldy Hernandez <aldyh@redhat.com>
4570 Ilya Verbin <ilya.verbin@intel.com>
4571
4572 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4573 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4574 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4575 iterators or IV by chunk size.
4576 * parallel.c (gomp_resolve_num_threads): Don't assume that
4577 if thr->ts.team is non-NULL, then pool must be non-NULL.
4578 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4579 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4580 GOMP_PLUGIN_target_task_completion.
4581 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4582 * Makefile.in: Regenerate.
4583 * libgomp.h: Shuffle prototypes and forward definitions around so
4584 priority queues can be defined.
4585 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4586 (enum gomp_target_task_state): New enum.
4587 (struct gomp_target_task): Add state, tgt, task and team fields.
4588 (gomp_create_target_task): Change return type to bool, add
4589 state argument.
4590 (gomp_target_task_fn): Change return type to bool.
4591 (struct gomp_device_descr): Add async_run_func.
4592 (struct gomp_task): Remove children, next_child, prev_child,
4593 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4594 Add pnode field.
4595 (struct gomp_taskgroup): Remove children.
4596 Add taskgroup_queue.
4597 (struct gomp_team): Change task_queue type to a priority queue.
4598 (splay_compare): Define inline.
4599 (priority_queue_offset): New.
4600 (priority_node_to_task): New.
4601 (task_to_priority_node): New.
4602 * oacc-mem.c: Do not include splay-tree.h.
4603 * priority_queue.c: New file.
4604 * priority_queue.h: New file.
4605 * splay-tree.c: Do not include splay-tree.h.
4606 (splay_tree_foreach_internal): New.
4607 (splay_tree_foreach): New.
4608 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4609 (splay_tree_callback): Define typedef.
4610 * target.c (splay_compare): Move to libgomp.h.
4611 (GOMP_target): Don't adjust *thr in any way around running offloaded
4612 task.
4613 (GOMP_target_ext): Likewise. Handle target nowait.
4614 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4615 return value from gomp_create_target_task, if false, fallthrough
4616 as if no dependencies exist.
4617 (gomp_target_task_fn): Change return type to bool, return true
4618 if the task should have another part scheduled later. Handle
4619 target nowait.
4620 (gomp_load_plugin_for_device): Initialize async_run.
4621 * task.c (gomp_init_task): Initialize children_queue.
4622 (gomp_clear_parent_in_list): New.
4623 (gomp_clear_parent_in_tree): New.
4624 (gomp_clear_parent): Handle priorities.
4625 (GOMP_task): Likewise.
4626 (priority_queue_move_task_first,
4627 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4628 New functions.
4629 (gomp_create_target_task): Use priority queues. Change return type
4630 to bool, add state argument, return false if for async
4631 {{enter,exit} data,update} constructs no dependencies need to be
4632 waited for, handle target nowait. Set task->fn to NULL instead of
4633 gomp_target_task_fn.
4634 (verify_children_queue): Remove.
4635 (priority_list_upgrade_task): New.
4636 (priority_queue_upgrade_task): New.
4637 (verify_task_queue): Remove.
4638 (priority_list_downgrade_task): New.
4639 (priority_queue_downgrade_task): New.
4640 (gomp_task_run_pre): Use priority queues.
4641 Abstract code out to priority_queue_downgrade_task.
4642 (gomp_task_run_post_handle_dependers): Use priority queues.
4643 (gomp_task_run_post_remove_parent): Likewise.
4644 (gomp_task_run_post_remove_taskgroup): Likewise.
4645 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4646 tasks specially.
4647 (GOMP_taskwait): Likewise.
4648 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4649 priority-queue_upgrade_task.
4650 (GOMP_taskgroup_start): Use priority queues.
4651 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4652 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4653 barrier.
4654 * taskloop.c (GOMP_taskloop): Handle priorities.
4655 * team.c (gomp_new_team): Call priority_queue_init.
4656 (free_team): Call priority_queue_free.
4657 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4658 team created for target nowait in implicit parallel region.
4659 (gomp_team_start): For nested check, test thr->ts.level instead of
4660 thr->ts.team != NULL.
4661 * testsuite/libgomp.c/doacross-3.c: New test.
4662 * testsuite/libgomp.c/ordered-5.c: New test.
4663 * testsuite/libgomp.c/priority.c: New test.
4664 * testsuite/libgomp.c/target-31.c: New test.
4665 * testsuite/libgomp.c/target-32.c: New test.
4666 * testsuite/libgomp.c/target-33.c: New test.
4667 * testsuite/libgomp.c/target-34.c: New test.
4668
1d1ab74f
NS
46692015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4670
c5a64cfe
NS
4671 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4672
1d1ab74f
NS
4673 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4674 loop is sequential.
4675
dd3c1b14
NS
46762015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4677
4678 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4679 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4680
6e232ba4
JN
46812015-11-12 James Norris <jnorris@codesourcery.com>
4682 Joseph Myers <joseph@codesourcery.com>
4683
4684 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4685 * oacc-parallel.c (GOACC_declare): New function.
4686 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4687 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4688 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4689 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4690 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4691
fffeedeb
NS
46922015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4693
4694 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4695
182190f2
NS
46962015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4697
4698 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4699 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4700
36fa0f5f
NS
47012015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4702
d350c40c
NS
4703 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4704 inadvertent commit.
4705
47062015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4707
36fa0f5f
NS
4708 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4709 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4710 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4711 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4712 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4713
66a5f0b4
TS
47142015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4715
4716 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4717 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4718
e01d41e5
JJ
47192015-11-05 Jakub Jelinek <jakub@redhat.com>
4720 Ilya Verbin <ilya.verbin@intel.com>
4721
4722 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4723 GOMP_loop_nonmonotonic_dynamic_start,
4724 GOMP_loop_nonmonotonic_guided_next,
4725 GOMP_loop_nonmonotonic_guided_start,
4726 GOMP_loop_ull_nonmonotonic_dynamic_next,
4727 GOMP_loop_ull_nonmonotonic_dynamic_start,
4728 GOMP_loop_ull_nonmonotonic_guided_next,
4729 GOMP_loop_ull_nonmonotonic_guided_start,
4730 GOMP_parallel_loop_nonmonotonic_dynamic,
4731 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4732 (GOMP_target_41): Renamed to ...
4733 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4734 arguments.
4735 (GOMP_target_data_41): Renamed to ...
4736 (GOMP_target_data_ext): ... this.
4737 (GOMP_target_update_41): Renamed to ...
4738 (GOMP_target_update_ext): ... this.
4739 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4740 GOMP_target_data_ext and GOMP_target_update_ext instead of
4741 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4742 Export GOMP_loop_nonmonotonic_dynamic_next,
4743 GOMP_loop_nonmonotonic_dynamic_start,
4744 GOMP_loop_nonmonotonic_guided_next,
4745 GOMP_loop_nonmonotonic_guided_start,
4746 GOMP_loop_ull_nonmonotonic_dynamic_next,
4747 GOMP_loop_ull_nonmonotonic_dynamic_start,
4748 GOMP_loop_ull_nonmonotonic_guided_next,
4749 GOMP_loop_ull_nonmonotonic_guided_start,
4750 GOMP_parallel_loop_nonmonotonic_dynamic and
4751 GOMP_parallel_loop_nonmonotonic_guided.
4752 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4753 GOMP_parallel_loop_nonmonotonic_guided,
4754 GOMP_loop_nonmonotonic_dynamic_start,
4755 GOMP_loop_nonmonotonic_guided_start,
4756 GOMP_loop_nonmonotonic_dynamic_next,
4757 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4758 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4759 GOMP_loop_ull_nonmonotonic_guided_start,
4760 GOMP_loop_ull_nonmonotonic_dynamic_next,
4761 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4762 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4763 functions.
4764 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4765 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4766 Use gomp_map_val function.
4767 (gomp_target_fallback_firstprivate): New static function.
4768 (GOMP_target_41): Renamed to ...
4769 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4770 arguments. Move firstprivate fallback handling into a new
4771 function.
4772 (GOMP_target_data_41): Renamed to ...
4773 (GOMP_target_data_ext): ... this.
4774 (GOMP_target_update_41): Renamed to ...
4775 (GOMP_target_update_ext): ... this.
4776 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4777 gomp_map_0len_lookup instead of gomp_map_lookup.
4778 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4779 gomp_map_lookup.
4780 * testsuite/libgomp.c/target-28.c: Likewise.
4781 * testsuite/libgomp.c/monotonic-1.c: New test.
4782 * testsuite/libgomp.c/monotonic-2.c: New test.
4783 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4784 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4785 * testsuite/libgomp.c/pr66199-5.c: New test.
4786 * testsuite/libgomp.c/pr66199-6.c: New test.
4787 * testsuite/libgomp.c/pr66199-7.c: New test.
4788 * testsuite/libgomp.c/pr66199-8.c: New test.
4789 * testsuite/libgomp.c/pr66199-9.c: New test.
4790 * testsuite/libgomp.c/reduction-11.c: New test.
4791 * testsuite/libgomp.c/reduction-12.c: New test.
4792 * testsuite/libgomp.c/reduction-13.c: New test.
4793 * testsuite/libgomp.c/reduction-14.c: New test.
4794 * testsuite/libgomp.c/reduction-15.c: New test.
4795 * testsuite/libgomp.c/target-12.c (main): Adjust for
4796 omp_target_is_present change for one-past-last element.
4797 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4798 the same var is both mapped and privatized.
4799 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4800 handling of zero-length array sections.
4801 * testsuite/libgomp.c/target-28.c: New test.
4802 * testsuite/libgomp.c/target-29.c: New test.
4803 * testsuite/libgomp.c/target-30.c: New test.
4804 * testsuite/libgomp.c/target-teams-1.c: New test.
4805 * testsuite/libgomp.c++/member-6.C: New test.
4806 * testsuite/libgomp.c++/member-7.C: New test.
4807 * testsuite/libgomp.c++/monotonic-1.C: New test.
4808 * testsuite/libgomp.c++/monotonic-2.C: New test.
4809 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4810 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4811 * testsuite/libgomp.c++/pr66199-3.C: New test.
4812 * testsuite/libgomp.c++/pr66199-4.C: New test.
4813 * testsuite/libgomp.c++/pr66199-5.C: New test.
4814 * testsuite/libgomp.c++/pr66199-6.C: New test.
4815 * testsuite/libgomp.c++/pr66199-7.C: New test.
4816 * testsuite/libgomp.c++/pr66199-8.C: New test.
4817 * testsuite/libgomp.c++/pr66199-9.C: New test.
4818 * testsuite/libgomp.c++/reduction-11.C: New test.
4819 * testsuite/libgomp.c++/reduction-12.C: New test.
4820 * testsuite/libgomp.c++/target-13.C: New test.
4821 * testsuite/libgomp.c++/target-14.C: New test.
4822 * testsuite/libgomp.c++/target-15.C: New test.
4823 * testsuite/libgomp.c++/target-16.C: New test.
4824 * testsuite/libgomp.c++/target-17.C: New test.
4825 * testsuite/libgomp.c++/target-18.C: New test.
4826 * testsuite/libgomp.c++/target-19.C: New test.
4827
ccc8282b
NS
48282015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4829
4830 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4831 and reduction copy.
4832 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4833 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4834 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4835 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4836 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4837 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4838 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4839 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4841 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4845 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4846
5d6823a2
NS
48472015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4848
4849 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4850 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4851 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4852 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4853 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4854 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4855 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4856 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4857
5c06742f
NS
48582015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4859
4860 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4861 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4862 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4863 * oacc-host.c (host_openacc_exec): Likewise.
4864 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4865
4bf9e5a8
TS
48662015-11-03 Julian Brown <julian@codesourcery.com>
4867 Thomas Schwinge <thomas@codesourcery.com>
4868
4869 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4870 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4871 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4872 Likewise.
4873 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4875
48762015-11-03 James Norris <jnorris@codesourcery.com>
4877
4878 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4879 file.
4880 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4881 Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4884 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4885 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4886 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4887
a0e701d8
NS
48882015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4889
4890 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4891 compatibility.
4892 (enum acc_async_t): Reformat.
4893 (acc_on_device): Declare compatible with builtin and provide C++
4894 wrapper.
4895 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4896
41e977ac
TS
48972015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4898 Cesar Philippidis <cesar@codesourcery.com>
4899
4900 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4901 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4902 ... this. Add a description of the test at the top of the file.
4903 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4904 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4905 ... this. Add a description of the test at the top of the file.
4906
e3091406
NS
49072015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4908
4909 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4910 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4911 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4912 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4913 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4914 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4915
a1c1908b
NS
49162015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4917
4918 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4919 dimensions.
4920
b3962a4a
TS
49212015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4922
4923 PR testsuite/68063
4924 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4925
88bae6f4
TS
49262015-10-27 James Norris <jnorris@codesourcery.com>
4927
4928 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4929 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4930
8baa7864
TS
49312015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4932
bdeb752c
TS
4933 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4934 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4935
ecd4fd43
TS
4936 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4937 acc_device_nvidia usage.
4938 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4940 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4941
aa8b7d30
TS
4942 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4943 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4944
7c8f138d
TS
4945 PR libgomp/66518
4946 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4947
8baa7864
TS
4948 PR libgomp/65437
4949 PR libgomp/66518
4950 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4951 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4952
88ebcde5
TV
49532015-10-23 Tom de Vries <tom@codesourcery.com>
4954
4955 PR testsuite/68063
4956 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4957
9ef83c04
NS
49582015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4959
4960 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4961 vector_length.
4962 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4963
3837c6d6
IV
49642015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4965 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4966
4967 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4968 to 0 when mapnum is 0.
4969
ac8a1965
SH
49702015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4971
4972 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4973 Cast to int from int32_t.
4974
d9a6bd32
JJ
49752015-10-13 Jakub Jelinek <jakub@redhat.com>
4976 Aldy Hernandez <aldyh@redhat.com>
4977 Ilya Verbin <ilya.verbin@intel.com>
4978
4979 * config/linux/affinity.c (omp_get_place_num_procs,
4980 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4981 * config/linux/doacross.h: New file.
4982 * config/posix/affinity.c (omp_get_place_num_procs,
4983 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4984 * config/posix/doacross.h: New file.
4985 * env.c: Include gomp-constants.h.
4986 (struct gomp_task_icv): Rename run_sched_modifier to
4987 run_sched_chunk_size.
4988 (gomp_max_task_priority_var): New variable.
4989 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4990 (handle_omp_display_env): Change _OPENMP value from 201307 to
4991 201511. Print OMP_MAX_TASK_PRIORITY.
4992 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4993 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4994 chunk_size and run_sched_modifier to run_sched_chunk_size.
4995 (omp_get_max_task_priority, omp_get_initial_device,
4996 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4997 omp_get_partition_place_nums): New functions.
4998 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4999 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5000 to chunk_size.
5001 (omp_get_num_places_, omp_get_place_num_procs_,
5002 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5003 omp_get_place_proc_ids_8_, omp_get_place_num_,
5004 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5005 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5006 omp_get_max_task_priority_): New functions.
5007 * libgomp_g.h (GOMP_loop_doacross_static_start,
5008 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5009 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5010 GOMP_loop_ull_doacross_dynamic_start,
5011 GOMP_loop_ull_doacross_guided_start,
5012 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5013 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5014 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5015 GOMP_target_data_41, GOMP_target_update_41,
5016 GOMP_target_enter_exit_data): New prototypes.
5017 (GOMP_task): Add prototype argument.
5018 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5019 (struct gomp_doacross_work_share): New type.
5020 (struct gomp_work_share): Add doacross field.
5021 (struct gomp_task_icv): Rename run_sched_modifier to
5022 run_sched_chunk_size.
5023 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5024 GOMP_TASK_UNDEFERRED. Add comments.
5025 (struct gomp_task_depend_entry): Add comments.
5026 (struct gomp_task): Likewise.
5027 (struct gomp_taskgroup): Likewise.
5028 (struct gomp_target_task): New type.
5029 (struct gomp_team): Add comment.
5030 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5031 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5032 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5033 (struct target_var_desc): New type.
5034 (struct target_mem_desc): Adjust comment. Use struct
5035 target_var_desc instead of splay_tree_key for list.
5036 (REFCOUNT_INFINITY): Define.
5037 (struct splay_tree_key_s): Remove copy_from field.
5038 (struct gomp_device_descr): Add dev2dev_func field.
5039 (enum gomp_map_vars_kind): New enum.
5040 (gomp_map_vars): Add one argument.
5041 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5042 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5043 omp_get_place_num_procs, omp_get_place_num_procs_,
5044 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5045 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5046 omp_get_place_num_, omp_get_partition_num_places,
5047 omp_get_partition_num_places_, omp_get_partition_place_nums,
5048 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5049 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5050 omp_target_free, omp_target_is_present, omp_target_memcpy,
5051 omp_target_memcpy_rect, omp_target_associate_ptr and
5052 omp_target_disassociate_ptr.
5053 (GOMP_4.0.2): Renamed to ...
5054 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5055 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5056 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5057 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5058 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5059 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5060 GOMP_loop_ull_doacross_guided_start,
5061 GOMP_loop_ull_doacross_runtime_start,
5062 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5063 GOMP_doacross_ull_wait.
5064 * libgomp.texi: Document omp_get_max_task_priority.
5065 Rename modifier argument to chunk_size for omp_set_schedule and
5066 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5067 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5068 to run_sched_chunk_size renaming.
5069 (GOMP_loop_ordered_runtime_start): Likewise.
5070 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5071 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5072 GOMP_parallel_loop_runtime_start): New functions.
5073 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5074 to run_sched_chunk_size renaming.
5075 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5076 GOMP_loop_doacross_guided_start): New functions or aliases.
5077 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5078 run_sched_modifier to run_sched_chunk_size renaming.
5079 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5080 (gomp_loop_ull_doacross_static_start,
5081 gomp_loop_ull_doacross_dynamic_start,
5082 gomp_loop_ull_doacross_guided_start,
5083 GOMP_loop_ull_doacross_runtime_start): New functions.
5084 (GOMP_loop_ull_doacross_static_start,
5085 GOMP_loop_ull_doacross_dynamic_start,
5086 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5087 * oacc-mem.c (acc_map_data, present_create_copy,
5088 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5089 to gomp_map_vars.
5090 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5091 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5092 instead of false to gomp_map_vars.
5093 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5094 * omp.h.in (omp_lock_hint_t): New type.
5095 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5096 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5097 omp_get_place_num, omp_get_partition_num_places,
5098 omp_get_partition_place_nums, omp_get_initial_device,
5099 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5100 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5101 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5102 prototypes.
5103 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5104 (omp_lock_hint_none, omp_lock_hint_uncontended,
5105 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5106 omp_lock_hint_speculative): New parameters.
5107 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5108 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5109 omp_get_place_num, omp_get_partition_num_places,
5110 omp_get_partition_place_nums, omp_get_initial_device,
5111 omp_get_max_task_priority): New interfaces.
5112 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5113 to chunk_size.
5114 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5115 (omp_lock_hint_none, omp_lock_hint_uncontended,
5116 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5117 omp_lock_hint_speculative): New parameters.
5118 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5119 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5120 omp_get_place_num, omp_get_partition_num_places,
5121 omp_get_partition_place_nums, omp_get_initial_device,
5122 omp_get_max_task_priority): New functions and subroutines.
5123 * ordered.c: Include stdarg.h and string.h.
5124 (MAX_COLLAPSED_BITS): Define.
5125 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5126 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5127 GOMP_doacross_ull_wait): New functions.
5128 * target.c: Include errno.h.
5129 (resolve_device): If device is not initialized, call
5130 gomp_init_device on it.
5131 (gomp_map_lookup): New function.
5132 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5133 Don't bump refcount if REFCOUNT_INFINITY. Handle
5134 GOMP_MAP_ALWAYS_TO_P.
5135 (get_kind): Rename is_openacc argument to short_mapkind.
5136 (gomp_map_pointer): Use gomp_map_lookup.
5137 (gomp_map_fields_existing): New function.
5138 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5139 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5140 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5141 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5142 Adjust for tgt->list changed type and copy_from living in there.
5143 (gomp_copy_from_async): Adjust for tgt->list changed type and
5144 copy_from living in there.
5145 (gomp_unmap_vars): Likewise.
5146 (gomp_update): Likewise. Rename is_openacc argument to
5147 short_mapkind. Don't fail if object is not mapped.
5148 (gomp_load_image_to_device): Initialize refcount to
5149 REFCOUNT_INFINITY.
5150 (gomp_target_fallback): New function.
5151 (gomp_get_target_fn_addr): Likewise.
5152 (GOMP_target): Adjust gomp_map_vars caller, use
5153 gomp_get_target_fn_addr and gomp_target_fallback.
5154 (GOMP_target_41): New function.
5155 (gomp_target_data_fallback): New function.
5156 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5157 (GOMP_target_data_41): New function.
5158 (GOMP_target_update): Adjust gomp_update caller.
5159 (GOMP_target_update_41): New function.
5160 (gomp_exit_data, GOMP_target_enter_exit_data,
5161 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5162 omp_target_is_present, omp_target_memcpy,
5163 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5164 omp_target_associate_ptr, omp_target_disassociate_ptr,
5165 gomp_load_plugin_for_device): New functions.
5166 * task.c: Include gomp-constants.h. Include taskloop.c
5167 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5168 (gomp_task_handle_depend): New function.
5169 (GOMP_task): Use it. Add priority argument. Use
5170 gomp-constant.h constants instead of hardcoded numbers.
5171 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5172 (gomp_create_target_task): New function.
5173 (verify_children_queue, verify_taskgroup_queue,
5174 verify_task_queue): New functions.
5175 (gomp_task_run_pre): Call verify_*_queue functions.
5176 If an upcoming tied task is about to leave the sibling or
5177 taskgroup queues in an invalid state, adjust appropriately.
5178 Remove taskgroup argument. Add comments.
5179 (gomp_task_run_post_handle_dependers): Add comments.
5180 (gomp_task_run_post_remove_parent): Likewise.
5181 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5182 (GOMP_taskwait): Likewise. Add comments.
5183 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5184 problem such that the first non parent_depends_on task does not
5185 end up at the end of the children queue.
5186 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5187 GOMP_TASK_UNDEFERRED.
5188 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5189 * taskloop.c: New file.
5190 * testsuite/lib/libgomp.exp
5191 (check_effective_target_offload_device_nonshared_as): New proc.
5192 * testsuite/libgomp.c/affinity-2.c: New test.
5193 * testsuite/libgomp.c/doacross-1.c: New test.
5194 * testsuite/libgomp.c/doacross-2.c: New test.
5195 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5196 Add map clause to target.
5197 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5198 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5199 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5200 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5201 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5202 Likewise.
5203 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5204 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5205 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5206 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5207 not defined. Use those where needed.
5208 * testsuite/libgomp.c/for-4.c: New test.
5209 * testsuite/libgomp.c/for-5.c: New test.
5210 * testsuite/libgomp.c/for-6.c: New test.
5211 * testsuite/libgomp.c/linear-1.c: New test.
5212 * testsuite/libgomp.c/ordered-4.c: New test.
5213 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5214 only allowed on the loop iterator.
5215 * testsuite/libgomp.c/pr66199-3.c: New test.
5216 * testsuite/libgomp.c/pr66199-4.c: New test.
5217 * testsuite/libgomp.c/reduction-7.c: New test.
5218 * testsuite/libgomp.c/reduction-8.c: New test.
5219 * testsuite/libgomp.c/reduction-9.c: New test.
5220 * testsuite/libgomp.c/reduction-10.c: New test.
5221 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5222 map(tofrom:s).
5223 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5224 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5225 * testsuite/libgomp.c/target-11.c: New test.
5226 * testsuite/libgomp.c/target-12.c: New test.
5227 * testsuite/libgomp.c/target-13.c: New test.
5228 * testsuite/libgomp.c/target-14.c: New test.
5229 * testsuite/libgomp.c/target-15.c: New test.
5230 * testsuite/libgomp.c/target-16.c: New test.
5231 * testsuite/libgomp.c/target-17.c: New test.
5232 * testsuite/libgomp.c/target-18.c: New test.
5233 * testsuite/libgomp.c/target-19.c: New test.
5234 * testsuite/libgomp.c/target-20.c: New test.
5235 * testsuite/libgomp.c/target-21.c: New test.
5236 * testsuite/libgomp.c/target-22.c: New test.
5237 * testsuite/libgomp.c/target-23.c: New test.
5238 * testsuite/libgomp.c/target-24.c: New test.
5239 * testsuite/libgomp.c/target-25.c: New test.
5240 * testsuite/libgomp.c/target-26.c: New test.
5241 * testsuite/libgomp.c/target-27.c: New test.
5242 * testsuite/libgomp.c/taskloop-1.c: New test.
5243 * testsuite/libgomp.c/taskloop-2.c: New test.
5244 * testsuite/libgomp.c/taskloop-3.c: New test.
5245 * testsuite/libgomp.c/taskloop-4.c: New test.
5246 * testsuite/libgomp.c++/ctor-13.C: New test.
5247 * testsuite/libgomp.c++/doacross-1.C: New test.
5248 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5249 Replace offload_device with offload_device_nonshared_as.
5250 * testsuite/libgomp.c++/for-12.C: New test.
5251 * testsuite/libgomp.c++/for-13.C: New test.
5252 * testsuite/libgomp.c++/for-14.C: New test.
5253 * testsuite/libgomp.c++/linear-1.C: New test.
5254 * testsuite/libgomp.c++/member-1.C: New test.
5255 * testsuite/libgomp.c++/member-2.C: New test.
5256 * testsuite/libgomp.c++/member-3.C: New test.
5257 * testsuite/libgomp.c++/member-4.C: New test.
5258 * testsuite/libgomp.c++/member-5.C: New test.
5259 * testsuite/libgomp.c++/ordered-1.C: New test.
5260 * testsuite/libgomp.c++/reduction-5.C: New test.
5261 * testsuite/libgomp.c++/reduction-6.C: New test.
5262 * testsuite/libgomp.c++/reduction-7.C: New test.
5263 * testsuite/libgomp.c++/reduction-8.C: New test.
5264 * testsuite/libgomp.c++/reduction-9.C: New test.
5265 * testsuite/libgomp.c++/reduction-10.C: New test.
5266 * testsuite/libgomp.c++/reference-1.C: New test.
5267 * testsuite/libgomp.c++/simd14.C: New test.
5268 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5269 * testsuite/libgomp.c++/target-5.C: New test.
5270 * testsuite/libgomp.c++/target-6.C: New test.
5271 * testsuite/libgomp.c++/target-7.C: New test.
5272 * testsuite/libgomp.c++/target-8.C: New test.
5273 * testsuite/libgomp.c++/target-9.C: New test.
5274 * testsuite/libgomp.c++/target-10.C: New test.
5275 * testsuite/libgomp.c++/target-11.C: New test.
5276 * testsuite/libgomp.c++/target-12.C: New test.
5277 * testsuite/libgomp.c++/taskloop-1.C: New test.
5278 * testsuite/libgomp.c++/taskloop-2.C: New test.
5279 * testsuite/libgomp.c++/taskloop-3.C: New test.
5280 * testsuite/libgomp.c++/taskloop-4.C: New test.
5281 * testsuite/libgomp.c++/taskloop-5.C: New test.
5282 * testsuite/libgomp.c++/taskloop-6.C: New test.
5283 * testsuite/libgomp.c++/taskloop-7.C: New test.
5284 * testsuite/libgomp.c++/taskloop-8.C: New test.
5285 * testsuite/libgomp.c++/taskloop-9.C: New test.
5286 * testsuite/libgomp.fortran/affinity1.f90: New test.
5287 * testsuite/libgomp.fortran/affinity2.f90: New test.
5288
1f600fea
TV
52892015-10-13 Tom de Vries <tom@codesourcery.com>
5290
5291 PR tree-optimization/67476
5292 * testsuite/libgomp.c/autopar-3.c: New test.
5293 * testsuite/libgomp.c/autopar-4.c: New test.
5294 * testsuite/libgomp.c/autopar-5.c: New test.
5295 * testsuite/libgomp.c/autopar-6.c: New test.
5296 * testsuite/libgomp.c/autopar-7.c: New test.
5297 * testsuite/libgomp.c/autopar-8.c: New test.
5298
058a654b
JN
52992015-10-12 James Norris <jnorris@codesourcery.com>
5300
5301 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5302 initializer.
5303
9e531d37
DM
53042015-10-09 David Malcolm <dmalcolm@redhat.com>
5305
5306 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5307 using load_gcc_lib.
5308
113020dc
TS
53092015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5310
5311 * oacc-ptx.h: Remove file, moving its content into...
5312 * config/nvptx/fortran.c: ... here...
5313 * config/nvptx/oacc-init.c: ..., here...
5314 * config/nvptx/oacc-parallel.c: ..., and here.
5315 * config/nvptx/openacc.f90: New file.
5316 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5317 (link_ptx): Don't link in predefined bits of PTX code.
5318
cc3cd79b
NS
53192015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5320 Bernd Schmidt <bernds@codesourcery.com>
5321
5322 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5323 (struct targ_ptx_obj): New.
5324 (nvptx_tdata): Move earlier, change data format.
5325 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5326 objects.
5327 (GOMP_OFFLOAD_load_image): Adjust.
5328
4e2a5450
TS
53292015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5330
5331 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5332 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5333 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5334 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5335 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5336 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5337 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5338 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5339 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5340 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5341 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5342 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5343 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5344 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5345 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5346 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5347 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5348 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5349 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5350 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5351 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5352 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5353 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5354 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5355 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5356 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5357 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5358 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5359 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5360 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5361 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5362 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5363 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5364 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5365 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5366 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5367 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5368 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5369 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5370 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5371 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5372 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5373 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5374 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5375 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5376 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5377 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5378 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5379 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5380 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5381 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5382 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5383 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5384 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5385 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5386 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5387 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5388 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5389 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5390 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5391 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5392 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5393 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5394
164453bb
NS
53952015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5396
5397 * oacc-init.c (acc_on_device): Force optimization level.
5398
a12a0437
NS
53992015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5400
5401 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5402 (cuda_errlist): Delete.
5403 (cuda_error): Reimplement.
5404
3e32ee19
NS
54052015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5406
5407 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5408 array.
5409 * libgomp.map (GOACC_parallel_keyed): New.
5410 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5411 all callers.
5412 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5413 and take keyed varargs list. Adjust call to exec_func.
5414 (GOACC_parallel): Force host fallback.
5415 * libgomp_g.h (GOACC_parallel): Remove.
5416 (GOACC_parallel_keyed): Declare.
5417 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5418 (stuct targ_gn_descriptor): Replace name field with launch field.
5419 (nvptx_exec): Lose separate geometry args, take array. Process
5420 dynamic dimensions and adjust.
5421 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5422 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5423 data.
5424 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5425 passing.
5426 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5427 passing.
5428
6bb4c3e2
CLT
54292015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5430
5431 PR libgomp/67141
5432 * oacc-int.h (goacc_host_init): Add declaration.
5433 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5434 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5435
74032f47 54362015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 5437 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
5438
5439 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5440 match o/p.
5441 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5442 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5443 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5444 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5445 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5446
97875f4a
JJ
54472015-09-03 Jakub Jelinek <jakub@redhat.com>
5448
5449 * configure.tgt: Add missing ;; in between nvptx and rtems
5450 snippets.
5451
06441dd5
SH
54522015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5453
5454 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5455 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5456 (gomp_thread_pool_reservoir): Add priority member.
5457 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5458 priority.
5459 (parse_thread_pools): Likewise.
5460 * team.c (gomp_team_start): Call configuration provided
5461 gomp_adjust_thread_attr(). Destroy thread attributes if
5462 necessary.
5463 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5464
66c59f92
SH
54652015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5466
5467 * config/posix/pool.h: New.
5468 * config/rtems/pool.h: Likewise.
5469 * config/rtems/proc.c: Likewise.
5470 * libgomp.h (gomp_thread_destructor): Declare.
5471 * team.c: Include configuration provided "pool.h".
5472 (gomp_get_thread_pool): Define in configuration.
5473 (gomp_team_end): Call configuration defined
5474 gomp_release_thread_pool().
5475
13c41b2e
SH
54762015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5477
5478 * config/rtems/bar.c: New.
5479 * config/rtems/bar.h: Likewise.
5480 * config/rtems/mutex.c: Likewise.
5481 * config/rtems/mutex.h: Likewise.
5482 * config/rtems/sem.c: Likewise.
5483 * config/rtems/sem.h: Likewise.
5484 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5485 <sys/lock.h> header file.
5486 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5487 supported by Newlib.
5488 * configure: Regenerate.
5489
7892ec67
SH
54902015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5491
5492 * team.c (gomp_new_thread_pool): Delete and move content to ...
5493 (gomp_get_thread_pool): ... new function. Allocate and
5494 initialize thread pool on demand.
5495 (get_last_team): Use gomp_get_thread_pool().
5496 (gomp_team_start): Delete thread pool initialization.
5497
1b96e9a4
TV
54982015-09-03 Tom de Vries <tom@codesourcery.com>
5499
5500 PR tree-optimization/65637
5501 * testsuite/libgomp.c/autopar-2.c: New test.
5502
3ff2d74e
TV
55032015-08-29 Tom de Vries <tom@codesourcery.com>
5504
5505 PR tree-optimization/46193
5506 * testsuite/libgomp.c/pr46193.c: New test.
5507
2a21ff19
NS
55082015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5509
5510 libgomp/
5511 * libgomp.map: Add 4.0.2 version.
5512 * target.c (offload_image_descr): Add version field.
5513 (gomp_load_image_to_device): Add version argument. Adjust plugin
5514 call. Improve load mismatch diagnostic.
5515 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5516 call.
5517 (GOMP_offload_regster): Make stub function, move bulk to ...
5518 (GOMP_offload_register_ver): ... here. Process version argument.
5519 (GOMP_offload_unregister): Make stub function, move bulk to ...
5520 (GOMP_offload_unregister_ver): ... here. Process version argument.
5521 (gomp_init_device): Process version field.
5522 (gomp_unload_device): Process version field.
5523 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5524 macros. Check plugin version.
5525 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5526 loader and unloader types.
5527 * oacc-host.c: Include gomp-constants.h.
5528 (host_version): New.
5529 (host_load_image, host_unload_image): Adjust.
5530 (host_dispatch): Add host_version.
5531 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5532 (GOMP_OFFLOAD_version): New.
5533 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5534 (GOMP_OFFLOAD_unload_image): Likewise.
5535 * plugin/plugin-host.c: Include gomp-constants.h.
5536 (GOMP_OFFLOAD_version): New.
5537 (GOMP_OFFLOAD_load_image): Add version arg.
5538 (GOMP_OFFLOAD_unload_image): Likewise.
5539
1358a747
TV
55402015-08-24 Tom de Vries <tom@codesourcery.com>
5541
5542 PR tree-optimization/65468
5543 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5544
6be5c241
TV
55452015-08-24 Tom de Vries <tom@codesourcery.com>
5546
5547 PR tree-optimization/65468
5548 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5549
bfe7ac89
JV
55502015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5551
5552 PR libgomp/66761
5553 PR libgomp/67303
5554 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5555 (gomp_iter_guided_next): Idem.
5556 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5557 (gomp_iter_ull_guided_next): Idem.
5558 * config/linux/wait.h (do_spin): Idem.
5559
b97e78b7
TS
55602015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5561
5562 * libgomp-plugin.h (enum offload_target_type): Remove
5563 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5564 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5565 * openacc.h (enum acc_device_t): Likewise.
5566 * openacc_lib.h: Likewise.
5567 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5568 (acc_on_device): Just use __builtin_acc_on_device.
5569 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5570 of acc_on_device builtin.
5571 * plugin/plugin-host.h: Remove file.
5572 * plugin/plugin-host.c: Likewise, but salvage some content into...
5573 * oacc-host.c: ... this file.
5574 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5575 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5576 * Makefile.in: Regenerate.
5577 * configure: Likewise.
5578 * testsuite/lib/libgomp.exp
5579 (check_effective_target_openacc_host_nonshm_selected): Remove.
5580 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5581 ACC_DEVICE_TYPE=host_nonshm.
5582 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5583 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5585 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5586 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5587 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5588
44a7d18d
TS
55892015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5590 Jakub Jelinek <jakub@redhat.com>
5591
5592 * config/nvptx/affinity.c: New file.
5593 * config/nvptx/alloc.c: Likewise.
5594 * config/nvptx/bar.c: Likewise.
5595 * config/nvptx/barrier.c: Likewise.
5596 * config/nvptx/critical.c: Likewise.
5597 * config/nvptx/env.c: Likewise.
5598 * config/nvptx/error.c: Likewise.
5599 * config/nvptx/fortran.c: Likewise.
5600 * config/nvptx/iter.c: Likewise.
5601 * config/nvptx/iter_ull.c: Likewise.
5602 * config/nvptx/libgomp-plugin.c: Likewise.
5603 * config/nvptx/lock.c: Likewise.
5604 * config/nvptx/loop.c: Likewise.
5605 * config/nvptx/loop_ull.c: Likewise.
5606 * config/nvptx/mutex.c: Likewise.
5607 * config/nvptx/oacc-async.c: Likewise.
5608 * config/nvptx/oacc-cuda.c: Likewise.
5609 * config/nvptx/oacc-host.c: Likewise.
5610 * config/nvptx/oacc-init.c: Likewise.
5611 * config/nvptx/oacc-mem.c: Likewise.
5612 * config/nvptx/oacc-parallel.c: Likewise.
5613 * config/nvptx/oacc-plugin.c: Likewise.
5614 * config/nvptx/omp-lock.h: Likewise.
5615 * config/nvptx/ordered.c: Likewise.
5616 * config/nvptx/parallel.c: Likewise.
5617 * config/nvptx/proc.c: Likewise.
5618 * config/nvptx/ptrlock.c: Likewise.
5619 * config/nvptx/sections.c: Likewise.
5620 * config/nvptx/sem.c: Likewise.
5621 * config/nvptx/single.c: Likewise.
5622 * config/nvptx/splay-tree.c: Likewise.
5623 * config/nvptx/target.c: Likewise.
5624 * config/nvptx/task.c: Likewise.
5625 * config/nvptx/team.c: Likewise.
5626 * config/nvptx/time.c: Likewise.
5627 * config/nvptx/work.c: Likewise.
5628 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5629 * configure: Regenerate.
5630 * configure.tgt (config_path): Set to "nvptx" for target
5631 nvptx*-*-*.
5632
96a2d174
TS
56332015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5634
5635 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5636
9ebddeb0
NS
56372015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5638
5639 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5640 (cuda_errlist): Constify.
5641 (errmsg): Move into ...
5642 (cuda_error): ... here. Make smaller.
5643 (_XSTR, _STR): Delete.
5644 (cuda_synames): Delete.
5645 (verify_device_library): Delete.
5646 (nvptx_init): Don't call it.
5647
12efb1d7
TV
56482015-07-28 Tom de Vries <tom@codesourcery.com>
5649
5650 * testsuite/libgomp.c/uns-outer-4.c: New test.
5651
710ee218
CP
56522015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5653
5654 * testsuite/libgomp.c/pr66714.c: New test.
5655
27c4ac7d
MB
56562015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5657
5658 PR libgomp/66950
5659 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5660 (fib_ref): New function.
5661 (fib): Correct corner cases in the recursion.
5662 (main): Replace the non-simd loop with fib_ref call.
5663 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5664 subroutine.
5665 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5666 for the last array element value. Replace the non-simd loop with
5667 fib_ref call. Remove redundant b_ref array. Remove the comparison
5668 of the last array element with according Fibonacci sequence element.
5669 (fib): Correct corner cases in the recursion.
5670
22be2349
NS
56712015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5672
5673 * target.c (gomp_offload_image_to_device): Rename to ...
5674 (gomp_load_image_to_device): ... here.
5675 (GOMP_offload_register): Adjust call.
5676 (gomp_init_device): Likewise.
5677 (gomp_unload_image_from_device): New. Broken out of ...
5678 (GOMP_offload_unregister): ... here. Call it.
5679 (gomp_unload_device): New.
5680 * libgomp.h (gomp_unload_device): Declare.
5681 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5682 mem maps.
5683
f3e9a059
NS
56842015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5685
a091118d
NS
5686 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5687 wait=-specific if.
5688 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5689 !=0 condition.
5690 (goacc_waits): Move !num_waits handling to ...
5691 (GOACC_wait): ... here, the only caller that might have zero waits.
5692
f3e9a059
NS
5693 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5694 (struct ptx_image_data): Move earlier, add fns field.
5695 (struct ptx_device): Add images and image_lock fields.
5696 (ptx_images, ptx_image_lock): Delete.
5697 (nvptx_open_device): Initialize images and image_lock fields.
5698 (nvptx_close_device): Destroy image_lock.
5699 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5700 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5701 fields.
5702
afb2d80b
NS
57032015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5704
896c28a7
NS
5705 * target.c (GOMP_offload_register): Use int for device type arg.
5706 (GOMP_offload_unregister): Likewise.
5707
ebe4a560
NS
5708 * target.c (struct_offload_image_descr): Constify host_table.
5709 (gomp_offload_image_to_device): Likewise.
5710 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5711
afb2d80b
NS
5712 * libgomp.h (gomp_device_descr): Constify target data arguments.
5713 * target.c (struct offload_image_descr): Constify target_data.
5714 (gomp_offload_image_to_device): Likewise.
5715 (GOMP_offload_register): Likewise.
5716 (GOMP_offload_unrefister): Likewise.
5717 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5718 GOMP_OFFLOAD_unload_image): Constify target data.
5719 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5720 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5721
a4cb876d
NS
57222015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5723
5724 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5725 Workaround driver library const error.
5726 (struct nvptx_tdata, nvptx_tdata_t): New.
5727 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5728 type.
5729
28ef6a27
MB
57302015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5731
5732 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5733 of EPS parameter from integer to real.
5734 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5735 type of EPS parameter from integer to real.
5736
6dba0113
SH
57372015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5738
5739 * team.c (get_last_team): New.
5740 (gomp_new_team): Recycle last non-nested team if possible.
5741 (gomp_team_end): Move team work share list free lock destruction
5742 to ...
5743 (free_team): ... here.
5744
4c1cb4da
MB
57452015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5746
5747 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5748 and ref from int to double. Replaced their comparison with
5749 an inequality of their difference and EPS.
5750 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5751 comparison of pri and a reference number with an inequality of their
5752 difference and EPS.
5753 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5754 the comparison of sum and sum_ref with an inequality of their
5755 difference and EPS.
5756 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5757 the comparison of pri and a reference number with an inequality of
5758 their difference and EPS.
5759
343587dc
MB
57602015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5761
5762 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5763 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5764 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5765 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5766 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5767 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5768 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5769 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5770 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5771 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5772 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5773 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5774 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5775 variables.
5776 (vec_mult): Likewise. Add #pragma omp taskwait.
5777 (main): Adjust caller.
5778 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5779 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5780 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5781 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5782 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5783 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5784 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5785 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5786 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5787 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5788 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5789 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5790 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5791 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5792 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5793 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5794 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5795 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5796 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5797 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5798 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5799 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5800 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5801 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5802 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5803 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5804 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5805 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5806 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5807 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5808 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5809 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5810 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5811 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5812 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5813 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5814 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5815 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5816 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5817 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5818 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5819 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5820 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5821 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5822 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5823 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5824 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5825 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5826 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5827 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5828 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5829 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5830 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5831 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5832 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5833 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5834 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5835 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5836 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5837 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5838 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5839 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5840 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5841 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5842 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5843 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5844 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5845 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5846 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5847 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5848 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5849 (vec_mult): Add !$omp taskwait.
5850 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5851 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5852 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5853 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5854 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5855 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5856 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5857 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5858 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5859 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5860 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5861 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5862 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5863 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5864 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5865 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5866 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5867 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5868 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5869 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5870 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5871 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5872 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5873 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5874 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5875 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5876 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5877 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5878 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5879 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5880 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5881 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5882 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5883 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5884 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5885 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5886 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5887 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5888 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5889 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5890 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5891 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5892 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5893 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5894 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5895 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5896 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5897 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5898 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5899 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5900 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5901 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5902 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5903 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5904 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5905 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5906 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5907 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5908 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5909 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5910 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5911 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5912 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5913 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5914 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5915 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5916 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5917
9f620bf1
TV
59182015-07-10 Tom de Vries <tom@codesourcery.com>
5919
5920 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5921 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5922
a92defda
TS
59232015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5924
5925 PR libgomp/65099
5926 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5927 in a 64-bit configuration.
5928 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5929 offloading testing if no such device is available.
5930 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5931 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5932
cadb53a5
TV
59332015-07-08 Tom de Vries <tom@codesourcery.com>
5934
5935 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5936 second call to f.
5937 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5938
712cb0bb
TV
59392015-07-07 Tom de Vries <tom@codesourcery.com>
5940
5941 PR tree-optimization/66642
5942 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5943 iteration count case.
5944 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5945 function, factor out of ...
5946 (main): ... here. Test low iteration count case.
5947
e5210c77
SH
59482015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5949
5950 * libgomp.h (gomp_thread_pool): Comment last_team field.
5951
f70360e7
UB
59522015-07-02 Uros Bizjak <ubizjak@gmail.com>
5953
5954 * testsuite/libgomp.c++/pr66702-1.C: Require
5955 vect_simd_clones effective target.
5956 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5957
b451c271
TV
59582015-06-30 Tom de Vries <tom@codesourcery.com>
5959
5960 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5961 already set. Use DEFAULT_CFLAGS in dg-runtest.
5962 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5963 "-O2".
5964
f8e89d9f
TV
59652015-06-30 Tom de Vries <tom@codesourcery.com>
5966
5967 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5968 already set. Use DEFAULT_CFLAGS in dg-runtest.
5969 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5970 * testsuite/libgomp.c++/pr64824.C: Same.
5971 * testsuite/libgomp.c++/pr64868.C: Same.
5972 * testsuite/libgomp.c++/pr66199-1.C: Same.
5973 * testsuite/libgomp.c++/pr66199-2.C: Same.
5974 * testsuite/libgomp.c++/target-2.C: Same.
5975 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5976 -std=<standard> option.
5977 * testsuite/libgomp.c++/udr-11.C: Same.
5978 * testsuite/libgomp.c++/udr-12.C: Same.
5979 * testsuite/libgomp.c++/udr-13.C: Same.
5980 * testsuite/libgomp.c++/udr-14.C: Same.
5981 * testsuite/libgomp.c++/udr-15.C: Same.
5982 * testsuite/libgomp.c++/udr-16.C: Same.
5983 * testsuite/libgomp.c++/udr-17.C: Same.
5984 * testsuite/libgomp.c++/udr-18.C: Same.
5985 * testsuite/libgomp.c++/udr-19.C: Same.
5986 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5987 * testsuite/libgomp.c++/simd-1.C: Same.
5988 * testsuite/libgomp.c++/simd-2.C: Same.
5989 * testsuite/libgomp.c++/simd-3.C: Same.
5990 * testsuite/libgomp.c++/simd-4.C: Same.
5991 * testsuite/libgomp.c++/simd-5.C: Same.
5992 * testsuite/libgomp.c++/simd-6.C: Same.
5993 * testsuite/libgomp.c++/simd-7.C: Same.
5994 * testsuite/libgomp.c++/simd-8.C: Same.
5995 * testsuite/libgomp.c++/simd-9.C: Same.
5996 * testsuite/libgomp.c++/simd10.C: Same.
5997 * testsuite/libgomp.c++/simd11.C: Same.
5998 * testsuite/libgomp.c++/simd12.C: Same.
5999 * testsuite/libgomp.c++/simd13.C: Same.
6000
3446fe48
JJ
60012015-06-30 Jakub Jelinek <jakub@redhat.com>
6002
6003 PR middle-end/66702
6004 * testsuite/libgomp.c++/pr66702-1.C: New test.
6005 * testsuite/libgomp.c++/pr66702-2.C: New test.
6006
8a36714a
TV
60072015-06-30 Tom de Vries <tom@codesourcery.com>
6008
6009 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6010 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6011 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6012 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6013
4f75d608
TV
60142015-06-30 Tom de Vries <tom@codesourcery.com>
6015
6016 PR tree-optimization/66652
6017 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6018 using restrict pointers.
6019 (main): Add arguments to calls to f.
6020 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6021
6d9d1eeb
AT
60222015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6023
6024 * configure.ac: Fix check for header <sys/sysctl.h>.
6025 * configure: Regenerate.
6026 * config.h.in: Likewise.
6027
1222f22b
TV
60282015-06-23 Tom de Vries <tom@codesourcery.com>
6029
6030 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6031 abort.
6032 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6033
d7efbbf6
TS
60342015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6035
bfcd036f
TS
6036 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6037 acc_device_nvidia.
6038
d7efbbf6
TS
6039 PR libgomp/66518
6040 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6041 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6042
d7bfc710
TV
60432015-06-15 Tom de Vries <tom@codesourcery.com>
6044
6045 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6046 dg-additional-options for any remaining options.
6047 * testsuite/libgomp.c/atomic-2.c: Same.
6048 * testsuite/libgomp.c/atomic-4.c: Same.
6049 * testsuite/libgomp.c/atomic-5.c: Same.
6050 * testsuite/libgomp.c/atomic-6.c: Same.
6051 * testsuite/libgomp.c/autopar-1.c: Same.
6052 * testsuite/libgomp.c/copyin-1.c: Same.
6053 * testsuite/libgomp.c/copyin-2.c: Same.
6054 * testsuite/libgomp.c/copyin-3.c: Same.
6055 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6056 * testsuite/libgomp.c/nestedfn-5.c: Same.
6057 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6058 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6059 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6060 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6061 * testsuite/libgomp.c/pr32362-1.c: Same.
6062 * testsuite/libgomp.c/pr32362-2.c: Same.
6063 * testsuite/libgomp.c/pr32362-3.c: Same.
6064 * testsuite/libgomp.c/pr39591-1.c: Same.
6065 * testsuite/libgomp.c/pr39591-2.c: Same.
6066 * testsuite/libgomp.c/pr39591-3.c: Same.
6067 * testsuite/libgomp.c/pr58392.c: Same.
6068 * testsuite/libgomp.c/pr58756.c: Same.
6069 * testsuite/libgomp.c/simd-1.c: Same.
6070 * testsuite/libgomp.c/simd-10.c: Same.
6071 * testsuite/libgomp.c/simd-11.c: Same.
6072 * testsuite/libgomp.c/simd-12.c: Same.
6073 * testsuite/libgomp.c/simd-13.c: Same.
6074 * testsuite/libgomp.c/simd-14.c: Same.
6075 * testsuite/libgomp.c/simd-15.c: Same.
6076 * testsuite/libgomp.c/simd-2.c: Same.
6077 * testsuite/libgomp.c/simd-3.c: Same.
6078 * testsuite/libgomp.c/simd-4.c: Same.
6079 * testsuite/libgomp.c/simd-5.c: Same.
6080 * testsuite/libgomp.c/simd-6.c: Same.
6081 * testsuite/libgomp.c/simd-7.c: Same.
6082 * testsuite/libgomp.c/simd-8.c: Same.
6083 * testsuite/libgomp.c/simd-9.c: Same.
6084
fb5b5352
TV
60852015-06-15 Tom de Vries <tom@codesourcery.com>
6086
6087 * testsuite/libgomp.c/pr35625.c: Fix typo.
6088
ca431bef
TV
60892015-06-15 Tom de Vries <tom@codesourcery.com>
6090
6091 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6092 in dg-options.
6093 * testsuite/libgomp.c/atomic-3.c: Same.
6094 * testsuite/libgomp.c/debug-1.c: Same.
6095 * testsuite/libgomp.c/nqueens-1.c: Same.
6096 * testsuite/libgomp.c/pr26171.c: Same.
6097 * testsuite/libgomp.c/pr48591.c: Same.
6098 * testsuite/libgomp.c/pr64824.c: Same.
6099 * testsuite/libgomp.c/pr64868.c: Same.
6100 * testsuite/libgomp.c/pr66133.c: Same.
6101 * testsuite/libgomp.c/pr66199-1.c: Same.
6102 * testsuite/libgomp.c/pr66199-2.c: Same.
6103 * testsuite/libgomp.c/target-8.c: Same.
6104
0d8a9e20
TV
61052015-06-15 Tom de Vries <tom@codesourcery.com>
6106
6107 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6108 -std={gnu99,c99}.
6109 * testsuite/libgomp.c/for-1.c: Same.
6110 * testsuite/libgomp.c/for-2.c: Same.
6111 * testsuite/libgomp.c/for-3.c: Same.
6112 * testsuite/libgomp.c/pr35625.c: Same.
6113 * testsuite/libgomp.c/pr39154.c: Same.
6114 * testsuite/libgomp.c/simd-16.c: Same.
6115 * testsuite/libgomp.c/simd-17.c: Same.
6116
a6860be9
TV
61172015-06-13 Tom de Vries <tom@codesourcery.com>
6118
6119 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6120
ab3306d2
TV
61212015-06-13 Tom de Vries <tom@codesourcery.com>
6122
6123 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6124 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6125 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6126 (N): Define.
6127 (main): Use N instead of hardcoded constants.
6128
7c82d827
TV
61292015-06-05 Tom de Vries <tom@codesourcery.com>
6130
6131 merge from gomp4 branch:
6132 2015-05-28 Tom de Vries <tom@codesourcery.com>
6133
6134 PR tree-optimization/65443
6135 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6136 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6137 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6138
c469078d
BRF
61392015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6140
6141 * testsuite/libgomp.graphite/bounds.c: Adjust for
6142 cleanup-tree-dump removal.
6143 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6144 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6145 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6146 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6147 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6148 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6149 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6150 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6151 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6152 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6153
bb3caa35
UB
61542015-05-28 Uros Bizjak <ubizjak@gmail.com>
6155
6156 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6157 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6158 (futex_wake) [!__x86_64__]: Ditto.
6159
9fb5fd44
JB
61602015-05-28 Julian Brown <julian@codesourcery.com>
6161
6162 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6163 function comment. Only call gomp_fatal if new argument is true.
6164 (acc_dev_num_out_of_range): New function.
6165 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6166 acc_dev_num_out_of_range as appropriate.
6167 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6168 (acc_get_device_num, acc_set_device_num): Update calls to
6169 resolve_device.
9fb5fd44
JB
6170 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6171 output.
6172
32eaed93
JB
61732015-05-28 Julian Brown <julian@codesourcery.com>
6174
6175 PR libgomp/65742
32eaed93
JB
6176 * oacc-init.c (plugin/plugin-host.h): Include.
6177 (acc_on_device): Check whether we're in an offloaded region for
6178 host_nonshm
6179 plugin. Don't use __builtin_acc_on_device.
6180 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6181 nonshm_exec flag in thread-local data.
6182 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6183 data for host_nonshm plugin.
6184 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6185 for host_nonshm plugin.
6186 * plugin/plugin-host.h: New.
6187
ea023bcf
UB
61882015-05-27 Uros Bizjak <ubizjak@gmail.com>
6189
8ed501f1
UB
6190 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6191
61922015-05-27 Uros Bizjak <ubizjak@gmail.com>
6193
6194 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6195 Declare as int.
6196 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6197 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6198 Declare as int.
6199
62002015-05-27 Uros Bizjak <ubizjak@gmail.com>
6201
bb3caa35 6202 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6203
1716efeb
CLT
62042015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6205
6206 * target.c (gomp_map_pointer): New function abstracting out
6207 GOMP_MAP_POINTER handling.
6208 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6209 gomp_map_pointer().
6210
41b37d5e
JJ
62112015-05-19 Jakub Jelinek <jakub@redhat.com>
6212
6213 PR middle-end/66199
6214 * testsuite/libgomp.c/pr66199-1.c: New test.
6215 * testsuite/libgomp.c/pr66199-2.c: New test.
6216 * testsuite/libgomp.c++/pr66199-1.C: New test.
6217 * testsuite/libgomp.c++/pr66199-2.C: New test.
6218 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6219 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6220
c8319826
JB
62212015-05-19 Julian Brown <julian@codesourcery.com>
6222
6223 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6224 on cuInit failure.
6225
b37dddbc
JJ
62262015-05-13 Jakub Jelinek <jakub@redhat.com>
6227
6228 PR middle-end/66133
6229 * testsuite/libgomp.c/pr66133.c: New test.
6230
55fba601
MH
62312015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6232
6233 * Makefile.in: Regenerated with automake-1.11.6.
6234 * aclocal.m4: Likewise.
6235 * config.h.in: Likewise.
6236 * configure: Likewise.
6237 * testsuite/Makefile.in: Likewise.
6238
1be0899d
JM
62392015-05-08 Jason Merrill <jason@redhat.com>
6240
6241 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6242 _Complex.
6243
6244 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6245
d2463960
JB
62462015-05-06 Julian Brown <julian@codesourcery.com>
6247
6248 * oacc-init.c (acc_device_lock): Add explanatory comment.
6249 (resolve_device): Add comment about locking requirement.
6250 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6251 gomp_init_device and gomp_fini_device calls.
6252 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6253 (acc_get_device_num, acc_set_device_num): Add locking around
6254 resolve_device and gomp_init_device calls.
6255
e38fdba4
JB
62562015-05-06 Julian Brown <julian@codesourcery.com>
6257
6258 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6259 goacc_thread_lock on error paths.
6260 * oacc-mem.c (lookup_host): Remove locking from function. Note
6261 locking requirement for caller in function comment.
6262 (lookup_dev): Likewise.
6263 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6264 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6265 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6266 Add locking.
6267
ae8ffbbb
TS
62682015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6269
6270 PR testsuite/65205
6271 PR libgomp/65993
6272 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6273 don't expect "0x" prefix for "%p" format specifier, don't expect
6274 "(nil)" for NULL pointer.
6275 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6276 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6278 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6280 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6282 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6283 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6284 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6285 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6286 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6287 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6288 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6289 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6290 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6291 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6292 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6293 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6294 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6295 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6296 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6297 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6298 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6299 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6300 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6301 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6302 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6303 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6304 accurately specify what we're looking for.
6305 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6306 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6307 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6308 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6309 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6310
1309f1d2
JN
63112015-04-30 James Norris <jnorris@codesourcery.com>
6312
6313 PR testsuite/65205
6314 * testsuite/lib/libgomp.exp
6315 (check_effective_target_openacc_host_selected)
6316 (check_effective_target_openacc_host_nonshm_selected): New
6317 procedures.
6318 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6319 dg-shouldfail.
6320 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6321 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6322 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6323 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6324 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6325 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6326 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6327 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6328 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6329 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6330 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6331 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6332 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6333 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6334 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6335 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6336 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6337 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6338 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6339 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6340 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6341 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6342 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6343 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6344 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6346 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6347 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6348 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6350 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6351 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6352 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6353 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6354 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6355 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6356 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6357 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6358 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6359 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6360 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6361 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6362 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6363
d93bdab5
JB
63642015-04-08 Julian Brown <julian@codesourcery.com>
6365
6366 * libgomp.h (target_mem_desc: Remove mem_map field.
6367 (acc_dispatch_t): Remove open_device_func, close_device_func,
6368 get_device_num_func, set_device_num_func, target_data members.
6369 Change create_thread_data_func argument to device number instead of
6370 generic pointer.
6371 * oacc-async.c (assert.h): Include.
6372 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6373 (acc_wait_all, acc_wait_all_async): Use current host thread's
6374 active device, not base_dev.
6375 * oacc-cuda.c (acc_get_current_cuda_device)
6376 (acc_get_current_cuda_context, acc_get_cuda_stream)
6377 (acc_set_cuda_stream): Likewise.
6378 * oacc-host.c (host_dispatch): Don't set open_device_func,
6379 close_device_func, get_device_num_func or set_device_num_func.
6380 * oacc-init.c (base_dev, init_key): Remove.
6381 (cached_base_dev): New.
6382 (name_of_acc_device_t): New.
6383 (acc_init_1): Initialise default-numbered device, not zeroth.
6384 (acc_shutdown_1): Close all devices of a given type.
6385 (goacc_destroy_thread): Don't use base_dev.
6386 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6387 (goacc_attach_host_thread_to_device): New.
6388 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6389 (acc_get_num_devices): Don't use base_dev.
6390 (acc_set_device_type): Reimplement.
6391 (acc_get_device_type): Don't use base_dev.
6392 (acc_get_device_num): Tweak logic.
6393 (acc_set_device_num): Likewise.
6394 (acc_on_device): Use acc_get_device_type.
6395 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6396 (goacc_lazy_initialize): Reimplement with acc_init and
6397 goacc_attach_host_thread_to_device.
6398 * oacc-int.h (goacc_thread): Add base_dev field.
6399 (base_dev): Remove extern declaration.
6400 (goacc_attach_host_thread_to_device): Add prototype.
6401 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6402 base_dev.
6403 (acc_free): Likewise.
6404 (acc_memcpy_to_device): Likewise.
6405 (acc_memcpy_from_device): Likewise.
6406 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6407 goacc_lazy_initialize (throughout).
6408 (GOACC_parallel): Use tgt_offset to locate target functions.
6409 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6410 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6411 (gomp_load_plugin_for_device): Remove open_device, close_device,
6412 get_device_num, set_device_num openacc hook initialisation. Don't set
6413 openacc.target_data.
6414 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6415 (GOMP_OFFLOAD_openacc_close_device)
6416 (GOMP_OFFLOAD_openacc_get_device_num)
6417 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6418 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6419 to int.
6420 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6421 (instantiated_devices, ptx_dev_lock): New.
6422 (struct ptx_image_data): New.
6423 (ptx_devices, ptx_images, ptx_image_lock): New.
6424 (fini_streams_for_device): Reorder cuStreamDestroy call.
6425 (nvptx_get_num_devices): Remove forward declaration.
6426 (nvptx_init): Change return type to bool.
6427 (nvptx_fini): Remove.
6428 (nvptx_attach_host_thread_to_device): New.
6429 (nvptx_open_device): Return struct ptx_device* instead of void*.
6430 (nvptx_close_device): Change argument type to struct ptx_device*,
6431 return type to void.
6432 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6433 (kernel_target_data, kernel_host_table): Remove static globals.
6434 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6435 (GOMP_OFFLOAD_init_device): Reimplement.
6436 (GOMP_OFFLOAD_fini_device): Likewise.
6437 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6438 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6439 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6440 (GOMP_OFFLOAD_openacc_open_device)
6441 (GOMP_OFFLOAD_openacc_close_device)
6442 (GOMP_OFFLOAD_openacc_set_device_num)
6443 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6444 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6445 (device number).
6446
6447 testsuite/
6448 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6449
a51df54e
IV
64502015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6451
6452 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6453 * libgomp.h (struct gomp_memory_mapping): Remove.
6454 (struct target_mem_desc): Change type of mem_map from
6455 gomp_memory_mapping * to splay_tree_s *.
6456 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6457 Add load_image_func, unload_image_func.
6458 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6459 Remove offload_regions_registered.
6460 (gomp_init_tables): Remove.
6461 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6462 to splay_tree_s *.
6463 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6464 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6465 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6466 offload_regions_registered.
6467 Initialize load_image_func, unload_image_func, mem_map.root.
6468 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6469 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6470 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6471 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6472 gomp_memory_mapping *. Use dev's lock and splay_tree.
6473 (lookup_dev): Use dev's lock.
6474 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6475 (acc_is_present): Likewise.
6476 (acc_map_data): Likewise.
6477 (acc_unmap_data): Likewise. Use dev's lock.
6478 (present_create_copy): Likewise.
6479 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6480 (update_dev_host): Likewise.
6481 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6482 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6483 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6484 (GOMP_OFFLOAD_get_table): Remove
6485 (GOMP_OFFLOAD_load_image): New function.
6486 (GOMP_OFFLOAD_unload_image): New function.
6487 * target.c (register_lock): New mutex for offload image registration.
6488 (num_devices): Do not guard with PLUGIN_SUPPORT.
6489 (gomp_realloc_unlock): New static function.
6490 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6491 before gomp_fatal.
6492 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6493 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6494 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6495 mem_map's.
6496 (gomp_unmap_vars): Likewise.
6497 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6498 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6499 (gomp_offload_image_to_device): New static function.
6500 (GOMP_offload_register): Add mutex lock.
6501 Call gomp_offload_image_to_device for all initialized devices.
6502 Replace gomp_realloc with gomp_realloc_unlock.
6503 (GOMP_offload_unregister): New function.
6504 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6505 get_table_func from the plugin with calls to init_device_func and
6506 gomp_offload_image_to_device.
6507 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6508 to splay_tree_s *.
6509 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6510 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6511 (GOMP_target_data): Do not call gomp_init_tables.
6512 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6513 (gomp_load_plugin_for_device): Replace register_image and get_table
6514 with load_image and unload_image in DLSYM ().
6515 (gomp_register_images_for_device): Remove function.
6516 (gomp_target_init): Do not initialize current_device.mem_map.*,
6517 current_device.offload_regions_registered.
6518 Remove call to gomp_register_images_for_device.
6519 Do not free offload_images and num_offload_images.
6520
6c384511
JJ
65212015-03-30 Jakub Jelinek <jakub@redhat.com>
6522
6523 PR fortran/65597
6524 * testsuite/libgomp.fortran/pr65597.f90: New test.
6525
3e8165a5
TV
65262015-03-27 Tom de Vries <tom@codesourcery.com>
6527
6528 PR testsuite/65594
6529 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6530 (init, check): New function.
6531 (foo): Change return type to void.
6532 (main): Call init and check.
6533
4d688c9a
TV
65342015-03-27 Tom de Vries <tom@codesourcery.com>
6535
6536 PR testsuite/65594
6537 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6538 (foo): Use M for non-inner loops to scale down test-case.
6539
01c0b3b0
KT
65402015-03-25 Kai Tietz <ktietz@redhat.com>
6541
6542 PR libgomp/64972
6543 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6544 (GOACC_data_start): Likewise.
6545 * target.c (gomp_map_vars): Likewise.
6546
844d9a76
JDA
65472015-03-21 John David Anglin <danglin@gcc.gnu.org>
6548
6549 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6550 hppa*-*-hpux*.
6551
9b65e171
JJ
65522015-03-19 Jakub Jelinek <jakub@redhat.com>
6553
6554 * testsuite/libgomp.c/target-10.c: New test.
6555 * testsuite/libgomp.c++/target-4.C: New test.
6556
db397e2e
IV
65572015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6558
6559 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6560 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6561
cd93945d
SH
65622015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6563
6564 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6565 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6566 (pthread.h): Check for this header file.
6567 * configure: Regenerate.
6568
05deba9f
TV
65692015-02-25 Tom de Vries <tom@codesourcery.com>
6570
6571 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6572 (check_reduction_op, check_reduction_macro, max, min):
6573 Declare.
6574 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6575 function.
6576 (main): Use new functions.
6577
196904d8
IT
65782015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6579
6580 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6581 char * for variables holding dlerror return values.
6582 (DLSYM_OPT): Ditto.
6583
a2818955
TS
65842015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6585
6586 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6587
26f93312
TS
65882015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6589 Cesar Philippidis <cesar@codesourcery.com>
6590
6591 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6592 GOACC_ctaid, and GOACC_nctaid routines.
6593
fa01ffcc
JJ
65942015-02-11 Jakub Jelinek <jakub@redhat.com>
6595
6596 PR c/64824
6597 * testsuite/libgomp.c/atomic-18.c: New test.
6598 * testsuite/libgomp.c++/atomic-16.C: New test.
6599
4886ec8e
JJ
66002015-02-04 Jakub Jelinek <jakub@redhat.com>
6601
6602 PR c/64824
6603 PR c/64868
6604 * testsuite/libgomp.c/pr64824.c: New test.
6605 * testsuite/libgomp.c/pr64868.c: New test.
6606 * testsuite/libgomp.c++/pr64824.C: New test.
6607 * testsuite/libgomp.c++/pr64868.C: New test.
6608
02d3e45e
DE
66092015-02-01 David Edelsohn <dje.gcc@gmail.com>
6610
6611 PR libgomp/64635
6612 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6613 Link with -lpthread.
6614 * config/aix/plugin-suffix.h: Delete.
6615
b5f7a6ca
JH
66162015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6617
6618 PR libgomp/64635
6619 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6620 (*-*-darwin*): Use config_path "bsd darwin posix".
6621 (*-*-hpux*): Use config_path "hpux posix".
6622 * target.c: Add include of plugin-suffix.h and use
6623 SONAME_SUFFIX macro.
6624 * config/aix/plugin-suffix.h: New file.
6625 * config/darwin/plugin-suffix.h: New file.
6626 * config/hpux/plugin-suffix.h: New file.
6627 * config/posix/plugin-suffix.h: New file.
6628
b8910447
JJ
66292015-01-23 Jakub Jelinek <jakub@redhat.com>
6630
6631 PR middle-end/64734
6632 * libgomp.c/pr64734.c: New test.
6633
a0c88d06
TV
66342015-01-23 Tom de Vries <tom@codesourcery.com>
6635
6636 PR libgomp/64672
6637 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6638
1506ae0e
TV
66392015-01-23 Tom de Vries <tom@codesourcery.com>
6640
6641 PR libgomp/64707
6642 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6643 dg-options.
6644
128b26dc
TS
66452015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6646
bed62c21 6647 PR libgomp/64625
128b26dc
TS
6648 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6649 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6650 formal parameter. Update all users.
6651 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6652 Document unused formal parameter.
6653
6e36114c
TS
66542015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6655
6656 * oacc-parallel.c: Don't include <alloca.h>.
6657 (GOACC_parallel): Use gomp_alloca instead of alloca.
6658
973e9808
GP
66592015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6660
6661 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6662
41dbbb37
TS
66632015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6664 James Norris <jnorris@codesourcery.com>
6665 Tom de Vries <tom@codesourcery.com>
6666 Julian Brown <julian@codesourcery.com>
6667 Cesar Philippidis <cesar@codesourcery.com>
6668 Nathan Sidwell <nathan@codesourcery.com>
6669 Tobias Burnus <burnus@net-b.de>
6670
6671 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6672 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6673 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6674 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6675 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6676 Include $(top_srcdir)/plugin/Makefrag.am.
6677 (nodist_libsubinclude_HEADERS): Add openacc.h.
6678 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6679 openacc.f90, openacc.mod, openacc_kinds.mod.
6680 (omp_lib.mod): Generalize into...
6681 (%.mod): ... this new rule.
6682 (openacc_kinds.mod, openacc.mod): New rules.
6683 * plugin/configfrag.ac: New file.
6684 * configure.ac: Move plugin/offloading support into it. Include
6685 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6686 * plugin/Makefrag.am: New file.
6687 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6688 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6689 export.
6690 (libgomp-test-support.exp): New rule.
6691 (all-local): Depend on it.
6692 * Makefile.in: Regenerate.
6693 * testsuite/Makefile.in: Regenerate.
6694 * config.h.in: Likewise.
6695 * configure: Likewise.
6696 * configure.tgt: Harden shell syntax.
6697 * env.c: Include "oacc-int.h".
6698 (parse_acc_device_type): New function.
6699 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6700 variables.
6701 (initialize_env): Initialize those. Call
6702 goacc_runtime_initialize.
6703 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6704 (gomp_fatal): Call gomp_vfatal.
6705 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6706 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6707 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6708 (splay_tree_node, splay_tree, splay_tree_key)
6709 (struct target_mem_desc, struct splay_tree_key_s)
6710 (struct gomp_memory_mapping, struct acc_dispatch_t)
6711 (struct gomp_device_descr, gomp_acc_insert_pointer)
6712 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6713 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6714 (gomp_free_memmap, gomp_fini_device): New declarations.
6715 (gomp_vdebug, gomp_debug): New macros.
6716 Include "splay-tree.h".
6717 * libgomp.map (OACC_2.0): New symbol version. Use for
6718 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6719 acc_set_device_type_h_, acc_get_device_type,
6720 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6721 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6722 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6723 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6724 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6725 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6726 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6727 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6728 acc_copyin_array_h_, acc_present_or_copyin,
6729 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6730 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6731 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6732 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6733 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6734 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6735 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6736 acc_update_device, acc_update_device_32_h_,
6737 acc_update_device_64_h_, acc_update_device_array_h_,
6738 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6739 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6740 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6741 acc_is_present_64_h_, acc_is_present_array_h_,
6742 acc_memcpy_to_device, acc_memcpy_from_device,
6743 acc_get_current_cuda_device, acc_get_current_cuda_context,
6744 acc_get_cuda_stream, acc_set_cuda_stream.
6745 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6746 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6747 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6748 GOACC_get_num_threads.
6749 (GOMP_PLUGIN_1.0): New symbol version. Use for
6750 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6751 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6752 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6753 GOMP_PLUGIN_acc_thread.
6754 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6755 environment variable.
6756 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6757 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6758 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6759 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6760 (splay_tree_remove): New declarations.
6761 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6762 (splay_tree_remove, splay_tree_lookup): Move into...
6763 * splay-tree.c: ... this new file.
6764 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6765 (splay_tree_node, splay_tree, splay_tree_key)
6766 (struct target_mem_desc, struct splay_tree_key_s)
6767 (struct gomp_device_descr): Don't declare.
6768 (num_devices_openmp): New variable.
6769 (gomp_get_num_devices ): Use it.
6770 (gomp_init_targets_once): New function.
6771 (gomp_get_num_devices ): Use it.
6772 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6773 (gomp_fini_device, gomp_register_image_for_device): New functions.
6774 (gomp_map_vars): Add devaddrs parameter.
6775 (gomp_update): Add mm parameter.
6776 (gomp_init_device): Move most of it into...
6777 (gomp_init_tables): ... this new function.
6778 (gomp_register_images_for_device): Remove function.
6779 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6780 Make them hidden instead of static.
6781 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6782 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6783 (GOMP_target_end_data, GOMP_target_update)
6784 (gomp_load_plugin_for_device, gomp_target_init): Update for
6785 OpenACC changes.
6786 * oacc-async.c: New file.
6787 * oacc-cuda.c: Likewise.
6788 * oacc-host.c: Likewise.
6789 * oacc-init.c: Likewise.
6790 * oacc-int.h: Likewise.
6791 * oacc-mem.c: Likewise.
6792 * oacc-parallel.c: Likewise.
6793 * oacc-plugin.c: Likewise.
6794 * oacc-plugin.h: Likewise.
6795 * oacc-ptx.h: Likewise.
6796 * openacc.f90: Likewise.
6797 * openacc.h: Likewise.
6798 * openacc_lib.h: Likewise.
6799 * plugin/plugin-host.c: Likewise.
6800 * plugin/plugin-nvptx.c: Likewise.
6801 * libgomp-plugin.c: Likewise.
6802 * libgomp-plugin.h: Likewise.
6803 * libgomp_target.h: Remove file after merging content into the
6804 former file. Update all users.
6805 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6806 (offload_targets_s, offload_targets_s_openacc): New variables.
6807 (check_effective_target_openacc_nvidia_accel_present)
6808 (check_effective_target_openacc_nvidia_accel_selected): New
6809 procedures.
6810 (libgomp_init): Update for OpenACC changes.
6811 * testsuite/libgomp-test-support.exp.in: New file.
6812 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6813 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6814 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6818 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6820 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6829 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6831 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6852 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6857 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6858 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6859 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6862 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6863 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6864 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6865 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6866 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6867 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6868 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6869 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6870 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6871 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6872 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6873 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6874 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6875 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6876 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6877 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6878 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6879 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6880 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6881 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6882 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6883 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6884 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6885 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6886 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6887 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6888 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6889 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6890 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6891 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6892 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6893 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6894 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6895 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6896 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6897 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6898 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6899 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6900 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6901 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6902 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6903 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6904 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6905 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6906 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6907 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6908 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6909 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6910 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6911 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6912 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6913 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6914 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6915 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6916 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6917 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6918 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6919 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6920 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6921 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6922 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6923 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6924 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6925 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6926 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6927 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6928 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6929 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6930 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6931 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6932 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6933 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6934 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6935 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6936 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6937 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6938 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6939 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6940 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6941 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6942 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6943 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6944 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6945 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6946 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6947 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6948 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6949 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6950 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6951 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6952 Likewise.
6953 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6954 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6955 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6956 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6957 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6958 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6959 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6960 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6961 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6962 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6963 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6964 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6965 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6966 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6967 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6968 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6969 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6970 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6971 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6972 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6973 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6974 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6975 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6976 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6977 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6978 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6979 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6980 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6981 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6982 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6983 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6984 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6985 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6986 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6987 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6988 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6989 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6990 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6991 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6992 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6993 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6994 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6995 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6996 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6997 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6998 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6999 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7000 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7001 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7002 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7003 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7004 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7005 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7006 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7007 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7008 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7009 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7010 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7011 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7012 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7013
f1f3453e
TS
70142015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7015 Julian Brown <julian@codesourcery.com>
7016 David Malcolm <dmalcolm@redhat.com>
7017
7018 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7019 to "GNU Offloading and Multi Processing Runtime Library". Change
7020 all users.
7021 * configure: Regenerate.
7022 * libgomp.texi: Update.
7023
f9a0eca4
TS
70242015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7025
b335ef4e
TS
7026 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7027 "$tgt_dir/lib32".
7028 * configure: Regenerate.
7029
f9a0eca4
TS
7030 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7031 "intelmic" in $offload_targets.
7032
b67cd4e3
JJ
70332015-01-05 Jakub Jelinek <jakub@redhat.com>
7034
5624e564
JJ
7035 Update copyright years.
7036
b67cd4e3
JJ
7037 * libgomp.texi: Bump @copying's copyright year.
7038
3b41b583
KT
70392014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7040
7041 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7042 Move load of target-supportes.exp earlier.
7043
2354caec
IV
70442014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7045
7046 * testsuite/libgomp.c/target-9.c: New test.
7047
f50eecba
VR
70482014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7049
7050 * config.h.in: Regenerate.
7051 * configure: Regenerate.
7052 * configure.ac: Add GCC_CHECK_EMUTLS.
7053 * libgomp.h: Add check for USE_EMUTLS: this case
7054 is equal to HAVE_TLS.
7055 * team.c: Likewise.
7056
68bc9270
UB
70572014-12-03 Uros Bizjak <ubizjak@gmail.com>
7058
7059 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7060
476ff787
AT
70612014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7062 Ilya Verbin <ilya.verbin@intel.com>
7063
7064 * testsuite/libgomp.c/target-critical-1.c: New test.
7065
31a30e62
JJ
70662014-11-26 Jakub Jelinek <jakub@redhat.com>
7067
7068 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 7069 to dg-options unless expensive testing is on.
31a30e62
JJ
7070 (TESTITERS): Define to N if not defined.
7071 (main): Use TESTITERS instead of N.
7072 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7073 dg-additional-options depending on whether expensive testing is on.
7074 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7075 Decrease N to 100000 and CHUNKSZ to 10000.
7076
3f9e8f13
JJ
70772014-11-24 Jakub Jelinek <jakub@redhat.com>
7078
7079 PR fortran/63938
31a30e62
JJ
7080 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7081 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 7082
c8451a46
SE
70832014-11-21 Steve Ellcey <sellcey@imgtec.com>
7084
7085 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7086
a699d672
L
70872014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7088
7089 PR bootstrap/63784
7090 * configure: Regenerated.
7091
4a19f719
UB
70922014-11-19 Uros Bizjak <ubizjak@gmail.com>
7093
7094 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7095 vect_simd_clones effective target.
7096 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7097
b1bf6c52
JJ
70982014-11-14 Jakub Jelinek <jakub@redhat.com>
7099
7100 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7101 of 32 as block_size.
7102 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7103 instead of 32 as block_size.
7104
d64ae614
AT
71052014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7106 Ilya Verbin <ilya.verbin@intel.com>
7107
7108 * Makefile.in: Regenerate.
7109 * configure: Regenerate.
7110 * configure.ac: Set up offload_additional_options,
7111 offload_additional_lib_paths and offload_targets.
7112 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7113 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7114 * testsuite/Makefile.in: Regenerate.
7115 * testsuite/lib/libgomp.exp (libgomp_init): Append
7116 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7117 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7118 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7119
122d7303
AT
71202014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7121 Ilya Verbin <ilya.verbin@intel.com>
7122 Kirill Yukhin <kirill.yukhin@intel.com>
7123 Ilya Tocar <ilya.tocar@intel.com>
7124
7125 * testsuite/lib/libgomp.exp
7126 (check_effective_target_offload_device): New.
7127 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7128 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7129 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7130 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7131 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7132 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7133 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7134 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7135 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7136 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7137 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7138 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7139 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7140 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7141 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7142 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7143 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7144 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7145 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7146 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7147 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7148 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7149 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7150 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7151 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7152 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7153 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7154 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7155 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7156 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7157 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7158 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7159 * testsuite/libgomp.c/target-7.c: Fix test.
7160 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7161 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7162 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7163 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7164 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7165 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7166 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7167 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7168 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7169 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7170 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7171 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7172 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7173 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7174 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7175 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7176 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7177 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7178 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7179 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7180 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7181 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7182 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7183 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7184 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7185 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7186 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7187 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7188 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7189 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7190 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7191
1df3f842
JJ
71922014-11-13 Jakub Jelinek <jakub@redhat.com>
7193 Ilya Verbin <ilya.verbin@intel.com>
7194 Thomas Schwinge <thomas@codesourcery.com>
7195 Andrey Turetskiy <andrey.turetskiy@intel.com>
7196
7197 * libgomp.map (GOMP_4.0.1): New symbol version.
7198 Add GOMP_offload_register.
7199 * libgomp_target.h: New file.
7200 * splay-tree.h: New file.
7201 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7202 (gomp_target_init): New forward declaration.
7203 (gomp_is_initialized): New static variable.
7204 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7205 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7206 New structures.
7207 (offload_images, num_offload_images, devices, num_devices): New static
7208 variables.
7209 (splay_compare): New static function.
7210 (struct gomp_device_descr): New structure.
7211 (gomp_get_num_devices): Call gomp_target_init.
7212 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7213 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7214 (GOMP_offload_register): New function.
7215 (GOMP_target): Arrange for host callback to be performed in a separate
7216 initial thread and contention group, inheriting ICVs from
7217 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7218 Add device initialization and lookup for target function in splay tree.
7219 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7220 (GOMP_target_end_data): Call gomp_unmap_vars.
7221 (GOMP_target_update): Add device initialization and call gomp_update.
7222 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7223 (gomp_target_init): New static functions.
7224
85c64bbe
BS
72252014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7226 Thomas Schwinge <thomas@codesourcery.com>
7227 Ilya Verbin <ilya.verbin@intel.com>
7228 Andrey Turetskiy <andrey.turetskiy@intel.com>
7229
7230 * config.h.in: Regenerate.
7231 * configure: Regenerate.
7232 * configure.ac: Check for libdl, required for plugin support.
7233 (PLUGIN_SUPPORT): Define if plugins are supported.
7234 (enable_offload_targets): Support Intel MIC targets.
7235 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7236
ebf6d33b
FXC
72372014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7238
7239 PR target/63610
7240 * configure: Regenerate.
7241
8c768629
RO
72422014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7243
7244 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7245
c1d62412
MP
72462014-10-06 Marek Polacek <polacek@redhat.com>
7247
7248 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7249 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7250 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7251 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7252
44a0c6cb
MP
72532014-10-06 Marek Polacek <polacek@redhat.com>
7254
7255 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7256 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7257 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7258 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7259 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7260 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7261 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7262 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7263 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7264 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7265 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7266 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7267 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7268 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7269 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7270 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7271 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7272 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7273 declarations.
7274
5771c391
JJ
72752014-10-03 Jakub Jelinek <jakub@redhat.com>
7276
7277 PR libgomp/61200
7278 * testsuite/libgomp.c/pr61200.c: New test.
7279
bce16b88
JJ
72802014-09-18 Jakub Jelinek <jakub@redhat.com>
7281
7282 PR c++/63248
7283 * testsuite/libgomp.c++/pr63248.C: New test.
7284
3696163c
JJ
72852014-08-04 Jakub Jelinek <jakub@redhat.com>
7286
7287 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7288 is not zero, but taskgroup->children is NULL and there are
7289 any task->children, schedule those instead of waiting.
7290 * testsuite/libgomp.c/depend-6.c: New test.
7291 * testsuite/libgomp.c/depend-7.c: New test.
7292 * testsuite/libgomp.c/depend-8.c: New test.
7293 * testsuite/libgomp.c/depend-9.c: New test.
7294 * testsuite/libgomp.c/depend-10.c: New test.
7295
0494285a
JJ
72962014-08-01 Jakub Jelinek <jakub@redhat.com>
7297
7298 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7299 (struct gomp_taskwait): New type.
7300 (struct gomp_task): Add taskwait and parent_depends_on, remove
7301 in_taskwait and taskwait_sem fields.
7302 (gomp_finish_task): Don't destroy taskwait_sem.
7303 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7304 taskwait and parent_depends_on.
7305 (GOMP_task): For if (0) tasks with depend clause that depend on
7306 earlier tasks don't defer them, instead call
7307 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7308 Initialize redundant_out field, for redundant out entries just
7309 move them at the end of linked list instead of removing them
7310 completely, and set redundant_out flag instead of redundant.
7311 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7312 that task.
7313 (gomp_task_run_post_handle_dependers): If parent is in
7314 gomp_task_maybe_wait_for_dependencies and newly runnable task
7315 is not parent_depends_on, queue it in parent->children linked
7316 list after all runnable tasks with parent_depends_on set.
7317 Adjust for addition of taskwait indirection.
7318 (gomp_task_run_post_remove_parent): If parent is in
7319 gomp_task_maybe_wait_for_dependencies and task to be removed
7320 is parent_depends_on, decrement n_depend and if needed awake
7321 parent. Adjust for addition of taskwait indirection.
7322 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7323 (gomp_task_maybe_wait_for_dependencies): New function.
7324 * testsuite/libgomp.c/depend-5.c: New test.
7325
60ab4b44
TB
73262014-07-13 Tobias Burnus <burnus@net-b.de>
7327
7328 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7329 with TS 18508/Fortran 2015.
60ab4b44 7330
773ec47f
MP
73312014-07-06 Marek Polacek <polacek@redhat.com>
7332
7333 PR c/6940
7334 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7335
f707da16
JJ
73362014-07-03 Jakub Jelinek <jakub@redhat.com>
7337
7338 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7339 matches regex $lang_source_re, add $lang_include_flags to options.
7340 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7341 * testsuite/libgomp.c++/c++.exp: Likewise.
7342 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7343 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7344 ALWAYS_CFLAGS.
7345 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7346
07b6c044
TS
73472014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7348
7349 * testsuite/libgomp.fortran/fortran.exp: Explain
7350 gfortran-dg-runtest usage.
7351
da6f124d
JJ
73522014-06-25 Jakub Jelinek <jakub@redhat.com>
7353
7354 * testsuite/libgomp.fortran/simd5.f90: New test.
7355 * testsuite/libgomp.fortran/simd6.f90: New test.
7356 * testsuite/libgomp.fortran/simd7.f90: New test.
7357
b46ebd6c
JJ
73582014-06-24 Jakub Jelinek <jakub@redhat.com>
7359
56ad0e38
JJ
7360 * testsuite/libgomp.c/for-2.c: Define SC to static for
7361 #pragma omp for simd testing.
7362 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7363 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7364 SC macro.
7365 * testsuite/libgomp.c/simd-14.c: New test.
7366 * testsuite/libgomp.c/simd-15.c: New test.
7367 * testsuite/libgomp.c/simd-16.c: New test.
7368 * testsuite/libgomp.c/simd-17.c: New test.
7369 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7370 #pragma omp for simd testing.
7371 * testsuite/libgomp.c++/simd10.C: New test.
7372 * testsuite/libgomp.c++/simd11.C: New test.
7373 * testsuite/libgomp.c++/simd12.C: New test.
7374 * testsuite/libgomp.c++/simd13.C: New test.
7375
b46ebd6c
JJ
7376 * testsuite/libgomp.fortran/aligned1.f03: New test.
7377 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7378 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7379 tasks with !$omp parallel !$omp single.
7380 * testsuite/libgomp.fortran/target8.f90: New test.
7381 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7382 not to use trim in the combiner, instead call elemental function.
7383 (fn): New elemental function.
7384 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7385 Make elemental.
7386 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7387 omp_in): Likewise.
7388 * testsuite/libgomp.fortran/udr12.f90: New test.
7389 * testsuite/libgomp.fortran/udr13.f90: New test.
7390 * testsuite/libgomp.fortran/udr14.f90: New test.
7391 * testsuite/libgomp.fortran/udr15.f90: New test.
7392
f014c653
JJ
73932014-06-18 Jakub Jelinek <jakub@redhat.com>
7394
7395 * omp_lib.f90.in (openmp_version): Set to 201307.
7396 * omp_lib.h.in (openmp_version): Likewise.
7397 * testsuite/libgomp.c/target-8.c: New test.
7398 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7399 and inbranch clauses.
7400 * testsuite/libgomp.fortran/depend-3.f90: New test.
7401 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7402 openmp_version.
7403 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7404 * testsuite/libgomp.fortran/target1.f90: New test.
7405 * testsuite/libgomp.fortran/target2.f90: New test.
7406 * testsuite/libgomp.fortran/target3.f90: New test.
7407 * testsuite/libgomp.fortran/target4.f90: New test.
7408 * testsuite/libgomp.fortran/target5.f90: New test.
7409 * testsuite/libgomp.fortran/target6.f90: New test.
7410 * testsuite/libgomp.fortran/target7.f90: New test.
7411
92d28cbb
JJ
74122014-06-10 Jakub Jelinek <jakub@redhat.com>
7413
7414 PR fortran/60928
7415 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7416 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7417 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7418 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7419 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7420 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7421 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7422 * testsuite/libgomp.fortran/associate1.f90: New test.
7423 * testsuite/libgomp.fortran/associate2.f90: New test.
7424 * testsuite/libgomp.fortran/procptr1.f90: New test.
7425
5f23671d
JJ
74262014-06-06 Jakub Jelinek <jakub@redhat.com>
7427
7428 * testsuite/libgomp.fortran/simd1.f90: New test.
7429 * testsuite/libgomp.fortran/udr1.f90: New test.
7430 * testsuite/libgomp.fortran/udr2.f90: New test.
7431 * testsuite/libgomp.fortran/udr3.f90: New test.
7432 * testsuite/libgomp.fortran/udr4.f90: New test.
7433 * testsuite/libgomp.fortran/udr5.f90: New test.
7434 * testsuite/libgomp.fortran/udr6.f90: New test.
7435 * testsuite/libgomp.fortran/udr7.f90: New test.
7436 * testsuite/libgomp.fortran/udr8.f90: New test.
7437 * testsuite/libgomp.fortran/udr9.f90: New test.
7438 * testsuite/libgomp.fortran/udr10.f90: New test.
7439 * testsuite/libgomp.fortran/udr11.f90: New test.
7440
0389fbb5
UB
74412014-05-27 Uros Bizjak <ubizjak@gmail.com>
7442
7443 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7444 vect_simd_clones effective target.
7445 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7446
decaaec8
JJ
74472014-05-21 Jakub Jelinek <jakub@redhat.com>
7448
7449 PR middle-end/61252
7450 * testsuite/libgomp.c++/simd-9.C: New test.
7451
72832460
UB
74522014-05-18 Uros Bizjak <ubizjak@gmail.com>
7453
7454 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7455 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7456 texts according to their @menu entry positions.
7457
dd2fc525
JJ
74582014-05-11 Jakub Jelinek <jakub@redhat.com>
7459
7460 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7461 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7462 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7463 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7464 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7465 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7466 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7467 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7468 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7469 * testsuite/libgomp.fortran/depend-1.f90: New test.
7470 * testsuite/libgomp.fortran/depend-2.f90: New test.
7471 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7472 * testsuite/libgomp.fortran/simd1.f90: New test.
7473 * testsuite/libgomp.fortran/simd2.f90: New test.
7474 * testsuite/libgomp.fortran/simd3.f90: New test.
7475 * testsuite/libgomp.fortran/simd4.f90: New test.
7476 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7477
95782571
JJ
74782014-05-02 Jakub Jelinek <jakub@redhat.com>
7479
7480 * testsuite/libgomp.c/simd-10.c: New test.
7481 * testsuite/libgomp.c/simd-11.c: New test.
7482 * testsuite/libgomp.c/simd-12.c: New test.
7483 * testsuite/libgomp.c/simd-13.c: New test.
7484
f7468577
JJ
74852014-04-24 Jakub Jelinek <jakub@redhat.com>
7486
42056eac
JJ
7487 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7488 atomic type clauses in any order and optional comma in between.
7489 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7490 * testsuite/libgomp.c/atomic-17.c: Likewise.
7491
f7468577
JJ
7492 * testsuite/libgomp.c/simd-7.c: New test.
7493 * testsuite/libgomp.c/simd-8.c: New test.
7494 * testsuite/libgomp.c/simd-9.c: New test.
7495 * testsuite/libgomp.c/loop-16.c: New test.
7496
ab18f2f5
RH
74972014-04-02 Richard Henderson <rth@redhat.com>
7498
7499 * config/linux/futex.h (futex_wait): Get error value from errno.
7500 (futex_wake): Likewise.
7501
8bcc90b0
JJ
75022014-03-25 Jakub Jelinek <jakub@redhat.com>
7503
7504 PR c++/60331
7505 * testsuite/libgomp.c++/udr-11.C: New test.
7506 * testsuite/libgomp.c++/udr-12.C: New test.
7507 * testsuite/libgomp.c++/udr-13.C: New test.
7508 * testsuite/libgomp.c++/udr-14.C: New test.
7509 * testsuite/libgomp.c++/udr-15.C: New test.
7510 * testsuite/libgomp.c++/udr-16.C: New test.
7511 * testsuite/libgomp.c++/udr-17.C: New test.
7512 * testsuite/libgomp.c++/udr-18.C: New test.
7513 * testsuite/libgomp.c++/udr-19.C: New test.
7514
18d73c7f
RS
75152014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7516
7517 Update copyright years
7518
f9030485
RS
75192014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7520
7521 * hashtab.h: Use the standard form for the copyright notice.
7522
98db73df
TB
75232014-01-02 Tobias Burnus <burnus@net-b.de>
7524
7525 * libgomp.texi: Bump @copying's copyright year.
7526
ae246f7f
AT
75272013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7528
7529 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7530 alloca () with __builtin_alloca ().
7531 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7532 * testsuite/libgomp.c/lock-3.c: Likewise.
7533 * testsuite/libgomp.c/pr48591.c: Likewise.
7534
fa00a5fe
JJ
75352013-12-17 Jakub Jelinek <jakub@redhat.com>
7536
7537 PR testsuite/59534
7538 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7539 comparisons.
7540
e9792e1d
JJ
75412013-12-16 Jakub Jelinek <jakub@redhat.com>
7542
7543 PR libgomp/58756
7544 * testsuite/libgomp.c/pr58756.c: New test.
7545
cab37c89
JJ
75462013-12-12 Jakub Jelinek <jakub@redhat.com>
7547
7548 PR libgomp/59467
7549 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7550 !$omp parallel.
7551
de14871c
TS
75522013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7553
1707a5de
TS
7554 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7555 ALWAYS_CFLAGS.
7556 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7557 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7558 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7559 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7560 Likewise.
7561
70f05c43
TS
7562 * libgomp_g.h: Include <stddef.h> for size_t.
7563
de14871c
TS
7564 * libgomp.spec.in: Update comment about libgomp's dependencies.
7565 * configure.ac: Likewise.
7566 * configure: Regenerate.
7567
83fd6c5b
TB
75682013-10-16 Tobias Burnus <burnus@net-b.de>
7569
7570 * libgomp.texi: (Runtime Library Routines): Update references for
7571 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7572 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7573 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7574 (Environment Variables): Update references for OpenMP 4.0. Add
7575 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7576 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7577 order.
7578
c8673881
JJ
75792013-10-14 Jakub Jelinek <jakub@redhat.com>
7580
7581 * env.c (parse_bind_var): Initialize value to avoid
7582 (false positive) warning.
7583
f89163fd
JJ
75842013-10-12 Jakub Jelinek <jakub@redhat.com>
7585
7586 PR libgomp/58691
7587 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7588 to check variable.
7589 (gomp_init_num_threads): Move i variable declaration into
7590 #ifdef CPU_ALLOC_SIZE block.
7591 * config/linux/affinity.c (gomp_affinity_init_level): Test
7592 gomp_places_list_len == 0 rather than gomp_places_list == 0
7593 when checking for topology reading error.
7594 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7595 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7596 gomp_places_list, only parse env var and always return false.
7597 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7598 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7599 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7600 and either of these variables were parsed correctly into a places
7601 list.
7602
1d340638
TS
76032013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7604 Jakub Jelinek <jakub@redhat.com>
7605
7606 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7607 of 5 loopfn matches.
7608 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7609 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7610 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7611 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7612 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7613 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7614 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7615 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7616
71a81c21
TS
76172013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7618
bd87f731
TS
7619 * Makefile.am (omp_lib.mod): Streamline rule.
7620 * Makefile.in: Regenerate.
7621
f5745bed
TS
7622 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7623 exceptions.
7624
b5512c66
TS
7625 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7626 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7627 * testsuite/libgomp.fortran/lib2.f: Likewise.
7628 * testsuite/libgomp.fortran/lib3.f: Likewise.
7629
451c19c4
TS
7630 * configure.ac: Typo fix.
7631 * configure: Regenerate.
7632
86a6016d
TS
7633 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7634 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7635
71a81c21
TS
7636 * omp.h.in: Don't touch the user's namespace.
7637
acf0174b
JJ
76382013-10-11 Jakub Jelinek <jakub@redhat.com>
7639 Tobias Burnus <burnus@net-b.de>
7640 Richard Henderson <rth@redhat.com>
7641
7642 * target.c: New file.
7643 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7644 * Makefile.in: Regenerated.
7645 * libgomp_g.h (GOMP_task): Add depend argument.
7646 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7647 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7648 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7649 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7650 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7651 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7652 GOMP_taskgroup_start, GOMP_taskgroup_end,
7653 GOMP_parallel_sections): New prototypes.
7654 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7655 (omp_is_initial_device_): New function.
7656 (ULP, STR1, STR2, ialias_redirect): Removed.
7657 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7658 omp_set_default_device_8_, omp_get_default_device_,
7659 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7660 functions.
7661 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7662 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7663 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7664 @@GOMP_4.0.
7665 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7666 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7667 omp_set_default_device, omp_set_default_device_,
7668 omp_set_default_device_8_, omp_get_default_device,
7669 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7670 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7671 omp_get_team_num_): Export @@OMP_4.0.
7672 * team.c (struct gomp_thread_start_data): Add place field.
7673 (gomp_thread_start): Clear thr->thread_pool and
7674 thr->task before returning. Use gomp_team_barrier_wait_final
7675 instead of gomp_team_barrier_wait. Initialize thr->place.
7676 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7677 team_cancelled and task_queued_count fields.
7678 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7679 before calling pthread_exit.
7680 (gomp_free_thread): No longer static. Use
7681 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7682 (gomp_team_start): Add flags argument. Set
7683 thr->thread_pool->threads_busy to nthreads immediately after creating
7684 new pool. Use gomp_managed_threads_lock instead of
7685 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7686 (gomp_team_end): Use gomp_managed_threads_lock instead of
7687 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7688 of gomp_team_barrier_wait. If team->team_cancelled, call
7689 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7690 rather than thr->ts.work_share.
7691 (initialize_team): Don't call gomp_sem_init here.
7692 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7693 caller.
7694 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7695 * env.c (gomp_global_icv): Add default_device_var, target_data and
7696 bind_var initializers.
7697 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7698 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7699 gomp_places_list_len): New variables.
7700 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7701 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7702 sized places.
7703 (gomp_cancel_var): New global variable.
7704 (parse_int): New function.
7705 (handle_omp_display_env): New function.
7706 (initialize_env): Use it. Initialize default_device_var.
7707 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7708 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7709 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7710 been successfully parsed (and call gomp_init_affinity in that case).
7711 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7712 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7713 omp_get_team_num, omp_is_initial_device): New functions.
7714 * libgomp.h: Include stdlib.h.
7715 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7716 Define.
7717 (struct target_mem_desc): Forward declare.
7718 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7719 and thread_limit_var fields.
7720 (gomp_get_num_devices): New prototype.
7721 (gomp_cancel_var): New extern decl.
7722 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7723 team_cancelled and task_queued_count fields. Add comments about
7724 task_{,queued_,running_}count.
7725 (gomp_cancel_kind): New enum.
7726 (gomp_work_share_end_cancel): New prototype.
7727 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7728 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7729 and depend fields.
7730 (struct gomp_taskgroup): New type.
7731 (struct gomp_task_depend_entry,
7732 struct gomp_dependers_vec): New types.
7733 (gomp_finish_task): Free depend_hash if non-NULL.
7734 (struct gomp_team_state): Add place_partition_off
7735 and place_partition_len fields.
7736 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7737 gomp_places_list_len): New extern decls.
7738 (struct gomp_thread): Add place field.
7739 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7740 (gomp_init_thread_affinity): Add place argument.
7741 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7742 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7743 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7744 gomp_affinity_init_level, gomp_affinity_print_place): New
7745 prototypes.
7746 (gomp_team_start): Add flags argument.
7747 (gomp_thread_limit_var, gomp_remaining_threads_count,
7748 gomp_remaining_threads_lock): Remove.
7749 (gomp_managed_threads_lock): New variable.
7750 (struct gomp_thread_pool): Add threads_busy field.
7751 (gomp_free_thread): New prototype.
7752 * task.c: Include hashtab.h.
7753 (hash_entry_type): New typedef.
7754 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7755 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7756 copy_ctors_done and taskgroup fields.
7757 (GOMP_task): Add depend argument, handle depend clauses. If
7758 gomp_team_barrier_cancelled or if it's taskgroup has been
7759 cancelled, don't queue or start new tasks. Set copy_ctors_done
7760 field if needed. Initialize taskgroup field. If copy_ctors_done
7761 and already cancelled, don't discard the task. If taskgroup is
7762 non-NULL, enqueue the task into taskgroup queue. Increment
7763 num_children field in taskgroup. Increment task_queued_count.
7764 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7765 gomp_task_run_post_remove_taskgroup): New inline functions.
7766 (gomp_task_run_post_handle_depend_hash,
7767 gomp_task_run_post_handle_dependers,
7768 gomp_task_run_post_handle_depend): New functions.
7769 (GOMP_taskwait): Use them. If more than one new tasks
7770 have been queued, wake other threads if needed.
7771 (gomp_barrier_handle_tasks): Likewise. If
7772 gomp_team_barrier_cancelled, don't start any new tasks, just free
7773 all tasks.
7774 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7775 * omp_lib.f90.in
7776 (omp_proc_bind_kind, omp_proc_bind_false,
7777 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7778 omp_proc_bind_spread): New params.
7779 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7780 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7781 omp_get_team_num, omp_is_initial_device): New interfaces.
7782 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7783 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7784 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7785 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7786 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7787 useless use omp_lib_kinds.
7788 * omp.h.in (omp_proc_bind_t): New typedef.
7789 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7790 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7791 omp_get_team_num, omp_is_initial_device): New prototypes.
7792 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7793 through to gomp_team_start.
7794 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7795 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7796 Adjust gomp_parallel_loop_start callers.
7797 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7798 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7799 GOMP_loop_end_cancel): New functions.
7800 (GOMP_parallel_end): Add ialias_redirect.
7801 * hashtab.h: New file.
7802 * libgomp.texi (Environment Variables): Minor cleanup,
7803 update section refs to OpenMP 4.0rc2.
7804 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7805 environment variables.
7806 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7807 team->work_shares_to_free to thr->ts.work_share before calling
7808 free_work_share.
7809 (gomp_work_share_end_cancel): New function.
7810 * config/linux/proc.c: Include errno.h.
7811 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7812 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7813 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7814 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7815 gomp_cpuset_size is sizeof (cpu_set_t).
7816 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7817 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7818 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7819 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7820 contain any logical CPUs.
7821 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7822 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7823 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7824 pthread_getaffinity_np. Check gomp_places_list instead of
7825 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7826 * config/linux/bar.c (gomp_barrier_wait_end,
7827 gomp_barrier_wait_last): Use BAR_* defines.
7828 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7829 from state where needed. Set work_share_cancelled to 0 on last
7830 thread.
7831 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7832 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7833 functions.
7834 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7835 Add cpusetsize argument.
7836 (gomp_cpuset_size, gomp_cpusetp): Declare.
7837 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7838 (affinity_counter): Remove.
7839 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7840 if CPU_ALLOC_SIZE isn't defined.
7841 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7842 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7843 bind current thread to the first place.
7844 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7845 pthread_setaffinity_np to gomp_places_list[place].
7846 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7847 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7848 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7849 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7850 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7851 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7852 (gomp_barrier_t): Add awaited_final field.
7853 (gomp_barrier_init): Initialize awaited_final field.
7854 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7855 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7856 prototypes.
7857 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7858 defines.
7859 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7860 gomp_team_barrier_cancelled): New inline functions.
7861 (gomp_barrier_last_thread,
7862 gomp_team_barrier_set_task_pending,
7863 gomp_team_barrier_clear_task_pending,
7864 gomp_team_barrier_set_waiting_for_tasks,
7865 gomp_team_barrier_waiting_for_tasks,
7866 gomp_team_barrier_done): Use BAR_* defines.
7867 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7868 (gomp_barrier_wait_end): Use BAR_* defines.
7869 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7870 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7871 Use BAR_* defines.
7872 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7873 gomp_team_barrier_cancel): New functions.
7874 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7875 argument.
7876 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7877 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7878 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7879 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7880 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7881 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7882 (gomp_barrier_t): Add cancellable field.
7883 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7884 gomp_team_barrier_cancel): New prototypes.
7885 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7886 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7887 gomp_team_barrier_cancelled): New inline functions.
7888 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7889 gomp_team_barrier_set_task_pending,
7890 gomp_team_barrier_clear_task_pending,
7891 gomp_team_barrier_set_waiting_for_tasks,
7892 gomp_team_barrier_waiting_for_tasks,
7893 gomp_team_barrier_done): Use BAR_* defines.
7894 * barrier.c (GOMP_barrier_cancel): New function.
7895 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7896 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7897 omp_proc_bind_spread): New params.
7898 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7899 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7900 omp_get_team_num, omp_is_initial_device): New externals.
7901 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7902 New functions.
7903 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7904 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7905 infinity. If not nested, just return minimum of max_num_threads
7906 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7907 to the returned value. Otherwise, don't update atomically
7908 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7909 (GOMP_parallel_end): Adjust for thread_limit now being in
7910 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7911 infinity. Adjust threads_busy in the pool rather than
7912 gomp_remaining_threads_count. Remember team->nthreads and call
7913 gomp_team_end before adjusting threads_busy, if not nested
7914 afterwards, just set it to 1 non-atomically. Add ialias.
7915 (GOMP_parallel_start): Adjust gomp_team_start caller.
7916 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7917 * testsuite/libgomp.c/affinity-1.c: New test.
7918 * testsuite/libgomp.c/atomic-15.c: New test.
7919 * testsuite/libgomp.c/atomic-16.c: New test.
7920 * testsuite/libgomp.c/atomic-17.c: New test.
7921 * testsuite/libgomp.c/cancel-for-1.c: New test.
7922 * testsuite/libgomp.c/cancel-for-2.c: New test.
7923 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7924 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7925 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7926 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7927 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7928 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7929 * testsuite/libgomp.c/depend-1.c: New test.
7930 * testsuite/libgomp.c/depend-2.c: New test.
7931 * testsuite/libgomp.c/depend-3.c: New test.
7932 * testsuite/libgomp.c/depend-4.c: New test.
7933 * testsuite/libgomp.c/for-1.c: New test.
7934 * testsuite/libgomp.c/for-1.h: New file.
7935 * testsuite/libgomp.c/for-2.c: New test.
7936 * testsuite/libgomp.c/for-2.h: New file.
7937 * testsuite/libgomp.c/for-3.c: New test.
7938 * testsuite/libgomp.c/pr58392.c: New test.
7939 * testsuite/libgomp.c/simd-1.c: New test.
7940 * testsuite/libgomp.c/simd-2.c: New test.
7941 * testsuite/libgomp.c/simd-3.c: New test.
7942 * testsuite/libgomp.c/simd-4.c: New test.
7943 * testsuite/libgomp.c/simd-5.c: New test.
7944 * testsuite/libgomp.c/simd-6.c: New test.
7945 * testsuite/libgomp.c/target-1.c: New test.
7946 * testsuite/libgomp.c/target-2.c: New test.
7947 * testsuite/libgomp.c/target-3.c: New test.
7948 * testsuite/libgomp.c/target-4.c: New test.
7949 * testsuite/libgomp.c/target-5.c: New test.
7950 * testsuite/libgomp.c/target-6.c: New test.
7951 * testsuite/libgomp.c/target-7.c: New test.
7952 * testsuite/libgomp.c/taskgroup-1.c: New test.
7953 * testsuite/libgomp.c/thread-limit-1.c: New test.
7954 * testsuite/libgomp.c/thread-limit-2.c: New test.
7955 * testsuite/libgomp.c/thread-limit-3.c: New test.
7956 * testsuite/libgomp.c/udr-1.c: New test.
7957 * testsuite/libgomp.c/udr-2.c: New test.
7958 * testsuite/libgomp.c/udr-3.c: New test.
7959 * testsuite/libgomp.c++/affinity-1.C: New test.
7960 * testsuite/libgomp.c++/atomic-10.C: New test.
7961 * testsuite/libgomp.c++/atomic-11.C: New test.
7962 * testsuite/libgomp.c++/atomic-12.C: New test.
7963 * testsuite/libgomp.c++/atomic-13.C: New test.
7964 * testsuite/libgomp.c++/atomic-14.C: New test.
7965 * testsuite/libgomp.c++/atomic-15.C: New test.
7966 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7967 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7968 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7969 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7970 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7971 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7972 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7973 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7974 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7975 * testsuite/libgomp.c++/cancel-test.h: New file.
7976 * testsuite/libgomp.c++/for-9.C: New test.
7977 * testsuite/libgomp.c++/for-10.C: New test.
7978 * testsuite/libgomp.c++/for-11.C: New test.
7979 * testsuite/libgomp.c++/simd-1.C: New test.
7980 * testsuite/libgomp.c++/simd-2.C: New test.
7981 * testsuite/libgomp.c++/simd-3.C: New test.
7982 * testsuite/libgomp.c++/simd-4.C: New test.
7983 * testsuite/libgomp.c++/simd-5.C: New test.
7984 * testsuite/libgomp.c++/simd-6.C: New test.
7985 * testsuite/libgomp.c++/simd-7.C: New test.
7986 * testsuite/libgomp.c++/simd-8.C: New test.
7987 * testsuite/libgomp.c++/target-1.C: New test.
7988 * testsuite/libgomp.c++/target-2.C: New test.
7989 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7990 * testsuite/libgomp.c++/target-3.C: New test.
7991 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7992 * testsuite/libgomp.c++/udr-1.C: New test.
7993 * testsuite/libgomp.c++/udr-2.C: New test.
7994 * testsuite/libgomp.c++/udr-3.C: New test.
7995 * testsuite/libgomp.c++/udr-4.C: New test.
7996 * testsuite/libgomp.c++/udr-5.C: New test.
7997 * testsuite/libgomp.c++/udr-6.C: New test.
7998 * testsuite/libgomp.c++/udr-7.C: New test.
7999 * testsuite/libgomp.c++/udr-8.C: New test.
8000 * testsuite/libgomp.c++/udr-9.C: New test.
8001
bd599dea
JJ
80022013-09-20 Jakub Jelinek <jakub@redhat.com>
8003
8004 PR testsuite/57605
8005 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8006 ALWAYS_CFLAGS.
8007
3cbe17f7
AM
80082013-09-20 Alan Modra <amodra@gmail.com>
8009
8010 * configure: Regenerate.
8011
4befd127
JJ
80122013-09-19 Jakub Jelinek <jakub@redhat.com>
8013
8014 * testsuite/libgomp.c/sections-2.c: New test.
8015
946c8f7b
MS
80162013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8017
8018 * testsuite/libgomp.fortran/strassen.f90:
8019 Add dg-skip-if aarch64_tiny.
8020
1ef3b58e
IS
80212013-06-20 Iain Sandoe <iain@codesourcery.com>
8022 Cesar Philippidis <cesar@codesourcery.com>
8023
8024 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8025 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8026 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8027 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8028 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8029 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8030 Use dg-runtest rather than gfortran-dg-runtest.
8031
9275f73a
TS
80322013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8033
8034 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8035 Linux-based x86 systems to cover all GNU systems.
8036 * testsuite/libgomp.c/lock-3.c: Likewise.
8037 * testsuite/libgomp.c/pr48591.c: Likewise.
8038
492992e2
TS
80392013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8040
48df3acb
TS
8041 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8042 GNU/Hurd, as done for Linux-based systems.
8043
492992e2
TS
8044 * config/posix/ptrlock.h: Fix comment.
8045
4fed6b25
TB
80462013-05-27 Tobias Burnus <burnus@net-b.de>
8047
8048 PR fortran/57423
8049 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8050 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8051 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8052 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8053 omp_destroy_nest_lock): Correct arguments to match the one in
8054 the OpenMP spec.
8055 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8056 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8057 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8058 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8059
5a0f4dd3
JJ
80602013-05-16 Jakub Jelinek <jakub@redhat.com>
8061
8062 * testsuite/libgomp.c/loop-13.c: New test.
8063 * testsuite/libgomp.c/loop-14.c: New test.
8064 * testsuite/libgomp.c/loop-15.c: New test.
8065 * testsuite/libgomp.c++/loop-13.C: New test.
8066 * testsuite/libgomp.c++/loop-14.C: New test.
8067 * testsuite/libgomp.c++/loop-15.C: New test.
8068
6d840d99
JJ
80692013-02-06 Jakub Jelinek <jakub@redhat.com>
8070
8071 PR middle-end/56217
8072 * testsuite/libgomp.c++/pr56217.C: New test.
8073
bed8d8a6
AM
80742013-02-01 Alan Modra <amodra@gmail.com>
8075
8076 * task.c (GOMP_task, GOMP_taskwait): Comment.
8077
3b35cd04
DV
80782013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8079 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8080
8081 PR libgomp/55561
8082 * config/linux/wait.h (do_spin): Use atomic load for addr.
8083 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8084 for intptr and ptrlock.
8085 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8086 for ptrlock.
8087
9a647288
AM
80882013-01-22 Alan Modra <amodra@gmail.com>
8089
8090 PR libgomp/51376
8091 PR libgomp/56073
8092 * task.c (GOMP_task): Revert 2011-12-09 change.
8093 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8094 barrier to read task->children..
8095 (gomp_barrier_handle_tasks): ..and matching atomic store with
8096 release barrier here when setting parent->children to NULL.
8097
f34dea03
JJ
80982013-01-16 Jakub Jelinek <jakub@redhat.com>
8099 Tobias Burnus <burnus@net-b.de>
8100
8101 PR driver/55884
8102 * testsuite/libgomp.fortran/fortran.exp: Use
8103 -fintrinsic-modules-path= instead of
8104 -fintrinsic-modules-path.
8105
8129609c
RS
81062013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8107
8108 Update copyright years.
8109
aa86bf1e
TB
81102012-12-19 Tobias Burnus <burnus@net-b.de>
8111
8112 * testsuite/libgomp.fortran/fortran.exp: Set
8113 -fintrinsic-modules-path.
8114
2865ea66
TB
81152012-12-19 Tobias Burnus <burnus@net-b.de>
8116
8117 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8118 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8119
4c5ba8d0
JJ
81202012-11-21 Jakub Jelinek <jakub@redhat.com>
8121
8122 PR libgomp/55411
8123 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8124 if pool had any threads_used.
8125
e9f958c2
JH
81262012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8127
8128 * testsuite/libgomp.c++/pr24455.C: Use
8129 -Wl,-undefined,dynamic_lookup on darwin.
8130
a57d75dc
DE
81312012-11-07 David Edelsohn <dje.gcc@gmail.com>
8132
8133 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8134
c6c08485
DH
81352012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8136
8137 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8138
c1f37c00
IB
81392012-10-23 Ian Bolton <ian.bolton@arm.com>
8140 Jim MacArthur <jim.macarthur@arm.com>
8141 Marcus Shawcroft <marcus.shawcroft@arm.com>
8142 Nigel Stephens <nigel.stephens@arm.com>
8143 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8144 Richard Earnshaw <rearnsha@arm.com>
8145 Sofiane Naci <sofiane.naci@arm.com>
8146 Stephen Thomas <stephen.thomas@arm.com>
8147 Tejas Belagod <tejas.belagod@arm.com>
8148 Yufeng Zhang <yufeng.zhang@arm.com>
8149
8150 * configure.tgt: Add AArch64.
8151
7c424acd
JM
81522012-10-04 Jason Merrill <jason@redhat.com>
8153
8154 * testsuite/libgomp.c++/tls-init1.C: New.
8155
6608378b
DE
81562012-09-14 David Edelsohn <dje.gcc@gmail.com>
8157
8158 * configure: Regenerated.
8159
c24dbebb
CLT
81602012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8161
8162 * config/linux/mips/futex.h (sys_futex0): Change to static
8163 function with noinline, nomips16 attributes under MIPS16. Adjust
8164 asm statement to place 'li v0,SYS_futex' immediately before
8165 syscall insn.
8166
3d3949df
SL
81672012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8168
8169 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8170 conflict with index.html on case-insensitive file systems.
8171
68a12ef3
UB
81722012-07-03 Uros Bizjak <ubizjak@gmail.com>
8173
8174 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8175 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8176
33ad93b9 81772012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8178 Michael Matz <matz@suse.de>
8179 Tobias Grosser <tobias@grosser.es>
8180 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8181
8182 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8183 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8184 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8185 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8186
e6fdc918
AS
81872012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8188
8189 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8190
62e0a1ed
RG
81912012-06-22 Richard Guenther <rguenther@suse.de>
8192
8193 Merge from graphite branch
8194 2012-01-13 Tobias Grosser <tobias@grosser.es>
8195
8196 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8197 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8198
26127932
JJ
81992012-06-07 Jakub Jelinek <jakub@redhat.com>
8200
8201 PR middle-end/53580
8202 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8203 use GOMP_barrier () call instead.
8204 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8205 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8206 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8207 call GOMP_barrier instead.
8208 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8209
43fa5db5
JJ
82102012-06-06 Jakub Jelinek <jakub@redhat.com>
8211
8212 PR libgomp/52993
8213 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8214 argument to memset call.
8215
e6d5f8c9
L
82162012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8217
8218 * configure: Regenerated.
8219
559d990c
MLI
82202012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8221
8222 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8223
b9c23a61
L
82242012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8225
8226 PR bootstrap/52812
8227 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8228
c140ddf3
JJ
82292012-03-22 Jakub Jelinek <jakub@redhat.com>
8230
8231 PR middle-end/52547
8232 * testsuite/libgomp.c/pr52547.c: New test.
8233
6a26a74d
BRF
82342012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8235
8236 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8237
b24513a1
RO
82382012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8239
8240 * configure.tgt (mips-sgi-irix6*): Remove.
8241
5c30094f
RO
82422012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8243
8244 * configure.tgt (alpha*-dec-osf*): Remove.
8245
8246 * config/osf/sem.h: Remove.
8247 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8248
a339c9d6
EB
82492012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8250
8251 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8252
cc2de92d
RO
82532012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8254
8255 PR libstdc++/52188
8256 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8257 Remove ENABLE_SYMVERS_SOL2.
8258 * configure: Regenerate.
8259 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8260 (PREPROCESS): New variable.
8261 (libgomp.ver): New target.
8262 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8263 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8264 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8265 Use libgomp.ver.
8266 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8267 * Makefile.in: Regenerate.
8268
dd552284
WL
82692012-02-14 Walter Lee <walt@tilera.com>
8270
8271 * configure.tgt: Handle tilegx and tilepro.
8272 * config/linux/tile/futex.h: New file.
8273
31432e21
RG
82742012-02-08 Richard Guenther <rguenther@suse.de>
8275
8276 PR tree-optimization/46886
8277 * testsuite/libgomp.c/pr46886.c: New testcase.
8278
b9264b5f
MK
82792012-01-25 Matthias Klose <doko@ubuntu.com>
8280
8281 * config/linux/arm: Remove empty directory.
8282 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8283
fbf7be80
AM
82842011-12-09 Alan Modra <amodra@gmail.com>
8285
8286 PR libgomp/51376
8287 * task.c (GOMP_taskwait): Don't access task->children outside of
8288 task_lock mutex region.
8289 (GOMP_task): Likewise.
8290
5de62d00
JJ
82912011-12-06 Jakub Jelinek <jakub@redhat.com>
8292
8293 PR libgomp/51132
8294 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8295 to file scope.
8296 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8297 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8298 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8299 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8300 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8301
45608a43
AM
83022011-12-02 Alan Modra <amodra@gmail.com>
8303
8304 * config/linux/affinity.c: Use atomic rather than sync builtin.
8305 * config/linux/lock.c: Likewise.
8306 * config/linux/ptrlock.h: Likewise.
8307 * config/linux/ptrlock.c: Likewise.
8308 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8309 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8310 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8311 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8312 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8313 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8314 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8315 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8316 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8317 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8318
ab6dd406
AM
83192011-11-30 Alan Modra <amodra@gmail.com>
8320
8321 PR libgomp/51298
8322 * config/linux/bar.h: Use atomic rather than sync builtins.
8323 * config/linux/bar.c: Likewise. Add missing acquire
8324 synchronisation on generation field.
8325 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8326 double unlock.
8327
b40c885f
AM
83282011-11-30 Alan Modra <amodra@gmail.com>
8329
8330 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8331 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8332 * config/linux/mutex.h: Use atomic rather than sync builtins.
8333 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8334 * config/linux/omp-lock.h: Comment fix.
8335 * config/linux/arm/mutex.h: Delete.
8336 * config/linux/powerpc/mutex.h: Delete.
8337 * config/linux/ia64/mutex.h: Delete.
8338 * config/linux/mips/mutex.h: Delete.
8339
3e348fcc
AM
83402011-11-30 Alan Modra <amodra@gmail.com>
8341
8342 PR libgomp/51249
8343 * config/linux/sem.h: Rewrite.
8344 * config/linux/sem.c: Rewrite.
8345
cef86eb2
RH
83462011-11-28 Richard Henderson <rth@redhat.com>
8347
8348 * libgomp.h (enum memmodel): New.
8349
c6084f68
AT
83502011-11-21 Andreas Tobler <andreast@fgznet.ch>
8351
8352 * configure: Regenerate.
8353
06fe026c
MK
83542011-10-10 Matthias Klose <doko@ubuntu.com>
8355
8356 * config/posix95: Remove empty directory.
8357
a6c975bd
JJ
83582011-08-26 Jakub Jelinek <jakub@redhat.com>
8359
8360 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8361
c26dffff
JJ
83622011-08-19 Jakub Jelinek <jakub@redhat.com>
8363
8364 PR fortran/49792
8365 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8366 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8367
ddaad3c8
RO
83682011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8369
8370 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8371
98d03683
RO
83722011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8373
8374 PR libgomp/49965
8375 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8376
e0b23d9f
UB
83772011-08-03 Uros Bizjak <ubizjak@gmail.com>
8378
8379 * config/linux/proc.h: New.
8380 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8381 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8382 (gomp_init_num_threads): Update call to cpuset_popcount.
8383 (get_num_procs): Ditto.
8384 * config/linux/affinity.c (gomp_init_affinity): Call
8385 gomp_cpuset_popcount.
8386
20906c66
JJ
83872011-08-02 Jakub Jelinek <jakub@redhat.com>
8388
8389 PR fortran/42041
8390 PR fortran/46752
8391 * omp.h.in (omp_in_final): New prototype.
8392 * omp_lib.f90.in (omp_in_final): New interface.
8393 (omp_integer_kind, omp_logical_kind): Remove
8394 and replace all its uses in the module with 4.
8395 (openmp_version): Change to 201107.
8396 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8397 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8398 kind for the parameters.
8399 (omp_in_final): New external.
8400 (openmp_version): Change to 201107.
8401 * task.c (omp_in_final): New function.
8402 (gomp_init_task): Initialize final_task.
8403 (GOMP_task): Remove unused attribute from flags. Handle final
8404 tasks.
8405 (GOMP_taskyield): New function.
8406 (omp_in_final): Return true if if (false) or final (true) task
8407 or descendant of final (true).
8408 * fortran.c (omp_in_final_): New function.
8409 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8410 (GOMP_3.0): Export GOMP_taskyield.
8411 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8412 variables.
8413 (parse_unsigned_long_list): New function.
8414 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8415 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8416 even if parse_affinity returned false.
8417 * config/linux/affinity.c (gomp_init_affinity): Handle
8418 gomp_cpu_affinity_len == 0.
8419 * libgomp_g.h (GOMP_taskyield): New prototype.
8420 * libgomp.h (struct gomp_task): Add final_task field.
8421 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8422 * team.c (gomp_team_start): Override new task's nthreads_var icv
8423 if list form OMP_NUM_THREADS has been used and it has value for
8424 the new nesting level.
8425
8426 * testsuite/libgomp.c/atomic-11.c: New test.
8427 * testsuite/libgomp.c/atomic-12.c: New test.
8428 * testsuite/libgomp.c/atomic-13.c: New test.
8429 * testsuite/libgomp.c/atomic-14.c: New test.
8430 * testsuite/libgomp.c/reduction-6.c: New test.
8431 * testsuite/libgomp.c/task-5.c: New test.
8432 * testsuite/libgomp.c++/atomic-2.C: New test.
8433 * testsuite/libgomp.c++/atomic-3.C: New test.
8434 * testsuite/libgomp.c++/atomic-4.C: New test.
8435 * testsuite/libgomp.c++/atomic-5.C: New test.
8436 * testsuite/libgomp.c++/atomic-6.C: New test.
8437 * testsuite/libgomp.c++/atomic-7.C: New test.
8438 * testsuite/libgomp.c++/atomic-8.C: New test.
8439 * testsuite/libgomp.c++/atomic-9.C: New test.
8440 * testsuite/libgomp.c++/task-8.C: New test.
8441 * testsuite/libgomp.c++/reduction-4.C: New test.
8442 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8443 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8444 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8445 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8446 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8447 * testsuite/libgomp.fortran/pointer1.f90: New test.
8448 * testsuite/libgomp.fortran/pointer2.f90: New test.
8449 * testsuite/libgomp.fortran/task4.f90: New test.
8450
84512011-08-02 Tobias Burnus <burnus@net-b.de>
8452
8453 * libgomp.texi: Update OpenMP spec references to 3.1.
8454 (omp_in_final,OMP_PROC_BIND): New sections.
8455 (OMP_NUM_THREADS): Document that the value can be now a list.
8456 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8457
c01ecafc
L
84582011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8459
8460 * config/linux/x86/futex.h: Check __x86_64__ instead of
8461 __LP64__.
8462
25142650
JJ
84632011-07-29 Jakub Jelinek <jakub@redhat.com>
8464
8465 PR middle-end/49897
8466 PR middle-end/49898
8467 * testsuite/libgomp.c/pr49897-1.c: New test.
8468 * testsuite/libgomp.c/pr49897-2.c: New test.
8469 * testsuite/libgomp.c/pr49898-1.c: New test.
8470 * testsuite/libgomp.c/pr49898-2.c: New test.
8471
f53d712f
L
84722011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8473
8474 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8475 for ia32 instead of ilp32.
8476
8477 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8478 * testsuite/libgomp.c/atomic-6.c: Likewise.
8479
3689198d
SP
84802011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8481
8482 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8483 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8484
1a79cb73
RO
84852011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8486
8487 PR libgomp/45351
8488 * config/osf/sem.h: New file.
8489 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8490
c1f51484
RO
84912011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8492
8493 PR target/49541
8494 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8495 ldflags.
8496
bfee0724
JJ
84972011-07-15 Jakub Jelinek <jakub@redhat.com>
8498
8499 * config/linux/wait.h (do_spin): New inline, largely copied
8500 from do_wait, just don't do futex_wait here, instead return true if
8501 it should be done.
8502 (do_wait): Implement using do_spin.
8503 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8504 to prototype.
8505 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8506 __sync_bool_compare_and_swap, pass the oldval to
8507 gomp_mutex_lock_slow.
8508 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8509 If all mutex contenders are just spinning and not sleeping, don't
8510 change state to 2 unnecessarily. Optimize the loop when state has
8511 already become 2 to use just one atomic operation per loop instead
8512 of two.
8513 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8514 to prototype.
8515 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8516 __sync_bool_compare_and_swap, pass the oldval to
8517 gomp_mutex_lock_slow.
8518
fb79f500
JJ
85192011-06-22 Jakub Jelinek <jakub@redhat.com>
8520
8521 PR libgomp/49490
8522 * iter.c (gomp_iter_static_next): For chunk size 0
8523 only use n ceil/ nthreads size for the first
8524 n % nthreads threads in the team instead of
8525 all threads except for the last few ones which
8526 get less work or none at all.
8527 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8528 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8529 chunk argument, set run_sched_modifier to 0 for static
8530 resp. 1 for other kinds. If chunk argument is 0
8531 and not static, set value to 1.
8532
4577f730
JJ
85332011-05-19 Jakub Jelinek <jakub@redhat.com>
8534
ea93a47b
JJ
8535 PR c++/49043
8536 * testsuite/libgomp.c++/pr49043.C: New test.
8537
4577f730
JJ
8538 PR c++/48869
8539 * testsuite/libgomp.c++/pr48869.C: New test.
8540
e7385332
JJ
85412011-05-06 Jakub Jelinek <jakub@redhat.com>
8542
8543 PR fortran/48894
8544 * fortran.c: Include limits.h.
8545 (TO_INT): Define.
8546 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8547 *set.
8548 (omp_set_num_threads_8_, omp_set_schedule_8_,
8549 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8550 omp_get_team_size_8_): Use TO_INT macro.
8551 * testsuite/libgomp.fortran/pr48894.f90: New test.
8552
20790697
JJ
85532011-04-13 Jakub Jelinek <jakub@redhat.com>
8554
8555 PR middle-end/48591
8556 * testsuite/libgomp.c/pr48591.c: New test.
8557
bf382f5f
RO
85582011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8559
8560 PR bootstrap/48135
8561 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8562 * configure: Regenerate.
8563
113a53c1
JJ
85642011-02-27 Jakub Jelinek <jakub@redhat.com>
8565
8566 PR fortran/47886
8567 * testsuite/libgomp.fortran/task3.f90: New test.
8568
0024f1af
TB
85692011-02-24 Tobias Burnus <burnus@net-b.de>
8570
8571 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8572
21e1e594
JJ
85732011-02-23 Jakub Jelinek <jakub@redhat.com>
8574
8575 PR libgomp/47854
8576 * libgomp.texi (omp_get_wtime): Don't say time in the past
8577 must be Unix Epoch.
8578
67962076
JJ
85792011-02-18 Jakub Jelinek <jakub@redhat.com>
8580
8581 PR libgomp/47804
8582 * testsuite/libgomp.fortran/fortran.exp: Check for both
8583 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8584 but $blddir != "", still append ${blddir}/${lang_library_path}
8585 to ld_library_path.
8586
3808007c
TB
85872011-02-16 Tobias Burnus <burnus@net-b.de>
8588
8589 PR libgomp/47758
8590 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8591 of libquadmath.a before adding its libpath to ldflags.
8592
53b4d41d
JJ
85932011-02-14 Jakub Jelinek <jakub@redhat.com>
8594
8595 PR libgomp/47731
8596 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8597 to FUTEX_WAIT futex syscall.
8598 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8599
029c8f3e
RW
86002011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8601
8602 * configure: Regenerate.
8603
bddd6626
BK
86042011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8605
8606 PR libstdc++/36104
8607 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8608
f1d4ab26
GP
86092011-01-16 Gerald Pfeifer
8610
8611 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8612
2b503136
JJ
86132010-12-14 Jakub Jelinek <jakub@redhat.com>
8614
8615 PR fortran/46874
8616 * libgomp.fortran/allocatable6.f90: New test.
8617
c0f9d583
RO
86182010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8619
8620 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8621 * configure: Regenerate.
8622
7de6ba7a
DK
86232010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8624
8625 PR target/40125
8626 PR lto/46695
8627 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8628 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8629 * aclocal.m4: Regenerate.
8630 * configure: Regenerate.
8631 * Makefile.in: Regenerate.
8632 * testsuite/Makefile.in: Regenerate.
8633
b7516041
JJ
86342010-12-02 Jakub Jelinek <jakub@redhat.com>
8635
edaadf74
JJ
8636 PR fortran/46753
8637 * libgomp.fortran/pr46753.f90: New test.
8638
4c698cf8
JJ
8639 PR libgomp/43706
8640 * env.c (initialize_env): Default to spin count 300000
8641 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8642 is specified.
8643
b7516041
JJ
8644 PR libgomp/45240
8645 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8646 at the end if sync builtins aren't supported.
8647
6b43a34c
RO
86482010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8649
8650 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8651
950691fa
RO
86522010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8653
8654 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8655
fb9041ea
IS
86562010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8657
8658 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8659
1ec601bf
FXC
86602010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8661 Tobias Burnus <burnus@net-b.de>
8662
8663 PR fortran/32049
3e348fcc 8664 * configure.ac:
1ec601bf
FXC
8665 * configure: Regenerate.
8666
d213e92e
MS
86672010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8668
8669 * config/linux/futex.h: New.
8670 * config/linux/arm/mutex.h: New.
8671 * configure.tgt (arm*-*-linux*): Add config path.
8672
89d5c66f
SP
86732010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8674
8675 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8676
87350d4a
TB
86772010-09-23 Tobias Burnus <burnus@net-b.de>
8678
8679 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8680 Change Fortran datatype to LOGICAL.
8681 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8682 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8683
75bc9e5e
RW
86842010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8685
8686 * configure: Regenerate.
8687
acb5c916
JJ
86882010-07-26 Jakub Jelinek <jakub@redhat.com>
8689
8690 * libgomp.texi: Add function keyword to a couple of Fortran
8691 interfaces, use integer instead of int for Fortran.
8692
6a2ba183
AH
86932010-07-26 Aldy Hernandez <aldyh@redhat.com>
8694
8695 * libgomp.texi: Fix spelling and pasto problems throughout.
8696 Adjust prototypes to match code.
8697
df161b69
TB
86982010-07-24 Tobias Burnus <burnus@net-b.de>
8699
8700 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8701 silence -fwhole-file warning.
8702
16c9d3b1
RO
87032010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8704
8705 * configure.tgt (*-*-solaris2.[56]*): Removed.
8706
6d28b933
RO
87072010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8708
8709 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8710 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8711 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8712 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8713 targetting solaris2*.
8714 * configure: Regenerate.
8715 * config.h.in: Regenerate.
8716
8717 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8718 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8719 Add libgomp_version_dep.
8720 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8721 versioning.
8722 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8723 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8724 * Makefile.in: Regenerate.
8725
8726 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8727 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8728 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8729 to common block, protected by
8730 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8731
07a67d6a
GP
87322010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8733
8734 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8735
dbd34b89
IS
87362010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8737
8738 PR bootstrap/43170
8739 * configure: Regenerate.
8740
13917ae3
RW
87412010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8742
8743 PR other/43620
8744 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8745 * configure: Regenerate.
8746 * Makefile.in: Regenerate.
8747 * testsuite/Makefile.in: Regenerate.
8748
b83a701b
JJ
87492010-04-26 Jakub Jelinek <jakub@redhat.com>
8750
8751 PR c/43893
8752 * testsuite/libgomp.c/pr43893.c: New test.
8753 * testsuite/libgomp.c++/pr43893.C: New test.
8754
78db7d92
JJ
87552010-04-21 Jakub Jelinek <jakub@redhat.com>
8756
8757 PR middle-end/43570
8758 * testsuite/libgomp.fortran/vla8.f90: New test.
8759
5221d7a9
JJ
87602010-04-20 Jakub Jelinek <jakub@redhat.com>
8761
e4ba7a60
JJ
8762 PR libgomp/43706
8763 * config/linux/affinity.c (gomp_init_affinity): Decrease
8764 gomp_available_cpus if affinity mask confines the process to fewer
8765 CPUs.
8766 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8767 non-NULL, just return gomp_available_cpus.
8768
5221d7a9
JJ
8769 PR libgomp/43569
8770 * sections.c (gomp_sections_init): Initialize ws->mode.
8771
289a9f86
UB
87722010-04-14 Uros Bizjak <ubizjak@gmail.com>
8773
8774 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8775 not unused bar variable.
8776 * configure: Regenerate.
8777
4d9e8446
RW
87782010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8779
8780 * Makefile.in: Regenerate.
8781 * aclocal.m4: Regenerate.
8782 * testsuite/Makefile.in: Regenerate.
8783
80f046cc
JJ
87842010-03-22 Jakub Jelinek <jakub@redhat.com>
8785
8786 PR libgomp/42942
8787 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8788 (initialize_env): Adjust callers.
8789 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8790 when the argument is 0.
8791
8792 * testsuite/libgomp.c/pr42942.c: New test.
8793
b58543c3
SP
87942010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8795
8796 PR middle-end/42644
8797 PR middle-end/42130
8798 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8799 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8800
41d1138f
RO
88012010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8802
8803 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8804 * testsuite/libgomp.c++/task-6.C: Likewise.
8805
6684eb28
SE
88062010-01-28 Steve Ellcey <sje@cup.hp.com>
8807
8808 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8809
2122aa97
PB
88102010-01-26 Paolo Bonzini <bonzini@gnu.org>
8811
8812 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8813 * configure: Regenerate.
8814
057dd91d
JJ
88152010-01-26 Jakub Jelinek <jakub@redhat.com>
8816
8817 PR fortran/42866
8818 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8819
d0709b6a
PB
88202010-01-20 Paolo Bonzini <bonzini@gnu.org>
8821
8822 * configure.ac: Test for executability of GFORTRAN.
8823 * configure: Regenerate.
8824
b9497ab5
RO
88252010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8826
8827 * configure: Regenerate.
8828
45de5648
L
88292010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8830
8831 PR libgomp/42602
8832 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8833
e74003a1
RG
88342010-01-03 Richard Guenther <rguenther@suse.de>
8835
8836 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8837
1b3abda8
SP
88382009-12-23 Sebastian Pop <sebpop@gmail.com>
8839
8840 * testsuite/libgomp.graphite/pr4118.c: New.
8841
e19977d3
IS
88422009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8843
8844 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8845 for darwin, protect the test with require-effective-target tls_runtime.
8846 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8847
1d32a772
IS
88482009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8849
8850 PR target/41605
8851 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8852 link spec %s substitutions for static libraries.
8853
deb109b2
JH
88542009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8855
8856 PR testsuite/42135
8857 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8858
43e02a8a
RW
88592009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8860
8861 * Makefile.in: Regenerate.
8862 * configure: Regenerate.
8863 * testsuite/Makefile.in: Regenerate.
8864
17f35e23
DK
88652009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8866
8867 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8868 settings for LC_ALL and LANG.
8869
281e33e1
JJ
88702009-11-25 Jakub Jelinek <jakub@redhat.com>
8871
8872 PR fortran/42162
8873 * testsuite/libgomp.fortran/pr42162.f90: New test.
8874
2b32c27d
JJ
88752009-11-13 Jakub Jelinek <jakub@redhat.com>
8876
8877 PR middle-end/42029
281e33e1 8878 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8879
89c74f4a
JJ
88802009-10-26 Jakub Jelinek <jakub@redhat.com>
8881
8882 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8883 *s. Accept ld version without text in ()s.
8884 * configure: Regenerated.
8885
7e06c3d6
EB
88862009-10-22 Razya Ladelsky <razya@il.ibm.com>
8887
8888 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8889
0046b1a7
RW
88902009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8891
8892 PR libgomp/41418
8893 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8894 or a hyphen (happens with fortran language disabled).
8895 * configure: Regenerate.
8896
c82852f7
RW
88972009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8898
8899 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8900 use sed script portable to Solaris /bin/sed for extracting ld
8901 version.
8902 * configure: Regenerate.
8903
98f3eb1f
AM
89042009-09-17 Alexander Monakov <amonakov@ispras.ru>
8905
8906 * testsuite/libgomp.graphite/bounds.c: New test.
8907
878f62e5
RW
89082009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8909
8910 * Makefile.am (libgomp_la_LINK): New.
8911 * Makefile.in: Regenerate.
8912
df58e648
RW
89132009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8914
8915 * configure.ac (AC_PREREQ): Bump to 2.64.
8916
5213506e
RW
89172009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8918
70fa0efa
RW
8919 * Makefile.am (install-html, install-pdf): Remove.
8920 * Makefile.in: Regenerate.
8921
5213506e
RW
8922 * Makefile.in: Regenerate.
8923 * aclocal.m4: Regenerate.
8924 * config.h.in: Regenerate.
8925 * configure: Regenerate.
8926 * testsuite/Makefile.in: Regenerate.
8927
84fec8a5
RW
89282009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8929
8930 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8931 * Makefile.in: Regenerate.
8932
197c68cc
DK
89332009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8934
8935 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8936 * Makefile.in: Regenerate.
8937
693d54f2
TB
89382009-08-19 Tobias Burnus <burnus@net-b.de>
8939
8940 PR fortran/41102
8941 omp_lib.h.in: Fix -std=f95 errors.
8942
8cac884c
DE
89432009-08-14 David Edelsohn <edelsohn@gnu.org>
8944
8945 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8946 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8947 * testsuite/libgomp.graphite/graphite.exp: New.
8948
78729ee2
AT
89492009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8950
8951 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8952 only build.
8953
b13b7f39
DD
89542009-08-04 David Daney <ddaney@caviumnetworks.com>
8955
8956 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8957 needed memory barrier semantics.
8958 * config/linux/mips/mutex.h: New file.
8959
1b3b24c2
RW
89602009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8961
8962 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8963
396b7fa4
JM
89642009-07-16 Joseph Myers <joseph@codesourcery.com>
8965
8966 * configure: Regenerate.
8967
33cde516
RS
89682009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8969
8970 PR testsuite/40699
8971 PR testsuite/40707
8972 PR testsuite/40709
8973 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8974 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8975 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8976
bc21bfa5
RS
89772009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8978
8979 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8980 options when choosing a multilib.
8981
b30bfd40
RS
89822009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8983
8984 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8985 ld_library_path. Use add_path. Add just find_libgcc_s to
8986 ld_library_path, not every libgcc multilib directory.
8987 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8988 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8989 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8990 Use add_path.
8991 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8992
479c15c2
NF
89932009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8994
8995 * Makefile.am (LTLDFLAGS): Define.
8996 (LINK): Define.
8997 * Makefile.in: Regenerate.
8998
667e6f89
JB
89992009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9000
9001 PR fortran/39718
9002 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9003 libgfortranbegin, check existence of libgfortran.a instead of
9004 libgfortranbegin.a.
9005
6dea8e99
JJ
90062009-05-20 Jakub Jelinek <jakub@redhat.com>
9007
9008 PR libgomp/40174
9009 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9010 (gomp_free_pool_helper): Likewise.
9011
34d01e1d
VL
90122009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9013 Jakub Jelinek <jakub@redhat.com>
9014
9015 PR fortran/35423
9016 * testsuite/libgomp.fortran/workshare2.f90: New test.
9017
748086b7
JJ
90182009-04-09 Nick Clifton <nickc@redhat.com>
9019
9020 * iter.c: Change copyright header to refer to version 3 of the
9021 GNU General Public License with version 3.1 of the GCC Runtime
9022 Library Exception and to point readers at the COPYING3 and
9023 COPYING3.RUNTIME files and the FSF's license web page.
9024 * alloc.c: Likewise.
9025 * barrier.c: Likewise.
9026 * config/bsd/proc.c: Likewise.
9027 * config/linux/affinity.c: Likewise.
9028 * config/linux/alpha/futex.h: Likewise.
9029 * config/linux/bar.c: Likewise.
9030 * config/linux/bar.h: Likewise.
9031 * config/linux/ia64/futex.h: Likewise.
9032 * config/linux/ia64/mutex.h: Likewise.
9033 * config/linux/lock.c: Likewise.
9034 * config/linux/mips/futex.h: Likewise.
9035 * config/linux/mutex.c: Likewise.
9036 * config/linux/mutex.h: Likewise.
9037 * config/linux/powerpc/futex.h: Likewise.
9038 * config/linux/proc.c: Likewise.
9039 * config/linux/ptrlock.c: Likewise.
9040 * config/linux/ptrlock.h: Likewise.
9041 * config/linux/s390/futex.h: Likewise.
9042 * config/linux/sem.c: Likewise.
9043 * config/linux/sem.h: Likewise.
9044 * config/linux/sparc/futex.h: Likewise.
9045 * config/linux/wait.h: Likewise.
9046 * config/linux/x86/futex.h: Likewise.
9047 * config/mingw32/proc.c: Likewise.
9048 * config/mingw32/time.c: Likewise.
9049 * config/posix/affinity.c: Likewise.
9050 * config/posix/bar.c: Likewise.
9051 * config/posix/bar.h: Likewise.
9052 * config/posix/lock.c: Likewise.
9053 * config/posix/mutex.h: Likewise.
9054 * config/posix/proc.c: Likewise.
9055 * config/posix/ptrlock.h: Likewise.
9056 * config/posix/sem.c: Likewise.
9057 * config/posix/sem.h: Likewise.
9058 * config/posix/time.c: Likewise.
9059 * config/posix95/lock.c: Likewise.
9060 * critical.c: Likewise.
9061 * env.c: Likewise.
9062 * error.c: Likewise.
9063 * fortran.c: Likewise.
9064 * iter_ull.c: Likewise.
9065 * libgomp.h: Likewise.
9066 * libgomp_f.h.in: Likewise.
9067 * libgomp_g.h: Likewise.
9068 * loop.c: Likewise.
9069 * loop_ull.c: Likewise.
9070 * omp.h.in: Likewise.
9071 * omp_lib.f90.in: Likewise.
9072 * omp_lib.h.in: Likewise.
9073 * ordered.c: Likewise.
9074 * parallel.c: Likewise.
9075 * sections.c: Likewise.
9076 * single.c: Likewise.
9077 * task.c: Likewise.
9078 * team.c: Likewise.
9079 * work.c: Likewise.
9080
90812009-04-09 Jakub Jelinek <jakub@redhat.com>
9082
9083 * testsuite/config/default.exp: Change copyright header to refer to
9084 version 3 of the GNU General Public License and to point readers
9085 at the COPYING3 file and the FSF's license web page.
9086
4f0ae266
JJ
90872009-04-08 Jakub Jelinek <jakub@redhat.com>
9088
9089 PR middle-end/39573
9090 * libgomp.c++/pr39573.C: New test.
9091
03742a9b
JJ
90922009-04-01 Jakub Jelinek <jakub@redhat.com>
9093
9094 PR other/39591
9095 * testsuite/libgomp.c/pr39591-1.c: New test.
9096 * testsuite/libgomp.c/pr39591-2.c: New test.
9097 * testsuite/libgomp.c/pr39591-3.c: New test.
9098
e50ea10b
UB
90992009-03-25 Uros Bizjak <ubizjak@gmail.com>
9100
9101 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9102 * testsuite/libgomp.c/atomic-6.c: Ditto.
9103
c5cdb03f
JJ
91042009-03-23 Jakub Jelinek <jakub@redhat.com>
9105
9106 PR c/39495
9107 * testsuite/libgomp.c/loop-12.c: New test.
9108 * testsuite/libgomp.c/loop-11.c: New test.
9109 * testsuite/libgomp.c++/loop-11.C: New test.
9110 * testsuite/libgomp.c++/loop-12.C: New test.
9111 * testsuite/libgomp.c++/for-8.C: New test.
9112
7a9d3fe8
RW
91132009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9114
9115 * configure: Regenerate.
9116
3ad6b266
JJ
91172009-02-11 Jakub Jelinek <jakub@redhat.com>
9118
9119 PR middle-end/39154
9120 * testsuite/libgomp.c/pr39154.c: New test.
9121
b39dea08
ILT
91222009-01-30 Ian Lance Taylor <iant@google.com>
9123
9124 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9125 libgomp_ld_is_gold. Get gold version number.
9126 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9127 * configure: Rebuild.
9128
72c66596
IS
91292009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9130
e50ea10b 9131 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9132 use libgfortran.a%s in their specs.
9133
876080ff
JJ
91342009-01-07 Jakub Jelinek <jakub@redhat.com>
9135
9136 PR libgomp/38086
9137 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9138 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9139 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9140 * configure: Regenerated.
9141 * config.h.in: Likewise.
9142
e4ebaef3
JJ
91432008-12-28 Jakub Jelinek <jakub@redhat.com>
9144
9145 PR c++/38650
9146 * testsuite/libgomp.c/pr38650.c: New test.
9147 * testsuite/libgomp.c++/pr38650.C: New test.
9148
382017a6
JJ
91492008-12-27 Jakub Jelinek <jakub@redhat.com>
9150
9151 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9152
79644b27
UB
91532008-12-26 Uros Bizjak <ubizjak@gmail.com>
9154
9155 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9156
baafc534
RW
91572008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9158
9159 * configure: Regenerate.
9160
d9c194cb
JJ
91612008-12-08 Jakub Jelinek <jakub@redhat.com>
9162
9163 PR middle-end/36802
9164 * testsuite/libgomp.c/pr36802-1.c: New test.
9165 * testsuite/libgomp.c/pr36802-2.c: New test.
9166 * testsuite/libgomp.c/pr36802-3.c: New test.
9167
86a182bf
JJ
91682008-12-01 Janis Johnson <janis187@us.ibm.com>
9169
9170 PR libgomp/38270
9171 * config/linux/powerpc/mutex.h: New.
9172
956adfaf
JJ
91732008-12-01 Jakub Jelinek <jakub@redhat.com>
9174
a2d4cdc9
JJ
9175 PR c++/38257
9176 * testsuite/libgomp.c++/for-7.C: New test.
9177
956adfaf
JJ
9178 PR c++/38348
9179 * testsuite/libgomp.c++/for-6.C: New test.
9180
d4038ca2
JJ
91812008-11-26 Janis Johnson <janis187@us.ibm.com>
9182
9183 PR testsuite/28870
9184 * testsuite/lib/libgomp.exp: Include new timeout library files.
9185 (libgomp_target_compile): Set timeout value from new proc.
9186
8b159eea
SE
91872008-11-13 Steve Ellcey <sje@cup.hp.com>
9188
9189 PR libgomp/37938
9190 * config/linux/ia64/mutex.h: New.
9191
5c6ed53a
TB
91922008-11-04 Tobias Burnus <burnus@net-b.de>
9193
9194 PR libgomp/37935
9195 * libgomp.texi (Runtime library routines, environment variables):
9196 Update for OpenMP version 3.0.
9197
6b4a97ed
PG
91982008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9199 Steve Ellcey <sje@cup.hp.com>
9200
9201 * configure: Regenerate for new libtool.
9202 * Makefile.in: Ditto.
9203 * testsuite/Makefile.in: Ditto.
9204
e2b34106
JJ
92052008-09-19 Jakub Jelinek <jakub@redhat.com>
9206 Andreas Tobler <a.tobler@schweiz.org>
9207
9208 * config/bsd/proc.c: New file.
8c3b3600 9209 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9210 * configure.ac: Check for header <sys/sysctl.h>
9211 * configure: Regenerate.
9212 * config.h.in: Likewise.
9213
3606b8bf
JJ
92142008-09-05 Janis Johnson <janis187@us.ibm.com>
9215
9216 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9217
6528b88d
AL
92182008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9219
9220 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9221 * Makefile.in: Regenerated.
9222 * testsuite/Makefile.in: Regenerated.
9223
d9b14b12 92242008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9225
a16b68bb 9226 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9227 depend on blddir if blddir exists.
9228 (libgomp_target_compile): Likewise.
9229 * testsuite/libgomp.c++/c++.exp: Likewise.
9230 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9231
70b1e376
RW
92322008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9233
9234 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9235 Do not list GPL as Invariant Section.
9236
318e8c3f
IG
92372008-07-28 Ilie Garbacea <ilie@mips.com>
9238 Chao-ying Fu <fu@mips.com>
9239
9240 * configure.tgt: Enable futex for MIPS.
9241 * config/linux/mips/futex.h: New file.
9242
4db72361
JJ
92432008-07-16 Jakub Jelinek <jakub@redhat.com>
9244
9245 * team.c (gomp_team_end): Free team immediately if it has
9246 just one thread.
9247
87bd23b8
DE
92482008-07-08 David Edelsohn <edelsohn@gnu.org>
9249
9250 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9251 * testsuite/libgomp.fortran/fortran.exp: Same.
9252 * testsuite/libgomp.c/c.exp: Same.
9253 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9254 directory to library path first.
9255
323ff903
KW
92562008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9257
9258 * env.c (parse_stacksize): Add cast to avoid warning.
9259 (parse_spincount): Likewise.
9260
b357f682
JJ
92612008-06-27 Jakub Jelinek <jakub@redhat.com>
9262
ca2b1311
JJ
9263 * testsuite/libgomp.c/loop-10.c: New test.
9264 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9265 * libgomp.c++/loop-6.C (main): Likewise.
9266
b357f682
JJ
9267 PR debug/36617
9268 * testsuite/libgomp.c/debug-1.c: New test.
9269
09a46078
JJ
92702008-06-19 Jakub Jelinek <jakub@redhat.com>
9271
9272 * testsuite/libgomp.c/nqueens-1.c: New test.
9273
2368a460
JJ
9274 PR c++/36523
9275 * testsuite/libgomp.c++/task-7.C: New function.
9276
18c04407
RW
92772008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9278
9279 * configure: Regenerate.
9280
9c4e59e0
JDA
92812008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9282
9283 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9284 mutex when HAVE_SYNC_BUILTINS isn't defined.
9285
6ccde948
RW
92862008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9287
9288 * libgomp.texi (omp_test_lock): Fix typo.
9289
b896f9fd
TB
92902008-06-12 Tobias Burnus <burnus@net-b.de>
9291
9292 * omp_lib.f90.in: Add "implicit none".
9293
c34938a8
JJ
92942008-06-12 Jakub Jelinek <jakub@redhat.com>
9295
9296 PR middle-end/36506
9297 * testsuite/libgomp.c/reduction-5.c: New test.
9298
976e44e3
JJ
92992008-06-11 Jakub Jelinek <jakub@redhat.com>
9300
5f836cbb
JJ
9301 * libgomp.h (struct gomp_task): Add in_tied_task field.
9302 * task.c (gomp_init_task): Initialize it.
9303 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9304 unconditionally. Don't call gomp_team_barrier_wake if
9305 current task is implicit or if(0) from implicit and number of
9306 running tasks is equal to nthreads - 1.
9307
01501fc8
JJ
9308 PR libgomp/36471
9309 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9310 omp_get_team_size_8): Fix pastos.
9311
976e44e3
JJ
9312 PR libgomp/36469
9313 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9314 * configure: Regenerated.
9315 * config.h.in: Regenerated.
9316 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9317 defined.
9318
e919209b
AT
93192008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9320
9321 PR bootstrap/36452
9322 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9323 (GOMP_loop_ull_dynamic_start): Likewise.
9324 (GOMP_loop_ull_guided_start): Likewise.
9325 (GOMP_loop_ull_ordered_static_start): Likewise.
9326 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9327 (GOMP_loop_ull_ordered_guided_start): Likewise.
9328
a68ab351
JJ
93292008-06-06 Jakub Jelinek <jakub@redhat.com>
9330 Richard Henderson <rth@redhat.com>
9331 Ulrich Drepper <drepper@redhat.com>
9332 Jakob Blomer <jakob.blomer@ira.uka.de>
9333
9334 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9335 Substitute also OMP_*LOCK_25*.
9336 * configure: Regenerated.
9337 * config.h.in: Regenerated.
9338 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9339 ptrlock.c and task.c.
9340 * Makefile.in: Regenerated.
9341 * testsuite/Makefile.in: Regenerated.
9342 * task.c: New file.
9343 * loop_ull.c: New file.
9344 * iter_ull.c: New file.
9345 * libgomp.h: Include ptrlock.h.
9346 (enum gomp_task_kind): New type.
9347 (struct gomp_team): Add task_lock, task_queue, task_count,
9348 task_running_count, single_count fields. Add
9349 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9350 Remove work_share_lock, generation_mask,
9351 oldest_live_gen, num_live_gen and init_work_shares fields, add
9352 work work_share_list_alloc, work_share_list_free and work_share_chunk
9353 fields. Change work_shares from pointer to pointers into an array.
9354 Change ordered_release field into gomp_sem_t ** from flexible array
9355 member. Add implicit_task and initial_work_shares fields.
9356 Move close to the end of the struct.
9357 (struct gomp_team_state): Add single_count, last_work_share,
9358 active_level and level fields, remove work_share_generation.
9359 (gomp_barrier_handle_tasks): New prototype.
9360 (gomp_finish_task): New inline function.
9361 (struct gomp_work_share): Move chunk_size, end, incr into
9362 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9363 next_ll fields. Reshuffle fields. Add next_alloc,
9364 next_ws, next_free and inline_ordered_team_ids fields, change
9365 ordered_team_ids into pointer from flexible array member.
9366 Add mode field. Put lock and next into a different cache line
9367 from most of the write-once fields.
9368 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9369 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9370 gomp_iter_ull_guided_next): New prototypes.
9371 (gomp_new_icv): New prototype.
9372 (struct gomp_thread): Add thread_pool and task fields.
9373 (struct gomp_thread_pool): New type.
9374 (gomp_new_team): New prototype.
9375 (gomp_team_start): Change type of last argument.
9376 (gomp_new_work_share): Removed.
9377 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9378 (gomp_work_share_init_done): New static inline.
9379 (gomp_throttled_spin_count_var, gomp_available_cpus,
9380 gomp_managed_threads): New extern decls.
9381 (gomp_init_task): New prototype.
9382 (gomp_spin_count_var): New extern var decl.
9383 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9384 or no alias support, or if not PIC.
9385 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9386 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9387 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9388 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9389 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9390 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9391 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9392 gomp_test_nest_lock_25): New prototypes.
9393 (omp_lock_symver, strong_alias): Define.
9394 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9395 decls.
9396 (gomp_end_task): New.
9397 (struct gomp_task_icv, gomp_global_icv): New.
9398 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9399 (struct gomp_task): New.
9400 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9401 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9402 (gomp_icv): New.
9403 (gomp_schedule_type): Reorder enum to match
9404 omp_sched_t.
9405 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9406 fields.
9407 (gomp_thread_start): Add gomp_team_barrier_wait call.
9408 For non-nested case remove clearing of docked thread thr fields.
9409 Use pool fields instead of global gomp_* variables. Use
9410 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9411 Create tasks for each member thread.
9412 (free_team): Only destroy team barrier, task_lock here and free it.
9413 (gomp_free_thread): Free last_team if non-NULL.
9414 (gomp_team_end): Call gomp_team_barrier_wait instead of
9415 gomp_barrier_wait. For nested case call one extra
9416 gomp_barrier_wait. Move here some destruction from free_team.
9417 Call free_team on pool->last_team if any, rather than freeing
9418 current team. Destroy work_share_list_free_lock ifndef
9419 HAVE_SYNC_BUILTINS.
9420 (gomp_new_icv): New function.
9421 (gomp_threads, gomp_threads_size, gomp_threads_used,
9422 gomp_threads_dock): Removed.
9423 (gomp_thread_destructor): New variable.
9424 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9425 functions.
9426 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 9427 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
9428 Initialize thread_pool field for new threads. Clear single_count.
9429 Change last argument from ws to team, don't create
9430 new team, set ts.work_share to &team->work_shares[0] and clear
9431 ts.last_work_share. Don't clear ts.work_share_generation.
9432 If number of threads changed, adjust atomically gomp_managed_threads.
9433 Use gomp_init_task instead of gomp_new_task,
9434 set thr->task to the corresponding implicit_task array entry.
9435 Create tasks for each member thread. Initialize ts.level.
9436 (initialize_team): Call pthread_key_create on
9437 gomp_thread_destructor.
9438 (team_destructor): New function.
9439 (new_team): Removed.
9440 (gomp_new_team): New function.
9441 (free_team): Free gomp_work_share blocks chained through next_alloc,
9442 instead of freeing work_shares and destroying work_share_lock.
9443 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9444 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9445 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9446 of gomp_barrier_wait.
9447 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9448 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9449 if gomp_work_share_start returned true. Don't unlock ws->lock.
9450 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9451 of gomp_barrier_wait.
9452 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9453 gomp_work_share_init_done if gomp_work_share_start returned true.
9454 Don't unlock ws->lock.
9455 * work.c: Include stddef.h.
9456 (free_work_share): Use work_share_list_free_lock instead
9457 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9458 Call gomp_fini_work_share and then either free ws if orphaned, or
9459 put it into work_share_list_free list of the current team.
9460 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9461 functions.
9462 (gomp_work_share_start, gomp_work_share_end,
9463 gomp_work_share_end_nowait): Rewritten.
9464 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9465 (openmp_version): Set to 200805.
9466 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9467 omp_sched_guided, omp_sched_auto): New parameters.
9468 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9469 omp_set_max_active_levels, omp_get_max_active_levels,
9470 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9471 omp_get_active_level): New interfaces.
9472 * omp_lib.h.in (openmp_version): Set to 200805.
9473 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9474 omp_sched_guided, omp_sched_auto): New parameters.
9475 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9476 omp_set_max_active_levels, omp_get_max_active_levels,
9477 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9478 omp_get_active_level): New externals.
9479 * loop.c: Include limits.h.
9480 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9481 GFS_AUTO.
9482 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9483 Likewise. Use gomp_icv.
9484 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9485 ts.static_trip here.
9486 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9487 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9488 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9489 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9490 don't unlock ws->lock, otherwise lock it.
9491 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9492 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9493 (gomp_parallel_loop_start): Call gomp_new_team instead of
9494 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9495 Adjust gomp_team_start caller. Pass 0 as second argument to
9496 gomp_resolve_num_threads.
9497 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9498 If adding ws->chunk_size nthreads + 1 times after end won't
9499 overflow, set ws->mode to 1.
9500 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9501 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9502 GOMP_loop_ull_ordered_static_start,
9503 GOMP_loop_ull_ordered_dynamic_start,
9504 GOMP_loop_ull_ordered_guided_start,
9505 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9506 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9507 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9508 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9509 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9510 prototypes.
9511 * libgomp.map: Export lock routines also @@OMP_2.0.
9512 (GOMP_loop_ordered_dynamic_first,
9513 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9514 GOMP_loop_ordered_static_first): Remove.
9515 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9516 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9517 GOMP_loop_ull_ordered_dynamic_next,
9518 GOMP_loop_ull_ordered_dynamic_start,
9519 GOMP_loop_ull_ordered_guided_next,
9520 GOMP_loop_ull_ordered_guided_start,
9521 GOMP_loop_ull_ordered_runtime_next,
9522 GOMP_loop_ull_ordered_runtime_start,
9523 GOMP_loop_ull_ordered_static_next,
9524 GOMP_loop_ull_ordered_static_start,
9525 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9526 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9527 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9528 (omp_set_schedule, omp_get_schedule,
9529 omp_get_thread_limit, omp_set_max_active_levels,
9530 omp_get_max_active_levels, omp_get_level,
9531 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9532 omp_set_schedule_, omp_set_schedule_8_,
9533 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9534 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9535 omp_get_max_active_levels_, omp_get_level_,
9536 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9537 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9538 New exports @@OMP_3.0.
9539 * omp.h.in (omp_sched_t): New type.
9540 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9541 omp_set_max_active_levels, omp_get_max_active_levels,
9542 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9543 omp_get_active_level): New prototypes.
9544 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9545 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9546 gomp_thread_limit_var, gomp_remaining_threads_count,
9547 gomp_remaining_threads_lock): New variables.
9548 (parse_spincount): New function.
9549 (initialize_env): Call gomp_init_num_threads unconditionally.
9550 Initialize gomp_available_cpus. Call parse_spincount,
9551 initialize gomp_{,throttled_}spin_count_var
9552 depending on presence and value of OMP_WAIT_POLICY and
9553 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9554 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9555 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9556 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9557 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9558 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9559 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9560 (gomp_global_icv): New.
9561 (parse_schedule): Use it. Parse "auto".
9562 (omp_set_num_threads): Use gomp_icv.
9563 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9564 Likewise.
9565 (omp_get_max_threads): Move from parallel.c.
9566 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9567 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9568 add ialias.
9569 (parse_stacksize, parse_wait_policy): New functions.
9570 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9571 both wrappers for compatibility and new locks.
9572 (omp_set_schedule, omp_get_schedule,
9573 omp_get_thread_limit, omp_set_max_active_levels,
9574 omp_get_max_active_levels, omp_get_level,
9575 omp_get_ancestor_thread_num, omp_get_team_size,
9576 omp_get_active_level): New ialias_redirect.
9577 (omp_set_schedule_, omp_set_schedule_8_,
9578 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9579 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9580 omp_get_max_active_levels_, omp_get_level_,
9581 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9582 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9583 New functions.
9584 * parallel.c: Include limits.h.
9585 (gomp_resolve_num_threads): Add count argument. Rewritten.
9586 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9587 argument to gomp_team_start. Pass 0 as second argument to
9588 gomp_resolve_num_threads.
9589 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9590 if gomp_thread_limit_var != ULONG_MAX.
9591 (omp_in_parallel): Implement using ts.active_level.
9592 (omp_get_max_threads): Move to env.c.
9593 (omp_get_level, omp_get_ancestor_thread_num,
9594 omp_get_team_size, omp_get_active_level): New functions,
9595 add ialias.
9596 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9597 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9598 gomp_iter_dynamic_next instead of the _locked variant and don't take
9599 lock around it, otherwise acquire it before calling
9600 gomp_iter_dynamic_next_locked.
9601 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9602 gomp_iter_dynamic_next instead of the _locked variant and don't take
9603 lock around it.
9604 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9605 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9606 Adjust gomp_team_start caller. Pass count as second argument to
9607 gomp_resolve_num_threads, don't adjust num_threads after the call.
9608 Use gomp_icv.
9609 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9610 ws->chunk_size by incr.
9611 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9612 code.
9613 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9614 types.
9615 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9616 (omp_check_defines): Check even the compat defines.
9617 * config/linux/ptrlock.c: New file.
9618 * config/linux/ptrlock.h: New file.
9619 * config/linux/wait.h: New file.
9620 * config/posix/ptrlock.c: New file.
9621 * config/posix/ptrlock.h: New file.
9622 * config/linux/bar.h (gomp_team_barrier_wait,
9623 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9624 (gomp_team_barrier_set_task_pending,
9625 gomp_team_barrier_clear_task_pending,
9626 gomp_team_barrier_set_waiting_for_tasks,
9627 gomp_team_barrier_waiting_for_tasks,
9628 gomp_team_barrier_done): New inlines.
9629 (gomp_barrier_t): Rewritten.
9630 (gomp_barrier_state_t): New typedef.
9631 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9632 gomp_barrier_wait_start): Rewritten.
9633 (gomp_barrier_wait_end): Change second argument to
9634 gomp_barrier_state_t.
9635 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9636 inlines.
9637 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9638 futex.h.
9639 (gomp_barrier_wait_end): Rewritten.
9640 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9641 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9642 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9643 (gomp_barrier_state_t): New typedef.
9644 (gomp_team_barrier_wait,
9645 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9646 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9647 into the return value. Return gomp_barrier_state_t.
9648 (gomp_team_barrier_set_task_pending,
9649 gomp_team_barrier_clear_task_pending,
9650 gomp_team_barrier_set_waiting_for_tasks,
9651 gomp_team_barrier_waiting_for_tasks,
9652 gomp_team_barrier_done): New inlines.
9653 (gomp_barrier_wait_end): Change second argument to
9654 gomp_barrier_state_t.
9655 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9656 inlines.
9657 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9658 (gomp_barrier_wait_end): Change second argument to
3e348fcc 9659 gomp_barrier_state_t.
a68ab351
JJ
9660 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9661 gomp_team_barrier_wake): New functions.
9662 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9663 futex.h.
9664 (gomp_futex_wake, gomp_futex_wait): New variables.
9665 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9666 * config/linux/lock.c: Rewrite to make locks task owned,
9667 for backwards compatibility provide the old entrypoints
9668 if symbol versioning. Include wait.h instead of libgomp.h and
9669 futex.h.
9670 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9671 * config/posix95/lock.c: Rewrite to make locks task owned,
9672 for backwards compatibility provide the old entrypoints
9673 if symbol versioning.
9674 * config/posix/lock.c: Rewrite to make locks task owned,
9675 for backwards compatibility provide the old entrypoints
9676 if symbol versioning.
9677 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9678 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9679 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9680 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9681 (sys_futex0): Return error code.
9682 (futex_wake, futex_wait): If ENOSYS was returned, clear
9683 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9684 (cpu_relax, atomic_write_barrier): New static inlines.
9685 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9686 (futex_wake, futex_wait): If ENOSYS was returned, clear
9687 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9688 (cpu_relax, atomic_write_barrier): New static inlines.
9689 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9690 (sys_futex0): Return error code.
9691 (futex_wake, futex_wait): If ENOSYS was returned, clear
9692 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9693 (cpu_relax, atomic_write_barrier): New static inlines.
9694 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9695 (sys_futex0): Return error code.
9696 (futex_wake, futex_wait): If ENOSYS was returned, clear
9697 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9698 (cpu_relax, atomic_write_barrier): New static inlines.
9699 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9700 (sys_futex0): Return error code.
9701 (futex_wake, futex_wait): If ENOSYS was returned, clear
9702 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9703 (cpu_relax, atomic_write_barrier): New static inlines.
9704 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9705 (sys_futex0): Return error code.
9706 (futex_wake, futex_wait): If ENOSYS was returned, clear
9707 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9708 (cpu_relax, atomic_write_barrier): New static inlines.
9709 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9710 futex.h.
9711 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9712 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9713 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9714 types.
9715 (omp_nest_lock_t): Change owner into void *, add lock field.
9716 * config/posix95/omp-lock.h: Include semaphore.h.
9717 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9718 (omp_lock_t): Use sem_t instead of mutex if semaphores
9719 aren't broken.
9720 (omp_nest_lock_t): Likewise. Change owner to void *.
9721 * config/posix/omp-lock.h: Include semaphore.h.
9722 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9723 (omp_lock_t): Use sem_t instead of mutex if semaphores
9724 aren't broken.
9725 (omp_nest_lock_t): Likewise. Add owner field.
9726
97272008-06-06 Jakub Jelinek <jakub@redhat.com>
9728
9729 * testsuite/libgomp.c/collapse-1.c: New test.
9730 * testsuite/libgomp.c/collapse-2.c: New test.
9731 * testsuite/libgomp.c/collapse-3.c: New test.
9732 * testsuite/libgomp.c/icv-1.c: New test.
9733 * testsuite/libgomp.c/icv-2.c: New test.
9734 * testsuite/libgomp.c/lib-2.c: New test.
9735 * testsuite/libgomp.c/lock-1.c: New test.
9736 * testsuite/libgomp.c/lock-2.c: New test.
9737 * testsuite/libgomp.c/lock-3.c: New test.
9738 * testsuite/libgomp.c/loop-4.c: New test.
9739 * testsuite/libgomp.c/loop-5.c: New test.
9740 * testsuite/libgomp.c/loop-6.c: New test.
9741 * testsuite/libgomp.c/loop-7.c: New test.
9742 * testsuite/libgomp.c/loop-8.c: New test.
9743 * testsuite/libgomp.c/loop-9.c: New test.
9744 * testsuite/libgomp.c/nested-3.c: New test.
9745 * testsuite/libgomp.c/nestedfn-6.c: New test.
9746 * testsuite/libgomp.c/sort-1.c: New test.
9747 * testsuite/libgomp.c/task-1.c: New test.
9748 * testsuite/libgomp.c/task-2.c: New test.
9749 * testsuite/libgomp.c/task-3.c: New test.
9750 * testsuite/libgomp.c/task-4.c: New test.
9751 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9752 to C++ testsuite default compiler options.
9753 * testsuite/libgomp.c++/collapse-1.C: New test.
9754 * testsuite/libgomp.c++/collapse-2.C: New test.
9755 * testsuite/libgomp.c++/ctor-10.C: New test.
9756 * testsuite/libgomp.c++/for-1.C: New test.
9757 * testsuite/libgomp.c++/for-2.C: New test.
9758 * testsuite/libgomp.c++/for-3.C: New test.
9759 * testsuite/libgomp.c++/for-4.C: New test.
9760 * testsuite/libgomp.c++/for-5.C: New test.
9761 * testsuite/libgomp.c++/loop-8.C: New test.
9762 * testsuite/libgomp.c++/loop-9.C: New test.
9763 * testsuite/libgomp.c++/loop-10.C: New test.
9764 * testsuite/libgomp.c++/task-1.C: New test.
9765 * testsuite/libgomp.c++/task-2.C: New test.
9766 * testsuite/libgomp.c++/task-3.C: New test.
9767 * testsuite/libgomp.c++/task-4.C: New test.
9768 * testsuite/libgomp.c++/task-5.C: New test.
9769 * testsuite/libgomp.c++/task-6.C: New test.
9770 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9771 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9772 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9773 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9774 * testsuite/libgomp.fortran/collapse1.f90: New test.
9775 * testsuite/libgomp.fortran/collapse2.f90: New test.
9776 * testsuite/libgomp.fortran/collapse3.f90: New test.
9777 * testsuite/libgomp.fortran/collapse4.f90: New test.
9778 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9779 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9780 * testsuite/libgomp.fortran/lib4.f90: New test.
9781 * testsuite/libgomp.fortran/lock-1.f90: New test.
9782 * testsuite/libgomp.fortran/lock-2.f90: New test.
9783 * testsuite/libgomp.fortran/nested1.f90: New test.
9784 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9785 * testsuite/libgomp.fortran/strassen.f90: New test.
9786 * testsuite/libgomp.fortran/tabs1.f90: New test.
9787 * testsuite/libgomp.fortran/tabs2.f: New test.
9788 * testsuite/libgomp.fortran/task1.f90: New test.
9789 * testsuite/libgomp.fortran/task2.f90: New test.
9790 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9791 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9792 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9793 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9794 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9795
7a0112e7
JJ
97962008-05-23 Jakub Jelinek <jakub@redhat.com>
9797
9798 PR c++/36308
9799 * testsuite/libgomp.c++/ctor-11.C: New test.
9800 * testsuite/libgomp.c++/ctor-12.C: New test.
9801
91a5b394
JJ
98022008-05-15 Janis Johnson <janis187@us.ibm.com>
9803
9804 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9805
c18c98c0
JJ
98062008-05-07 Jakub Jelinek <jakub@redhat.com>
9807
9808 PR middle-end/36106
9809 * testsuite/libgomp.c/atomic-5.c: New test.
9810 * testsuite/libgomp.c/atomic-6.c: New test.
9811 * testsuite/libgomp.c/autopar-1.c: New test.
9812
6d26724a
RW
98132008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9814
9815 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9816 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9817 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9818 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9819 * configure: Regenerate.
9820 * Makefile.in, testsuite/Makefile.in: Likewise.
9821
deb984e6
PB
98222008-04-18 Paolo Bonzini <bonzini@gnu.org>
9823
9824 PR bootstrap/35457
9825 * aclocal.m4: Regenerate.
9826 * configure: Regenerate.
9827
9e775963
JJ
98282008-03-18 Jakub Jelinek <jakub@redhat.com>
9829
8119fc93
JJ
9830 PR middle-end/35611
9831 * testsuite/libgomp.c/atomic-4.c: New test.
9832
9e775963
JJ
9833 PR libgomp/35625
9834 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9835 (gomp_iter_guided_next): Likewise.
9836 * testsuite/libgomp.c/pr35625.c: New test.
9837
38d24731
RW
98382008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9839
9840 * aclocal.m4: Regenerate.
9841 * configure: Likewise.
9842 * Makefile.in: Likewise.
9843 * testsuite/Makefile.in: Likewise.
9844
d0fb20be
JJ
98452008-03-13 Jakub Jelinek <jakub@redhat.com>
9846
9847 PR middle-end/35185
9848 * testsuite/libgomp.c++/pr35185.C: New test.
9849
7c8f7639
JJ
98502008-03-12 Jakub Jelinek <jakub@redhat.com>
9851
9852 PR middle-end/35549
9853 * testsuite/libgomp.c/pr35549.c: New test.
9854
251923f5
JJ
98552008-03-06 Jakub Jelinek <jakub@redhat.com>
9856
9857 * testsuite/libgomp.c/atomic-3.c: New test.
9858
f489fba1
FXC
98592008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9860
9861 PR fortran/33197
251923f5 9862 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9863 .F08 file suffixes.
9864
a1b25e49
PG
98652008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9866
9867 PR libgomp/33131
9868 * configure.ac: Add ACX_HEADER_STRING.
9869 * env.c: Include strings.h.
9870 * aclocal.m4: Regenerate.
9871 * config.h.in: Regenerate.
9872 * configure: Regenerate.
9873 * Makefile.in: Regenerate.
9874 * testsuite/Makefile.in: Regenerate.
9875
6837b3b8
JJ
98762008-02-15 Jakub Jelinek <jakub@redhat.com>
9877
ac84c062
JJ
9878 PR middle-end/35196
9879 * testsuite/libgomp.c/pr35196.c: New test.
9880
6837b3b8
JJ
9881 PR middle-end/35130
9882 * testsuite/libgomp.fortran/pr35130.f90: New test.
9883 * testsuite/libgomp.c/pr35130.c: New test.
9884
c256730c
JJ
98852008-01-25 Jakub Jelinek <jakub@redhat.com>
9886
9887 PR middle-end/33880
9888 * testsuite/libgomp.c/pr33880.c: New test.
9889 * testsuite/libgomp.fortran/pr33880.f90: New test.
9890
c8e95542 98912008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9892
9893 * configure: Regenerate.
9894
0f3e711e
JJ
98952008-01-08 Jakub Jelinek <jakub@redhat.com>
9896
9897 * configure.ac: Move futex checking into ../config/futex.m4.
9898 * configure: Rebuilt.
9899 * aclocal.m4: Rebuilt.
9900 * Makefile.in: Rebuilt.
9901
9902 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9903 2007-10-15 ../config/tls.m4 change.
9904
5259c813
JJ
99052007-12-19 Jakub Jelinek <jakub@redhat.com>
9906
9907 PR c++/34513
9908 * testsuite/libgomp.c/pr34513.c: New test.
9909 * testsuite/libgomp.c++/pr34513.C: New test.
9910
ae8d8879
JH
99112007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9912
9913 PR target/32765
9914 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9915
2b4cf991
JJ
99162007-12-04 Jakub Jelinek <jakub@redhat.com>
9917
9918 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9919
d2dda7fe
JJ
99202007-12-03 Jakub Jelinek <jakub@redhat.com>
9921
9922 * testsuite/libgomp.c/private-1.c: New test.
9923
d683ec81
PB
99242007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9925 Paolo Bonzini <bonzini@gnu.org>
9926
9927 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9928 instead of 'VPATH ='.
9929 * Makefile.in: Regenerate.
9930
a7415017
MK
99312007-11-23 Matthias Klose <doko@ubuntu.com>
9932
9933 * configure.ac: Adjust makeinfo version check.
9934 * configure: Regenerate.
9935
78e47463
JJ
99362007-11-10 Jakub Jelinek <jakub@redhat.com>
9937
9938 PR fortran/34020
9939 * testsuite/libgomp.fortran/pr34020.f90: New test.
9940
239371f9
JJ
99412007-11-06 Jakub Jelinek <jakub@redhat.com>
9942
9943 PR c++/33894
9944 * testsuite/libgomp.c++/atomic-1.C: New test.
9945
98a5fa94
JJ
99462007-10-25 Jakub Jelinek <jakub@redhat.com>
9947
9948 PR libgomp/33275
9949 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9950 Make x and y integers rather than (implicit) reals. Add private (j)
9951 clause to the last omp parallel.
9952
3afcaaf4
MR
99532007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9954
9955 * configure: Regenerate following changes to ../config/tls.m4.
9956
bd69daef
JJ
99572007-09-28 Jakub Jelinek <jakub@redhat.com>
9958
9959 * testsuite/libgomp.fortran/stack.f90: New test.
9960
1d0bd356
DS
99612007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9962
9963 * config/mingw32/proc.c: New file.
9964
b3172cab
UB
99652007-09-05 Uros Bizjak <ubizjak@gmail.com>
9966
9967 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9968 (main): Use __get_cpuid to get i386 target fetaures.
9969 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9970 (main): Use __get_cpuid to get x86_64 target fetaures.
9971
6da17392
JH
99722007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9973
9974 PR target/32765
9975 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9976 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9977
e1c82219
JJ
99782007-07-12 Jakub Jelinek <jakub@redhat.com>
9979
9980 PR fortran/32550
9981 * testsuite/libgomp.fortran/pr32550.f90: New test.
9982 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9983
12a27363
L
99842007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9985
9986 * aclocal.m4: Regenerated.
9987
5349080d
TB
99882007-07-05 Tobias Burnus <burnus@net-b.de>
9989
9990 PR fortran/32359
9991 * testsuite/libgomp.fortran/pr32359.f90: New.
9992
4f9c450c
JJ
99932007-07-02 Jakub Jelinek <jakub@redhat.com>
9994
9995 PR libgomp/32468
9996 * sections.c (GOMP_parallel_sections_start): Only decrease
9997 number of threads to COUNT if dyn_var is true.
9998 * testsuite/libgomp.c/pr32468.c: New test.
9999
28c67ed7
RO
100002007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10001
10002 PR libgomp/26308
10003 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10004
64964499
JJ
100052007-06-21 Jakub Jelinek <jakub@redhat.com>
10006
10007 PR middle-end/32362
10008 * testsuite/libgomp.c/pr32362-1.c: New test.
10009 * testsuite/libgomp.c/pr32362-2.c: New test.
10010 * testsuite/libgomp.c/pr32362-3.c: New test.
10011
46d8fbd1
JJ
100122007-06-07 Jakub Jelinek <jakub@redhat.com>
10013
10014 * team.c (gomp_team_start): Fix setting up thread_attr
10015 stack size.
10016
82a6cadf
PB
100172007-06-02 Paolo Bonzini <bonzini@gnu.org>
10018
10019 * configure: Regenerate.
10020
1cf3d07d
SE
100212007-05-23 Steve Ellcey <sje@cup.hp.com>
10022
10023 * Makefile.in: Regenerate.
10024 * configure: Regenerate.
10025 * aclocal.m4: Regenerate.
10026 * testsuite/Makefile.in: Regenerate.
10027
12aac30b
JJ
100282007-05-04 Jakub Jelinek <jakub@redhat.com>
10029
10030 * config/linux/proc.c: New file.
10031
f1028b02
JJ
10032 PR libgomp/28482
10033 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10034
06785a48
DF
100352007-04-19 Daniel Franke <franke.daniel@gmail.com>
10036
10037 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10038
b3b08ba0
MK
100392007-04-16 Matthias Klose <doko@debian.org>
10040
10041 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10042 flags if not building with -m64.
10043 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10044 flag for i?86-*-* targets, if current target matches -m64.
10045
6b2c5ce0
SE
100462007-04-14 Steve Ellcey <sje@cup.hp.com>
10047
10048 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10049 * Makefile.in: Regenerate.
10050
dd56fe7c
JDA
100512007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10052
10053 PR testsuite/31369
10054 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10055 ld_library_path.
10056 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10057
a0884cf0
JJ
100582007-04-04 Jakub Jelinek <jakub@redhat.com>
10059
10060 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10061 decls.
10062 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10063 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10064 (parse_affinity): New function.
10065 (initialize_env): Call it and gomp_init_affinity.
10066 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10067 create new pthread_attr_t and call gomp_init_thread_affinity
10068 on it for each thread before passing the attribute to pthread_create.
10069 * config/linux/affinity.c: New file.
10070 * config/posix/affinity.c: New file.
10071 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10072 * configure: Rebuilt.
10073 * config.h.in: Rebuilt.
10074 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10075 * Makefile.in: Rebuilt.
10076
1850744b
AT
100772007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10078
10079 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10080 *-*-darwin*.
10081 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10082 and use it if found.
10083
516f1ed8
UB
100842007-03-18 Uros Bizjak <ubizjak@gmail.com>
10085
10086 * testsuite/config/default.exp: New file.
10087 * testsuite/lib/libgomp.exp: New file.
10088 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10089 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10090 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10091 (libgomp_load): Remove.
10092 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10093 always_ld_library_path, not ld_library_path. Set additional_flags
10094 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10095 (target_compile): Do not call libgomp_init. Append lang_library_path
10096 and lang_link_flags to options.
10097 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10098 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10099 here.
10100 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10101 always_ld_library_path. Set LD_LIBRARY_PATH here.
10102 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10103 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10104 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10105 CX8 flag.
10106 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10107 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10108 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10109 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10110 * testsuite/libgomp.c/atomic-10.c: Ditto.
10111
2ada56f5
JJ
101122007-03-21 Jakub Jelinek <jakub@redhat.com>
10113
10114 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10115 dg-final cleanup-modules line.
10116 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10117 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10118 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10119 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10120 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10121 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10122 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10123
f210f1cd
AS
101242007-03-18 Andreas Schwab <schwab@suse.de>
10125
10126 * acinclude.m4: Adjust regular expression for ld version
10127 extraction.
10128 * configure: Regenerate.
10129
c4dc950d
BM
101302007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10131
10132 * Makefile.am: Add install-pdf target as copied from
10133 automake v1.10 rules.
10134 * Makefile.in: Regenerate
10135
e02a048f
JJ
101362007-02-07 Jakub Jelinek <jakub@redhat.com>
10137
78e075d4
JJ
10138 PR libgomp/28486
10139 * configure: Regenerate.
10140
e02a048f
JJ
10141 PR c++/30703
10142 * testsuite/libgomp.c++/pr30703.C: New test.
10143
60def7ed
JJ
101442007-02-02 Jakub Jelinek <jakub@redhat.com>
10145
10146 Revert:
10147 2006-07-05 Eric Christopher <echristo@apple.com>
10148 * configure.ac: Depend addition of -pthread on host OS.
10149 * configure: Regenerate.
10150
f1b0882e
RW
101512007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10152
10153 * libgomp.texi: Fix spacing after abbreviations.
10154
748b9d7c
DF
101552007-01-31 Daniel Franke <franke.daniel@gmail.com>
10156
10157 PR libgomp/30546
10158 * configure.ac: Add check for makeinfo
10159 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10160 if an appropiate version of makeinfo is found.
10161 * aclocal.m4: Regenerated.
10162 * configure: Regenerated.
10163 * Makefile.in: Regenerated.
10164 * testsuite/Makefile.in: Regenerated.
10165
14734fc7
DF
101662007-01-29 Daniel Franke <franke.daniel@gmail.com>
10167
10168 PR libgomp/30540
10169 * libgomp.texi: More about implementation-dependent settings.
10170
7befd5d2
TB
101712007-01-26 Tobias Burnus <burnus@net-b.de>
10172
10173 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10174
4288fea2
JJ
101752007-01-24 Jakub Jelinek <jakub@redhat.com>
10176
10177 PR middle-end/30494
10178 * testsuite/libgomp.c/pr30494.c: New test.
10179
627ab4b8
TT
101802007-01-15 Tom Tromey <tromey@redhat.com>
10181
10182 * configure: Rebuilt.
10183 * configure.ac: Fixed comment.
10184
7c2b7f45
DF
101852007-01-14 Daniel Franke <franke.daniel@gmail.com>
10186
10187 * libgomp.texi: Document implementation specific default values of
10188 environment variables.
10189
3721b9e1
DF
101902006-12-21 Daniel Franke <franke.daniel@gmail.com>
10191
10192 PR libgomp/28209
10193 * libgomp.texi: New file.
10194 * configure.ac: Add --enable-generated-files-in-srcdir option.
10195 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10196 files to srcdir.
10197 * Makefile.in: Regenerated.
10198 * config.h.in: Regenerated.
10199 * testsuite/Makefile.in: Regenerated.
10200 * NOTES: Removed.
10201
62bd6216
DF
102022006-12-04 Daniel Franke <franke.daniel@gmail.com>
10203
10204 PR libgomp/29949
10205 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10206
aad741f4
EB
102072006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10208
10209 * configure: Regenerate.
10210
22568cc6
JJ
102112006-12-04 Jakub Jelinek <jakub@redhat.com>
10212
10213 PR libgomp/29947
10214 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10215 start if there shouldn't be any loop iterations.
10216 (gomp_loop_ordered_static_start): Remove start == end test.
10217 * testsuite/libgomp.c/pr29947-1.c: New test.
10218 * testsuite/libgomp.c/pr29947-2.c: New test.
10219
a9690009
EB
102202006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10221
10222 * configure.tgt: Force initial-exec TLS model on Linux only.
10223
597c25e6
DJ
102242006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10225
10226 * configure: Regenerated.
10227
6acf0b38
UB
102282006-11-09 Uros Bizjak <ubizjak@gmail.com>
10229
10230 * env.c (parse_schedule): Reject out of range values.
10231 (parse_unsigned_long): Reject out of range, negative or zero values.
10232
a7a53ca5
JJ
102332006-10-29 Jakub Jelinek <jakub@redhat.com>
10234
10235 PR fortran/29629
10236 * testsuite/libgomp.fortran/pr29629.f90: New test.
10237
6d4d216a
EB
102382006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10239
10240 PR libgomp/29494
10241 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10242 * config/posix95: New directory.
10243 * config/posix95/omp-lock.h: New file.
10244 * config/posix95/lock.c: Likewise.
10245
5b043f08
GK
102462006-10-14 Geoffrey Keating <geoffk@apple.com>
10247
10248 * aclocal.m4: Regenerate.
10249 * configure: Regenerate.
10250
b50019f0
DS
102512006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10252
10253 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10254 '<' to '<='.
10255
8887708e
DS
102562006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10257
10258 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10259 test.
10260 * configure: Regenerate.
10261 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10262
9b9e4cd6
JJ
102632006-09-26 Jakub Jelinek <jakub@redhat.com>
10264
a70ad3bb
JJ
10265 PR middle-end/25261
10266 PR middle-end/28790
10267 * testsuite/libgomp.c/nestedfn-4.c: New test.
10268 * testsuite/libgomp.c/nestedfn-5.c: New test.
10269 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10270
9b9e4cd6
JJ
10271 PR fortran/29097
10272 * testsuite/libgomp.fortran/condinc1.f: New test.
10273 * testsuite/libgomp.fortran/condinc2.f: New test.
10274 * testsuite/libgomp.fortran/condinc3.f90: New test.
10275 * testsuite/libgomp.fortran/condinc4.f90: New test.
10276 * testsuite/libgomp.fortran/condinc1.inc: New file.
10277
2fb31455
TT
102782006-09-18 Tom Tromey <tromey@redhat.com>
10279
10280 * configure: Rebuilt.
10281
c663e301
JM
102822006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10283
10284 PR c/28768
10285 PR preprocessor/14634
10286 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10287 to AC_DEFINE.
10288 * configure: Regenerate.
10289
38371be9
SK
102902006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10291
10292 * testsuite/libgomp.fortran/reduction3.f90: Change
10293 -2147483648 to -huge(i)-1 to avoid overflow.
10294 * testsuite/libgomp.fortran/reduction4.f90: Change
10295 Z'ffffffff' to not(0) to avoid overflow.
10296
571d5ac5
JM
102972006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10298
10299 PR libgomp/25938
10300 * Makefile.am (libsubincludedir): New.
10301 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10302 * Makefile.in: Regenerate.
10303
89b3e3cd
JJ
103042006-08-17 Jakub Jelinek <jakub@redhat.com>
10305
10306 PR libgomp/28725
10307 * env.c: Include ctype.h.
10308 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10309 leading and/or trailing whitespace and compare strings case
10310 insensitively.
10311
742fae05
JJ
103122006-07-16 Jakub Jelinek <jakub@redhat.com>
10313
10314 PR fortran/28390
10315 * testsuite/libgomp.fortran/pr28390.f: New test.
10316
a1daed2d
EC
103172006-07-05 Eric Christopher <echristo@apple.com>
10318
10319 * configure.ac: Depend addition of -pthread on host OS.
10320 * configure: Regenerate.
10321
5d7b5199
JJ
103222006-06-21 Jakub Jelinek <jakub@redhat.com>
10323
10324 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10325 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10326 defined.
10327
fe5568e9
JJ
103282006-06-20 Jakub Jelinek <jakub@redhat.com>
10329
10330 PR libgomp/26175
10331 PR libgomp/26477
10332 * configure.ac: If neither --enable-linux-futex nor
10333 --disable-linux-futex is passed, determine the default by checking
10334 for compiling and/or running against NPTL. With --enable-linux-futex,
10335 check if SYS_gettid and SYS_futex are defined.
10336 * configure: Rebuilt.
10337
c3b11a40
RH
103382006-06-14 Richard Henderson <rth@redhat.com>
10339
10340 PR libgomp/28008
10341 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10342 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10343
d0d1b24d
RH
103442006-06-09 Richard Henderson <rth@redhat.com>
10345
10346 * env.c (gomp_nthreads_var): Change to unsigned long.
10347 (gomp_run_sched_chunk): Likewise.
10348 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10349 (initialize_env): Initialize gomp_thread_attr.
10350 * libgomp.h (gomp_nthreads_var): Update decl.
10351 (gomp_run_sched_chunk): Likewise.
10352 (gomp_thread_attr): Declare.
10353 * team.c (gomp_thread_attr): Export.
10354 (initialize_team): Don't initialize it.
10355
cd75853e
JJ
103562006-06-09 Jakub Jelinek <jakub@redhat.com>
10357
10358 PR fortran/27916
10359 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10360 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10361
33815e0c
FXC
103622006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10363
10364 * config/mingw32/time.c: New file.
10365 * configure.tgt: Use it.
10366
6667de0d
CD
103672006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10368
10369 * Makefile.am: Add install-html target. Add install-html to .PHONY
10370 * Makefile.in: Regenerate.
10371
e962c46b
JDA
103722006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10373
10374 PR libgomp/27612
10375 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10376 * testsuite/libgomp.c/critical-1.c: Likewise.
10377 * testsuite/libgomp.c/loop-1.c: Likewise.
10378 * testsuite/libgomp.c/loop-2.c: Likewise.
10379 * testsuite/libgomp.c/single-1.c: Likewise.
10380 * testsuite/libgomp.c/ordered-1.c: Likewise.
10381 * testsuite/libgomp.c/ordered-2.c: Likewise.
10382
eeb1d9e0
JJ
103832006-05-15 Jakub Jelinek <jakub@redhat.com>
10384
10385 PR middle-end/27416
10386 * libgomp.fortran/pr27416-1.f90: New test.
10387
693d710f
JJ
103882006-05-03 Jakub Jelinek <jakub@redhat.com>
10389
10390 PR fortran/27395
10391 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10392 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10393
8ca5b2a2
JJ
103942006-05-02 Jakub Jelinek <jakub@redhat.com>
10395
10396 PR c++/26943
10397 * testsuite/libgomp.c/pr26943-1.c: New test.
10398 * testsuite/libgomp.c/pr26943-2.c: New test.
10399 * testsuite/libgomp.c/pr26943-3.c: New test.
10400 * testsuite/libgomp.c/pr26943-4.c: New test.
10401 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10402 * testsuite/libgomp.c++/pr26943.C: New test.
10403
077b0dfb
JJ
104042006-05-02 Jakub Jelinek <jakub@redhat.com>
10405
10406 PR middle-end/27337
10407 * testsuite/libgomp.c++/pr27337.C: New test.
10408
91b6c26d
JJ
104092006-04-26 Jakub Jelinek <jakub@redhat.com>
10410
10411 PR c/26171
10412 * testsuite/libgomp.c/pr26171.c: New test.
10413
60e1758f
RH
104142006-04-25 Richard Henderson <rth@redhat.com>
10415
10416 PR libgomp/25865
10417 * configure.ac: Use GCC_CHECK_TLS.
10418 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10419 * Makefile.in, aclocal.m4, configure: Regenerate.
10420
615baed7
MK
104212006-04-10 Matthias Klose <doko@debian.org>
10422
10423 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10424 directory names containing underscores.
10425
fae2b46b
JJ
104262006-03-21 Jakub Jelinek <jakub@redhat.com>
10427
10428 PR c++/26691
10429 * testsuite/libgomp.c++/pr26691.C: New test.
10430
11a5f608
JJ
104312006-03-13 Jakub Jelinek <jakub@redhat.com>
10432
10433 * testsuite/libgomp.fortran/retval2.f90: New test.
10434
1799e5d5
RH
104352006-03-09 Diego Novillo <dnovillo@redhat.com>
10436
10437 * testsuite/libgomp.c++: New directory.
10438
d349482e
AT
104392006-02-25 Shantonu Sen <ssen@opendarwin.org>
10440
10441 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10442 * config/posix/sem.c: Implement the above.
10443
104442006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10445
10446 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10447 define HAVE_BROKEN_POSIX_SEMAPHORES.
10448 * configure: Rebuilt.
10449 * config.h.in: Rebuilt.
10450
124452c9
FXC
104512006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10452
10453 PR bootstrap/26161
10454 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10455 for the other pthread check.
10456 * configure: Regenerate.
10457 * config.h.in: Regenerate.
10458
dd8d6dfe
JJ
104592006-02-15 Jakub Jelinek <jakub@redhat.com>
10460
10461 PR libgomp/25938
10462 PR libgomp/25984
10463 * Makefile.am (fincludedir): New variable.
10464 (nodist_include_HEADERS): Remove Fortran files.
10465 (nodist_finclude_HEADERS): New variable.
10466 * Makefile.in: Regenerated.
10467
6c7a4dfd
JJ
104682006-02-13 Jakub Jelinek <jakub@redhat.com>
10469
10470 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10471 Remove tests for returning assumed character length arrays.
10472
5142e08b
RS
104732006-02-12 Roger Sayle <roger@eyesopen.com>
10474 John David Anglin <dave@hiauly1.hia.nrc.ca>
10475
10476 PR libgomp/25936
10477 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 10478
5821fba8
UW
104792006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10480
10481 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10482
cb2bbc67
EB
104832006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10484
10485 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10486 part of LD_LIBRARY_PATH manually.
10487
f05ee80c
L
104882006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10489
10490 PR libgomp/25852
10491 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10492 libgomp_init.
10493
03b8fe49
PB
104942005-01-25 Paolo Bonzini <bonzini@gnu.org>
10495
10496 PR libgomp/25884
f05ee80c
L
10497 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10498 * configure.ac (PERL): Don't set.
10499 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10500 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10501 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10502 * omp.h.in: Wrap the new configure substitutions with @ characters.
10503 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10504 * aclocal.m4, configure, Makefile.in: Regenerate.
10505 * mkomp_h.pl: Delete.
03b8fe49 10506
18cbfd85
PB
105072005-01-24 Paolo Bonzini <bonzini@gnu.org>
10508
10509 PR libgomp/25259
10510 * configure.ac: Use GCC_HEADER_STDINT.
10511 * libgomp.h: Include gstdint.h.
10512 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10513 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10514
c41303c6
RH
105152006-01-24 Richard Henderson <rth@redhat.com>
10516
10517 PR libgomp/25942
10518 * configure.ac: Add AM_MAINTAINER_MODE.
10519 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10520
149b9553
DN
105212006-01-24 Diego Novillo <dnovillo@redhat.com>
10522
10523 * Makefile.in: Regenerate.
10524 * testsuite/Makefile.in: Regenerate.
10525 * aclocal.m4: Regenerate.
10526
192a50ad
AT
105272006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10528
10529 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10530 Solaris.
10531 * configure.ac: Add check for loadavg.h.
10532 (link_gomp): Adjust comment.
10533 * configure: Regenerate.
10534 * config.h.in: Regenerate.
10535
a55b8e18
SE
105362006-01-21 Steve Ellcey <sje@cup.hp.com>
10537
10538 PR libgomp/25877
10539 * configure.ac: Remove check for alloca.h.
10540 * configure: Regenerate.
10541 * config.h.in: Regenerate.
10542 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10543 * team.c: Remove use of alloca.h.
10544 Call gomp_alloca instead of alloca.
10545
692eeb34
SE
105462006-01-20 Steve Ellcey <sje@cup.hp.com>
10547
10548 PR libgomp/25877
10549 * team.c: Add include of alloca.h.
10550 * configure.ac: Add check for alloca.h.
10551 * configure: Regenerate.
10552 * config.h.in: Regenerate.
10553
953ff289
DN
105542006-01-17 Jakub Jelinek <jakub@redhat.com>
10555
10556 PR fortran/25219
10557 * testsuite/libgomp.fortran/pr25219.f90: New test.
10558
105592005-12-05 Uros Bizjak <uros@kss-loka.si>
10560
10561 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10562 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10563 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10564 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10565 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10566 testsuite/libgomp.fortran/threadprivate1.f90,
10567 testsuite/libgomp.fortran/threadprivate2.f90,
10568 testsuite/libgomp.fortran/threadprivate3.f90,
10569 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10570 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10571 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10572 effective-target to TLS runtime.
10573
10574 * testsuite/libgomp.fortran/pr25162.f: Require
10575 effective-target TLS runtime.
10576
105772005-12-01 Jakub Jelinek <jakub@redhat.com>
10578
10579 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10580 * testsuite/libgomp.c/nestedfn-3.c: New test.
10581
105822005-11-30 Jakub Jelinek <jakub@redhat.com>
10583
10584 PR fortran/25162
10585 * testsuite/libgomp.fortran/pr25162.f: New test.
10586
105872005-11-28 Jakub Jelinek <jakub@redhat.com>
10588
10589 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10590 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10591
105922005-11-25 Jakub Jelinek <jakub@redhat.com>
10593
10594 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10595 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10596 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10597 single.c, team.c, work.c, config/linux/alpha/futex.h,
10598 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10599 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10600 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10601 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10602 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10603 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10604 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10605 FSF address.
10606
106072005-11-18 Jakub Jelinek <jakub@redhat.com>
10608
10609 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10610 to nodist_noinst_HEADERS.
10611 * Makefile.in: Rebuilt.
10612
10613 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10614 add integer count field.
10615 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10616 omp_nest_lock_t type change.
10617 (omp_init_nest_lock): Likewise. Initialize count to 0.
10618 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10619 Increment count.
10620 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10621 Decrement count.
10622 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10623 Increment count if successful and return the new nesting level.
10624 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10625 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10626 * testsuite/libgomp.c/lib-1.c: New test.
10627 * testsuite/libgomp.fortran/lib1.f90: New test.
10628 * testsuite/libgomp.fortran/lib2.f: New test.
10629 * testsuite/libgomp.fortran/lib3.f: New test.
10630
106312005-11-17 Richard Henderson <rth@redhat.com>
10632
10633 PR 24845
10634 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10635 * configure.ac (link_gomp): New. Substitute it.
10636 (AC_CONFIG_FILES): Add libgomp.spec.
10637 * libgomp.spec.in: New file.
10638 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10639 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10640
106412005-11-18 Jakub Jelinek <jakub@redhat.com>
10642
10643 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10644 reduction(-:var) behaving the same as reduction(+:var).
10645 * testsuite/libgomp.c/reduction-4.c: New test.
10646
106472005-11-15 Uros Bizjak <uros@kss-loka.si>
10648
10649 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10650 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10651 testsuite/libgomp.c/copyin-3.c,
10652 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10653 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10654 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10655 testsuite/libgomp.c++/pr24455.C,
10656 testsuite/libgomp.fortran/threadprivate1.f90,
10657 testsuite/libgomp.fortran/threadprivate2.f90,
10658 testsuite/libgomp.fortran/threadprivate3.f90,
10659 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10660 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10661 testsuite/libgomp.fortran/omp_parse3.f90: Require
10662 effective-target TLS.
10663
106642005-11-14 Diego Novillo <dnovillo@redhat.com>
10665
10666 * HEADER: Remove.
10667
106682005-11-13 Jakub Jelinek <jakub@redhat.com>
10669
10670 PR libgomp/24797
10671 * team.c (initialize_team): Pass NULL rather than free as
10672 pthread_key_create destructor. Initialize thread specific data
10673 pointer in initial thread to a static local variable rather than
10674 malloced memory.
10675
106762005-11-11 Uros Bizjak <uros@kss-loka.si>
10677
10678 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10679 its location to ld_library_path.
10680
106812005-11-10 Diego Novillo <dnovillo@redhat.com>
10682
10683 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10684
106852005-11-10 Diego Novillo <dnovillo@redhat.com>
10686
10687 * testsuite/libgomp.c: Rename from libgomp.dg.
10688
106892005-11-09 Diego Novillo <dnovillo@redhat.com>
10690
10691 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10692 threadprivate variable 'i'.
10693
106942005-11-09 Jakub Jelinek <jakub@redhat.com>
10695
10696 * config/linux/s390/futex.h: New file.
10697 * configure.tgt: Use it.
10698
10699 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10700 before the parallel.
10701
107022005-11-08 Jakub Jelinek <jakub@redhat.com>
10703
10704 PR c++/24734
10705 * testsuite/libgomp.c++/master-1.C: New test.
10706
107072005-11-07 Jakub Jelinek <jakub@redhat.com>
10708
10709 * testsuite/libgomp.dg/copyin-3.c: New test.
10710
107112005-11-07 Jakub Jelinek <jakub@redhat.com>
10712
10713 * testsuite/libgomp.fortran/retval1.f90: New test.
10714 * testsuite/libgomp.fortran/vla7.f90: New test.
10715
107162005-11-06 Jakub Jelinek <jakub@redhat.com>
10717
10718 * testsuite/libgomp.fortran/vla2.f90: New test.
10719 * testsuite/libgomp.fortran/vla3.f90: New test.
10720 * testsuite/libgomp.fortran/vla4.f90: New test.
10721 * testsuite/libgomp.fortran/vla5.f90: New test.
10722 * testsuite/libgomp.fortran/vla6.f90: New test.
10723
107242005-11-01 Jakub Jelinek <jakub@redhat.com>
10725
10726 * config/linux/sparc/futex.h: New file.
10727 * configure.tgt: Use it.
10728 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10729
10730 * critical.c: Include stdlib.h.
10731 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10732 ignoring return value.
10733 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10734 LIBGOMP_CHECK_SYNC_BUILTINS check.
10735 * configure: Rebuilt.
10736
107372005-10-31 Jakub Jelinek <jakub@redhat.com>
10738
10739 * testsuite/libgomp.fortran/vla1.f90: New test.
10740
107412005-10-31 Richard Henderson <rth@redhat.com>
10742
10743 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10744 setting 's' in different threads.
10745
107462005-10-31 Jakub Jelinek <jakub@redhat.com>
10747
10748 * libgomp.h (attribute_hidden, ialias): Define.
10749 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10750 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10751 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10752 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10753 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10754 omp_test_lock, omp_test_nest_lock): Likewise.
10755 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10756 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10757 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10758 omp_test_lock, omp_test_nest_lock): Likewise.
10759 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10760 omp_get_dynamic, omp_get_nested): Likewise.
10761 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10762 omp_get_thread_num, omp_in_parallel): Likewise.
10763 * fortran.c (ialias_redirect): Define.
10764 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10765 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10766 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10767 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10768 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10769 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10770 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10771 omp_get_wtime): Add ialias_redirect.
10772
107732005-10-30 Jakub Jelinek <jakub@redhat.com>
10774
10775 * fortran.c: Include stdlib.h.
10776
107772005-10-29 Jakub Jelinek <jakub@redhat.com>
10778
10779 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10780 * Makefile.in: Regenerated.
10781
107822005-10-28 Jakub Jelinek <jakub@redhat.com>
10783
10784 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10785 * libgomp_f.h.in (omp_check_defines): New function.
10786 * env.c: Include libgomp_f.h.
10787 (initialize_env): Call omp_check_defines.
10788
10789 * testsuite/libgomp.dg/copyin-2.c: New test.
10790 * testsuite/libgomp.c++/copyin-2.C: New test.
10791 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10792
10793 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10794 * testsuite/libgomp.fortran/sharing2.f90: New test.
10795
10796 * testsuite/libgomp.dg/copyin-1.c: New test.
10797 * testsuite/libgomp.c++/copyin-1.C: New test.
10798
107992005-10-26 Jakub Jelinek <jakub@redhat.com>
10800
10801 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10802
10803 * testsuite/libgomp.fortran/workshare1.f90: New test.
10804
10805 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10806 only test.
10807 * libgomp.fortran/sharing1.f90: New test.
10808
108092005-10-24 Jakub Jelinek <jakub@redhat.com>
10810
10811 PR c++/24502
10812 * testsuite/libgomp.c++/loop-7.C: New test.
10813
10814 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10815
10816 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10817 * testsuite/libgomp.fortran/reduction6.f90: New test.
10818 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10819
108202005-10-23 Richard Henderson <rth@redhat.com>
10821
10822 * testsuite/libgomp.c++/ctor-1.C: New.
10823 * testsuite/libgomp.c++/ctor-2.C: New.
10824 * testsuite/libgomp.c++/ctor-3.C: New.
10825 * testsuite/libgomp.c++/ctor-4.C: New.
10826 * testsuite/libgomp.c++/ctor-5.C: New.
10827 * testsuite/libgomp.c++/ctor-6.C: New.
10828 * testsuite/libgomp.c++/ctor-7.C: New.
10829 * testsuite/libgomp.c++/ctor-8.C: New.
10830 * testsuite/libgomp.c++/ctor-9.C: New.
10831
108322005-10-21 Diego Novillo <dnovillo@redhat.com>
10833
10834 PR 24455
10835 * testsuite/libgomp.c++/pr24455-1.C: New test.
10836 * testsuite/libgomp.c++/pr24455.C: New test.
10837 * testsuite/libgomp.dg/pr24455-1.c: New test.
10838 * testsuite/libgomp.dg/pr24455.c: New test.
10839
108402005-10-20 Richard Henderson <rth@redhat.com>
10841
10842 * testsuite/libgomp.c++/loop-6.C: New.
10843 * testsuite/libgomp.dg/loop-3.c: New.
10844
108452005-10-20 Jakub Jelinek <jakub@redhat.com>
10846
10847 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10848 explicitly private.
10849 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10850 explicitly shared.
10851
108522005-10-19 Diego Novillo <dnovillo@redhat.com>
10853
10854 * testsuite/libgomp.fortran/jacobi.f: New test.
10855
108562005-10-19 Richard Henderson <rth@redhat.com>
10857
10858 * configure.tgt (i?86-linux): Default to with_arch instead of
10859 CFLAGS. Add -mtune to match target_cpu.
10860 (x86_64-linux): Tune to i686.
10861
10862 * fortran.c (omp_test_nest_lock_): Fix typo.
10863
108642005-10-19 Jakub Jelinek <jakub@redhat.com>
10865
10866 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10867 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10868 * testsuite/libgomp.dg/ordered-3.c: New test.
10869
10870 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10871 Remove volatile keyword.
10872
10873 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10874 in COMMON block to avoid warnings on 64-bit targets.
10875
108762005-10-18 Diego Novillo <dnovillo@redhat.com>
10877
10878 * testsuite/libgomp.dg/shared-3.c: New test.
10879
108802005-10-18 Jakub Jelinek <jakub@redhat.com>
10881
10882 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10883 * testsuite/libgomp.fortran/reduction5.f90: New test.
10884
108852005-10-18 Jakub Jelinek <jakub@redhat.com>
10886
10887 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10888 dg-options.
10889 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10890 flush loop now that __sync_synchronize has proper memory barrier.
10891 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10892 Add -ffixed-form to dg-options.
10893
108942005-10-17 Diego Novillo <dnovillo@redhat.com>
10895
10896 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10897 from subdirectories.
10898 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10899 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10900 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10901 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10902 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10903 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10904 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10905 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10906 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10907 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10908 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10909 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10910 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10911 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10912 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10913 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10914 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10915 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10916 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10917 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10918 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10919 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10920 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10921 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10922 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10923
109242005-10-17 Jakub Jelinek <jakub@redhat.com>
10925
10926 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10927 lang_library_path exists. Use find instead of glob to gather tests.
10928 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10929
109302005-10-17 Diego Novillo <dnovillo@redhat.com>
10931
10932 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10933 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10934 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10935 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10936 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10937 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10938 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10939 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10940 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10941 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10942 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10943 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10944 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10945
109462005-10-15 Jakub Jelinek <jakub@redhat.com>
10947
10948 * testsuite/libgomp.dg/vla-1.c: New test.
10949
10950 * testsuite/libgomp.fortran/reference2.f90: New test.
10951
10952 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10953 declaration of omp_get_thread_num.
10954 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10955 use omp_lib.
10956
10957 * testsuite/libgomp.fortran/reduction1.f90: New test.
10958 * testsuite/libgomp.fortran/reduction2.f90: New test.
10959 * testsuite/libgomp.fortran/reduction3.f90: New test.
10960 * testsuite/libgomp.fortran/reduction4.f90: New test.
10961
109622005-10-13 Richard Henderson <rth@redhat.com>
10963
10964 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10965 * Makefile.in: Regenerate.
10966 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10967 * libgomp.h: Include bar.h.
10968 (struct gomp_barrier): Remove.
10969 (struct gomp_team): Add barrier. Replace master_barrier with
10970 master_release. Replace threads with ordered_release.
10971 (struct gomp_thread): Replace barrier with release.
10972 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10973 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10974 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10975 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10976 (GOMP_single_copy_end): Likewise.
10977 * team.c (gomp_threads_dock): New.
10978 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10979 (gomp_thread_start): Use gomp_barrier_wait.
10980 (new_team, free_team): Update for gomp_team changes.
10981 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10982 (gomp_team_end): Use gomp_barrier_wait.
10983 (initialize_team): Update for gomp_thread changes.
10984 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10985 (gomp_work_share_end_nowait): Use atomic ops when available.
10986 * config/linux/bar.c, config/linux/bar.h: New files.
10987 * config/posix/bar.c, config/posix/bar.h: New files.
10988
109892005-10-13 Jakub Jelinek <jakub@redhat.com>
10990
10991 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10992 * testsuite/libgomp.dg/single-2.c: New test.
10993
10994 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10995 lang_link_flags): Unset, so that they aren't inherited from previously
10996 sourced *.exp.
10997
10998 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10999
110002005-10-12 Richard Henderson <rth@redhat.com>
11001
11002 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11003 (libgomp_init): Use lang_test_file, lang_library_path, and
11004 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11005
11006 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11007 (lang_test_file, lang_link_flags): New.
11008 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11009
11010 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11011 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11012 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11013 testsuite/libgomp.c++/parallel-1.C,
11014 testsuite/libgomp.c++/reduction-1.C,
11015 testsuite/libgomp.c++/reduction-2.C,
11016 testsuite/libgomp.c++/reduction-3.C,
11017 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11018 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11019 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11020 New files, largely cribbed from the C testsuite.
11021
110222005-10-12 Jakub Jelinek <jakub@redhat.com>
11023
11024 * testsuite/libgomp.fortran/character1.f90: New test.
11025 * testsuite/libgomp.fortran/character2.f90: New test.
11026
11027 * testsuite/libgomp.dg/nested-1.c: New test.
11028 * testsuite/libgomp.dg/nested-2.c: New test.
11029 * testsuite/libgomp.fortran/do1.f90: New test.
11030 * testsuite/libgomp.fortran/do2.f90: New test.
11031
11032 * testsuite/libgomp.fortran/reference1.f90: New test.
11033
110342005-10-11 Jakub Jelinek <jakub@redhat.com>
11035
11036 * testsuite/libgomp.dg/reduction-1.c: New test.
11037 * testsuite/libgomp.dg/reduction-2.c: New test.
11038 * testsuite/libgomp.dg/reduction-3.c: New test.
11039
110402005-10-10 Jakub Jelinek <jakub@redhat.com>
11041
11042 * testsuite/libgomp.dg/atomic-1.c: New test.
11043 * testsuite/libgomp.dg/atomic-2.c: New test.
11044
110452005-10-09 Richard Henderson <rth@redhat.com>
11046
11047 * critical.c (atomic_lock): New.
11048 (initialize_critical): Initialize it.
11049 (GOMP_atomic_start, GOMP_atomic_end): New.
11050 * libgomp.map: Export them.
11051 * libgomp_g.h: Declare them.
11052
11053 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11054
110552005-10-02 Richard Henderson <rth@redhat.com>
11056
11057 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11058 to XCFLAGS instead of CFLAGS.
11059
110602005-09-30 Richard Henderson <rth@redhat.com>
11061
11062 * configure.ac: Determine whether -pthread or -lpthread is needed.
11063 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11064 * Makefine.in, configure: Rebuild.
11065
110662005-09-28 Richard Henderson <rth@redhat.com>
11067
11068 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11069 * testsuite/libgomp.dg/omp-single-3.c: New test.
11070
110712005-09-28 Diego Novillo <dnovillo@redhat.com>
11072
11073 * testsuite/libgomp.dg/omp-single-2.c: New test.
11074 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11075
110762005-09-27 Richard Henderson <rth@redhat.com>
11077
11078 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11079 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11080
110812005-09-27 Jakub Jelinek <jakub@redhat.com>
11082
11083 * testsuite/libgomp.dg/omp-loop03.c: New test.
11084
110852005-09-27 Diego Novillo <dnovillo@redhat.com>
11086
11087 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11088
110892005-09-27 Diego Novillo <dnovillo@redhat.com>
11090
11091 * testsuite/libgomp.dg/omp-single-1.c: New test.
11092 * testsuite/libgomp.dg/shared-1.c: Return 0.
11093 Add prototype for abort.
11094 * testsuite/libgomp.dg/shared-2.c: Likewise.
11095
110962005-09-26 Jakub Jelinek <jakub@redhat.com>
11097
11098 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11099 constructs.
11100
111012005-09-26 Diego Novillo <dnovillo@redhat.com>
11102
11103 * testsuite/libgomp.dg/shared-1.c: New test.
11104 * testsuite/libgomp.dg/shared-2.c: New test.
11105
111062005-09-24 Richard Henderson <rth@redhat.com>
11107
11108 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11109
111102005-09-24 Richard Henderson <rth@redhat.com>
11111
11112 * iter.c (gomp_iter_static_next): Round up when computing number
11113 of iterations. Don't bother distributing a remainder equally.
11114
11115 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11116 Don't call srand. Zero b before testing.
11117 (main): New.
11118
111192005-09-24 Jakub Jelinek <jakub@redhat.com>
11120
11121 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11122 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11123
111242005-09-23 Jakub Jelinek <jakub@redhat.com>
11125
11126 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11127 without !$omp end do, followed immediately by subroutine end.
11128
111292005-09-23 Diego Novillo <dnovillo@redhat.com>
11130
11131 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11132
111332005-09-22 Richard Henderson <rth@redhat.com>
11134
11135 * critical.c (GOMP_critical_name_start): Change argument to void**.
11136 Reuse the pointer space if the mutex fits.
11137 (GOMP_critical_name_end): Likewise.
11138 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11139 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11140 (GOMP_critical_name_end): Likewise.
11141 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11142 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11143
111442005-09-20 Richard Henderson <rth@redhat.com>
11145
11146 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11147 (create_lock_lock): New.
11148 (initialize_critical): Initialize it.
11149 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11150 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11151
111522005-09-20 Diego Novillo <dnovillo@redhat.com>
11153
11154 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11155
111562005-09-20 Diego Novillo <dnovillo@redhat.com>
11157
11158 * testsuite/libgomp.dg/omp-loop01.c: New test.
11159 * testsuite/libgomp.dg/omp-loop02.c: New test.
11160
111612005-09-20 Jakub Jelinek <jakub@redhat.com>
11162
11163 * configure.ac (AC_PROG_FC): Add.
11164 (USE_FORTRAN): New automake conditional.
11165 * configure: Rebuilt.
11166 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11167 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11168 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11169 Add rules to build them.
11170 * Makefile.in: Rebuilt.
11171 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11172 OMP_NEST_LOCK_KIND.
11173 * libgomp.map: Add Fortran wrappers.
11174 * libgomp_f.h.in: New file.
11175 * omp_lib.h.in: New file.
11176 * omp_lib.f90.in: New file.
11177 * fortran.c: New file.
11178 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11179 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11180 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11181 libgfortran has been built.
11182 * testsuite/libgomp.fortran/fortran.exp: New file.
11183 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11184 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11185 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11186 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11187 * testsuite/libgomp.fortran/omp_hello.f: New test.
11188 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11189 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11190 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11191 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11192 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11193 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11194 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11195 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11196
111972005-08-30 Richard Henderson <rth@redhat.com>
11198
11199 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11200 function for when aliases are not usable.
11201 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11202 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11203 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11204 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11205 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11206 GOMP_loop_ordered_guided_next): Likewise.
11207 * ordered.c (GOMP_ordered_start): Likewise.
11208
112092005-08-01 Diego Novillo <dnovillo@redhat.com>
11210
11211 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11212 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11213 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11214 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11215 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11216 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11217 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11218 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11219 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11220
112212005-07-07 Eric Christopher <echristo@redhat.com>
11222 Diego Novillo <dnovillo@redhat.com>
11223
11224 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11225 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11226 up code.
11227 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11228 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11229 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11230 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11231 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11232 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11233 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11234
112352005-06-13 Diego Novillo <dnovillo@redhat.com>
11236
11237 * TOPLEVEL.patch: Remove.
11238
112392005-05-16 Richard Henderson <rth@redhat.com>
11240
11241 * configure.ac: Test for clock_gettime.
11242 * config.h.in, configure: Rebuild.
11243 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11244 (omp_get_wtime): Use clock_gettime if available.
11245 (omp_get_wtick): Use clock_getres if available.
11246
112472005-05-11 Richard Henderson <rth@redhat.com>
11248
11249 * config/linux/ia64/futex.h: New file.
11250 * configure.tgt: Use it.
11251
11252 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11253
112542005-05-07 Richard Henderson <rth@redhat.com>
11255
11256 * config/linux/powerpc/futex.h: New file.
11257 * configure.tgt: Use it.
11258
11259 * config/linux/i486/futex.h: Merge ...
11260 * config/linux/x86_64/futex.h: ... into ...
11261 * config/linux/x86/futex.h: ... here.
11262 * configure.tgt: Update to match.
11263
112642005-05-06 Richard Henderson <rth@redhat.com>
11265
11266 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11267 * config/linux/i486/futex.h: Likewise.
11268 * config/linux/x86_64/futex.h: Likewise.
11269
11270 * config/linux/lock.c: New file.
11271 * config/linux/omp-lock.h: New file.
11272
11273 * critical.c, env.h: Don't include omp.h
11274 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11275 * config/posix/time.c: Likewise.
11276 * config/posix/omp-lock.h: New file.
11277 * libgomp.h: Include omp-lock.h and omp.h.
11278 * Makefile.am (nodist_include_HEADERS): New.
11279 (omp.h): New rule.
11280 * configure.ac (PERL): New.
11281 * mkomp_h.pl: New file.
11282 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11283 with templates.
11284 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11285
11286 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11287 build directory. Re-add -march=i486 hack.
11288
11289 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11290 (libgomp_link_flags): Remove.
11291 (libgomp_initialized): Remove.
11292 (libgomp_init): Don't protect from reinitialization. Copy code
11293 from libstdc++ for getting the multilib set correctly.
11294
112952005-05-05 Richard Henderson <rth@redhat.com>
11296
11297 * config/linux/alpha/futex.h: New file.
11298 * configure.tgt (alpha*-*-linux*): Use it.
11299
11300 * config/posix/mutex.c: New file.
11301 * config/posix/sem.c: Use libgomp.h.
11302
11303 * configure.tgt (x86_64-linux): Also test CC for -m32.
11304 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11305
a1daed2d 11306 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11307 after $gccpath.
11308
11309 * Makefile.am (SUBDIRS): New.
11310 (libgomp_la_LDFLAGS): Add -lpthread.
11311 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11312 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11313
11314 * libgomp_g.h: New file.
11315 * libgomp.h: Split out all public declarations to libgomp_g.h.
11316 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11317 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11318 * config/linux/sem.h: Likewise.
11319 * config/posix/sem.h: Likewise.
11320
11321 * Makefile.am (AM_LDFLAGS): New.
11322 (libgomp_version_script): Split out from ...
11323 (libgomp_la_LDFLAGS): ... here.
11324 (libgomp_version_info): New.
11325 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11326 (LIBGOMP_ENABLE): New.
11327 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11328 (LIBGOMP_ENABLE_SYMVERS): New.
11329 * configure.ac (AC_INIT): Version 1.0.
11330 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11331 (enable-linux-futex): Likewise. Rename from enable-futex.
11332 (libtool_VERSION): New.
11333 (LIBGOMP_ENABLE_SYMVERS): Use it.
11334 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11335 * Makefile.in, aclocal.m4, configure: Rebuild.
11336
11337 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11338 (gomp_mutex_unlock_slow): Fix typo.
11339 * config/linux/sem.c: Similarly.
11340 (gomp_sem_post_slow): Fix typo.
11341 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11342 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11343 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11344
11345 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11346 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11347 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11348 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11349 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11350 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11351 LDFLAGS. Pull enable_futex check to top-level.
11352 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11353 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11354
11355 First attempt at real configury.
11356 * Makefile, config.h: Remove file.
11357 * Makefile.am, Makefile.in: New file.
11358 * acinclude.m4 aclocal.m4: New file.
11359 * configure.ac, configure.tgt, configure: New file.
11360
11361 * config/posix/lock.c: Rename from sys-lock.c.
11362 * config/posix/mutex.h: Rename from sys-mutex.h.
11363 * config/posix/sem.c: Rename from sys-sem.c.
11364 * config/posix/sem.h: Rename from sys-sem.h.
11365 * config/posix/proc.c: Rename from sys-proc.c.
11366 * config/posix/time.c: Rename from sys-proc.c.
11367
11368 * config/linux/mutex.c: New file.
11369 * config/linux/mutex.h: New file.
11370 * config/linux/sem.c: New file.
11371 * config/linux/sem.h: New file.
11372 * config/linux/i486/futex.h: New file.
11373 * config/linux/x86_64/futex.h: New file.
11374
113752005-05-04 Richard Henderson <rth@redhat.com>
11376
11377 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11378 * libgomp.h: Declare them.
11379 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11380 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11381
113822005-05-04 Richard Henderson <rth@redhat.com>
11383
11384 * libgomp-1 code drop
11385
113862005-05-04 Richard Henderson <rth@redhat.com>
11387
11388 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11389 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11390 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11391 (gomp_iter_static_next): Update.
11392 (gomp_ordered_static_next): Update.
11393 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11394 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11395 totally empty range.
11396 (gomp_loop_ordered_static_next): Refine test for calling
11397 gomp_ordered_static_next.
11398 * testsuite/ordered-1.c: Add case for more threads than iterations.
11399
11400 * iter.c (gomp_iter_runtime_next_locked): Remove.
11401 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 11402 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
11403 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11404 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11405 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11406 gomp_loop_ordered_guided_next): Downcase name, make static, add
11407 an external alias with the old name.
11408 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11409 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11410 switch and call one of the above static functions.
11411 * libgomp.h: Update.
11412
11413 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11414 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11415 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11416 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11417 GOMP_loop_ordered_guided_start): Update to match.
11418 * sections.c (GOMP_sections_start): Likewise.
11419 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11420
11421 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11422 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11423 Use bounds check instead of modulus.
11424 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11425 (gomp_ordered_last): Don't sync with ordered_owner here.
11426 (gomp_ordered_next): Likewise.
11427 (gomp_ordered_static_loop_next): Likewise.
11428 * loop.c, libgomp.h: Update to match.
11429
11430 * libgomp.h (GOMP_barrier): Declare.
11431
11432 * testsuite/barrier-1.c: New file.
11433 * testsuite/critical-1.c: New file.
11434 * testsuite/ordered-2.c: New file.
11435 * testsuite/ordered-1.c: New file.
11436 * testsuite/sections-1.c: New file.
11437 * testsuite/single-1.c: New file.
11438 * testsuite/Makefile (TESTS): Add them.
11439
114402005-05-04 Richard Henderson <rth@redhat.com>
11441
11442 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11443 * loop.c (GOMP_loop_static_start): If not the startup thread,
11444 acquire the mutex to wait for initialization complete.
11445 (GOMP_loop_ordered_static_start): Likewise.
11446 (GOMP_loop_ordered_runtime_start): Likewise.
11447 (GOMP_loop_ordered_static_first): Remove.
11448 (GOMP_loop_ordered_dynamic_first): Remove.
11449 (GOMP_loop_ordered_guided_first): Remove.
11450 (GOMP_loop_ordered_runtime_first): Remove.
11451 * ordered.c (gomp_ordered_loop_first): Post to own release when
11452 we're the first thread.
11453 (gomp_ordered_loop_last): Wait on release if not owner.
11454 (gomp_ordered_loop_next): Likewise.
11455 (gomp_ordered_static_loop_init): New.
11456 (gomp_ordered_static_loop_next): Use ordered_owner.
11457 (GOMP_ordered_start): Likewise.
11458 * work.c (gomp_new_work_share): Initialize ordered_owner.
11459
114602005-05-03 Richard Henderson <rth@redhat.com>
11461
11462 * Makefile (OPT): New.
11463 (CFLAGS): Use it.
11464
11465 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11466 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11467 * libgomp.h, libgomp.map, NOTES: Update to match.
11468
11469 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11470 Add initialized and thr members.
11471 (gomp_thread_start): Pause when initially spawned to wait for
11472 the whole team to be created.
11473 (gomp_team_start): Release team members at the end.
11474
11475 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11476 (f_foo_1): Use GOMP_loop_end.
11477 (f_foo_2): Use GOMP_loop_end_nowait.
11478
11479 * testsuite/loop-2.c: New file.
11480 * testsuite/Makefile (TESTS): Add it.
11481
114822005-05-03 Richard Henderson <rth@redhat.com>
11483
11484 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11485 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11486 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11487 initial work_share.
11488
11489 * testsuite/Makefile: New file.
11490 * testsuite/loop-1.c: New file.
11491
114922005-05-03 Richard Henderson <rth@redhat.com>
11493
11494 Initial implementation and checkin.
21fa2a29 11495\f
a5544970 11496Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
11497
11498Copying and distribution of this file, with or without modification,
11499are permitted in any medium without royalty provided the copyright
11500notice and this notice are preserved.