]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Fix test failure due to Networking TS headers using mutexes
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
5fae049d
TS
12019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2
3 * acc_prof.h: New file.
4 * oacc-profiling.c: Likewise.
5 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6 Add these, respectively.
7 * Makefile.in: Regenerate.
8 * env.c (initialize_env): Call goacc_profiling_initialize.
9 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
10 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
11 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
12 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
13 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
14 acc_prof_register, acc_prof_unregister, and acc_register_library.
15 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
16 GOMP_PLUGIN_goacc_thread.
17 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
18 prof_callbacks_enabled members.
19 (goacc_prof_enabled, goacc_profiling_initialize)
20 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
21 (goacc_profiling_dispatch): Declare.
22 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
23 (GOACC_PROFILING_SETUP_P): Define.
24 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
25 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
26 OpenACC Profiling Interface.
27 * oacc-cuda.c (acc_get_current_cuda_device)
28 (acc_get_current_cuda_context, acc_get_cuda_stream)
29 (acc_set_cuda_stream): Likewise.
30 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
31 (acc_init, acc_set_device_type, acc_get_device_type)
32 (acc_get_device_num, goacc_lazy_initialize): Likewise.
33 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
34 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
35 (acc_unmap_data, present_create_copy, delete_copyout)
36 (update_dev_host): Likewise.
37 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
38 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
39 Likewise.
40 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
41 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
42 Likewise.
43 * libgomp.texi: Update.
44 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
45 file.
46 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
47 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
48 Likewise.
49 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
50 Likewise.
51 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
52 Likewise.
53 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
54 Likewise.
55
1f4c5b9b
CLT
562019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
57
58 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
59 (struct goacc_asyncqueue_list): Likewise.
60 (goacc_aq): Likewise.
61 (goacc_aq_list): Likewise.
62 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
63 (GOMP_OFFLOAD_openacc_async_test): Remove.
64 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
65 (GOMP_OFFLOAD_openacc_async_wait): Remove.
66 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
67 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
68 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
69 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
70 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
71 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
72 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
73 (GOMP_OFFLOAD_openacc_async_exec): Declare.
74 (GOMP_OFFLOAD_openacc_async_construct): Declare.
75 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
76 (GOMP_OFFLOAD_openacc_async_test): Declare.
77 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
78 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
79 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
80 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
81 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
82
83 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
84 (gomp_acc_insert_pointer): Adjust declaration.
85 (gomp_copy_host2dev): New declaration.
86 (gomp_copy_dev2host): Likewise.
87 (gomp_map_vars_async): Likewise.
88 (gomp_unmap_tgt): Likewise.
89 (gomp_unmap_vars_async): Likewise.
90 (gomp_fini_device): Likewise.
91
92 * oacc-async.c (get_goacc_thread): New function.
93 (get_goacc_thread_device): New function.
94 (lookup_goacc_asyncqueue): New function.
95 (get_goacc_asyncqueue): New function.
96 (acc_async_test): Adjust code to use new async design.
97 (acc_async_test_all): Likewise.
98 (acc_wait): Likewise.
99 (acc_wait_async): Likewise.
100 (acc_wait_all): Likewise.
101 (acc_wait_all_async): Likewise.
102 (goacc_async_free): New function.
103 (goacc_init_asyncqueues): Likewise.
104 (goacc_fini_asyncqueues): Likewise.
105 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
106 design.
107 (acc_set_cuda_stream): Likewise.
108 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
109 (host_openacc_register_async_cleanup): Remove.
110 (host_openacc_async_exec): New function.
111 (host_openacc_async_test): Adjust parameters.
112 (host_openacc_async_test_all): Remove.
113 (host_openacc_async_wait): Remove.
114 (host_openacc_async_wait_async): Remove.
115 (host_openacc_async_wait_all): Remove.
116 (host_openacc_async_wait_all_async): Remove.
117 (host_openacc_async_set_async): Remove.
118 (host_openacc_async_synchronize): New function.
119 (host_openacc_async_serialize): New function.
120 (host_openacc_async_host2dev): New function.
121 (host_openacc_async_dev2host): New function.
122 (host_openacc_async_queue_callback): New function.
123 (host_openacc_async_construct): New function.
124 (host_openacc_async_destruct): New function.
125 (struct gomp_device_descr host_dispatch): Remove initialization of old
126 interface, add intialization of new async sub-struct.
127 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
128 (goacc_attach_host_thread_to_device): Remove old async code usage.
129 * oacc-int.h (goacc_init_asyncqueues): New declaration.
130 (goacc_fini_asyncqueues): Likewise.
131 (goacc_async_copyout_unmap_vars): Likewise.
132 (goacc_async_free): Likewise.
133 (get_goacc_asyncqueue): Likewise.
134 (lookup_goacc_asyncqueue): Likewise.
135 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
136 design.
137 (present_create_copy): Adjust code to use new async design.
138 (delete_copyout): Likewise.
139 (update_dev_host): Likewise.
140 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
141 async design.
142 (gomp_acc_remove_pointer): Adjust code to use new async design.
143 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
144 design.
145 (GOACC_enter_exit_data): Likewise.
146 (goacc_wait): Likewise.
147 (GOACC_update): Likewise.
148 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
149 when called, warn as obsolete in comment.
150 * target.c (goacc_device_copy_async): New function.
151 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
152 add goacc_device_copy_async case.
153 (gomp_copy_dev2host): Likewise.
154 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
155 (gomp_map_pointer): Likewise.
156 (gomp_map_fields_existing): Likewise.
157 (gomp_map_vars_internal): New always_inline function, renamed from
158 gomp_map_vars.
159 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
160 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
161 passing goacc_asyncqueue argument.
162 (gomp_unmap_tgt): Remove static, add attribute_hidden.
163 (gomp_unref_tgt): New function.
164 (gomp_unmap_vars_internal): New always_inline function, renamed from
165 gomp_unmap_vars.
166 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
167 (gomp_unmap_vars_async): Implement by calling
168 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
169 (gomp_fini_device): New function.
170 (gomp_exit_data): Adjust gomp_copy_dev2host call.
171 (gomp_load_plugin_for_device): Remove old interface, adjust to load
172 new async interface.
173 (gomp_target_fini): Adjust code to call gomp_fini_device.
174
175 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
176 (struct ptx_stream): Remove.
177 (struct nvptx_thread): Remove current_stream field.
178 (cuda_map_create): Remove.
179 (cuda_map_destroy): Remove.
180 (map_init): Remove.
181 (map_fini): Remove.
182 (map_pop): Remove.
183 (map_push): Remove.
184 (struct goacc_asyncqueue): Define.
185 (struct nvptx_callback): Define.
186 (struct ptx_free_block): Define.
187 (struct ptx_device): Remove null_stream, active_streams, async_streams,
188 stream_lock, and next fields.
189 (enum ptx_event_type): Remove.
190 (struct ptx_event): Remove.
191 (ptx_event_lock): Remove.
192 (ptx_events): Remove.
193 (init_streams_for_device): Remove.
194 (fini_streams_for_device): Remove.
195 (select_stream_for_async): Remove.
196 (nvptx_init): Remove ptx_events and ptx_event_lock references.
197 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
198 case.
199 (nvptx_open_device): Add free_blocks initialization, remove
200 init_streams_for_device call.
201 (nvptx_close_device): Remove fini_streams_for_device call, add
202 free_blocks destruct code.
203 (event_gc): Remove.
204 (event_add): Remove.
205 (nvptx_exec): Adjust parameters and code.
206 (nvptx_free): Likewise.
207 (nvptx_host2dev): Remove.
208 (nvptx_dev2host): Remove.
209 (nvptx_set_async): Remove.
210 (nvptx_async_test): Remove.
211 (nvptx_async_test_all): Remove.
212 (nvptx_wait): Remove.
213 (nvptx_wait_async): Remove.
214 (nvptx_wait_all): Remove.
215 (nvptx_wait_all_async): Remove.
216 (nvptx_get_cuda_stream): Remove.
217 (nvptx_set_cuda_stream): Remove.
218 (GOMP_OFFLOAD_alloc): Adjust code.
219 (GOMP_OFFLOAD_free): Likewise.
220 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
221 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
222 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
223 (GOMP_OFFLOAD_openacc_async_wait): Remove.
224 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
225 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
226 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
227 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
228 (cuda_free_argmem): New function.
229 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
230 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
231 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
232 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
233 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
234 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
235 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
236 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
237 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
238 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
239 (cuda_callback_wrapper): New function.
240 (cuda_memcpy_sanity_check): New function.
241 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
242 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
243 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
244 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
245
da2d30c1
TS
2462019-05-07 Thomas Schwinge <thomas@codesourcery.com>
247
248 PR target/87835
249 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
250
2bbbfa4e
TS
2512019-05-06 Thomas Schwinge <thomas@codesourcery.com>
252
253 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
254
bbf1efe1
KB
2552019-03-27 Kevin Buettner <kevinb@redhat.com>
256
257 * team.c (gomp_team_start): Initialize pool->threads[0].
258
1241136c
TS
2592019-02-22 Thomas Schwinge <thomas@codesourcery.com>
260
b03d721a
TS
261 * testsuite/libgomp.oacc-c++/c++.exp: Specify
262 "-foffload=$offload_target".
263 * testsuite/libgomp.oacc-c/c.exp: Likewise.
264 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
265 * testsuite/lib/libgomp.exp
266 (check_effective_target_openacc_nvidia_accel_configured): Remove,
267 as (conceptually) merged into
268 check_effective_target_openacc_nvidia_accel_selected. Adjust all
269 users.
270
0a0384b4
TS
271 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
272 * testsuite/libgomp-test-support.exp.in: Adjust.
273 * testsuite/lib/libgomp.exp: Likewise. Don't populate
274 openacc_device_types_s.
275 (offload_target_to_openacc_device_type): New proc.
276 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
277 * testsuite/libgomp.oacc-c/c.exp: Likewise.
278 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
279 * Makefile.in: Regenerate.
280 * configure: Likewise.
281 * testsuite/Makefile.in: Likewise.
282
ee332b4a
TS
283 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
284 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
285 instead of OFFLOAD_TARGETS.
286 * target.c (gomp_target_init): Adjust.
287 * testsuite/libgomp-test-support.exp.in: Likewise.
288 * testsuite/lib/libgomp.exp: Likewise. Populate
289 openacc_device_types_s instead of offload_targets_s_openacc.
290 (check_effective_target_openacc_nvidia_accel_selected)
291 (check_effective_target_openacc_host_selected): Adjust.
292 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
293 * testsuite/libgomp.oacc-c/c.exp: Likewise.
294 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
295 * Makefile.in: Regenerate.
296 * config.h.in: Likewise.
297 * configure: Likewise.
298 * testsuite/Makefile.in: Likewise.
299
1241136c
TS
300 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
301 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
302 "offloading: supported, but hardware not accessible".
303 * testsuite/libgomp.oacc-c/c.exp: Likewise.
304 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
305
19695f4d
CLT
3062019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
307
308 PR c/87924
309 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
310 goacc_wait().
311 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
312 and related adjustment.
313
8b44f8ec
JJ
3142019-01-30 Jakub Jelinek <jakub@redhat.com>
315
316 PR c++/88988
317 * testsuite/libgomp.c++/pr88988.C: New test.
318
be3a87e7
JJ
3192019-01-28 Jakub Jelinek <jakub@redhat.com>
320
321 PR middle-end/89002
322 * testsuite/libgomp.c/pr89002.c: New test.
323
497ef4d7
RB
3242019-01-28 Richard Biener <rguenther@suse.de>
325
326 PR testsuite/89064
327 PR tree-optimization/86865
328 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
329
738c56d4
TV
3302019-01-24 Tom de Vries <tdevries@suse.de>
331
332 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
333 once instantiated_devices drops to 0.
334
4a75460b
TV
3352019-01-23 Tom de Vries <tdevries@suse.de>
336
337 PR target/PR88946
338 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
339 cuMemFree.
340 (nvptx_exec): Don't call map_push if mapnum == 0.
341 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
342
4fef8e4d
TV
3432019-01-23 Tom de Vries <tdevries@suse.de>
344
345 PR target/88941
346 PR target/88939
347 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
348 (map_fini): Remove "assert (!s->map->active)".
349 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
350
2ee6cb22
TV
3512019-01-23 Tom de Vries <tdevries@suse.de>
352
353 PR target/87835
354 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
355 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
356
d41d952c
TV
3572019-01-15 Tom de Vries <tdevries@suse.de>
358
359 PR target/80547
360 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
361 New test.
362
efb56ae8
TV
3632019-01-12 Tom de Vries <tdevries@suse.de>
364
365 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
366 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
367 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
368 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
369
2c2ff168
TV
3702019-01-12 Tom de Vries <tdevries@suse.de>
371
372 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
373
a1057758
TV
3742019-01-12 Tom de Vries <tdevries@suse.de>
375
376 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
377 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
378 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
379
56314b77
TV
3802019-01-12 Tom de Vries <tdevries@suse.de>
381
382 PR target/85486
383 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
384 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
385
b39e4366
TV
3862019-01-12 Tom de Vries <tdevries@suse.de>
387
388 PR target/85381
389 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
390 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
391
2cb7a501
TV
3922019-01-12 Tom de Vries <tdevries@suse.de>
393
394 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
395 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
396 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
397
8e77f71e
TV
3982019-01-12 Tom de Vries <tdevries@suse.de>
399
400 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
401 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
402 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
403
52d22ece
TV
4042019-01-12 Tom de Vries <tdevries@suse.de>
405
406 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
407 resources diagnostic.
408
2b9d9e39
TV
4092019-01-12 Tom de Vries <tdevries@suse.de>
410
411 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
412 vector length to be 128.
413 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
414 length 2097152 to be reduced to 1024 instead of 32.
415
4102bda6
TS
4162019-01-11 Thomas Schwinge <thomas@codesourcery.com>
417 James Norris <jnorris@codesourcery.com>
418
419 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
420 Library Routines", and "Environment Variables".
421
052aaace
TV
4222019-01-11 Tom de Vries <tdevries@suse.de>
423
424 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
425 num_workers 16.
426
9390f916
TV
4272019-01-11 Tom de Vries <tdevries@suse.de>
428
429 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
430 -foffload=-w.
431 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
432 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
433 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
434 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
435
2c3e7ad2
TV
4362019-01-11 Tom de Vries <tdevries@suse.de>
437
438 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
439 test.
440
e222497d
NS
4412019-01-10 Nathan Sidwell <nathan@acm.org>
442 Julian Brown <julian@codesourcery.com>
443
444 PR lto/71959
445 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
446 * testsuite/libgomp.oacc-c++/pr71959.C: New.
447
cb87fec3
SH
4482019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
449
450 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
451 and paste code.
452
30b4d0d0
SH
4532019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
454
455 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
456 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
457 write.
458
5d0bc70a
TV
4592019-01-09 Tom de Vries <tdevries@suse.de>
460
461 PR target/88756
462 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
463 #define instead of "const int".
464 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
465 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
466 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
467 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
468
2c372e81
TV
4692019-01-09 Tom de Vries <tdevries@suse.de>
470
471 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
472 one worker.
473
43493c97
TV
4742019-01-07 Tom de Vries <tdevries@suse.de>
475
476 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
477 GOMP_OPENACC_DIM argument.
478
5c571497
TV
4792019-01-03 Tom de Vries <tdevries@suse.de>
480
481 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
482 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
483
a5544970
JJ
4842019-01-01 Jakub Jelinek <jakub@redhat.com>
485
486 Update copyright years.
487
3f27508c
JJ
4882019-01-01 Jakub Jelinek <jakub@redhat.com>
489
490 * libgomp.texi: Bump @copying's copyright year.
491
59d5960c
TS
4922018-12-28 Thomas Schwinge <thomas@codesourcery.com>
493
494 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
495 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
496 (GOACC_declare): Redefine the "device" argument to "flags".
497
a44c1790
TS
4982018-12-28 Thomas Schwinge <thomas@codesourcery.com>
499 Cesar Philippidis <cesar@codesourcery.com>
500
501 * target.c (struct gomp_coalesce_chunk): New structure.
502 (struct gomp_coalesce_buf): Update the chunks member to use that
503 type. Adjust all users.
504
a152954e
TV
5052018-12-19 Tom de Vries <tdevries@suse.de>
506
507 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
508 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
509 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
510
49188cd1
TV
5112018-12-19 Tom de Vries <tdevries@suse.de>
512
513 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
514 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
515 gcc/testsuite/gcc.dg/goacc.
516 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
517
c759830b
TS
5182018-12-14 Thomas Schwinge <thomas@codesourcery.com>
519 Chung-Lin Tang <cltang@codesourcery.com>
520
521 * oacc-mem.c (acc_present_or_create): Remove definition and change
522 to alias of acc_create.
523 (acc_present_or_copyin): Remove definition and change to alias of
524 acc_copyin.
525 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
526 of acc_present_or_create.
527 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
528 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
529 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
530 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
531 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
532 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
533 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
534 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
535 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
536 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
537 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
538 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
539 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
540 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
541 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
542 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
543
7de562ee
TS
5442018-12-14 Thomas Schwinge <thomas@codesourcery.com>
545
f847198e
TS
546 PR libgomp/88495
547 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
548 "identical parameters".
549 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
550 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
551
c8ab8aab
TS
552 PR libgomp/88484
553 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
554 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
555
1404af62
TS
556 PR libgomp/88407
557 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
558 (nvptx_wait_async): Unseen async-argument is a no-op.
559 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
560 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
561 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
562 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
563 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
564 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
565 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
566 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
567 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
568
7de562ee
TS
569 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
570 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
571
17469af7
CLT
5722018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
573
574 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
575 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
576 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
577
18c247cc
TS
5782018-12-14 Thomas Schwinge <thomas@codesourcery.com>
579
580 PR libgomp/88370
581 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
582 (acc_set_cuda_stream): Clarify.
583 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
584 "async_valid_p".
585 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
586 acc_async_sync".
587 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
588 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
589 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
590 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
591
b0aba46c
TV
5922018-12-14 Tom de Vries <tdevries@suse.de>
593
594 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
595 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
596 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
597 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
598 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
599
fe0827ee
TV
6002018-12-13 Tom de Vries <tdevries@suse.de>
601
602 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
603 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
604 * fortran.c (omp_display_affinity_): ... here.
605 * libgomp.h (gomp_print_string): Declare.
606 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
607 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
608 write.
609
a51f8c92
JJ
6102018-12-13 Jakub Jelinek <jakub@redhat.com>
611
612 PR libgomp/88460
613 * testsuite/libgomp.c++/for-24.C (results): Include it in
614 omp declare target region.
615 (main): Use map (always, tofrom: results) instead of
616 map (tofrom: results).
617
a6ef2ac9
JJ
6182018-12-12 Jakub Jelinek <jakub@redhat.com>
619
7a289b7d
JJ
620 PR fortran/88463
621 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
622 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
623
a6ef2ac9
JJ
624 * testsuite/libgomp.c-c++-common/for-16.c: New test.
625
9c47a019
AS
6262018-12-12 Andreas Schwab <schwab@suse.de>
627
628 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
629 clobbered.
630
d0cbb206
TK
6312018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
632
633 PR fortran/88411
634 * testsuite/libgomp.fortran/async_io_8.f90: New test.
635
84ca08d2
TS
6362018-12-09 Thomas Schwinge <thomas@codesourcery.com>
637 Jakub Jelinek <jakub@redhat.com>
638
639 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
640 devicep->host2dev_func.
641
6997628d
JJ
6422018-12-08 Jakub Jelinek <jakub@redhat.com>
643
644 PR libgomp/87995
645 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
646 tls_runtime effective target.
647 (t): New threadprivate variable.
648 (main): Set t in threads which execute iterations of the worksharing
649 loop. Propagate that to the task after the loop and don't abort
650 if the current taskgroup hasn't been cancelled.
651
daa8c1d7
JJ
6522018-12-02 Jakub Jelinek <jakub@redhat.com>
653
4a82df9a
JJ
654 * testsuite/libgomp.c/task-reduction-3.c: New test.
655
daa8c1d7
JJ
656 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
657
fe570ff8
CP
6582018-11-30 Cesar Philippidis <cesar@codesourcery.com>
659
660 PR libgomp/88288
661 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
662 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
663
c223608f
TS
6642018-11-30 Thomas Schwinge <thomas@codesourcery.com>
665
666 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
667
fc60283c
RB
6682018-10-19 Richard Biener <rguenther@suse.de>
669
670 PR tree-optimization/88182
671 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
672
ffcf3b79
JJ
6732018-11-26 Jakub Jelinek <jakub@redhat.com>
674
675 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
676 (RUNTEST): Don't define.
677 (RUNTESTDEFAULTFLAGS): Add.
678 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
679 (distclean-am): Depend on distclean-DEJAGNU.
680 (check-am): If -j% option is present in MFLAGS and if
681 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
682 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
683 * testsuite/Makefile.in: Regenerated.
684
ef6e6914
RB
6852018-11-26 Richard Biener <rguenther@suse.de>
686
687 PR tree-optimization/88182
688 * testsuite/libgomp.c++/pr88182.C: New testcase.
689
72d3bb76
JJ
6902018-11-20 Jakub Jelinek <jakub@redhat.com>
691
692 PR bootstrap/88106
693 * config/mingw32/affinity-fmt.c: New file.
694
207286c3
JJ
6952018-11-09 Jakub Jelinek <jakub@redhat.com>
696
9666c522
JJ
697 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
698 (gomp_display_affinity): Use __builtin_choose_expr to handle
699 properly handle argument having integral, or pointer or some other
700 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
701 with uint64_t type instead of %llx and unsigned long long.
702
207286c3
JJ
703 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
704 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
705
2033f45b
RO
7062018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
707
708 * affinity.c: Include <string.h>, <stdio.h>.
709 (gomp_display_affinity_place): Remove cpusetp.
710 * teams.c: Include <limits.h>.
711
28567c40
JJ
7122018-11-08 Jakub Jelinek <jakub@redhat.com>
713
8991d779
JJ
714 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
715 in_reduction clause for s[0].
716
28567c40
JJ
717 * affinity.c (gomp_display_affinity_place): New function.
718 * affinity-fmt.c: New file.
719 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
720 * config/linux/affinity.c (gomp_display_affinity_place): New function.
721 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
722 Move these functions to ...
723 * config/nvptx/teams.c: ... here. New file.
724 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
725 New functions.
726 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
727 functions.
728 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
729 and _aligned_malloc.
730 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
731 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
732 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
733 gomp_affinity_format_len): New variables.
734 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
735 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
736 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
737 modifiers. Display (non-default) chunk sizes. Print
738 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
739 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
740 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
741 * fortran.c: Include stdio.h and string.h.
742 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
743 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
744 (omp_set_affinity_format_, omp_get_affinity_format_,
745 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
746 omp_pause_resource_all_): New functions.
747 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
748 switch.
749 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
750 functions to ...
751 * teams.c: ... here. New file.
752 * libgomp_g.h: Include gstdint.h.
753 (GOMP_loop_nonmonotonic_runtime_start,
754 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
755 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
756 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
757 GOMP_parallel_loop_nonmonotonic_runtime,
758 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
759 GOMP_loop_ull_nonmonotonic_runtime_start,
760 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
761 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
762 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
763 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
764 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
765 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
766 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
767 GOMP_teams_reg): Declare.
768 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
769 gomp_aligned_alloc uses fallback implementation.
770 (gomp_aligned_alloc, gomp_aligned_free): Declare.
771 (enum gomp_schedule_type): Add GFS_MONOTONIC.
772 (struct gomp_doacross_work_share): Add extra field.
773 (struct gomp_work_share): Add task_reductions field.
774 (struct gomp_taskgroup): Add workshare and reductions fields.
775 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
776 (gomp_thread_handle): New typedef.
777 (gomp_display_affinity_place, gomp_set_affinity_format,
778 gomp_display_string, gomp_display_affinity,
779 gomp_display_affinity_thread): Declare.
780 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
781 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
782 gomp_workshare_task_reduction_register): Declare.
783 (gomp_team_start): Add taskgroup argument.
784 (gomp_pause_host): Declare.
785 (gomp_init_work_share, gomp_work_share_start): Change bool argument
786 to size_t.
787 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
788 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
789 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
790 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
791 GOMP_loop_ull_doacross_start,
792 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
793 GOMP_loop_maybe_nonmonotonic_runtime_next,
794 GOMP_loop_maybe_nonmonotonic_runtime_start,
795 GOMP_loop_nonmonotonic_runtime_next,
796 GOMP_loop_nonmonotonic_runtime_start,
797 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
798 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
799 GOMP_loop_ull_nonmonotonic_runtime_next,
800 GOMP_loop_ull_nonmonotonic_runtime_start,
801 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
802 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
803 GOMP_taskgroup_reduction_register,
804 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
805 GOMP_teams_reg and GOMP_taskwait_depend.
806 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
807 omp_{capture,display}_affinity{,_}, and
808 omp_[gs]et_affinity_format{,_}.
809 * loop.c: Include string.h.
810 (GOMP_loop_runtime_next): Add ialias.
811 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
812 (gomp_loop_static_start, gomp_loop_dynamic_start,
813 gomp_loop_guided_start, gomp_loop_ordered_static_start,
814 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
815 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
816 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
817 or gomp_doacross_init callers.
818 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
819 GOMP_loop_doacross_start): New functions.
820 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
821 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
822 Mask off GFS_MONOTONIC bit.
823 (GOMP_loop_maybe_nonmonotonic_runtime_next,
824 GOMP_loop_maybe_nonmonotonic_runtime_start,
825 GOMP_loop_nonmonotonic_runtime_next,
826 GOMP_loop_nonmonotonic_runtime_start,
827 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
828 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
829 functions.
830 (gomp_parallel_loop_start): Pass NULL as taskgroup to
831 gomp_team_start.
832 * loop_ull.c: Include string.h.
833 (GOMP_loop_ull_runtime_next): Add ialias.
834 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
835 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
836 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
837 gomp_loop_ull_ordered_dynamic_start,
838 gomp_loop_ull_ordered_guided_start,
839 gomp_loop_ull_doacross_static_start,
840 gomp_loop_ull_doacross_dynamic_start,
841 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
842 and gomp_doacross_ull_init callers.
843 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
844 GOMP_loop_ull_doacross_start): New functions.
845 (GOMP_loop_ull_runtime_start,
846 GOMP_loop_ull_ordered_runtime_start,
847 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
848 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
849 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
850 GOMP_loop_ull_nonmonotonic_runtime_next,
851 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
852 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
853 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
854 (omp_pause_resource_t, omp_depend_t): New typedefs.
855 (enum omp_lock_hint_t): Renamed to ...
856 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
857 enumerators using numbers and omp_lock_hint_* as their aliases.
858 (omp_lock_hint_t): New typedef. Rename to ...
859 (omp_sync_hint_t): ... this.
860 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
861 omp_sync_hint_t instead of omp_lock_hint_t.
862 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
863 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
864 Declare.
865 (omp_target_is_present, omp_target_disassociate_ptr):
866 Change first argument from void * to const void *.
867 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
868 from void * to const void *.
869 (omp_target_associate_ptr): Change first and second arguments from
870 void * to const void *.
871 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
872 omp_pause_hard): New parameters.
873 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
874 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
875 New interfaces.
876 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
877 omp_pause_hard): New parameters.
878 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
879 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
880 New externals.
881 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
882 EXTRA argument. If not needed to prepare array, if extra is 0,
883 clear ws->doacross, otherwise allocate just doacross structure and
884 extra payload. If array is needed, allocate also extra payload.
885 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
886 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
887 doacross == NULL.
888 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
889 gomp_team_start.
890 (GOMP_parallel): Likewise. Formatting fix.
891 (GOMP_parallel_reductions): New function.
892 (GOMP_cancellation_point): If taskgroup has workshare
893 flag set, check cancelled of prev taskgroup if any.
894 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
895 on prev taskgroup if any.
896 * sections.c: Include string.h.
897 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
898 (GOMP_sections_start): Adjust gomp_work_share_start caller.
899 (GOMP_sections2_start): New function.
900 (GOMP_parallel_sections_start, GOMP_parallel_sections):
901 Pass NULL as taskgroup to gomp_team_start.
902 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
903 gomp_work_share_start callers.
904 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
905 If taskgroup has workshare flag set, check cancelled on prev
906 taskgroup if any. Guard all cancellation tests with
907 gomp_cancel_var test.
908 (omp_target_is_present, omp_target_disassociate_ptr):
909 Change ptr argument from void * to const void *.
910 (omp_target_memcpy): Change src argument from void * to const void *.
911 (omp_target_memcpy_rect): Likewise.
912 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
913 instead of char * where needed.
914 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
915 from void * to const void *.
916 (omp_pause_resource, omp_pause_resource_all): New functions.
917 * task.c (gomp_task_handle_depend): Handle new depend array format
918 in addition to the old. Handle mutexinoutset kinds the same as
919 inout for now, handle unspecified kinds.
920 (gomp_create_target_task): If taskgroup has workshare flag set, check
921 cancelled on prev taskgroup if any. Guard all cancellation tests with
922 gomp_cancel_var test. Handle new depend array format count in
923 addition to the old.
924 (GOMP_task): Likewise. Adjust function comment.
925 (gomp_task_run_pre): If taskgroup has workshare flag set, check
926 cancelled on prev taskgroup if any. Guard all cancellation tests with
927 gomp_cancel_var test.
928 (GOMP_taskwait_depend): New function.
929 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
930 format in addition to the old. Handle mutexinoutset kinds the same as
931 inout for now, handle unspecified kinds. Fix a function comment typo.
932 (gomp_taskgroup_init): New function.
933 (GOMP_taskgroup_start): Use it.
934 (gomp_reduction_register, gomp_create_artificial_team,
935 GOMP_taskgroup_reduction_register,
936 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
937 gomp_parallel_reduction_register,
938 gomp_workshare_task_reduction_register,
939 gomp_workshare_taskgroup_start,
940 GOMP_workshare_task_reduction_unregister): New functions.
941 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
942 check cancelled on prev taskgroup if any. Guard all cancellation
943 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
944 by calling GOMP_taskgroup_reduction_register.
945 * team.c (gomp_thread_attr): Remove comment.
946 (struct gomp_thread_start_data): Add handle field.
947 (gomp_thread_start): Call pthread_detach.
948 (gomp_new_team): Adjust gomp_init_work_share caller.
949 (gomp_free_pool_helper): Call pthread_detach.
950 (gomp_team_start): Add taskgroup argument, initialize implicit
951 tasks' taskgroup field to that. Don't call
952 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
953 (gomp_team_end): Determine nesting by thr->ts.level != 0
954 rather than thr->ts.team != NULL.
955 (gomp_pause_pool_helper, gomp_pause_host): New functions.
956 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
957 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
958 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
959 if more than 1 allocate also extra payload at the end of array. Never
960 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
961 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
962 return true instead of ws.
963 * Makefile.in: Regenerated.
964 * configure: Regenerated.
965 * config.h.in: Regenerated.
966 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
967 in some cases.
968 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
969 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
970 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
971 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
972 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
973 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
974 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
975 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
976 * testsuite/libgomp.c-c++-common/for-10.c: New test.
977 * testsuite/libgomp.c-c++-common/for-11.c: New test.
978 * testsuite/libgomp.c-c++-common/for-12.c: New test.
979 * testsuite/libgomp.c-c++-common/for-13.c: New test.
980 * testsuite/libgomp.c-c++-common/for-14.c: New test.
981 * testsuite/libgomp.c-c++-common/for-15.c: New test.
982 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
983 define a different N(test), don't define N(f0) to N(f14), but instead
984 define N(f20) to N(f34) using != comparisons.
985 * testsuite/libgomp.c-c++-common/for-7.c: New test.
986 * testsuite/libgomp.c-c++-common/for-8.c: New test.
987 * testsuite/libgomp.c-c++-common/for-9.c: New test.
988 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
989 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
990 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
991 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
992 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
993 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
994 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
995 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
996 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
997 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
998 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
999 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1000 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1001 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1002 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1003 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1004 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1005 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1006 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1007 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1008 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1009 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1010 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1011 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1012 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1013 * testsuite/libgomp.c++/depend-1.C: New test.
1014 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1015 * testsuite/libgomp.c++/depobj-1.C: New test.
1016 * testsuite/libgomp.c++/for-16.C: New test.
1017 * testsuite/libgomp.c++/for-21.C: New test.
1018 * testsuite/libgomp.c++/for-22.C: New test.
1019 * testsuite/libgomp.c++/for-23.C: New test.
1020 * testsuite/libgomp.c++/for-24.C: New test.
1021 * testsuite/libgomp.c++/for-25.C: New test.
1022 * testsuite/libgomp.c++/for-26.C: New test.
1023 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1024 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1025 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1026 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1027 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1028 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1029 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1030 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1031 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1032 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1033 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1034 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1035 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1036 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1037 * testsuite/libgomp.c/task-reduction-1.c: New test.
1038 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1039 * testsuite/libgomp.c/task-reduction-2.c: New test.
1040 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1041 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1042 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1043 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1044 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1045 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1046 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1047 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1048 * testsuite/libgomp.c/teams-1.c: New test.
1049 * testsuite/libgomp.c/teams-2.c: New test.
1050 * testsuite/libgomp.c/thread-limit-4.c: New test.
1051 * testsuite/libgomp.c/thread-limit-5.c: New test.
1052 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1053
58168bbf
CLT
10542018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1055
1056 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1057 acc_memcpy_to/from_device functions, now with async parameter.
1058 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1059 (acc_memcpy_from_device): Likewise.
1060 (acc_memcpy_to_device_async): New API function.
1061 (acc_memcpy_from_device_async): Likewise.
1062 (present_create_copy): Add async parameter and async setting/unsetting.
1063 (acc_create): Adjust present_create_copy call.
1064 (acc_copyin): Likewise.
1065 (acc_present_or_create): Likewise.
1066 (acc_present_or_copyin): Likewise.
1067 (acc_create_async): New API function.
1068 (acc_copyin_async): New API function.
1069 (delete_copyout): Add async parameter and async setting/unsetting.
1070 (acc_delete): Adjust delete_copyout call.
1071 (acc_copyout): Likewise.
1072 (acc_delete_async): New API function.
1073 (acc_copyout_async): Likewise.
1074 (update_dev_host): Add async parameter and async setting/unsetting.
1075 (acc_update_device): Adjust update_dev_host call.
1076 (acc_update_self): Likewise.
1077 (acc_update_device_async): New API function.
1078 (acc_update_self_async): Likewise.
1079 * openacc.h (acc_copyin_async): Declare new API function.
1080 (acc_create_async): Likewise.
1081 (acc_copyout_async): Likewise.
1082 (acc_delete_async): Likewise.
1083 (acc_update_device_async): Likewise.
1084 (acc_update_self_async): Likewise.
1085 (acc_memcpy_to_device_async): Likewise.
1086 (acc_memcpy_from_device_async): Likewise.
1087 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1088 (acc_copyin_async_64_h): New subroutine.
1089 (acc_copyin_async_array_h): New subroutine.
1090 (acc_create_async_32_h): New subroutine.
1091 (acc_create_async_64_h): New subroutine.
1092 (acc_create_async_array_h): New subroutine.
1093 (acc_copyout_async_32_h): New subroutine.
1094 (acc_copyout_async_64_h): New subroutine.
1095 (acc_copyout_async_array_h): New subroutine.
1096 (acc_delete_async_32_h): New subroutine.
1097 (acc_delete_async_64_h): New subroutine.
1098 (acc_delete_async_array_h): New subroutine.
1099 (acc_update_device_async_32_h): New subroutine.
1100 (acc_update_device_async_64_h): New subroutine.
1101 (acc_update_device_async_array_h): New subroutine.
1102 (acc_update_self_async_32_h): New subroutine.
1103 (acc_update_self_async_64_h): New subroutine.
1104 (acc_update_self_async_array_h): New subroutine.
1105 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1106 (acc_copyin_async_64_h): New subroutine.
1107 (acc_copyin_async_array_h): New subroutine.
1108 (acc_create_async_32_h): New subroutine.
1109 (acc_create_async_64_h): New subroutine.
1110 (acc_create_async_array_h): New subroutine.
1111 (acc_copyout_async_32_h): New subroutine.
1112 (acc_copyout_async_64_h): New subroutine.
1113 (acc_copyout_async_array_h): New subroutine.
1114 (acc_delete_async_32_h): New subroutine.
1115 (acc_delete_async_64_h): New subroutine.
1116 (acc_delete_async_array_h): New subroutine.
1117 (acc_update_device_async_32_h): New subroutine.
1118 (acc_update_device_async_64_h): New subroutine.
1119 (acc_update_device_async_array_h): New subroutine.
1120 (acc_update_self_async_32_h): New subroutine.
1121 (acc_update_self_async_64_h): New subroutine.
1122 (acc_update_self_async_array_h): New subroutine.
1123 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1124 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1125 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1126 acc_memcpy_to_device_async*, acc_update_device_async*, and
1127 acc_update_self_async* entries.
1128 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1129 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1130 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1131
22e05272
JM
11322018-10-31 Joseph Myers <joseph@codesourcery.com>
1133
1134 PR bootstrap/82856
1135 * Makefile.am: Include multilib.am
1136 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1137 (CLEANFILES): Remove libgomp.info.
1138 * configure.ac: Remove AC_PREREQ.
1139 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1140 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1141 Regenerate.
1142
87a5ccfb
JM
11432018-10-29 Joseph Myers <joseph@codesourcery.com>
1144 Julian Brown <julian@codesourcery.com>
1145
1146 * testsuite/libgomp.oacc-c++/this.C: New.
1147
2049befd
CP
11482018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1149
1150 * plugin/plugin-nvptx.c (struct cuda_map): New.
1151 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1152 h_tail with (cuda_map *) map.
1153 (cuda_map_create): New function.
1154 (cuda_map_destroy): New function.
1155 (map_init): Update to use a linked list of cuda_map objects.
1156 (map_fini): Likewise.
1157 (map_pop): Likewise.
1158 (map_push): Likewise. Return CUdeviceptr instead of void.
1159 (init_streams_for_device): Remove stales references to ptx_stream
1160 members.
1161 (select_stream_for_async): Likewise.
1162 (nvptx_exec): Update call to map_init.
1163
8e36332c
CP
11642018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1165 Julian Brown <julian@codesourcery.com>
1166
1167 PR middle-end/86336
1168 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1169
2b4c9065
NK
11702018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1171 Thomas Koenig <tkoenig@gcc.gnu.org>
1172
1173 PR fortran/25829
1174 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1175 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1176 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1177 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1178 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1179 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1180 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1181
bd9b3d3d
CP
11822018-08-13 Cesar Philippidis <cesar@codesourcery.com>
1183 Tom de Vries <tdevries@suse.de>
1184
1185 PR target/85590
1186 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1187 (cuOccupancyMaxPotentialBlockSize): Declare.
1188 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1189 CUDA_ONE_CALL_MAYBE_NULL.
1190 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1191 CUoccupancyB2DSize and declare
1192 cuOccupancyMaxPotentialBlockSize.
1193 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1194 default num_gangs and num_workers when the driver supports it.
1195
8e09a12f
TV
11962018-08-08 Tom de Vries <tdevries@suse.de>
1197
1198 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1199 CUDA_ONE_CALL_MAYBE_NULL.
1200 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1201 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1202 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1203 are not found.
1204
cedd9bd0
TV
12052018-08-08 Tom de Vries <tdevries@suse.de>
1206
1207 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1208 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1209 present.
1210
b113af95
TV
12112018-08-08 Tom de Vries <tdevries@suse.de>
1212
1213 * plugin/plugin-nvptx.c
1214 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1215 (nvptx_open_device): Use
1216 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1217
94767dac
TV
12182018-08-08 Tom de Vries <tdevries@suse.de>
1219
1220 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1221 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
1222
02150de8
TV
12232018-08-07 Tom de Vries <tdevries@suse.de>
1224
1225 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1226 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1227 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
1228 corresponding call in CUDA_ONE_CALL. Add def/undef of
1229 CUDA_ONE_CALL_MAYBE_NULL.
1230 (CUDA_CALL_EXISTS): Define.
1231
9e28b107
TV
12322018-08-07 Tom de Vries <tdevries@suse.de>
1233
1234 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1235 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1236 corresponding undefs right after.
1237
09940090
TV
12382018-08-04 Tom de Vries <tdevries@suse.de>
1239
1240 * plugin/configfrag.ac: For --without-cuda-driver, set
1241 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
1242 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1243 * configure: Regenerate.
1244
77e0a97a
TV
12452018-08-02 Tom de Vries <tdevries@suse.de>
1246
1247 PR target/86660
1248 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1249 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1250 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1251 Same.
1252 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1253 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1254 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1255
701d080a
CP
12562018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1257 Thomas Schwinge <thomas@codesourcery.com>
1258
1259 * config/nvptx/oacc-parallel.c: Truncate.
1260
094db6be
CP
12612018-08-01 Cesar Philippidis <cesar@codesourcery.com>
1262 James Norris <jnorris@codesourcery.com>
1263
1264 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
1265 (map_init, map_pop): Remove use of struct map.
1266 (map_push): Likewise and change argument list.
094db6be
CP
1267 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1268
8c6310a2
TV
12692018-08-01 Tom de Vries <tdevries@suse.de>
1270
1271 * plugin/cuda-lib.def: New file. Factor out of ...
1272 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1273 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1274 using CUDA_CALLS.
1275
1d4a51cf
AV
12762018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1277
1278 Revert 'AsyncI/O patch committed'.
1279 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1280 Thomas Koenig <tkoenig@gcc.gnu.org>
1281
1282 PR fortran/25829
1283 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1284 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1285 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1286 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1287 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1288 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1289 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1290
4cdfee3f
TV
12912018-07-30 Tom de Vries <tdevries@suse.de>
1292
1293 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1294 (nvptx_exec): Ensure worker and vector default dims don't exceed
1295 targ_fn->max_threads_per_block.
1296
0b210c43
TV
12972018-07-30 Tom de Vries <tdevries@suse.de>
1298
1299 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1300 (nvptx_open_device): Init default_dims for device.
1301 (nvptx_exec): Use default_dims from device.
1302
5883c5cc
JJ
13032018-07-26 Jakub Jelinek <jakub@redhat.com>
1304
5d36384c
JJ
1305 PR testsuite/86660
1306 * testsuite/libgomp.c++/for-15.C (results): Include it in
1307 omp declare target region.
1308 (main): Use map (always, tofrom: results) instead of
1309 map (tofrom: results).
1310
5883c5cc
JJ
1311 PR middle-end/86660
1312 * testsuite/libgomp.c/pr86660.c: New test.
1313
88a4654d
CP
13142018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1315 Tom de Vries <tdevries@suse.de>
1316
1317 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1318 sufficient resources to launch a kernel, and give a hint on how to fix
1319 it.
1320
0c6c2f5f
CP
13212018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1322 Tom de Vries <tdevries@suse.de>
1323
1324 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1325 max_threads_per_block and max_threads_per_multiprocessor fields.
1326 (nvptx_open_device): Initialize new fields.
1327 (nvptx_exec): Use num_sms, and new fields.
1328
6dd58010
TV
13292018-07-26 Tom de Vries <tdevries@suse.de>
1330
1331 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1332 to correct locations. Remove xfail.
1333
b2eb1779
TV
13342018-07-26 Tom de Vries <tdevries@suse.de>
1335
1336 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1337 acc_wait. Move acc_async_test calls to correct locations. Remove
1338 xfail.
1339
b1f45884
NK
13402018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1341 Thomas Koenig <tkoenig@gcc.gnu.org>
1342
1343 PR fortran/25829
1344 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1345 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1346 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1347 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1348 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1349 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1350 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1351
3a106211
JJ
13522018-07-17 Jakub Jelinek <jakub@redhat.com>
1353
a3bccfa1
JJ
1354 PR middle-end/86542
1355 * testsuite/libgomp.c++/pr86542.C: New test.
1356
3a106211
JJ
1357 PR middle-end/86539
1358 * testsuite/libgomp.c++/pr86539.C: New test.
1359
2bae8b2f
JJ
13602018-07-11 Jakub Jelinek <jakub@redhat.com>
1361
1362 PR c++/86443
1363 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1364 (results): Make sure the variable is not inside declare target region.
1365 (qux): Remove unused function.
1366
0b27c3ed
JJ
13672018-07-10 Jakub Jelinek <jakub@redhat.com>
1368
1369 PR c++/86443
1370 * testsuite/libgomp.c++/for-15.C: New test.
1371
f0391511
JJ
13722018-06-26 Jakub Jelinek <jakub@redhat.com>
1373
1374 PR c++/86291
1375 * testsuite/libgomp.c++/pr86291.C: New test.
1376
1a6d1d24
GP
13772018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1378
1379 * libgomp.texi (Top): Move www.openmp.org to https.
1380 (Enabling OpenMP): Ditto.
1381 (omp_get_active_level): Ditto.
1382 (omp_get_ancestor_thread_num): Ditto.
1383 (omp_get_cancellation): Ditto.
1384 (omp_get_default_device): Ditto.
1385 (omp_get_dynamic): Ditto.
1386 (omp_get_level): Ditto.
1387 (omp_get_max_active_levels): Ditto.
1388 (omp_get_max_task_priority): Ditto.
1389 (omp_get_max_threads): Ditto.
1390 (omp_get_nested): Ditto.
1391 (omp_get_num_devices): Ditto.
1392 (omp_get_num_procs): Ditto.
1393 (omp_get_num_teams): Ditto.
1394 (omp_get_num_threads): Ditto.
1395 (omp_get_proc_bind): Ditto.
1396 (omp_get_schedule): Ditto.
1397 (omp_get_team_num): Ditto.
1398 (omp_get_team_size): Ditto.
1399 (omp_get_thread_limit): Ditto.
1400 (omp_get_thread_num): Ditto.
1401 (omp_in_parallel): Ditto.
1402 (omp_in_final): Ditto.
1403 (omp_is_initial_device): Ditto.
1404 (omp_set_default_device): Ditto.
1405 (omp_set_dynamic): Ditto.
1406 (omp_set_max_active_levels): Ditto.
1407 (omp_set_nested): Ditto.
1408 (omp_set_num_threads): Ditto.
1409 (omp_set_schedule): Ditto.
1410 (omp_init_lock): Ditto.
1411 (omp_set_lock): Ditto.
1412 (omp_test_lock): Ditto.
1413 (omp_unset_lock): Ditto.
1414 (omp_destroy_lock): Ditto.
1415 (omp_init_nest_lock): Ditto.
1416 (omp_set_nest_lock): Ditto.
1417 (omp_test_nest_lock): Ditto.
1418 (omp_unset_nest_lock): Ditto.
1419 (omp_destroy_nest_lock): Ditto.
1420 (omp_get_wtick): Ditto.
1421 (omp_get_wtime): Ditto.
1422 (OMP_CANCELLATION): Ditto.
1423 (OMP_DISPLAY_ENV): Ditto.
1424 (OMP_DEFAULT_DEVICE): Ditto.
1425 (OMP_DYNAMIC): Ditto.
1426 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1427 (OMP_MAX_TASK_PRIORITY): Ditto.
1428 (OMP_NESTED): Ditto.
1429 (OMP_NUM_THREADS): Ditto.
1430 (OMP_PROC_BIND): Ditto.
1431 (OMP_PLACES): Ditto.
1432 (OMP_STACKSIZE): Ditto.
1433 (OMP_SCHEDULE): Ditto.
1434 (OMP_THREAD_LIMIT): Ditto.
1435 (OMP_WAIT_POLICY): Ditto.
1436
31dd69b7
CP
14372018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1438 James Norris <jnorris@codesourcery.com>
1439 Julian Brown <julian@codesourcery.com>
1440 Thomas Schwinge <thomas@codesourcery.com>
1441 Tom de Vries <tom@codesourcery.com>
1442
1443 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1444 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1445 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1447 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1448 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1449 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1450 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1451 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1452 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1453 Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1455 Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1457 Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1459 Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1461 Likewise.
1462 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1463 Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1465 Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1467 Likewise.
1468 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1469 Likewise.
1470 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1471 Likewise.
1472 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1473 Likewise.
1474 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1475 Likewise.
1476 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1477 Likewise.
1478 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1479 Likewise.
1480 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1481 Likewise.
1482 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1483 Likewise.
1484 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1485 Likewise.
1486 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1487 Likewise.
1488 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1489 Likewise.
1490 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1491 Likewise.
1492 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1493 Likewise.
1494 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1495 Likewise.
1496 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1497 Likewise.
1498 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1499 Likewise.
1500 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1501 Likewise.
1502 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1503 Likewise.
1504 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1505 Likewise.
1506 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1508 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1509 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1510 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1511 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1512 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1513 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1514 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1515 Likewise.
1516 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1517 Likewise.
1518 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1519 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1520 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1521 Likewise.
1522 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1523 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1524 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1525 Likewise.
1526 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1527 Likewise.
1528 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1529 Likewise.
1530 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1531 Likewise.
1532 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1533 Likewise.
1534 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1535 Likewise.
1536 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1537 Likewise.
1538 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1539 Likewise.
1540 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1541 Likewise.
1542 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1543 Likewise.
1544 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1545 Likewise.
1546 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1547 Likewise.
1548 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1549 Likewise.
1550 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1551 Likewise.
1552 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1553 Likewise.
1554 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1555 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1556 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1557 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1558 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1559 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1560 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1561
829c6349
CLT
15622018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1563 Thomas Schwinge <thomas@codesourcery.com>
1564 Cesar Philippidis <cesar@codesourcery.com>
1565
1566 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1567 (gomp_acc_remove_pointer): Update declaration.
1568 (gomp_acc_declare_allocate): Declare.
1569 (gomp_remove_var): Declare.
1570 * libgomp.map (OACC_2.5): Define.
1571 * oacc-mem.c (acc_map_data): Update refcount.
1572 (acc_unmap_data): Likewise.
1573 (present_create_copy): Likewise.
1574 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1575 (acc_copyin): Likewise.
1576 (FLAG_FINALIZE): Define.
1577 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1578 (acc_delete_finalize): New function.
1579 (acc_delete_finalize_async): New function.
1580 (acc_copyout_finalize): New function.
1581 (acc_copyout_finalize_async): New function.
1582 (gomp_acc_insert_pointer): Update refcounts.
1583 (gomp_acc_remove_pointer): Return if data is not present on the
1584 accelerator.
1585 * oacc-parallel.c (find_pset): Rename to find_pointer.
1586 (find_pointer): Add support for GOMP_MAP_POINTER.
1587 (handle_ftn_pointers): New function.
1588 (GOACC_parallel_keyed): Update refcounts of variables.
1589 (GOACC_enter_exit_data): Add support for finalized data mappings.
1590 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1591 of fortran arrays.
1592 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1593 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1594 for GOMP_MAP_FORCE_FROM.
1595 * openacc.f90 (module openacc_internal): Add
1596 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1597 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1598 acc_copyout_finalize and acc_delete_finalize.
1599 (acc_copyout_finalize_32_h): New subroutine.
1600 (acc_copyout_finalize_64_h): New subroutine.
1601 (acc_copyout_finalize_array_h): New subroutine.
1602 (acc_delete_finalize_32_h): New subroutine.
1603 (acc_delete_finalize_64_h): New subroutine.
1604 (acc_delete_finalize_array_h): New subroutine.
1605 * openacc.h (acc_copyout_finalize): Declare.
1606 (acc_copyout_finalize_async): Declare.
1607 (acc_delete_finalize): Declare.
1608 (acc_delete_finalize_async): Declare.
1609 * openacc_lib.h (acc_copyout_finalize): New interface.
1610 (acc_delete_finalize): New interface.
1611 * target.c (gomp_map_vars): Update dynamic_refcount.
1612 (gomp_remove_var): New function.
1613 (gomp_unmap_vars): Use it.
1614 (gomp_unload_image_from_device): Likewise.
1615 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1616 case to utilize OpenACC 2.5 data clause semantics.
1617 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1619 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1620 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1621 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1622 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1623 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1624 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1625 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1626 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1627 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1628 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1629 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1630 utilize OpenACC 2.5 data clause semantics.
1631 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1632 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1633 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1634 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1635 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1636 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1637 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1638 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1639 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1640
4358400b
JW
16412018-05-21 Janus Weil <janus@gcc.gnu.org>
1642
1643 PR fortran/85841
1644 PR testsuite/85865
1645 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1646 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1647 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1648 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1649 * testsuite/libgomp.fortran/task2.f90: Ditto.
1650 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1651 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1652 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1653 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1654 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1655 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1656 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1657 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1658 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1659
950ad0ba
CP
16602018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1661
1662 PR c++/85782
1663 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1664
f5ad16f1
TV
16652018-05-09 Tom de Vries <tom@codesourcery.com>
1666
1667 PR libgomp/82901
1668 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1669 to GOACC_enter_exit_data.
1670
edbd038a
TV
16712018-05-09 Tom de Vries <tom@codesourcery.com>
1672
1673 PR libgomp/83792
1674 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1675 (async_synchronous_p): New function.
1676 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1677 async_valid_p.
1678 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1679 async_valid_stream_id_p.
1680 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1681 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1682
37d6c719
TV
16832018-05-07 Tom de Vries <tom@codesourcery.com>
1684
1685 PR testsuite/85677
1686 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1687 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1688
63f12215
TV
16892018-05-03 Tom de Vries <tom@codesourcery.com>
1690
1691 PR testsuite/85106
1692 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1693 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1694 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1695 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1696
ec00d3fa
TV
16972018-05-02 Tom de Vries <tom@codesourcery.com>
1698
1699 PR libgomp/85411
1700 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1701 GOMP_OPENACC_DIM ...
1702 * env.c (parse_gomp_openacc_dim): ... here. New function.
1703 (initialize_env): Call parse_gomp_openacc_dim.
1704 (goacc_default_dims): Define.
1705 * libgomp.h (goacc_default_dims): Declare.
1706 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1707 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1708 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1709 GOMP_PLUGIN_acc_default_dim.
1710 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1711 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1712
92243e7c
TV
17132018-05-02 Tom de Vries <tom@codesourcery.com>
1714
1715 PR testsuite/83791
1716 * testsuite/libgomp.c++/udr-9.C: Update.
1717 * testsuite/libgomp.c++/atomic-16.C: Remove.
1718 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1719 * testsuite/libgomp.c++/loop-13.C: Remove.
1720 * testsuite/libgomp.c++/loop-14.C: Remove.
1721 * testsuite/libgomp.c++/loop-15.C: Remove.
1722 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1723 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1724 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1725 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1726 * testsuite/libgomp.c++/ordered-1.C: Remove.
1727 * testsuite/libgomp.c++/pr45784.C: Remove.
1728 * testsuite/libgomp.c++/pr64824.C: Remove.
1729 * testsuite/libgomp.c++/pr64868.C: Remove.
1730 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1731 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1732 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1733 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1734 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1735 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1736 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1737 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1738 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1739 * testsuite/libgomp.c++/pr69389.C: Remove.
1740 * testsuite/libgomp.c++/simd10.C: Remove.
1741 * testsuite/libgomp.c++/simd11.C: Remove.
1742 * testsuite/libgomp.c++/simd12.C: Remove.
1743 * testsuite/libgomp.c++/simd13.C: Remove.
1744 * testsuite/libgomp.c++/target-1.C: Remove.
1745 * testsuite/libgomp.c++/target-3.C: Remove.
1746 * testsuite/libgomp.c++/target-4.C: Remove.
1747 * testsuite/libgomp.c++/target-5.C: Remove.
1748 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1749 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1750 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1751 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1752 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1753 * testsuite/libgomp.c++/udr-9.C: Remove.
1754 * testsuite/libgomp.c++/for-10.C: Remove.
1755 * testsuite/libgomp.c++/for-11.C: Remove.
1756 * testsuite/libgomp.c++/for-12.C: Remove.
1757 * testsuite/libgomp.c++/for-13.C: Remove.
1758 * testsuite/libgomp.c++/for-14.C: Remove.
1759 * testsuite/libgomp.c++/for-9.C: Remove.
1760 * testsuite/libgomp.c/atomic-18.c: Move ...
1761 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1762 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1763 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1764 * testsuite/libgomp.c/loop-13.c: Move ...
1765 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1766 * testsuite/libgomp.c/loop-14.c: Move ...
1767 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1768 * testsuite/libgomp.c/loop-15.c: Remove.
1769 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1770 * testsuite/libgomp.c/monotonic-1.c: Move ...
1771 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1772 * testsuite/libgomp.c/monotonic-2.c: Move ...
1773 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1774 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1775 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1776 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1777 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1778 * testsuite/libgomp.c/ordered-4.c: Move ...
1779 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1780 * testsuite/libgomp.c/pr45784.c: Move ...
1781 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1782 * testsuite/libgomp.c/pr64824.c: Move ...
1783 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1784 * testsuite/libgomp.c/pr64868.c: Move ...
1785 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1786 * testsuite/libgomp.c/pr66199-1.c: Move ...
1787 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1788 * testsuite/libgomp.c/pr66199-2.c: Move ...
1789 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1790 * testsuite/libgomp.c/pr66199-3.c: Move ...
1791 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1792 * testsuite/libgomp.c/pr66199-4.c: Move ...
1793 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1794 * testsuite/libgomp.c/pr66199-5.c: Move ...
1795 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1796 * testsuite/libgomp.c/pr66199-6.c: Move ...
1797 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1798 * testsuite/libgomp.c/pr66199-7.c: Move ...
1799 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1800 * testsuite/libgomp.c/pr66199-8.c: Move ...
1801 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1802 * testsuite/libgomp.c/pr66199-9.c: Move ...
1803 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1804 * testsuite/libgomp.c/pr69389.c: Move ...
1805 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1806 * testsuite/libgomp.c/simd-14.c: Move ...
1807 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1808 * testsuite/libgomp.c/simd-15.c: Move ...
1809 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1810 * testsuite/libgomp.c/simd-16.c: Move ...
1811 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1812 * testsuite/libgomp.c/simd-17.c: Move ...
1813 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1814 * testsuite/libgomp.c/target-1.c: Move ...
1815 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1816 * testsuite/libgomp.c/target-10.c: Move ...
1817 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1818 * testsuite/libgomp.c/target-13.c: Move ...
1819 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1820 * testsuite/libgomp.c/target-2.c: Move ...
1821 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1822 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1823 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1824 * testsuite/libgomp.c/taskloop-1.c: Move ...
1825 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1826 * testsuite/libgomp.c/taskloop-2.c: Move ...
1827 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1828 * testsuite/libgomp.c/taskloop-3.c: Move ...
1829 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1830 * testsuite/libgomp.c/taskloop-4.c: Move ...
1831 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1832 * testsuite/libgomp.c/udr-1.c: Move ...
1833 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1834 * testsuite/libgomp.c/for-1.c: Move ...
1835 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1836 * testsuite/libgomp.c/for-1.h: Move ...
1837 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1838 * testsuite/libgomp.c/for-2.c: Move ...
1839 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1840 * testsuite/libgomp.c/for-2.h: Move ...
1841 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1842 * testsuite/libgomp.c/for-3.c: Move ...
1843 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1844 * testsuite/libgomp.c/for-4.c: Move ...
1845 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1846 * testsuite/libgomp.c/for-5.c: Move ...
1847 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1848 * testsuite/libgomp.c/for-6.c: Move ...
1849 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1850
1f62d637
TV
18512018-05-02 Tom de Vries <tom@codesourcery.com>
1852
1853 PR libgomp/82428
1854 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1855 __builtin_goacc_parlevel_{id,size}.
1856 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1857 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1858 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1859 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1860 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1861 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1862 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1863 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1864 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1865 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1866 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1867 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1868 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1869 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1870 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1871 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1872 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1873 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1874 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1875 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1876 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1877 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1878 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1879
9220b511
TV
18802018-05-02 Tom de Vries <tom@codesourcery.com>
1881
1882 PR testsuite/85106
1883 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1884
6c3c13c1
TV
18852018-05-02 Tom de Vries <tom@codesourcery.com>
1886
1887 PR testsuite/85106
1888 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1889
8d70b61e
JB
18902018-04-29 Julian Brown <julian@codesourcery.com>
1891 Tom de Vries <tom@codesourcery.com>
1892
1893 PR testsuite/85527
1894 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1895 arbitrary order for iterations of atomic subtract check.
1896
4a57a4b6
TV
18972018-04-28 Tom de Vries <tom@codesourcery.com>
1898
1899 PR testsuite/85527
1900 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1901 atomic capture results obtained in parallel loop to an array, instead of
1902 to a scalar.
1903
df36a3d3
TV
19042018-04-26 Tom de Vries <tom@codesourcery.com>
1905
1906 PR libgomp/84020
1907 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1908 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1909 (process_GOMP_NVPTX_JIT): New function.
1910 (link_ptx): Use process_GOMP_NVPTX_JIT.
1911
d160ae78
RB
19122018-04-26 Richard Biener <rguenther@suse.de>
1913 Tom de Vries <tom@codesourcery.com>
1914
1915 PR lto/85422
1916 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1917
ca9dc642
TV
19182018-04-26 Tom de Vries <tom@codesourcery.com>
1919
1920 PR target/85519
1921 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1922 recursion depth from 25 to 23.
1923 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1924
7b47ecf2
L
19252018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1926
1927 * configure: Regenerated.
1928
e91eba31
NS
19292018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1930 Tom de Vries <tom@codesourcery.com>
1931
1932 PR target/85445
1933 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1934
6e0d40b6
TS
19352018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1936
1937 PR libgomp/85463
1938 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1939 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1940 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1941 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1942 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1943 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1944
1945 PR libfortran/85166
1946 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1947 abort".
1948 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1949
a0e1df88
JJ
19502018-04-19 Jakub Jelinek <jakub@redhat.com>
1951
1952 * configure: Regenerated.
1953
001ddaa8
DM
19542018-04-18 David Malcolm <dmalcolm@redhat.com>
1955
1956 PR jit/85384
1957 * configure: Regenerate.
1958
05e0af43
CP
19592018-04-16 Cesar Philippidis <cesar@codesourcery.com>
1960 Tom de Vries <tom@codesourcery.com>
1961
1962 PR middle-end/84955
1963 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1964 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1965
bc436e10
TK
19662018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1967
1968 PR fortran/83064
1969 PR testsuite/85346
1970 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
1971 test from gfortran.dg to here.
1972
ffb164c7
JJ
19732018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1974
1975 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
1976 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
1977
19782018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1979
1980 PR middle-end/84955
1981 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1982 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1983
2ba16fd2
TV
19842018-04-05 Tom de Vries <tom@codesourcery.com>
1985
1986 PR target/85204
1987 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
1988
46dbeb40
TV
19892018-03-26 Tom de Vries <tom@codesourcery.com>
1990
1991 PR tree-optimization/85063
1992 * testsuite/libgomp.c/switch-conversion-2.c: New test.
1993 * testsuite/libgomp.c/switch-conversion.c: New test.
1994 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
1995 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
1996
bfc24e32
TK
19972018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1998
1999 PR fortran/84381
2000 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2001 call abort by STOP n.
2002 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2003 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2004 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2005 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2006 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2007 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2008 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2009 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2010 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2011 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2012 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2013 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2014 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2015 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2016 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2017 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2018 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2019 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2020 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2021 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2022 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2023 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2024 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2025 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2026 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2027 * testsuite/libgomp.fortran/character1.f90: Likewise.
2028 * testsuite/libgomp.fortran/character2.f90: Likewise.
2029 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2030 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2031 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2032 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2033 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2034 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2035 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2036 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2037 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2038 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2039 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2040 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2041 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2042 * testsuite/libgomp.fortran/do1.f90: Likewise.
2043 * testsuite/libgomp.fortran/do2.f90: Likewise.
2044 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2045 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2046 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2047 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2048 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2049 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2050 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2051 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2052 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2053 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2054 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2055 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2056 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2057 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2058 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2059 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2060 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2061 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2062 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2063 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2064 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2065 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2066 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2067 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2068 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2069 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2070 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2071 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2072 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2073 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2074 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2075 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2076 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2077 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2078 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2079 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2080 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2081 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2082 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2083 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2084 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2085 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2086 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2087 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2088 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2089 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2090 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2091 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2092 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2093 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2094 * testsuite/libgomp.fortran/lib2.f: Likewise.
2095 * testsuite/libgomp.fortran/lib3.f: Likewise.
2096 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2097 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2098 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2099 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2100 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2101 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2102 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2103 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2104 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2105 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2106 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2107 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2108 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2109 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2110 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2111 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2112 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2113 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2114 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2115 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2116 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2117 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2118 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2119 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2120 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2121 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2122 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2123 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2124 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2125 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2126 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2127 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2128 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2129 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2130 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2131 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2132 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2133 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2134 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2135 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2136 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2137 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2138 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2139 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2140 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2141 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2142 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2143 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2144 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2145 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2146 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2147 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2148 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2149 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2150 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2151 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2152 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2153 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2154 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2155 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2156 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2157 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2158 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2159 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2160 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2161 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2162 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2163 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2164 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2165 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2166 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2167 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2168 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2169 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2170 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2171 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2172 * testsuite/libgomp.fortran/stack.f90: Likewise.
2173 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2174 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2175 * testsuite/libgomp.fortran/tabs2.f: Likewise.
2176 * testsuite/libgomp.fortran/target1.f90: Likewise.
2177 * testsuite/libgomp.fortran/target2.f90: Likewise.
2178 * testsuite/libgomp.fortran/target3.f90: Likewise.
2179 * testsuite/libgomp.fortran/target4.f90: Likewise.
2180 * testsuite/libgomp.fortran/target5.f90: Likewise.
2181 * testsuite/libgomp.fortran/target6.f90: Likewise.
2182 * testsuite/libgomp.fortran/target7.f90: Likewise.
2183 * testsuite/libgomp.fortran/target8.f90: Likewise.
2184 * testsuite/libgomp.fortran/task1.f90: Likewise.
2185 * testsuite/libgomp.fortran/task2.f90: Likewise.
2186 * testsuite/libgomp.fortran/task3.f90: Likewise.
2187 * testsuite/libgomp.fortran/task4.f90: Likewise.
2188 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2189 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2190 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2191 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2192 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2193 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2194 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2195 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2196 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2197 * testsuite/libgomp.fortran/udr1.f90: Likewise.
2198 * testsuite/libgomp.fortran/udr10.f90: Likewise.
2199 * testsuite/libgomp.fortran/udr11.f90: Likewise.
2200 * testsuite/libgomp.fortran/udr12.f90: Likewise.
2201 * testsuite/libgomp.fortran/udr13.f90: Likewise.
2202 * testsuite/libgomp.fortran/udr14.f90: Likewise.
2203 * testsuite/libgomp.fortran/udr15.f90: Likewise.
2204 * testsuite/libgomp.fortran/udr2.f90: Likewise.
2205 * testsuite/libgomp.fortran/udr3.f90: Likewise.
2206 * testsuite/libgomp.fortran/udr4.f90: Likewise.
2207 * testsuite/libgomp.fortran/udr5.f90: Likewise.
2208 * testsuite/libgomp.fortran/udr6.f90: Likewise.
2209 * testsuite/libgomp.fortran/udr7.f90: Likewise.
2210 * testsuite/libgomp.fortran/udr8.f90: Likewise.
2211 * testsuite/libgomp.fortran/udr9.f90: Likewise.
2212 * testsuite/libgomp.fortran/vla1.f90: Likewise.
2213 * testsuite/libgomp.fortran/vla2.f90: Likewise.
2214 * testsuite/libgomp.fortran/vla3.f90: Likewise.
2215 * testsuite/libgomp.fortran/vla4.f90: Likewise.
2216 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2217 * testsuite/libgomp.fortran/vla6.f90: Likewise.
2218 * testsuite/libgomp.fortran/vla7.f90: Likewise.
2219 * testsuite/libgomp.fortran/vla8.f90: Likewise.
2220 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2221 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2222 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2223 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2224 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2225 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2226 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2227 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2228 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2229 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2230 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2231 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2232 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2233 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2234 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2235 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2236 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2237 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2238 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2239 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2240 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2241 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2242 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2243 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2244 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2245 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2246 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2247 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2248 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2249 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2250 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2251 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2252 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2253 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2254 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2255 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2256 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2257 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2258 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2259 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2260 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2261 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2262 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2263 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2264 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2265 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2266 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2267 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2268 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2269 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2270 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2271 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2272 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2273 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2274 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2275 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2276 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2277 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2278 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2279 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2280 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2281 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2282 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2283 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2284 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2285 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2286 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2287 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2288 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2289 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2290 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2291 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2292 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2293 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2294 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2295 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2296 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2297 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2298 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2299 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2300 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2301 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2302 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2303 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2304 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2305 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2306 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2307 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2308 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2309 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2310 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2311 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2312 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2313 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2314
79cf14ae
RB
23152018-03-20 Richard Biener <rguenther@suse.de>
2316
2317 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2318 parallelizable loop.
2319
14e335ed
IT
23202018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2321
2322 PR target/84148
2323 * configure: Regenerate.
2324
83d9be55
JJ
23252018-02-16 Jakub Jelinek <jakub@redhat.com>
2326
2327 PR fortran/84418
2328 * libgomp.fortran/pr84418-1.f90: New test.
2329 * libgomp.fortran/pr84418-2.f90: New test.
2330
d1fe6124
JJ
23312018-02-14 Jakub Jelinek <jakub@redhat.com>
2332
2333 PR fortran/84313
2334 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2335 -std=f2003 -fall-intrinsics into dg-additional-options.
2336
3d224921
MJ
23372018-02-08 Martin Jambor <mjambor@suse.cz>
2338
2339 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2340 clonable.
2341
c7c30edd
MJ
23422018-02-08 Martin Jambor <mjambor@suse.cz>
2343
2344 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2345
f320fdfd
RO
23462018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2347
2348 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2349 [__cplusplus]: Declare extern "C".
2350
c31bc4ac
TV
23512018-02-07 Tom de Vries <tom@codesourcery.com>
2352
2353 PR libgomp/84217
2354 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2355
99ae7ce5
CS
23562018-01-29 Christoph Spiel <cspiel@freenet.de>
2357 Jakub Jelinek <jakub@redhat.com>
2358
2359 PR libgomp/84096
2360 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2361 instead of omp_lock_t.
2362
e77a1236
TV
23632018-01-25 Tom de Vries <tom@codesourcery.com>
2364
2365 PR target/84028
2366 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2367
3dede32b
TV
23682018-01-24 Tom de Vries <tom@codesourcery.com>
2369
2370 PR target/83589
2371 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2372
be606483
TV
23732018-01-24 Tom de Vries <tom@codesourcery.com>
2374
2375 PR target/81352
2376 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2377
8c8e9a6b
TV
23782018-01-19 Tom de Vries <tom@codesourcery.com>
2379 Cesar Philippidis <cesar@codesourcery.com>
2380
2381 PR target/83920
2382 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2383 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2384
65e6aea3
JJ
23852018-01-03 Jakub Jelinek <jakub@redhat.com>
2386
85ec4feb
JJ
2387 Update copyright years.
2388
65e6aea3
JJ
2389 * libgomp.texi: Bump @copying's copyright year.
2390
60bf575c
TV
23912017-12-30 Tom de Vries <tom@codesourcery.com>
2392
2393 PR libgomp/83046
2394 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2395 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2396
7ec16b79
TV
23972017-12-27 Tom de Vries <tom@codesourcery.com>
2398
2399 PR c++/83046
2400 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2401 (test_nonstatic): Fix return type to workaround PR83046.
2402
ac550b9a
JJ
24032017-12-05 Jakub Jelinek <jakub@redhat.com>
2404
2405 PR testsuite/83281
2406 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2407 j suffix instead of i.
2408 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2409 Likewise.
2410
ebdc83f0
CP
24112017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2412
2413 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2414 call to acc_wait (1).
2415
3b3e6283
JJ
24162017-11-24 Jakub Jelinek <jakub@redhat.com>
2417
2418 PR fortran/81304
2419 * testsuite/libgomp.fortran/pr81304.f90: New test.
2420
3b575376
JJ
24212017-11-23 Jakub Jelinek <jakub@redhat.com>
2422
2423 PR fortran/81841
2424 * libgomp.fortran/pr81841.f90: New test.
2425
b13547d8
JJ
24262017-11-22 Jakub Jelinek <jakub@redhat.com>
2427
2428 PR libgomp/83106
2429 * target.c (gomp_target_init): Compute lengths just once and
2430 use them in both malloc size and subsequent copying.
2431
efe33ced
IT
24322017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2433
2434 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2435 * acinclude.m4: Add cet.m4.
2436 * configure: Regenerate.
2437 * Makefile.in: Likewise.
2438 * testsuite/Makefile.in: Likewise.
2439
a7cf2612
TV
24402017-11-15 Tom de Vries <tom@codesourcery.com>
2441
2442 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2443 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2444 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2445 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2446 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2447 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2448
dde76623
TV
24492017-11-14 Tom de Vries <tom@codesourcery.com>
2450
2451 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2452 non-nvidia devices.
2453
4dbeb716
JJ
24542017-11-07 Jakub Jelinek <jakub@redhat.com>
2455
2456 PR c++/82835
2457 * testsuite/libgomp.c++/pr82835.C: New test.
2458
454f8b2b
ML
24592017-11-06 Martin Liska <mliska@suse.cz>
2460
2461 * testsuite/libgomp.c++/loop-2.C: Return a value
2462 for functions with non-void return type, or change type to void,
2463 or add -Wno-return-type for test.
2464 * testsuite/libgomp.c++/loop-4.C: Likewise.
2465 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2466 * testsuite/libgomp.c++/shared-1.C: Likewise.
2467 * testsuite/libgomp.c++/single-1.C: Likewise.
2468 * testsuite/libgomp.c++/single-2.C: Likewise.
2469
12e9c8ce
TV
24702017-10-31 Tom de Vries <tom@codesourcery.com>
2471
2472 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2473 "do {} while (false)".
2474 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2475 after HSA_DEBUG call.
2476
7324369a
JJ
24772017-10-28 Jakub Jelinek <jakub@redhat.com>
2478
2479 * target.c (struct gomp_coalesce_buf): New type.
2480 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2481 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2482 (gomp_copy_host2dev): Add CBUF argument, if copying into
2483 the cached ranges, memcpy into buffer instead of copying
2484 into device.
2485 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2486 Add CBUF argument, pass it through to other calls.
2487 (gomp_map_vars): Aggregate copies from host to device if small enough
2488 and with small enough gaps in between into memcpy into a buffer and
2489 fewer host to device copies from the buffer.
2490 (gomp_update): Adjust gomp_copy_host2dev caller.
2491
933ab0e6
TS
24922017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2493
2494 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2495 run" directive.
2496 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2497 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2498 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2499 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2500
92d5d01a
TV
25012017-10-16 Tom de Vries <tom@codesourcery.com>
2502
2503 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2504 openacc_nvidia_accel_selected.
2505 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2506 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2507 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2508 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2509 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2510 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2511 openacc_nvidia_accel_selected. Skip for shared memory device.
2512 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2513 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2514
191411e4
MJ
25152017-10-09 Martin Jambor <mjambor@suse.cz>
2516
2517 PR hsa/82416
2518 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2519
e923330e
TV
25202017-10-07 Tom de Vries <tom@codesourcery.com>
2521
2522 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2523 Remove acc_device_nvidia references.
2524 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2525 Same.
2526
8fe3ed4c
TV
25272017-10-05 Tom de Vries <tom@codesourcery.com>
2528
2529 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2530 vector_length(32) clause from acc parallel directive.
2531 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2532
26596ee5
TV
25332017-10-04 Tom de Vries <tom@codesourcery.com>
2534
2535 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2536 (main): Reduce sum of arr elements. Assert that hres is exactly
2537 representable in 32-bit floating point.
2538 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2539 (main): Reduce sum of arr elements. Assert that hres and hmres are
2540 exactly representable in 32-bit floating point.
2541 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2542
5c561fa9
TV
25432017-09-28 Tom de Vries <tom@codesourcery.com>
2544
2545 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2546 setting.
2547 * testsuite/libgomp.c++/pr69393.C: Same.
2548 * testsuite/libgomp.c++/taskloop-1.C: Same.
2549 * testsuite/libgomp.c++/taskloop-3.C: Same.
2550 * testsuite/libgomp.c++/taskloop-4.C: Same.
2551 * testsuite/libgomp.c/for-4.c: Same.
2552 * testsuite/libgomp.c/pr66199-3.c: Same.
2553 * testsuite/libgomp.c/pr66199-4.c: Same.
2554 * testsuite/libgomp.c/pr66199-6.c: Same.
2555 * testsuite/libgomp.c/taskloop-1.c: Same.
2556 * testsuite/libgomp.c/taskloop-3.c: Same.
2557 * testsuite/libgomp.c/taskloop-4.c: Same.
2558 * testsuite/libgomp.fortran/aligned1.f03: Same.
2559 * testsuite/libgomp.fortran/condinc1.f: Same.
2560 * testsuite/libgomp.fortran/condinc3.f90: Same.
2561 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2562 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2563 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2564 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2565 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2566 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2567 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2568 * testsuite/libgomp.fortran/recursion1.f90: Same.
2569 * testsuite/libgomp.fortran/target2.f90: Same.
2570 * testsuite/libgomp.fortran/target5.f90: Same.
2571 * testsuite/libgomp.fortran/task3.f90: Same.
2572
7d6206fe
TV
25732017-09-28 Tom de Vries <tom@codesourcery.com>
2574
2575 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2576 vector_length(32) clause from acc parallel directive.
2577 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2578
84c8627c
TV
25792017-09-27 Tom de Vries <tom@codesourcery.com>
2580
2581 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2582 Remove acc_device_nvidia references.
2583
ebc6a85e
TV
25842017-09-16 Tom de Vries <tom@codesourcery.com>
2585
2586 PR c/81875
2587 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2588
82419efb
TV
25892017-09-14 Tom de Vries <tom@codesourcery.com>
2590
2591 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2592 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2593 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2594 * testsuite/libgomp.c/c.exp: Include test-cases from
2595 libgomp.c-c++-common.
2596 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2597 files.
2598
8b586510
JJ
25992017-09-14 Jakub Jelinek <jakub@redhat.com>
2600
2601 PR c++/81314
2602 * testsuite/libgomp.c++/pr81314.C: New test.
2603
9651fbaf
GP
26042017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2605
2606 * libgomp.texi (Top): www.openacc.org now uses https.
2607 (Enabling OpenACC): Ditto.
2608 (acc_get_num_devices): Ditto.
2609 (acc_set_device_type): Ditto.
2610 (acc_get_device_type): Ditto.
2611 (acc_set_device_num): Ditto.
2612 (acc_get_device_num): Ditto.
2613 (acc_async_test): Ditto.
2614 (acc_async_test_all): Ditto.
2615 (acc_wait): Ditto.
2616 (acc_wait_all): Ditto.
2617 (acc_wait_all_async): Ditto.
2618 (acc_wait_async): Ditto.
2619 (acc_init): Ditto.
2620 (acc_shutdown): Ditto.
2621 (acc_on_device): Ditto.
2622 (acc_malloc): Ditto.
2623 (acc_free): Ditto.
2624 (acc_copyin): Ditto.
2625 (acc_present_or_copyin): Ditto.
2626 (acc_create): Ditto.
2627 (acc_present_or_create): Ditto.
2628 (acc_copyout): Ditto.
2629 (acc_delete): Ditto.
2630 (acc_update_device): Ditto.
2631 (acc_update_self): Ditto.
2632 (acc_map_data): Ditto.
2633 (acc_unmap_data): Ditto.
2634 (acc_deviceptr): Ditto.
2635 (acc_hostptr): Ditto.
2636 (acc_is_present): Ditto.
2637 (acc_memcpy_to_device): Ditto.
2638 (acc_memcpy_from_device): Ditto.
2639 (acc_get_current_cuda_device): Ditto.
2640 (acc_get_current_cuda_context): Ditto.
2641 (acc_get_cuda_stream): Ditto.
2642 (acc_set_cuda_stream): Ditto.
2643 (ACC_DEVICE_TYPE): Ditto.
2644 (ACC_DEVICE_NUM): Ditto.
2645 (OpenACC Library Interoperability): Ditto.
2646
50aa16c3
JJ
26472017-08-09 Jakub Jelinek <jakub@redhat.com>
2648
2649 PR c/81687
2650 * testsuite/libgomp.c/pr81687-1.c: New test.
2651 * testsuite/libgomp.c/pr81687-2.c: New test.
2652
56b5041c
JJ
26532017-08-07 Jakub Jelinek <jakub@redhat.com>
2654
2655 PR c/69389
2656 * testsuite/libgomp.c/pr69389.c: New test.
2657 * testsuite/libgomp.c++/pr69389.C: New test.
2658
f4c222c0
TV
26592017-08-07 Tom de Vries <tom@codesourcery.com>
2660
2661 PR middle-end/78266
2662 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2663 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2664
a40ff0ae
JJ
26652017-07-27 Jakub Jelinek <jakub@redhat.com>
2666
2667 PR c/45784
2668 * testsuite/libgomp.c/pr45784.c: New test.
2669 * testsuite/libgomp.c++/pr45784.C: New test.
2670
3717fbe3
TV
26712017-07-19 Tom de Vries <tom@codesourcery.com>
2672
2673 * testsuite/libgomp.oacc-c/vec.c: New test.
2674
9607b014
TV
26752017-07-03 Tom de Vries <tom@codesourcery.com>
2676
2677 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2678
dfb15f6b
TV
26792017-06-27 Tom de Vries <tom@codesourcery.com>
2680
2681 * plugin/plugin-nvptx.c (notify_var): New function.
2682 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2683
22f1a037
TV
26842017-06-27 Tom de Vries <tom@codesourcery.com>
2685
2686 * env.c (parse_unsigned_long_1): Factor out of ...
2687 (parse_unsigned_long): ... here.
2688 (parse_int_1): Factor out of ...
2689 (parse_int): ... here.
2690 (parse_int_secure): New function.
2691 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2692 * secure_getenv.h: Factor out of ...
2693 * plugin/plugin-hsa.c: ... here.
2694 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2695
d54d1fc3
JJ
26962017-06-21 Jakub Jelinek <jakub@redhat.com>
2697
2698 PR c++/81130
2699 * testsuite/libgomp.c++/pr81130.C: New test.
2700
4f4b0ab8
RO
27012017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2702
2703 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2704 default args.
2705 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2706 dg-xfail-run-if default args.
2707
40ffd95f
BE
27082017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2709
2710 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2711 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2712
01275e1e
JJ
27132017-05-30 Jakub Jelinek <jakub@redhat.com>
2714
2715 PR libgomp/80822
2716 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2717 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2718 sibling lists, depending on level just pick up what CPUs to put
2719 together into a place vs. whether add multiple ordered places.
2720
78672bd8
TS
27212017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2722
7ce64403
TS
2723 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2724 * libgomp.map (OACC_2.0.1): Add these.
2725 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2726 for "acc_wait", and "acc_wait_all", respectively.
2727 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2728 for "acc_wait", and "acc_wait_all", respectively.
2729 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2730 * libgomp.texi (acc_wait, acc_wait_all): Update.
2731 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2732 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2733 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2734
318686c2
TS
2735 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2736 acc_present_or_copyin and acc_present_or_create procedures,
2737 respectively.
2738 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2739 generally different variants of OpenACC Runtime Library functions.
2740 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2741
a6745534
TS
2742 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2743 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2744
9b94fbc7
TS
2745 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2746 of preprocessor definitions.
2747 * libgomp.h (strong_alias): Guard by "#ifdef
2748 HAVE_ATTRIBUTE_ALIAS".
2749 * oacc-mem.c: Provide "acc_pcreate" as alias for
2750 "acc_present_or_create", and "acc_pcopyin" as alias for
2751 "acc_present_or_copyin".
2752 * libgomp.map: New version "OACC_2.0.1".
2753 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2754 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2755 its content into...
2756 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2757 Extend testing.
2758
78672bd8
TS
2759 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2760 when disabling nvptx offloading.
2761
0c36d0d5
TS
27622017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2763
fd71a9a2
TS
2764 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2765 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2766 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2767
0c36d0d5
TS
2768 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2769 * testsuite/lib/libgomp.exp
2770 (check_effective_target_openacc_nvidia_accel_configured): New
2771 proc.
2772 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2773 (check_effective_target_c++): New procs.
2774 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2775 (check_effective_target_c++): Likewise.
2776
c24783c4
JJ
27772017-05-22 Jakub Jelinek <jakub@redhat.com>
2778
655e5265
JJ
2779 PR middle-end/80809
2780 * testsuite/libgomp.c/pr80809-2.c: New test.
2781 * testsuite/libgomp.c/pr80809-3.c: New test.
2782
e9e2ef9f
JJ
2783 PR middle-end/80809
2784 * testsuite/libgomp.c/pr80809-1.c: New test.
2785
c24783c4
JJ
2786 PR middle-end/80853
2787 * testsuite/libgomp.c/pr80853.c: New test.
2788
0da2f96a
TS
27892017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2790
7fd549d2
TS
2791 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2792 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2793 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2794 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2795 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2796
0da2f96a
TS
2797 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2798 Debug output for failure.
2799
62ffe920
RO
28002017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2801
2802 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2803
f49215b1
JJ
28042017-04-27 Jakub Jelinek <jakub@redhat.com>
2805
2806 PR bootstrap/80531
2807 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2808 bootstrap compare failures.
2809
2260d19d
AM
28102017-04-20 Alexander Monakov <amonakov@ispras.ru>
2811
2812 * testsuite/libgomp.c/target-36.c: New testcase.
2813
19929ba9
JJ
28142017-04-13 Jakub Jelinek <jakub@redhat.com>
2815
2816 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2817 instead of char.
2818
fbc698e0
JJ
28192017-04-11 Jakub Jelinek <jakub@redhat.com>
2820
2821 PR libgomp/80394
2822 * testsuite/libgomp.c/pr80394.c: New test.
2823
c4060df4
JJ
28242017-04-04 Jakub Jelinek <jakub@redhat.com>
2825
2826 PR libgomp/79876
2827 * config/posix/thread-stacksize.h: New file.
2828 * config/darwin/thread-stacksize.h: New file.
2829 * config/nvptx/thread-stacksize.h: New file.
2830 * env.c: Include thread-stacksize.h.
2831 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2832 instead of 0. Call pthread_attr_setstacksize even if
2833 GOMP_DEFAULT_STACKSIZE is non-zero.
2834
e02d868a
JJ
28352017-03-30 Jakub Jelinek <jakub@redhat.com>
2836
2837 * env.c (initialize_env): Initialize stacksize to 0.
2838
7ba8651e
CP
28392017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2840
2841 PR c++/80029
2842 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2843
eebc5e2d
JJ
28442017-03-08 Jakub Jelinek <jakub@redhat.com>
2845
2846 PR c/79940
2847 * testsuite/libgomp.c/pr79940.c: New test.
2848
1eb08f52
RO
28492017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2850
2851 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2852 targets.
2853 Add __float128 options.
2854
b0f78ff3
JDA
28552017-02-11 John David Anglin <danglin@gcc.gnu.org>
2856
2857 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2858 hppa*-*-* dg-skip-if directive.
2859
1bbe0d8f
JJ
28602017-02-09 Jakub Jelinek <jakub@redhat.com>
2861
2862 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2863 dg-skip-if directive into a comment.
2864
02889d23
CLT
28652017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2866 Chung-Lin Tang <cltang@codesourcery.com>
2867
2868 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2869 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2870 add additional case.
2871 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2872 "openacc_nvidia_accel_selected".
2873 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2874 Add num_workers(8) clause.
2875
5896a41d
JDA
28762017-02-08 John David Anglin <danglin@gcc.gnu.org>
2877
2878 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2879 hppa*-*-*.
2880 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2881 include complex.h on hppa*-*-hpux*.
2882 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2883
345a8c17
TS
28842017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2885
e70ab10d
TS
2886 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2887
345a8c17
TS
2888 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2889 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2890 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2891 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2892 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2893 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2894 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2895 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2896 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2897 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2898
dced339c
TS
28992017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2900
2901 * libgomp-plugin.h: #include <stdbool.h>.
2902 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2903 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2904 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2905 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2906 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2907 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2908 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2909 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2910 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2911 (GOMP_OFFLOAD_openacc_async_test)
2912 (GOMP_OFFLOAD_openacc_async_test_all)
2913 (GOMP_OFFLOAD_openacc_async_wait)
2914 (GOMP_OFFLOAD_openacc_async_wait_async)
2915 (GOMP_OFFLOAD_openacc_async_wait_all)
2916 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2917 (GOMP_OFFLOAD_openacc_async_set_async)
2918 (GOMP_OFFLOAD_openacc_create_thread_data)
2919 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2920 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2921 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2922 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2923 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2924 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2925 these.
2926 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2927 (GOMP_OFFLOAD_unload_image): Fix argument types.
2928
23749904
JJ
29292017-01-26 Jakub Jelinek <jakub@redhat.com>
2930
c1cadde1
JJ
2931 * testsuite/lib/libgomp.exp
2932 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2933 check_compile invocation. Fix up removal of executable. Drop
2934 bogus "2>&1" argument.
2935
23749904
JJ
2936 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2937 directive.
2938
29392017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
2940 Martin Jambor <mjambor@suse.cz>
2941
2942 * plugin/hsa.h: Moved to top level include.
2943 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2944
73aa401e
JJ
29452017-01-21 Jakub Jelinek <jakub@redhat.com>
2946
2947 PR other/79046
2948 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2949 of cat to get version from BASE-VER file.
2950 * testsuite/Makefile.in: Regenerated.
2951
b32e85fa
JJ
29522017-01-19 Jakub Jelinek <jakub@redhat.com>
2953
2954 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2955 for _WIN64.
2956
3c36aa6b
JJ
29572017-01-17 Jakub Jelinek <jakub@redhat.com>
2958
d190d5c0
JJ
2959 * plugin/hsa.h: Add GCC runtime library exception.
2960 * plugin/hsa_ext_finalize.h: Likewise.
2961
2393d337
JJ
2962 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
2963 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
2964 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
2965 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
2966 plugin/include/cuda as include dir and -ldl instead of -lcuda as
2967 library to link ptx plugin against.
2968 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
2969 (CUDA_CALLS): Define.
2970 (cuda_lib, cuda_lib_inited): New variables.
2971 (init_cuda_lib): New function.
2972 (CUDA_CALL_PREFIX): Define.
2973 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
2974 (CUDA_CALL): Use FN instead of (FN).
2975 (CUDA_CALL_NOCHECK): Define.
2976 (cuda_error, fini_streams_for_device, select_stream_for_async,
2977 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
2978 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
2979 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
2980 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
2981 CUDA_CALL_NOCHECK.
2982 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
2983 CUDA_CALL_NOCHECK.
2984 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
2985 Use CUDA_CALL_NOCHECK.
2986 * plugin/cuda/cuda.h: New file.
2987 * config.h.in: Regenerated.
2988 * configure: Regenerated.
2989
3c36aa6b
JJ
2990 PR other/79046
2991 * configure.ac: Add GCC_BASE_VER.
2992 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
2993 get version from BASE-VER file.
2994 * testsuite/Makefile.in: Regenerated.
2995 * configure: Regenerated.
2996 * Makefile.in: Regenerated.
2997
c508bc2d
FXC
29982017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2999
3000 PR libgomp/60670
3001 * Makefile.am: Make fincludedir multilib-aware.
3002 * Makefile.in: Regenerate.
3003
c1a9c369
JJ
30042017-01-01 Jakub Jelinek <jakub@redhat.com>
3005
cbe34bb5
JJ
3006 Update copyright years.
3007
c1a9c369
JJ
3008 * libgomp.texi: Bump @copying's copyright year.
3009
e7a7f4be
SH
30102016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3011
3012 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3013 pthread_spinlock_t instead of gomp_mutex_t lock.
3014 (gomp_get_thread_pool): Likewise.
3015 (gomp_release_thread_pool): Likewise.
3016 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3017 Likewise.
3018
d313d52c
SH
30192016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3020
3021 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3022 thread pool in case nthreads == 1.
3023
630e3c3a
AM
30242016-11-30 Alexander Monakov <amonakov@ispras.ru>
3025
3026 * config/nvptx/env.c: Delete.
3027 * icv.c: Move definitions of ICV variables back ...
3028 * env.c: ...here. Do not compile environment-related functionality if
3029 LIBGOMP_OFFLOADED_ONLY is set.
3030
9e38af5c
AM
30312016-11-30 Alexander Monakov <amonakov@ispras.ru>
3032
3033 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3034 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3035 * configure: Regenerate.
3036 * config.h.in: Likewise.
3037
f96b7f1f
AM
30382016-11-30 Alexander Monakov <amonakov@ispras.ru>
3039
3040 * Makefile.in: Regenerate with automake-1.11.6.
3041 * aclocal.m4: Likewise.
3042 * configure: Likewise.
3043 * testsuite/Makefile.in: Likewise.
3044
6a6951b1
AM
30452016-11-28 Alexander Monakov <amonakov@ispras.ru>
3046
3047 * config/nvptx/critical.c: Delete to use generic implementation.
3048
c7ac071f
JH
30492016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3050
3051 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3052 ../../affinity.c as fallback.
3053 * config/nvptx/affinity.c: Delete to use fallback implementation.
3054
6103184e 30552016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3056 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3057 Dmitry Melnik <dm@ispras.ru>
3058
3059 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3060 * Makefile.in. Regenerate.
3061 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3062 (LIBGOMP_USE_PTHREADS): ...here; new define.
3063 * configure: Regenerate.
3064 * config.h.in: Likewise.
3065 * config/posix/affinity.c: Move to...
3066 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3067 interface by LIBGOMP_USE_PTHREADS.
3068 * critical.c: Split out GOMP_atomic_{start,end} into...
3069 * atomic.c: ...here (new file).
3070 * env.c: Split out ICV definitions into...
3071 * icv.c: ...here (new file) and...
3072 * icv-device.c: ...here. New file.
3073 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3074 (gomp_destroy_lock_30): Ditto.
3075 (gomp_set_lock_30): Ditto.
3076 (gomp_unset_lock_30): Ditto.
3077 (gomp_test_lock_30): Ditto.
3078 (gomp_init_nest_lock_30): Ditto.
3079 (gomp_destroy_nest_lock_30): Ditto.
3080 (gomp_set_nest_lock_30): Ditto.
3081 (gomp_unset_nest_lock_30): Ditto.
3082 (gomp_test_nest_lock_30): Ditto.
3083 * lock.c: New.
3084 * config/nvptx/lock.c: New.
3085 * config/nvptx/bar.c: New.
3086 * config/nvptx/bar.h: New.
3087 * config/nvptx/doacross.h: New.
3088 * config/nvptx/error.c: New.
3089 * config/nvptx/icv-device.c: New.
3090 * config/nvptx/mutex.h: New.
3091 * config/nvptx/pool.h: New.
3092 * config/nvptx/proc.c: New.
3093 * config/nvptx/ptrlock.h: New.
3094 * config/nvptx/sem.h: New.
3095 * config/nvptx/simple-bar.h: New.
3096 * config/nvptx/target.c: New.
3097 * config/nvptx/task.c: New.
3098 * config/nvptx/team.c: New.
3099 * config/nvptx/time.c: New.
3100 * config/posix/simple-bar.h: New.
3101 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3102 (gomp_num_teams_var): Declare.
3103 (struct gomp_thread_pool): Change threads_dock member to
3104 gomp_simple_barrier_t.
3105 [__nvptx__] (gomp_thread): New implementation.
3106 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3107 (gomp_thread_destructor): Ditto.
3108 (gomp_init_thread_affinity): Ditto.
3109 * team.c: Guard uses of Pthreads-specific interfaces by
3110 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3111 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3112 * config/nvptx/alloc.c: Delete.
3113 * config/nvptx/barrier.c: Ditto.
3114 * config/nvptx/fortran.c: Ditto.
3115 * config/nvptx/iter.c: Ditto.
3116 * config/nvptx/iter_ull.c: Ditto.
3117 * config/nvptx/loop.c: Ditto.
3118 * config/nvptx/loop_ull.c: Ditto.
3119 * config/nvptx/ordered.c: Ditto.
3120 * config/nvptx/parallel.c: Ditto.
3121 * config/nvptx/priority_queue.c: Ditto.
3122 * config/nvptx/sections.c: Ditto.
3123 * config/nvptx/single.c: Ditto.
3124 * config/nvptx/splay-tree.c: Ditto.
3125 * config/nvptx/work.c: Ditto.
3126 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3127 -foffload=-lgfortran in addition to -lgfortran.
3128 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3129 * plugin/plugin-nvptx.c: Include <limits.h>.
3130 (struct targ_fn_descriptor): Add new fields.
3131 (struct ptx_device): Ditto. Set them...
3132 (nvptx_open_device): ...here.
3133 (nvptx_adjust_launch_bounds): New.
3134 (nvptx_host2dev): Allow NULL 'nvthd'.
3135 (nvptx_dev2host): Ditto.
3136 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3137 (link_ptx): Adjust log sizes.
3138 (nvptx_host2dev): Allow NULL 'nvthd'.
3139 (nvptx_dev2host): Ditto.
3140 (nvptx_set_clocktick): New. Use it...
3141 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3142 fields.
3143 (GOMP_OFFLOAD_dev2dev): New.
3144 (nvptx_adjust_launch_bounds): New.
3145 (nvptx_stacks_size): New.
3146 (nvptx_stacks_alloc): New.
3147 (nvptx_stacks_free): New.
3148 (GOMP_OFFLOAD_run): New.
3149 (GOMP_OFFLOAD_async_run): New (stub).
3150
56b1c60e
MJ
31512016-11-23 Martin Jambor <mjambor@suse.cz>
3152
3153 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3154 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3155 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3156
b8d89b03 31572016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3158 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3159
3160 * plugin/hsa.h: New file.
3161 * plugin/hsa_ext_finalize.h: New file.
3162 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3163 header file unistd.h, and functions secure_getenv, __secure_getenv,
3164 getuid, geteuid, getgid and getegid.
3165 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3166 -D_GNU_SOURCE.
3167 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3168 Handle various cases of secure_getenv presence, add an implementation
3169 when we can test effective UID and GID.
3170 (struct hsa_runtime_fn_info): New structure.
3171 (hsa_runtime_fn_info hsa_fns): New variable.
3172 (hsa_runtime_lib): Likewise.
3173 (support_cpu_devices): Likewise.
3174 (init_enviroment_variables): Load newly introduced ENV
3175 variables.
3176 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3177 (hsa_fatal): Likewise.
3178 (DLSYM_FN): New macro.
3179 (init_hsa_runtime_functions): New function.
3180 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3181 structure. Depending on environment, also allow CPU devices.
3182 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3183 (get_kernarg_memory_region): Likewise.
3184 (GOMP_OFFLOAD_init_device): Likewise.
3185 (destroy_hsa_program): Likewise.
3186 (init_basic_kernel_info): New function.
3187 (GOMP_OFFLOAD_load_image): Use it.
3188 (create_and_finalize_hsa_program): Call hsa run-time functions via
3189 hsa_fns structure.
3190 (create_single_kernel_dispatch): Likewise.
3191 (release_kernel_dispatch): Likewise.
3192 (init_single_kernel): Likewise.
3193 (parse_target_attributes): Allow up multiple HSA grid dimensions.
3194 (get_group_size): New function.
3195 (run_kernel): Likewise.
3196 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3197 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3198 structure.
3199 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3200 * testsuite/libgomp-test-support.exp.in: Likewise.
3201 * Makefile.in: Regenerated.
3202 * aclocal.m4: Likewise.
3203 * config.h.in: Likewise.
3204 * configure: Likewise.
3205 * testsuite/Makefile.in: Likewise.
3206
18d2ada8 32072016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 3208 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
3209
3210 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3211 mapping clauses to target constructs.
3212 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3213
84c1b9d3
MK
32142016-11-15 Matthias Klose <doko@ubuntu.com>
3215
3216 * configure: Regenerate.
3217
b4c3a85b
JJ
32182016-11-10 Jakub Jelinek <jakub@redhat.com>
3219
8ebd1b31
JJ
3220 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3221 * omp_lib.h.in (openmp_version): Likewise.
3222 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3223 of 201307.
3224 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3225
b4c3a85b
JJ
3226 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3227 (fib_wrapper): Add map(from: x) clause.
3228 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3229 (e_53_2): Likewise.
3230 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3231 (accum): Add map(tmp) clause.
3232 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3233 (accum): Add map(tofrom: tmp) clause.
3234 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3235 (gramSchmidt): Likewise.
3236 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3237 map(tofrom: sum) clause.
3238 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3239 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
3240 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3241 only allowed on the loop iterator.
3242 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3243 * testsuite/libgomp.fortran/taskloop2.f90: New test.
3244 * testsuite/libgomp.fortran/taskloop4.f90: New test.
3245 * testsuite/libgomp.fortran/doacross1.f90: New test.
3246 * testsuite/libgomp.fortran/doacross3.f90: New test.
3247 * testsuite/libgomp.fortran/taskloop1.f90: New test.
3248 * testsuite/libgomp.fortran/taskloop3.f90: New test.
3249 * testsuite/libgomp.fortran/doacross2.f90: New test.
3250 * testsuite/libgomp.c/doacross-1.c (main): Add missing
3251 #pragma omp atomic read.
3252 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3253 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3254
6668eb45
CP
32552016-11-02 Cesar Philippidis <cesar@codesourcery.com>
3256 Nathan Sidwell <nathan@acm.org>
3257
3258 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3259 to determine default geometry.
3260 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3261 dimension.
3262
f10e37a1
JJ
32632016-11-01 Jakub Jelinek <jakub@redhat.com>
3264
3265 * hashtab.h: Use standard GPLv3 with runtime exception
3266 boilerplate.
3267
015c7760
AH
32682016-10-27 Aldy Hernandez <aldyh@redhat.com>
3269
3270 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3271 size when allocating new thread.
3272
20a1e5b8
MP
32732016-09-14 Marek Polacek <polacek@redhat.com>
3274
3275 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3276
1cad9284
JJ
32772016-08-19 Jakub Jelinek <jakub@redhat.com>
3278
3279 PR fortran/71014
3280 * testsuite/libgomp.fortran/pr71014.f90: New test.
3281
2c71d454
CLT
32822016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3283
3284 PR middle-end/70895
3285 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3286 firstprivate clauses.
3287 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3288 copy clauses.
3289 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3292 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3294 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3296 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3297 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3299 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3300 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3301
7c713714
CLT
33022016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3303
3304 PR fortran/70598
3305 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3306
5c934396
JJ
33072016-08-08 Jakub Jelinek <jakub@redhat.com>
3308
3309 PR c++/58706
3310 * testsuite/libgomp.c++/pr58706.C: New test.
3311
9ef64248
TS
33122016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3313
bbc79c0e
TS
3314 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3315 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3316 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3317 Likewise.
3318 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3319 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3320 Likewise.
3321 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3322
9ef64248
TS
3323 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3324 test, and don't hardcode -O0.
3325
c1311c86
NS
33262016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3327
3328 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3329
b1c9c068
CP
33302016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3331
3332 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3333 test.
3334
b4410f63
L
33352016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3336
3337 PR middle-end/71734
3338 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3339 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3340
a8dbab92
JJ
33412016-07-01 Jakub Jelinek <jakub@redhat.com>
3342
3343 PR fortran/71717
3344 * testsuite/libgomp.fortran/associate3.f90: New test.
3345
9b6a8d0f
JJ
33462016-06-17 Jakub Jelinek <jakub@redhat.com>
3347
3348 * testsuite/libgomp.c++/target-21.C: New test.
3349
283635f9
JJ
33502016-06-16 Jakub Jelinek <jakub@redhat.com>
3351
3352 * testsuite/libgomp.c++/target-20.C: New test.
3353
27d6ba88
TS
33542016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3355 Cesar Philippidis <cesar@codesourcery.com>
3356
3357 PR middle-end/71373
3358 * libgomp.oacc-c/nested-function-1.c: New file.
3359 * libgomp.oacc-c/nested-function-2.c: Likewise.
3360 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3361 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3362 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3363
4b1ffdb1
TS
33642016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3365
3366 PR c/71381
3367 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3368 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3369 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3370
d821b794
CLT
33712016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3372
3373 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3374 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3375
3616a8c5
CP
33762016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3377
3378 PR c/70688
5eed9a88 3379 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 3380
7211a097
JJ
33812016-05-26 Jakub Jelinek <jakub@redhat.com>
3382
3383 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3384 instead of invalid schedule(static, 0).
3385 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3386
b4557008
CLT
33872016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3388
3389 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3390 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3391 parameter, use to set async stream around call to gomp_unmap_vars,
3392 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3393 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3394 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3395 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3396 (event_add): Add int parameter, initialize 'val' field when
3397 adding new ptx_event struct.
3398 (nvptx_evec): Adjust event_add() call arguments.
3399 (nvptx_host2dev): Likewise.
3400 (nvptx_dev2host): Likewise.
3401 (nvptx_wait_async): Likewise.
3402 (nvptx_wait_all_async): Likewise.
3403 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3404 pass to event_add() call.
3405 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3406 parameter.
3407 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3408 call openacc.register_async_cleanup_func() hook.
3409 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3410 * target.c (gomp_copy_from_async): Delete function.
3411 (gomp_map_vars): Remove async_refcount.
3412 (gomp_unmap_vars): Likewise.
3413 (gomp_load_image_to_device): Likewise.
3414 (omp_target_associate_ptr): Likewise.
3415 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3416 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3417 (gomp_copy_from_async): Remove.
3418
6ce13072
CLT
34192016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3420
3421 * target.c (gomp_device_copy): New function.
3422 (gomp_copy_host2dev): Likewise.
3423 (gomp_copy_dev2host): Likewise.
3424 (gomp_free_device_memory): Likewise.
3425 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3426 (gomp_map_pointer): Likewise.
3427 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3428 NULL value from alloc_func plugin hook.
3429 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3430 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3431 (gomp_unmap_vars): Likewise.
3432 (gomp_update): Adjust to call gomp_copy_dev2host and
3433 gomp_copy_host2dev functions.
3434 (gomp_unload_image_from_device): Handle false value from
3435 unload_image_func plugin hook.
3436 (gomp_init_device): Handle false value from init_device_func
3437 plugin hook.
3438 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3439 (omp_target_free): Adjust to call gomp_free_device_memory.
3440 (omp_target_memcpy): Handle return values from host2dev_func,
3441 dev2host_func, and dev2dev_func plugin hooks.
3442 (omp_target_memcpy_rect_worker): Likewise.
3443 (gomp_target_fini): Handle false value from fini_device_func
3444 plugin hook.
3445 * libgomp.h (struct gomp_device_descr): Adjust return type of
3446 init_device_func, fini_device_func, unload_image_func, free_func,
3447 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3448 * oacc-init.c (acc_shutdown_1): Handle false value from
3449 fini_device_func plugin hook.
3450 * oacc-host.c (host_init_device): Change return type to bool.
3451 (host_fini_device): Likewise.
3452 (host_unload_image): Likewise.
3453 (host_free): Likewise.
3454 (host_dev2host): Likewise.
3455 (host_host2dev): Likewise.
3456 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3457 (acc_memcpy_to_device): Likewise.
3458 (acc_memcpy_from_device): Likewise.
3459 (delete_copyout): Add libfnname parameter, handle free_func
3460 hook fatal error case.
3461 (acc_delete): Adjust delete_copyout call.
3462 (acc_copyout): Likewise.
3463 (update_dev_host): Move gomp_mutex_unlock to after
3464 host2dev/dev2host hook calls.
3465
3466 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3467 to 'hsa_error_msg', for clarity.
3468 (hsa_fatal): Likewise.
3469 (hsa_error): New function.
3470 (init_hsa_context): Change return type to bool, adjust to return
3471 false on error.
3472 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3473 return value.
3474 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3475 return false on error.
3476 (get_agent_info): Adjust to return NULL on error.
3477 (destroy_hsa_program): Change return type to bool, adjust to
3478 return false on error.
3479 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3480 (destroy_module): Change return type to bool, adjust to
3481 return false on error.
3482 (GOMP_OFFLOAD_unload_image): Likewise.
3483 (GOMP_OFFLOAD_fini_device): Likewise.
3484 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3485 (GOMP_OFFLOAD_free): Change to return false when called.
3486 (GOMP_OFFLOAD_dev2host): Likewise.
3487 (GOMP_OFFLOAD_host2dev): Likewise.
3488 (GOMP_OFFLOAD_dev2dev): Likewise.
3489
3490 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3491 (CUDA_CALL): Likewise.
3492 (CUDA_CALL_ASSERT): Likewise.
3493 (map_init): Change return type to bool, use CUDA_CALL* macros.
3494 (map_fini): Likewise.
3495 (init_streams_for_device): Change return type to bool, adjust
3496 call to map_init.
3497 (fini_streams_for_device): Change return type to bool, adjust
3498 call to map_fini.
3499 (select_stream_for_async): Release stream_lock before calls to
3500 GOMP_PLUGIN_fatal, adjust call to map_init.
3501 (nvptx_init): Use CUDA_CALL* macros.
3502 (nvptx_attach_host_thread_to_device): Change return type to bool,
3503 use CUDA_CALL* macros.
3504 (nvptx_open_device): Use CUDA_CALL* macros.
3505 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3506 macros.
3507 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3508 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3509 (nvptx_exec): Use CUDA_CALL* macros.
3510 (nvptx_alloc): Use CUDA_CALL* macros.
3511 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3512 (nvptx_host2dev): Likewise.
3513 (nvptx_dev2host): Likewise.
3514 (nvptx_wait): Use CUDA_CALL* macros.
3515 (nvptx_wait_async): Likewise.
3516 (nvptx_wait_all): Likewise.
3517 (nvptx_wait_all_async): Likewise.
3518 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3519 use CUDA_CALL* macros, adjust call to map_fini.
3520 (GOMP_OFFLOAD_init_device): Change return type to bool,
3521 adjust code accordingly.
3522 (GOMP_OFFLOAD_fini_device): Likewise.
3523 (GOMP_OFFLOAD_load_image): Adjust calls to
3524 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3525 use CUDA_CALL* macros.
3526 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3527 return code.
3528 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3529 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3530 handle error return.
3531 (GOMP_OFFLOAD_dev2host): Likewise.
3532 (GOMP_OFFLOAD_host2dev): Likewise.
3533 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3534 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3535
e46c7770
CP
35362016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3537
3538 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3539 (acc_free): Likewise.
3540 (acc_memcpy_to_device): Likewise.
3541 (acc_memcpy_from_device): Likewise.
3542 (acc_deviceptr): Likewise.
3543 (acc_hostptr): Likewise.
3544 (acc_is_present): Likewise.
3545 (acc_map_data): Likewise.
3546 (acc_unmap_data): Likewise.
3547 (present_create_copy): Likewise.
3548 (delete_copyout): Likewise.
3549 (update_dev_host): Likewise.
3550 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3551 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3552 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3553 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3554 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3555 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3556 it only runs on nvptx targets.
3557 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3558 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3559 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3560 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3561 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3562 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3563 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3564 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3565 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3566 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3567 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3568 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3569 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3570 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3571 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3572 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3573 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3574 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3575 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3576 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3577 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3578 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3579 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3580
a5057543
MJ
35812016-05-23 Martin Jambor <mjambor@suse.cz>
3582
3583 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3584
e37288a6
CLT
35852016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3586
3587 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3588 to gomp_init_targets_once.
3589 (acc_set_device_type): Remove !cached_base_dev condition on call to
3590 gomp_init_targets_once, move call to before acc_device_lock acquire,
3591 to avoid deadlock.
3592 (acc_get_device_num): Remove !cached_base_dev condition on call to
3593 gomp_init_targets_once.
3594 (acc_set_device_num): Likewise.
3595
51d9ed48
MJ
35962016-05-16 Martin Jambor <mjambor@suse.cz>
3597
92a285c1 3598 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 3599
5b37e866
NS
36002016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3601
3602 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3603 expected partitioning.
3604
e7ff0319
CP
36052016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3606
3607 PR middle-end/70626
3608 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3609 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3610 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3611
c2bd3b69
AM
36122016-04-21 Alexander Monakov <amonakov@ispras.ru>
3613
3614 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3615 non-fatal.
3616
84311083
JJ
36172016-04-19 Jakub Jelinek <jakub@redhat.com>
3618
3619 PR middle-end/70680
3620 * testsuite/libgomp.c/pr70680-1.c: New test.
3621 * testsuite/libgomp.c/pr70680-2.c: New test.
3622
aadc043f
CP
36232016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3624
3625 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3626 pass parameter variables to subroutines.
3627
e387fc64
CP
36282016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3629
3630 PR middle-end/70643
3631 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3632
10c3c424
CP
36332016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3634
3635 PR testsuite/68242
3636 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3637 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3638
27f9add3
TS
36392016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3640
58d32aeb
TS
3641 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3642 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3643 GOACC_declare prototype.
3644
d97633ef
TS
3645 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3646 Merge this file, and...
3647 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3648 ... this file, and...
3649 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3650 ... this file, and...
3651 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3652 ... this file, and...
3653 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3654 ... this file, and...
3655 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3656 ... this file, and...
3657 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3658 ... this file, and...
3659 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3660 ... this file, and...
3661 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3662 ... this file, and...
3663 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3664 ... this file, and...
3665 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3666 ... this file, and...
3667 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3668 ... this file, and...
3669 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3670 ... this file into...
3671 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3672 file.
3673
27f9add3
TS
3674 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3675 Make failure observable.
3676
21f3a236
JJ
36772016-04-12 Jakub Jelinek <jakub@redhat.com>
3678
3679 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3680 field.
3681 * target.c (gomp_target_fallback_firstprivate,
3682 gomp_target_unshare_firstprivate): Removed.
3683 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3684 before waiting for dependencies.
3685 (gomp_target_task_fn): Don't copy firstprivate vars here.
3686 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3687 firstprivate_copies here.
3688 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3689 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3690 explicit/implicit firstprivate.
3691
c42cfb5c
CP
36922016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3693
3694 PR lto/70289
3695 PR ipa/70348
3696 PR tree-optimization/70373
3697 PR middle-end/70533
3698 PR middle-end/70534
3699 PR middle-end/70535
3700 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3701 test.
3702 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3703 test.
3704 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3705 test.
3706 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3707 test.
3708 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3709 test.
3710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3711 test.
3712 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3713 test.
3714 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3715 test.
3716 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3717 test.
3718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3719 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3721 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3722 test.
3723 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3724 test.
3725 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3726 test.
3727 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3728 test.
3729 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3730 coverage.
3731 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3732 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3734 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3735 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3736 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3737 coverage.
3738 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3739 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3740 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3741 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3742 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3743 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3744 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3745 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3746 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3747 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3748 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3749 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3750 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3751 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3752 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3753
2620c80d
TS
37542016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3755 James Norris <jnorris@codesourcery.com>
3756 Nathan Sidwell <nathan@codesourcery.com>
3757 Julian Brown <julian@codesourcery.com>
3758 Cesar Philippidis <cesar@codesourcery.com>
3759 Chung-Lin Tang <cltang@codesourcery.com>
3760 Tom de Vries <tom@codesourcery.com>
3761
3762 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3763 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3764 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3765 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3766 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3767 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3768 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3769 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3770 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3771 XFAIL.
3772 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3773 Incorporate...
3774 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3775 file.
3776 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3777 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3778 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3779 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3780 Likewise.
3781 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3782 Likewise.
3783 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3784 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3785 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3786 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3787 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3788 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3789 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3790 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3791 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3792 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3793 Likewise.
3794 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3795 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3796 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3797 file...
3798 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3799 file into...
3800 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3801 file. Update.
3802 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3803 file.
3804 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3805 Likewise.
3806 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3807 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3808 ... this new file. Update.
3809 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3810 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3811 ... this new file. Update.
3812 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3813 file. Incorporate...
3814 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3815 file, and...
3816 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3817 file, and...
3818 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3819 file.
3820 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3821
ce83104b
TS
38222016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3823
3824 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3825 set-torture-options.
3826
6e0df3b7
TS
38272016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3828
3829 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3830 gcc-dg-runtest.
3831 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3832 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3833 -fno-builtin-acc_on_device instead of -O0.
3834 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3835 -O0.
3836 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3837 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3838 Likewise.
3839 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3840 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3841 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3842 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3843 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3844 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3845 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3846 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3847 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3848 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3849 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3850 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3851 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3852 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3853 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3854 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3855 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3856 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3857 Don't specify -O2.
3858 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3859 Likewise.
3860 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3861 Likewise.
3862
f9c8babb
ML
38632016-03-24 Martin Liska <mliska@suse.cz>
3864
3865 * plugin/plugin-hsa.c (packet_store_release): New function
3866 that is taken from the HSA runtime manual.
3867 (GOMP_OFFLOAD_run): Use the function.
3868
04833609
JJ
38692016-03-23 Jakub Jelinek <jakub@redhat.com>
3870
3871 PR c++/70376
3872 * testsuite/libgomp.c++/pr70376.C: New test.
3873
d79ee524
TV
38742016-03-23 Tom de Vries <tom@codesourcery.com>
3875
3876 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3877 initialization of lresult and lvresult.
3878 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3879
b6d1f2b5
JN
38802016-03-23 James Norris <jnorris@codesourcery.com>
3881 Daichi Fukuoka <dc-fukuoka@sgi.com>
3882
3883 PR libgomp/69414
3884 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3885 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3886 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3887 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3888
7397fce2
ML
38892016-03-23 Martin Liska <mliska@suse.cz>
3890
3891 PR hsa/70337
3892 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3893 argument just in case a dispatched kernel uses that argument.
3894
ee2e7d51
TS
38952016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3896
3897 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3898 -ftree-parallelize-loops/-fopenacc changes.
3899 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3900 Likewise.
3901 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3902 Likewise.
3903 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3904 Likewise.
3905 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3906 Likewise.
3907 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3908 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3909
be9f7143
TS
39102016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3911
3912 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3913 always_ld_library_path the path to libgcc_s.
3914
f6c1032d
CP
39152016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3916
3917 PR testsuite/70009
3918 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3919
5a6452e6
TV
39202016-03-09 Tom de Vries <tom@codesourcery.com>
3921
3922 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3923 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3924 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3925 Same.
3926 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3927 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3928 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3929 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3930
96a71bd5
MJ
39312016-03-07 Martin Jambor <mjambor@suse.cz>
3932
3933 * testsuite/lib/libgomp.exp
3934 (check_effective_target_hsa_offloading_selected_nocache): New.
3935 (check_effective_target_hsa_offloading_selected): Likewise.
3936 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3937 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3938 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3939 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3940 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3941 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3942 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3943 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3944 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3945 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3946 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3947 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3948 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3949 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3950 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3951 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3952 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3953
02e0b5b2
MJ
39542016-03-07 Martin Jambor <mjambor@suse.cz>
3955
3956 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3957 non-shared memory accelerators.
3958 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
3959 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
3960 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
3961 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
3962 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3963 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3964 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3965 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3966 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3967
45548f30
MJ
39682016-03-07 Martin Jambor <mjambor@suse.cz>
3969
3970 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
3971 ALWAYS_CFLAGS.
3972
da3d46cb
JJ
39732016-03-02 Jakub Jelinek <jakub@redhat.com>
3974
3975 PR libgomp/69555
3976 * testsuite/libgomp.c++/pr69555-1.C: New test.
3977 * testsuite/libgomp.c++/pr69555-2.C: New test.
3978
622174b2
KM
39792016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
3980 Martin Jambor <mjambor@suse.cz>
3981
3982 * testsuite/lib/libgomp.exp
3983 (check_effective_target_offload_device_shared_as): New proc.
3984 * testsuite/libgomp.c++/declare_target-1.C: New test.
3985
e6861a99
IV
39862016-02-25 Ilya Verbin <ilya.verbin@intel.com>
3987
3988 PR driver/68463
3989 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
3990
f99c3557
TS
39912016-02-23 Thomas Schwinge <thomas@codesourcery.com>
3992
3993 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
3994 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
3995 dims.
3996 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
3997 -ftree-parallelize-loops/-fopenacc changes.
3998 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4000 Likewise.
4001 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4002 Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4004 Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4006 Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4008 Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4010 Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4012 Likewise.
4013 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4014 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4015 Likewise.
4016 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4017 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4018 Likewise.
4019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4020 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4021 Likewise.
4022
d5ace3b5
CP
40232016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4024
4025 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4026
f3609a89
JJ
40272016-02-19 Jakub Jelinek <jakub@redhat.com>
4028
4029 PR driver/69805
4030 * testsuite/libgomp.c/pr69805.c: New test.
4031
2175df99
TV
40322016-02-16 Tom de Vries <tom@codesourcery.com>
4033
4034 PR lto/67709
4035 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4036
17b6426c
TV
40372016-02-09 Tom de Vries <tom@codesourcery.com>
4038
4039 PR tree-optimization/69599
4040 * testsuite/libgomp.c/omp-nested-3.c: New test.
4041 * testsuite/libgomp.c/pr46032-2.c: New test.
4042 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4043 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4044
34df756c
TV
40452016-02-09 Tom de Vries <tom@codesourcery.com>
4046
4047 PR lto/69707
4048 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4049
5854ee30
AM
40502016-02-02 Alexander Monakov <amonakov@ispras.ru>
4051
4052 * testsuite/libgomp.c/target-31.c: Fix testcase.
4053
e70b6ad7
AM
40542016-02-02 Alexander Monakov <amonakov@ispras.ru>
4055
4056 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4057 clause.
4058 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4059 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4060 reduction and map clauses.
4061 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4062
bd78a45f
JN
40632016-02-02 James Norris <jnorris@codesourcery.com>
4064
4065 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4066
41d809d3
TS
40672016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4068
18f60146
TS
4069 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4070 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4071
1a06f5e6
TS
4072 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4073 cases.
4074
033ff3d1
TS
4075 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4076 variables.
4077 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4078 (hsa_kmt_lib): Set variables.
4079 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4080 always_ld_library_path.
4081 * Makefile.in: Regenerate.
4082 * configure: Likewise.
4083 * testsuite/Makefile.in: Likewise.
4084
4a88d9b7
TS
4085 * plugin/configfrag.ac (offload_additional_options)
4086 (offload_additional_lib_paths): Don't amend for hsa offloading.
4087 * configure: Regenerate.
4088
41d809d3
TS
4089 * plugin/configfrag.ac: Don't configure for offloading target if
4090 we don't build the corresponding plugin.
4091 * configure: Regenerate.
4092
b6adbb9f
NS
40932016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4094
4095 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4096 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4097
8dfdb419
TV
40982016-01-26 Tom de Vries <tom@codesourcery.com>
4099
4100 PR tree-optimization/69110
4101 * testsuite/libgomp.c/pr69110.c: New test.
4102
02ef53f2
RB
41032016-01-25 Richard Biener <rguenther@suse.de>
4104
4105 PR lto/69393
4106 * testsuite/libgomp.c++/pr69393.C: New testcase.
4107
eb4048f2
IV
41082016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4109
4110 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4111 function wasn't mapped to the device with non-shared memory.
4112
b235cdd5
IV
41132016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4114
4115 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4116
b2b40051
MJ
41172016-01-19 Martin Jambor <mjambor@suse.cz>
4118 Martin Liska <mliska@suse.cz>
4119
4120 * plugin/Makefrag.am: Add HSA plugin requirements.
4121 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4122 (HSA_RUNTIME_LIB): Likewise.
4123 (HSA_RUNTIME_CPPFLAGS): Likewise.
4124 (HSA_RUNTIME_INCLUDE): New substitution.
4125 (HSA_RUNTIME_LIB): Likewise.
4126 (HSA_RUNTIME_LDFLAGS): Likewise.
4127 (hsa-runtime): New configure option.
4128 (hsa-runtime-include): Likewise.
4129 (hsa-runtime-lib): Likewise.
4130 (PLUGIN_HSA): New substitution variable.
4131 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4132 configure options.
4133 (PLUGIN_HSA_CPPFLAGS): Likewise.
4134 (PLUGIN_HSA_LDFLAGS): Likewise.
4135 (PLUGIN_HSA_LIBS): Likewise.
4136 Check that we have access to HSA run-time.
4137 * libgomp-plugin.h (offload_target_type): New element
4138 OFFLOAD_TARGET_TYPE_HSA.
4139 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4140 args.
4141 (bool gomp_create_target_task): Updated.
4142 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4143 new field can_run_func.
4144 * libgomp_g.h (GOMP_target_ext): Update prototype.
4145 * oacc-host.c (host_run): Added a new parameter args.
4146 * target.c (calculate_firstprivate_requirements): New function.
4147 (copy_firstprivate_data): Likewise.
4148 (gomp_target_fallback_firstprivate): Use them.
4149 (gomp_target_unshare_firstprivate): New function.
4150 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4151 devices.
4152 (GOMP_target): Do host fallback for all shared memory devices. Do not
4153 pass any args to plugins.
4154 (GOMP_target_ext): Introduce device-specific argument parameter args.
4155 Allow host fallback if device shares memory. Do not remap data if
4156 device has shared memory.
4157 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4158 like host fallback for mappings.
4159 (GOMP_target_data): Treat shared memory devices like host fallback.
4160 (GOMP_target_data_ext): Likewise.
4161 (GOMP_target_update): Likewise.
4162 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4163 gomp_create_target_task.
4164 (GOMP_target_enter_exit_data): Likewise.
4165 (omp_target_alloc): Treat shared memory devices like host fallback.
4166 (omp_target_free): Likewise.
4167 (omp_target_is_present): Likewise.
4168 (omp_target_memcpy): Likewise.
4169 (omp_target_memcpy_rect): Likewise.
4170 (omp_target_associate_ptr): Likewise.
4171 (gomp_load_plugin_for_device): Also load can_run.
4172 * task.c (GOMP_PLUGIN_target_task_completion): Free
4173 firstprivate_copies.
4174 (gomp_create_target_task): Accept new argument args and store it to
4175 ttask.
4176 * plugin/plugin-hsa.c: New file.
4177
5d7804a9
TV
41782016-01-18 Tom de Vries <tom@codesourcery.com>
4179
4180 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4181 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4182 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4183 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4184 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4185 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4186 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4187 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4188 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4189 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4190 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4191 Same.
4192 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4193 Same.
4194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4195 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4196 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4197 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4198 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4199 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4200 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4201 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4202 Same.
4203 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4204
cb11f3cf
JJ
42052016-01-15 Jakub Jelinek <jakub@redhat.com>
4206
4207 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4208
33a126a6
CP
42092016-01-15 Cesar Philippidis <cesar@codesourcery.com>
4210
4211 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4212
cdf6119d
JN
42132016-01-12 James Norris <jnorris@codesourcery.com>
4214
4215 * libgomp.texi: Updates for OpenACC.
4216
0d58938e
AM
42172016-01-11 Alexander Monakov <amonakov@ispras.ru>
4218
4219 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4220
95918b49
L
42212016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4222
4223 PR fortran/66680
4224 * testsuite/libgomp.fortran/pr66680.f90: New test.
4225
8fc708b7
JJ
42262016-01-07 Jakub Jelinek <jakub@redhat.com>
4227
4228 PR middle-end/68960
4229 * testsuite/libgomp.c/pr68960.c: New test.
4230
e9b596c1
NS
42312016-01-06 Nathan Sidwell <nathan@acm.org>
4232
1a14faf2 4233 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
4234 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4235
21fa2a29
JJ
42362016-01-04 Jakub Jelinek <jakub@redhat.com>
4237
818ab71a
JJ
4238 Update copyright years.
4239
21fa2a29
JJ
4240 * libgomp.texi: Bump @copying's copyright year.
4241
9310efbc
NS
42422015-12-31 Nathan Sidwell <nathan@acm.org>
4243
4244 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4245 dg-additional-options syntax.
4246 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4249 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4250 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4251 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4252 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4253 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4254 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4255 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4256 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4257 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4258 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4259 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4260 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4261 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4264
4a38b02b
IV
42652015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4266
4267 * libgomp.h (REFCOUNT_LINK): Define.
4268 (struct splay_tree_key_s): Add link_key.
4269 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4270 Replace target address of the pointer with target address of newly
4271 mapped object in the splay tree. Set link pointer on target to the
4272 device address of the mapped object.
4273 (gomp_unmap_vars): Restore target address of the pointer in the splay
4274 tree for REFCOUNT_LINK objects after unmapping.
4275 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4276 declare target link" objects.
4277 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
4278 "omp declare target link" objects, which were mapped for the image.
4279 (gomp_exit_data): Restore target address of the pointer in the splay
4280 tree for REFCOUNT_LINK objects after unmapping.
4281 * testsuite/libgomp.c/target-link-1.c: New file.
4282
d84ffc0a
IV
42832015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4284
4285 * libgomp.h (gomp_device_state): New enum.
4286 (struct gomp_device_descr): Replace is_initialized with state.
4287 (gomp_fini_device): Remove declaration.
4288 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4289 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4290 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4291 (acc_set_device_type): Use state instead of is_initialized.
4292 (acc_set_device_num): Likewise.
4293 * target.c (resolve_device): Use state instead of is_initialized.
4294 Do not initialize finalized device.
4295 (gomp_map_vars): Do nothing if device is finalized.
4296 (gomp_unmap_vars): Likewise.
4297 (gomp_update): Likewise.
4298 (GOMP_offload_register_ver): Use state instead of is_initialized.
4299 (GOMP_offload_unregister_ver): Likewise.
4300 (gomp_init_device): Likewise.
4301 (gomp_unload_device): Likewise.
4302 (gomp_fini_device): Remove.
4303 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4304 (GOMP_target): Go to host fallback if device is finalized.
4305 (GOMP_target_ext): Likewise.
4306 (gomp_exit_data): Do nothing if device is finalized.
4307 (gomp_target_task_fn): Go to host fallback if device is finalized.
4308 (gomp_target_fini): New static function.
4309 (gomp_target_init): Use state instead of is_initialized.
4310 Call gomp_target_fini at exit.
4311
76680678
TV
43122015-12-09 Tom de Vries <tom@codesourcery.com>
4313
4314 PR tree-optimization/68716
4315 * testsuite/libgomp.c/omp-nested-2.c: New test.
4316
ff7a55bf
TS
43172015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4318
4319 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4320 target openacc_nvidia_accel_selected.
4321 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4324 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4325
37d5ad46
JB
43262015-12-01 Julian Brown <julian@codesourcery.com>
4327 James Norris <James_Norris@mentor.com>
4328
4329 * oacc-parallel.c (GOACC_host_data): New function.
4330 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4331 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4332 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4333 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4334 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4335 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4336 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4337
db941d7e
CP
43382015-11-30 James Norris <jnorris@codesourcery.com>
4339 Cesar Philippidis <cesar@codesourcery.com>
4340
4341 libgomp/
4342 * libgomp.oacc-fortran/routine-5.f90: New test.
4343 * libgomp.oacc-fortran/routine-7.f90: New test.
4344 * libgomp.oacc-fortran/routine-9.f90: New test.
4345
e0ca27c5
TV
43462015-11-30 Tom de Vries <tom@codesourcery.com>
4347
4348 PR tree-optimization/46032
4349 * testsuite/libgomp.c/pr46032.c: New test.
4350
aec17bfe
JJ
43512015-11-27 Jakub Jelinek <jakub@redhat.com>
4352
8e4e4719
JJ
4353 PR libgomp/68579
4354 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4355 (gomp_create_target_task): Call it before freeing
4356 GOMP_TARGET_TASK_DATA tasks.
4357
aec17bfe
JJ
4358 PR c/63326
4359 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4360 in between case label and OpenMP standalone directives.
4361 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4362
6cfe90e6
DE
43632015-11-26 David Edelsohn <dje.gcc@gmail.com>
4364
4365 * configure: Regenerate.
4366
0e65fd7d
JJ
43672015-11-26 Jakub Jelinek <jakub@redhat.com>
4368
4369 * testsuite/libgomp.c/target-35.c: New test.
4370
dc7a8b4b
JN
43712015-11-22 James Norris <jnorris@codesourcery.com>
4372 Cesar Philippidis <cesar@codesourcery.com>
4373
4374 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4375 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4376 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4377 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4378 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4379
48a78aee
JJ
43802015-11-20 Jakub Jelinek <jakub@redhat.com>
4381
4382 PR middle-end/68221
4383 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4384 * testsuite/libgomp.c/reduction-12.c: Likewise.
4385 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4386 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4387
2d256816
NS
43882015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4389
4390 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4391 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4392 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4393 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4394 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4395 and fix.
4396 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4397 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4398
33f47f42
NS
43992015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4400
4401 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4402 worker & gang cases.
4403 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4404
3d7bfee0
CP
44052015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4406
4407 * config/nvptx/priority_queue.c: New file.
4408
00b9bd52
JJ
44092015-11-14 Jakub Jelinek <jakub@redhat.com>
4410
4411 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4412 sections.
4413
e4606348
JJ
44142015-11-14 Jakub Jelinek <jakub@redhat.com>
4415 Aldy Hernandez <aldyh@redhat.com>
4416 Ilya Verbin <ilya.verbin@intel.com>
4417
4418 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4419 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4420 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4421 iterators or IV by chunk size.
4422 * parallel.c (gomp_resolve_num_threads): Don't assume that
4423 if thr->ts.team is non-NULL, then pool must be non-NULL.
4424 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4425 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4426 GOMP_PLUGIN_target_task_completion.
4427 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4428 * Makefile.in: Regenerate.
4429 * libgomp.h: Shuffle prototypes and forward definitions around so
4430 priority queues can be defined.
4431 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4432 (enum gomp_target_task_state): New enum.
4433 (struct gomp_target_task): Add state, tgt, task and team fields.
4434 (gomp_create_target_task): Change return type to bool, add
4435 state argument.
4436 (gomp_target_task_fn): Change return type to bool.
4437 (struct gomp_device_descr): Add async_run_func.
4438 (struct gomp_task): Remove children, next_child, prev_child,
4439 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4440 Add pnode field.
4441 (struct gomp_taskgroup): Remove children.
4442 Add taskgroup_queue.
4443 (struct gomp_team): Change task_queue type to a priority queue.
4444 (splay_compare): Define inline.
4445 (priority_queue_offset): New.
4446 (priority_node_to_task): New.
4447 (task_to_priority_node): New.
4448 * oacc-mem.c: Do not include splay-tree.h.
4449 * priority_queue.c: New file.
4450 * priority_queue.h: New file.
4451 * splay-tree.c: Do not include splay-tree.h.
4452 (splay_tree_foreach_internal): New.
4453 (splay_tree_foreach): New.
4454 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4455 (splay_tree_callback): Define typedef.
4456 * target.c (splay_compare): Move to libgomp.h.
4457 (GOMP_target): Don't adjust *thr in any way around running offloaded
4458 task.
4459 (GOMP_target_ext): Likewise. Handle target nowait.
4460 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4461 return value from gomp_create_target_task, if false, fallthrough
4462 as if no dependencies exist.
4463 (gomp_target_task_fn): Change return type to bool, return true
4464 if the task should have another part scheduled later. Handle
4465 target nowait.
4466 (gomp_load_plugin_for_device): Initialize async_run.
4467 * task.c (gomp_init_task): Initialize children_queue.
4468 (gomp_clear_parent_in_list): New.
4469 (gomp_clear_parent_in_tree): New.
4470 (gomp_clear_parent): Handle priorities.
4471 (GOMP_task): Likewise.
4472 (priority_queue_move_task_first,
4473 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4474 New functions.
4475 (gomp_create_target_task): Use priority queues. Change return type
4476 to bool, add state argument, return false if for async
4477 {{enter,exit} data,update} constructs no dependencies need to be
4478 waited for, handle target nowait. Set task->fn to NULL instead of
4479 gomp_target_task_fn.
4480 (verify_children_queue): Remove.
4481 (priority_list_upgrade_task): New.
4482 (priority_queue_upgrade_task): New.
4483 (verify_task_queue): Remove.
4484 (priority_list_downgrade_task): New.
4485 (priority_queue_downgrade_task): New.
4486 (gomp_task_run_pre): Use priority queues.
4487 Abstract code out to priority_queue_downgrade_task.
4488 (gomp_task_run_post_handle_dependers): Use priority queues.
4489 (gomp_task_run_post_remove_parent): Likewise.
4490 (gomp_task_run_post_remove_taskgroup): Likewise.
4491 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4492 tasks specially.
4493 (GOMP_taskwait): Likewise.
4494 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4495 priority-queue_upgrade_task.
4496 (GOMP_taskgroup_start): Use priority queues.
4497 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4498 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4499 barrier.
4500 * taskloop.c (GOMP_taskloop): Handle priorities.
4501 * team.c (gomp_new_team): Call priority_queue_init.
4502 (free_team): Call priority_queue_free.
4503 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4504 team created for target nowait in implicit parallel region.
4505 (gomp_team_start): For nested check, test thr->ts.level instead of
4506 thr->ts.team != NULL.
4507 * testsuite/libgomp.c/doacross-3.c: New test.
4508 * testsuite/libgomp.c/ordered-5.c: New test.
4509 * testsuite/libgomp.c/priority.c: New test.
4510 * testsuite/libgomp.c/target-31.c: New test.
4511 * testsuite/libgomp.c/target-32.c: New test.
4512 * testsuite/libgomp.c/target-33.c: New test.
4513 * testsuite/libgomp.c/target-34.c: New test.
4514
1d1ab74f
NS
45152015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4516
c5a64cfe
NS
4517 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4518
1d1ab74f
NS
4519 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4520 loop is sequential.
4521
dd3c1b14
NS
45222015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4523
4524 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4525 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4526
6e232ba4
JN
45272015-11-12 James Norris <jnorris@codesourcery.com>
4528 Joseph Myers <joseph@codesourcery.com>
4529
4530 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4531 * oacc-parallel.c (GOACC_declare): New function.
4532 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4533 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4534 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4535 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4536 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4537
fffeedeb
NS
45382015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4539
4540 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4541
182190f2
NS
45422015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4543
4544 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4545 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4546
36fa0f5f
NS
45472015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4548
d350c40c
NS
4549 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4550 inadvertent commit.
4551
45522015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4553
36fa0f5f
NS
4554 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4555 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4556 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4557 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4558 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4559
66a5f0b4
TS
45602015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4561
4562 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4563 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4564
e01d41e5
JJ
45652015-11-05 Jakub Jelinek <jakub@redhat.com>
4566 Ilya Verbin <ilya.verbin@intel.com>
4567
4568 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4569 GOMP_loop_nonmonotonic_dynamic_start,
4570 GOMP_loop_nonmonotonic_guided_next,
4571 GOMP_loop_nonmonotonic_guided_start,
4572 GOMP_loop_ull_nonmonotonic_dynamic_next,
4573 GOMP_loop_ull_nonmonotonic_dynamic_start,
4574 GOMP_loop_ull_nonmonotonic_guided_next,
4575 GOMP_loop_ull_nonmonotonic_guided_start,
4576 GOMP_parallel_loop_nonmonotonic_dynamic,
4577 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4578 (GOMP_target_41): Renamed to ...
4579 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4580 arguments.
4581 (GOMP_target_data_41): Renamed to ...
4582 (GOMP_target_data_ext): ... this.
4583 (GOMP_target_update_41): Renamed to ...
4584 (GOMP_target_update_ext): ... this.
4585 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4586 GOMP_target_data_ext and GOMP_target_update_ext instead of
4587 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4588 Export GOMP_loop_nonmonotonic_dynamic_next,
4589 GOMP_loop_nonmonotonic_dynamic_start,
4590 GOMP_loop_nonmonotonic_guided_next,
4591 GOMP_loop_nonmonotonic_guided_start,
4592 GOMP_loop_ull_nonmonotonic_dynamic_next,
4593 GOMP_loop_ull_nonmonotonic_dynamic_start,
4594 GOMP_loop_ull_nonmonotonic_guided_next,
4595 GOMP_loop_ull_nonmonotonic_guided_start,
4596 GOMP_parallel_loop_nonmonotonic_dynamic and
4597 GOMP_parallel_loop_nonmonotonic_guided.
4598 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4599 GOMP_parallel_loop_nonmonotonic_guided,
4600 GOMP_loop_nonmonotonic_dynamic_start,
4601 GOMP_loop_nonmonotonic_guided_start,
4602 GOMP_loop_nonmonotonic_dynamic_next,
4603 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4604 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4605 GOMP_loop_ull_nonmonotonic_guided_start,
4606 GOMP_loop_ull_nonmonotonic_dynamic_next,
4607 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4608 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4609 functions.
4610 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4611 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4612 Use gomp_map_val function.
4613 (gomp_target_fallback_firstprivate): New static function.
4614 (GOMP_target_41): Renamed to ...
4615 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4616 arguments. Move firstprivate fallback handling into a new
4617 function.
4618 (GOMP_target_data_41): Renamed to ...
4619 (GOMP_target_data_ext): ... this.
4620 (GOMP_target_update_41): Renamed to ...
4621 (GOMP_target_update_ext): ... this.
4622 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4623 gomp_map_0len_lookup instead of gomp_map_lookup.
4624 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4625 gomp_map_lookup.
4626 * testsuite/libgomp.c/target-28.c: Likewise.
4627 * testsuite/libgomp.c/monotonic-1.c: New test.
4628 * testsuite/libgomp.c/monotonic-2.c: New test.
4629 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4630 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4631 * testsuite/libgomp.c/pr66199-5.c: New test.
4632 * testsuite/libgomp.c/pr66199-6.c: New test.
4633 * testsuite/libgomp.c/pr66199-7.c: New test.
4634 * testsuite/libgomp.c/pr66199-8.c: New test.
4635 * testsuite/libgomp.c/pr66199-9.c: New test.
4636 * testsuite/libgomp.c/reduction-11.c: New test.
4637 * testsuite/libgomp.c/reduction-12.c: New test.
4638 * testsuite/libgomp.c/reduction-13.c: New test.
4639 * testsuite/libgomp.c/reduction-14.c: New test.
4640 * testsuite/libgomp.c/reduction-15.c: New test.
4641 * testsuite/libgomp.c/target-12.c (main): Adjust for
4642 omp_target_is_present change for one-past-last element.
4643 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4644 the same var is both mapped and privatized.
4645 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4646 handling of zero-length array sections.
4647 * testsuite/libgomp.c/target-28.c: New test.
4648 * testsuite/libgomp.c/target-29.c: New test.
4649 * testsuite/libgomp.c/target-30.c: New test.
4650 * testsuite/libgomp.c/target-teams-1.c: New test.
4651 * testsuite/libgomp.c++/member-6.C: New test.
4652 * testsuite/libgomp.c++/member-7.C: New test.
4653 * testsuite/libgomp.c++/monotonic-1.C: New test.
4654 * testsuite/libgomp.c++/monotonic-2.C: New test.
4655 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4656 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4657 * testsuite/libgomp.c++/pr66199-3.C: New test.
4658 * testsuite/libgomp.c++/pr66199-4.C: New test.
4659 * testsuite/libgomp.c++/pr66199-5.C: New test.
4660 * testsuite/libgomp.c++/pr66199-6.C: New test.
4661 * testsuite/libgomp.c++/pr66199-7.C: New test.
4662 * testsuite/libgomp.c++/pr66199-8.C: New test.
4663 * testsuite/libgomp.c++/pr66199-9.C: New test.
4664 * testsuite/libgomp.c++/reduction-11.C: New test.
4665 * testsuite/libgomp.c++/reduction-12.C: New test.
4666 * testsuite/libgomp.c++/target-13.C: New test.
4667 * testsuite/libgomp.c++/target-14.C: New test.
4668 * testsuite/libgomp.c++/target-15.C: New test.
4669 * testsuite/libgomp.c++/target-16.C: New test.
4670 * testsuite/libgomp.c++/target-17.C: New test.
4671 * testsuite/libgomp.c++/target-18.C: New test.
4672 * testsuite/libgomp.c++/target-19.C: New test.
4673
ccc8282b
NS
46742015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4675
4676 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4677 and reduction copy.
4678 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4679 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4680 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4681 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4682 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4683 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4684 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4685 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4686 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4687 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4688 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4689 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4690 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4691 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4692
5d6823a2
NS
46932015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4694
4695 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4696 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4697 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4698 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4699 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4700 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4701 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4702 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4703
5c06742f
NS
47042015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4705
4706 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4707 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4708 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4709 * oacc-host.c (host_openacc_exec): Likewise.
4710 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4711
4bf9e5a8
TS
47122015-11-03 Julian Brown <julian@codesourcery.com>
4713 Thomas Schwinge <thomas@codesourcery.com>
4714
4715 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4716 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4717 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4718 Likewise.
4719 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4721
47222015-11-03 James Norris <jnorris@codesourcery.com>
4723
4724 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4725 file.
4726 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4727 Likewise.
4728 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4729 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4730 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4731 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4732 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4733
a0e701d8
NS
47342015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4735
4736 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4737 compatibility.
4738 (enum acc_async_t): Reformat.
4739 (acc_on_device): Declare compatible with builtin and provide C++
4740 wrapper.
4741 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4742
41e977ac
TS
47432015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4744 Cesar Philippidis <cesar@codesourcery.com>
4745
4746 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4747 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4748 ... this. Add a description of the test at the top of the file.
4749 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4750 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4751 ... this. Add a description of the test at the top of the file.
4752
e3091406
NS
47532015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4754
4755 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4756 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4757 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4758 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4759 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4760 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4761
a1c1908b
NS
47622015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4763
4764 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4765 dimensions.
4766
b3962a4a
TS
47672015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4768
4769 PR testsuite/68063
4770 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4771
88bae6f4
TS
47722015-10-27 James Norris <jnorris@codesourcery.com>
4773
4774 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4775 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4776
8baa7864
TS
47772015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4778
bdeb752c
TS
4779 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4780 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4781
ecd4fd43
TS
4782 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4783 acc_device_nvidia usage.
4784 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4785 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4786 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4787
aa8b7d30
TS
4788 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4789 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4790
7c8f138d
TS
4791 PR libgomp/66518
4792 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4793
8baa7864
TS
4794 PR libgomp/65437
4795 PR libgomp/66518
4796 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4797 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4798
88ebcde5
TV
47992015-10-23 Tom de Vries <tom@codesourcery.com>
4800
4801 PR testsuite/68063
4802 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4803
9ef83c04
NS
48042015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4805
4806 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4807 vector_length.
4808 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4809
3837c6d6
IV
48102015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4811 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4812
4813 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4814 to 0 when mapnum is 0.
4815
ac8a1965
SH
48162015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4817
4818 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4819 Cast to int from int32_t.
4820
d9a6bd32
JJ
48212015-10-13 Jakub Jelinek <jakub@redhat.com>
4822 Aldy Hernandez <aldyh@redhat.com>
4823 Ilya Verbin <ilya.verbin@intel.com>
4824
4825 * config/linux/affinity.c (omp_get_place_num_procs,
4826 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4827 * config/linux/doacross.h: New file.
4828 * config/posix/affinity.c (omp_get_place_num_procs,
4829 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4830 * config/posix/doacross.h: New file.
4831 * env.c: Include gomp-constants.h.
4832 (struct gomp_task_icv): Rename run_sched_modifier to
4833 run_sched_chunk_size.
4834 (gomp_max_task_priority_var): New variable.
4835 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4836 (handle_omp_display_env): Change _OPENMP value from 201307 to
4837 201511. Print OMP_MAX_TASK_PRIORITY.
4838 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4839 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4840 chunk_size and run_sched_modifier to run_sched_chunk_size.
4841 (omp_get_max_task_priority, omp_get_initial_device,
4842 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4843 omp_get_partition_place_nums): New functions.
4844 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4845 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4846 to chunk_size.
4847 (omp_get_num_places_, omp_get_place_num_procs_,
4848 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4849 omp_get_place_proc_ids_8_, omp_get_place_num_,
4850 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4851 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4852 omp_get_max_task_priority_): New functions.
4853 * libgomp_g.h (GOMP_loop_doacross_static_start,
4854 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4855 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4856 GOMP_loop_ull_doacross_dynamic_start,
4857 GOMP_loop_ull_doacross_guided_start,
4858 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4859 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4860 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4861 GOMP_target_data_41, GOMP_target_update_41,
4862 GOMP_target_enter_exit_data): New prototypes.
4863 (GOMP_task): Add prototype argument.
4864 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4865 (struct gomp_doacross_work_share): New type.
4866 (struct gomp_work_share): Add doacross field.
4867 (struct gomp_task_icv): Rename run_sched_modifier to
4868 run_sched_chunk_size.
4869 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4870 GOMP_TASK_UNDEFERRED. Add comments.
4871 (struct gomp_task_depend_entry): Add comments.
4872 (struct gomp_task): Likewise.
4873 (struct gomp_taskgroup): Likewise.
4874 (struct gomp_target_task): New type.
4875 (struct gomp_team): Add comment.
4876 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4877 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4878 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4879 (struct target_var_desc): New type.
4880 (struct target_mem_desc): Adjust comment. Use struct
4881 target_var_desc instead of splay_tree_key for list.
4882 (REFCOUNT_INFINITY): Define.
4883 (struct splay_tree_key_s): Remove copy_from field.
4884 (struct gomp_device_descr): Add dev2dev_func field.
4885 (enum gomp_map_vars_kind): New enum.
4886 (gomp_map_vars): Add one argument.
4887 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4888 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4889 omp_get_place_num_procs, omp_get_place_num_procs_,
4890 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4891 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4892 omp_get_place_num_, omp_get_partition_num_places,
4893 omp_get_partition_num_places_, omp_get_partition_place_nums,
4894 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4895 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4896 omp_target_free, omp_target_is_present, omp_target_memcpy,
4897 omp_target_memcpy_rect, omp_target_associate_ptr and
4898 omp_target_disassociate_ptr.
4899 (GOMP_4.0.2): Renamed to ...
4900 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4901 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4902 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4903 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4904 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4905 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4906 GOMP_loop_ull_doacross_guided_start,
4907 GOMP_loop_ull_doacross_runtime_start,
4908 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4909 GOMP_doacross_ull_wait.
4910 * libgomp.texi: Document omp_get_max_task_priority.
4911 Rename modifier argument to chunk_size for omp_set_schedule and
4912 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4913 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4914 to run_sched_chunk_size renaming.
4915 (GOMP_loop_ordered_runtime_start): Likewise.
4916 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4917 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4918 GOMP_parallel_loop_runtime_start): New functions.
4919 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4920 to run_sched_chunk_size renaming.
4921 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4922 GOMP_loop_doacross_guided_start): New functions or aliases.
4923 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4924 run_sched_modifier to run_sched_chunk_size renaming.
4925 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4926 (gomp_loop_ull_doacross_static_start,
4927 gomp_loop_ull_doacross_dynamic_start,
4928 gomp_loop_ull_doacross_guided_start,
4929 GOMP_loop_ull_doacross_runtime_start): New functions.
4930 (GOMP_loop_ull_doacross_static_start,
4931 GOMP_loop_ull_doacross_dynamic_start,
4932 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4933 * oacc-mem.c (acc_map_data, present_create_copy,
4934 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4935 to gomp_map_vars.
4936 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4937 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4938 instead of false to gomp_map_vars.
4939 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
4940 * omp.h.in (omp_lock_hint_t): New type.
4941 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4942 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4943 omp_get_place_num, omp_get_partition_num_places,
4944 omp_get_partition_place_nums, omp_get_initial_device,
4945 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4946 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4947 omp_target_associate_ptr, omp_target_disassociate_ptr): New
4948 prototypes.
4949 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4950 (omp_lock_hint_none, omp_lock_hint_uncontended,
4951 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4952 omp_lock_hint_speculative): New parameters.
4953 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4954 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4955 omp_get_place_num, omp_get_partition_num_places,
4956 omp_get_partition_place_nums, omp_get_initial_device,
4957 omp_get_max_task_priority): New interfaces.
4958 (omp_set_schedule, omp_get_schedule): Rename modifier argument
4959 to chunk_size.
4960 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
4961 (omp_lock_hint_none, omp_lock_hint_uncontended,
4962 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4963 omp_lock_hint_speculative): New parameters.
4964 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4965 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4966 omp_get_place_num, omp_get_partition_num_places,
4967 omp_get_partition_place_nums, omp_get_initial_device,
4968 omp_get_max_task_priority): New functions and subroutines.
4969 * ordered.c: Include stdarg.h and string.h.
4970 (MAX_COLLAPSED_BITS): Define.
4971 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
4972 gomp_doacross_ull_init, GOMP_doacross_ull_post,
4973 GOMP_doacross_ull_wait): New functions.
4974 * target.c: Include errno.h.
4975 (resolve_device): If device is not initialized, call
4976 gomp_init_device on it.
4977 (gomp_map_lookup): New function.
4978 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
4979 Don't bump refcount if REFCOUNT_INFINITY. Handle
4980 GOMP_MAP_ALWAYS_TO_P.
4981 (get_kind): Rename is_openacc argument to short_mapkind.
4982 (gomp_map_pointer): Use gomp_map_lookup.
4983 (gomp_map_fields_existing): New function.
4984 (gomp_map_vars): Rename is_openacc argument to short_mapkind
4985 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
4986 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
4987 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
4988 Adjust for tgt->list changed type and copy_from living in there.
4989 (gomp_copy_from_async): Adjust for tgt->list changed type and
4990 copy_from living in there.
4991 (gomp_unmap_vars): Likewise.
4992 (gomp_update): Likewise. Rename is_openacc argument to
4993 short_mapkind. Don't fail if object is not mapped.
4994 (gomp_load_image_to_device): Initialize refcount to
4995 REFCOUNT_INFINITY.
4996 (gomp_target_fallback): New function.
4997 (gomp_get_target_fn_addr): Likewise.
4998 (GOMP_target): Adjust gomp_map_vars caller, use
4999 gomp_get_target_fn_addr and gomp_target_fallback.
5000 (GOMP_target_41): New function.
5001 (gomp_target_data_fallback): New function.
5002 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5003 (GOMP_target_data_41): New function.
5004 (GOMP_target_update): Adjust gomp_update caller.
5005 (GOMP_target_update_41): New function.
5006 (gomp_exit_data, GOMP_target_enter_exit_data,
5007 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5008 omp_target_is_present, omp_target_memcpy,
5009 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5010 omp_target_associate_ptr, omp_target_disassociate_ptr,
5011 gomp_load_plugin_for_device): New functions.
5012 * task.c: Include gomp-constants.h. Include taskloop.c
5013 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5014 (gomp_task_handle_depend): New function.
5015 (GOMP_task): Use it. Add priority argument. Use
5016 gomp-constant.h constants instead of hardcoded numbers.
5017 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5018 (gomp_create_target_task): New function.
5019 (verify_children_queue, verify_taskgroup_queue,
5020 verify_task_queue): New functions.
5021 (gomp_task_run_pre): Call verify_*_queue functions.
5022 If an upcoming tied task is about to leave the sibling or
5023 taskgroup queues in an invalid state, adjust appropriately.
5024 Remove taskgroup argument. Add comments.
5025 (gomp_task_run_post_handle_dependers): Add comments.
5026 (gomp_task_run_post_remove_parent): Likewise.
5027 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5028 (GOMP_taskwait): Likewise. Add comments.
5029 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5030 problem such that the first non parent_depends_on task does not
5031 end up at the end of the children queue.
5032 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5033 GOMP_TASK_UNDEFERRED.
5034 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5035 * taskloop.c: New file.
5036 * testsuite/lib/libgomp.exp
5037 (check_effective_target_offload_device_nonshared_as): New proc.
5038 * testsuite/libgomp.c/affinity-2.c: New test.
5039 * testsuite/libgomp.c/doacross-1.c: New test.
5040 * testsuite/libgomp.c/doacross-2.c: New test.
5041 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5042 Add map clause to target.
5043 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5044 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5045 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5046 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5047 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5048 Likewise.
5049 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5050 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5051 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5052 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5053 not defined. Use those where needed.
5054 * testsuite/libgomp.c/for-4.c: New test.
5055 * testsuite/libgomp.c/for-5.c: New test.
5056 * testsuite/libgomp.c/for-6.c: New test.
5057 * testsuite/libgomp.c/linear-1.c: New test.
5058 * testsuite/libgomp.c/ordered-4.c: New test.
5059 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5060 only allowed on the loop iterator.
5061 * testsuite/libgomp.c/pr66199-3.c: New test.
5062 * testsuite/libgomp.c/pr66199-4.c: New test.
5063 * testsuite/libgomp.c/reduction-7.c: New test.
5064 * testsuite/libgomp.c/reduction-8.c: New test.
5065 * testsuite/libgomp.c/reduction-9.c: New test.
5066 * testsuite/libgomp.c/reduction-10.c: New test.
5067 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5068 map(tofrom:s).
5069 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5070 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5071 * testsuite/libgomp.c/target-11.c: New test.
5072 * testsuite/libgomp.c/target-12.c: New test.
5073 * testsuite/libgomp.c/target-13.c: New test.
5074 * testsuite/libgomp.c/target-14.c: New test.
5075 * testsuite/libgomp.c/target-15.c: New test.
5076 * testsuite/libgomp.c/target-16.c: New test.
5077 * testsuite/libgomp.c/target-17.c: New test.
5078 * testsuite/libgomp.c/target-18.c: New test.
5079 * testsuite/libgomp.c/target-19.c: New test.
5080 * testsuite/libgomp.c/target-20.c: New test.
5081 * testsuite/libgomp.c/target-21.c: New test.
5082 * testsuite/libgomp.c/target-22.c: New test.
5083 * testsuite/libgomp.c/target-23.c: New test.
5084 * testsuite/libgomp.c/target-24.c: New test.
5085 * testsuite/libgomp.c/target-25.c: New test.
5086 * testsuite/libgomp.c/target-26.c: New test.
5087 * testsuite/libgomp.c/target-27.c: New test.
5088 * testsuite/libgomp.c/taskloop-1.c: New test.
5089 * testsuite/libgomp.c/taskloop-2.c: New test.
5090 * testsuite/libgomp.c/taskloop-3.c: New test.
5091 * testsuite/libgomp.c/taskloop-4.c: New test.
5092 * testsuite/libgomp.c++/ctor-13.C: New test.
5093 * testsuite/libgomp.c++/doacross-1.C: New test.
5094 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5095 Replace offload_device with offload_device_nonshared_as.
5096 * testsuite/libgomp.c++/for-12.C: New test.
5097 * testsuite/libgomp.c++/for-13.C: New test.
5098 * testsuite/libgomp.c++/for-14.C: New test.
5099 * testsuite/libgomp.c++/linear-1.C: New test.
5100 * testsuite/libgomp.c++/member-1.C: New test.
5101 * testsuite/libgomp.c++/member-2.C: New test.
5102 * testsuite/libgomp.c++/member-3.C: New test.
5103 * testsuite/libgomp.c++/member-4.C: New test.
5104 * testsuite/libgomp.c++/member-5.C: New test.
5105 * testsuite/libgomp.c++/ordered-1.C: New test.
5106 * testsuite/libgomp.c++/reduction-5.C: New test.
5107 * testsuite/libgomp.c++/reduction-6.C: New test.
5108 * testsuite/libgomp.c++/reduction-7.C: New test.
5109 * testsuite/libgomp.c++/reduction-8.C: New test.
5110 * testsuite/libgomp.c++/reduction-9.C: New test.
5111 * testsuite/libgomp.c++/reduction-10.C: New test.
5112 * testsuite/libgomp.c++/reference-1.C: New test.
5113 * testsuite/libgomp.c++/simd14.C: New test.
5114 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5115 * testsuite/libgomp.c++/target-5.C: New test.
5116 * testsuite/libgomp.c++/target-6.C: New test.
5117 * testsuite/libgomp.c++/target-7.C: New test.
5118 * testsuite/libgomp.c++/target-8.C: New test.
5119 * testsuite/libgomp.c++/target-9.C: New test.
5120 * testsuite/libgomp.c++/target-10.C: New test.
5121 * testsuite/libgomp.c++/target-11.C: New test.
5122 * testsuite/libgomp.c++/target-12.C: New test.
5123 * testsuite/libgomp.c++/taskloop-1.C: New test.
5124 * testsuite/libgomp.c++/taskloop-2.C: New test.
5125 * testsuite/libgomp.c++/taskloop-3.C: New test.
5126 * testsuite/libgomp.c++/taskloop-4.C: New test.
5127 * testsuite/libgomp.c++/taskloop-5.C: New test.
5128 * testsuite/libgomp.c++/taskloop-6.C: New test.
5129 * testsuite/libgomp.c++/taskloop-7.C: New test.
5130 * testsuite/libgomp.c++/taskloop-8.C: New test.
5131 * testsuite/libgomp.c++/taskloop-9.C: New test.
5132 * testsuite/libgomp.fortran/affinity1.f90: New test.
5133 * testsuite/libgomp.fortran/affinity2.f90: New test.
5134
1f600fea
TV
51352015-10-13 Tom de Vries <tom@codesourcery.com>
5136
5137 PR tree-optimization/67476
5138 * testsuite/libgomp.c/autopar-3.c: New test.
5139 * testsuite/libgomp.c/autopar-4.c: New test.
5140 * testsuite/libgomp.c/autopar-5.c: New test.
5141 * testsuite/libgomp.c/autopar-6.c: New test.
5142 * testsuite/libgomp.c/autopar-7.c: New test.
5143 * testsuite/libgomp.c/autopar-8.c: New test.
5144
058a654b
JN
51452015-10-12 James Norris <jnorris@codesourcery.com>
5146
5147 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5148 initializer.
5149
9e531d37
DM
51502015-10-09 David Malcolm <dmalcolm@redhat.com>
5151
5152 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5153 using load_gcc_lib.
5154
113020dc
TS
51552015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5156
5157 * oacc-ptx.h: Remove file, moving its content into...
5158 * config/nvptx/fortran.c: ... here...
5159 * config/nvptx/oacc-init.c: ..., here...
5160 * config/nvptx/oacc-parallel.c: ..., and here.
5161 * config/nvptx/openacc.f90: New file.
5162 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5163 (link_ptx): Don't link in predefined bits of PTX code.
5164
cc3cd79b
NS
51652015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5166 Bernd Schmidt <bernds@codesourcery.com>
5167
5168 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5169 (struct targ_ptx_obj): New.
5170 (nvptx_tdata): Move earlier, change data format.
5171 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5172 objects.
5173 (GOMP_OFFLOAD_load_image): Adjust.
5174
4e2a5450
TS
51752015-09-30 Thomas Schwinge <thomas@codesourcery.com>
5176
5177 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5178 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5179 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5180 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5181 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5182 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5183 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5184 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5185 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5186 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5187 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5188 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5189 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5190 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5191 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5192 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5193 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5194 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5195 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5196 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5197 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5198 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5199 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5200 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5201 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5202 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5203 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5204 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5205 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5206 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5207 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5208 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5209 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5210 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5211 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5212 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5213 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5214 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5215 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5216 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5217 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5218 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5219 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5220 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5221 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5222 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5223 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5224 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5225 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5226 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5227 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5228 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5229 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5230 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5231 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5232 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5233 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5234 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5235 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5236 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5237 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5238 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5239 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5240
164453bb
NS
52412015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5242
5243 * oacc-init.c (acc_on_device): Force optimization level.
5244
a12a0437
NS
52452015-09-29 Nathan Sidwell <nathan@codesourcery.com>
5246
5247 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5248 (cuda_errlist): Delete.
5249 (cuda_error): Reimplement.
5250
3e32ee19
NS
52512015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5252
5253 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5254 array.
5255 * libgomp.map (GOACC_parallel_keyed): New.
5256 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
5257 all callers.
5258 (GOACC_parallel_keyed): New interface. Lose geometry arguments
5259 and take keyed varargs list. Adjust call to exec_func.
5260 (GOACC_parallel): Force host fallback.
5261 * libgomp_g.h (GOACC_parallel): Remove.
5262 (GOACC_parallel_keyed): Declare.
5263 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5264 (stuct targ_gn_descriptor): Replace name field with launch field.
5265 (nvptx_exec): Lose separate geometry args, take array. Process
5266 dynamic dimensions and adjust.
5267 (struct nvptx_tdata): Replace fn_names field with fn_descs.
5268 (GOMP_OFFLOAD_load_image): Adjust for change in function table
5269 data.
5270 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5271 passing.
5272 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5273 passing.
5274
6bb4c3e2
CLT
52752015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
5276
5277 PR libgomp/67141
5278 * oacc-int.h (goacc_host_init): Add declaration.
5279 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5280 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5281
74032f47 52822015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 5283 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
5284
5285 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5286 match o/p.
5287 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5288 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5289 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5290 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5291 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5292
97875f4a
JJ
52932015-09-03 Jakub Jelinek <jakub@redhat.com>
5294
5295 * configure.tgt: Add missing ;; in between nvptx and rtems
5296 snippets.
5297
06441dd5
SH
52982015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5299
5300 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5301 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5302 (gomp_thread_pool_reservoir): Add priority member.
5303 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5304 priority.
5305 (parse_thread_pools): Likewise.
5306 * team.c (gomp_team_start): Call configuration provided
5307 gomp_adjust_thread_attr(). Destroy thread attributes if
5308 necessary.
5309 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5310
66c59f92
SH
53112015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5312
5313 * config/posix/pool.h: New.
5314 * config/rtems/pool.h: Likewise.
5315 * config/rtems/proc.c: Likewise.
5316 * libgomp.h (gomp_thread_destructor): Declare.
5317 * team.c: Include configuration provided "pool.h".
5318 (gomp_get_thread_pool): Define in configuration.
5319 (gomp_team_end): Call configuration defined
5320 gomp_release_thread_pool().
5321
13c41b2e
SH
53222015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5323
5324 * config/rtems/bar.c: New.
5325 * config/rtems/bar.h: Likewise.
5326 * config/rtems/mutex.c: Likewise.
5327 * config/rtems/mutex.h: Likewise.
5328 * config/rtems/sem.c: Likewise.
5329 * config/rtems/sem.h: Likewise.
5330 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5331 <sys/lock.h> header file.
5332 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5333 supported by Newlib.
5334 * configure: Regenerate.
5335
7892ec67
SH
53362015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5337
5338 * team.c (gomp_new_thread_pool): Delete and move content to ...
5339 (gomp_get_thread_pool): ... new function. Allocate and
5340 initialize thread pool on demand.
5341 (get_last_team): Use gomp_get_thread_pool().
5342 (gomp_team_start): Delete thread pool initialization.
5343
1b96e9a4
TV
53442015-09-03 Tom de Vries <tom@codesourcery.com>
5345
5346 PR tree-optimization/65637
5347 * testsuite/libgomp.c/autopar-2.c: New test.
5348
3ff2d74e
TV
53492015-08-29 Tom de Vries <tom@codesourcery.com>
5350
5351 PR tree-optimization/46193
5352 * testsuite/libgomp.c/pr46193.c: New test.
5353
2a21ff19
NS
53542015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5355
5356 libgomp/
5357 * libgomp.map: Add 4.0.2 version.
5358 * target.c (offload_image_descr): Add version field.
5359 (gomp_load_image_to_device): Add version argument. Adjust plugin
5360 call. Improve load mismatch diagnostic.
5361 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5362 call.
5363 (GOMP_offload_regster): Make stub function, move bulk to ...
5364 (GOMP_offload_register_ver): ... here. Process version argument.
5365 (GOMP_offload_unregister): Make stub function, move bulk to ...
5366 (GOMP_offload_unregister_ver): ... here. Process version argument.
5367 (gomp_init_device): Process version field.
5368 (gomp_unload_device): Process version field.
5369 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5370 macros. Check plugin version.
5371 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5372 loader and unloader types.
5373 * oacc-host.c: Include gomp-constants.h.
5374 (host_version): New.
5375 (host_load_image, host_unload_image): Adjust.
5376 (host_dispatch): Add host_version.
5377 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5378 (GOMP_OFFLOAD_version): New.
5379 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5380 (GOMP_OFFLOAD_unload_image): Likewise.
5381 * plugin/plugin-host.c: Include gomp-constants.h.
5382 (GOMP_OFFLOAD_version): New.
5383 (GOMP_OFFLOAD_load_image): Add version arg.
5384 (GOMP_OFFLOAD_unload_image): Likewise.
5385
1358a747
TV
53862015-08-24 Tom de Vries <tom@codesourcery.com>
5387
5388 PR tree-optimization/65468
5389 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5390
6be5c241
TV
53912015-08-24 Tom de Vries <tom@codesourcery.com>
5392
5393 PR tree-optimization/65468
5394 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5395
bfe7ac89
JV
53962015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5397
5398 PR libgomp/66761
5399 PR libgomp/67303
5400 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5401 (gomp_iter_guided_next): Idem.
5402 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5403 (gomp_iter_ull_guided_next): Idem.
5404 * config/linux/wait.h (do_spin): Idem.
5405
b97e78b7
TS
54062015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5407
5408 * libgomp-plugin.h (enum offload_target_type): Remove
5409 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5410 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5411 * openacc.h (enum acc_device_t): Likewise.
5412 * openacc_lib.h: Likewise.
5413 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5414 (acc_on_device): Just use __builtin_acc_on_device.
5415 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5416 of acc_on_device builtin.
5417 * plugin/plugin-host.h: Remove file.
5418 * plugin/plugin-host.c: Likewise, but salvage some content into...
5419 * oacc-host.c: ... this file.
5420 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5421 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5422 * Makefile.in: Regenerate.
5423 * configure: Likewise.
5424 * testsuite/lib/libgomp.exp
5425 (check_effective_target_openacc_host_nonshm_selected): Remove.
5426 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5427 ACC_DEVICE_TYPE=host_nonshm.
5428 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5429 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5430 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5431 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5432 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5433 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5434
44a7d18d
TS
54352015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5436 Jakub Jelinek <jakub@redhat.com>
5437
5438 * config/nvptx/affinity.c: New file.
5439 * config/nvptx/alloc.c: Likewise.
5440 * config/nvptx/bar.c: Likewise.
5441 * config/nvptx/barrier.c: Likewise.
5442 * config/nvptx/critical.c: Likewise.
5443 * config/nvptx/env.c: Likewise.
5444 * config/nvptx/error.c: Likewise.
5445 * config/nvptx/fortran.c: Likewise.
5446 * config/nvptx/iter.c: Likewise.
5447 * config/nvptx/iter_ull.c: Likewise.
5448 * config/nvptx/libgomp-plugin.c: Likewise.
5449 * config/nvptx/lock.c: Likewise.
5450 * config/nvptx/loop.c: Likewise.
5451 * config/nvptx/loop_ull.c: Likewise.
5452 * config/nvptx/mutex.c: Likewise.
5453 * config/nvptx/oacc-async.c: Likewise.
5454 * config/nvptx/oacc-cuda.c: Likewise.
5455 * config/nvptx/oacc-host.c: Likewise.
5456 * config/nvptx/oacc-init.c: Likewise.
5457 * config/nvptx/oacc-mem.c: Likewise.
5458 * config/nvptx/oacc-parallel.c: Likewise.
5459 * config/nvptx/oacc-plugin.c: Likewise.
5460 * config/nvptx/omp-lock.h: Likewise.
5461 * config/nvptx/ordered.c: Likewise.
5462 * config/nvptx/parallel.c: Likewise.
5463 * config/nvptx/proc.c: Likewise.
5464 * config/nvptx/ptrlock.c: Likewise.
5465 * config/nvptx/sections.c: Likewise.
5466 * config/nvptx/sem.c: Likewise.
5467 * config/nvptx/single.c: Likewise.
5468 * config/nvptx/splay-tree.c: Likewise.
5469 * config/nvptx/target.c: Likewise.
5470 * config/nvptx/task.c: Likewise.
5471 * config/nvptx/team.c: Likewise.
5472 * config/nvptx/time.c: Likewise.
5473 * config/nvptx/work.c: Likewise.
5474 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5475 * configure: Regenerate.
5476 * configure.tgt (config_path): Set to "nvptx" for target
5477 nvptx*-*-*.
5478
96a2d174
TS
54792015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5480
5481 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5482
9ebddeb0
NS
54832015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5484
5485 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5486 (cuda_errlist): Constify.
5487 (errmsg): Move into ...
5488 (cuda_error): ... here. Make smaller.
5489 (_XSTR, _STR): Delete.
5490 (cuda_synames): Delete.
5491 (verify_device_library): Delete.
5492 (nvptx_init): Don't call it.
5493
12efb1d7
TV
54942015-07-28 Tom de Vries <tom@codesourcery.com>
5495
5496 * testsuite/libgomp.c/uns-outer-4.c: New test.
5497
710ee218
CP
54982015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5499
5500 * testsuite/libgomp.c/pr66714.c: New test.
5501
27c4ac7d
MB
55022015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5503
5504 PR libgomp/66950
5505 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5506 (fib_ref): New function.
5507 (fib): Correct corner cases in the recursion.
5508 (main): Replace the non-simd loop with fib_ref call.
5509 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5510 subroutine.
5511 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5512 for the last array element value. Replace the non-simd loop with
5513 fib_ref call. Remove redundant b_ref array. Remove the comparison
5514 of the last array element with according Fibonacci sequence element.
5515 (fib): Correct corner cases in the recursion.
5516
22be2349
NS
55172015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5518
5519 * target.c (gomp_offload_image_to_device): Rename to ...
5520 (gomp_load_image_to_device): ... here.
5521 (GOMP_offload_register): Adjust call.
5522 (gomp_init_device): Likewise.
5523 (gomp_unload_image_from_device): New. Broken out of ...
5524 (GOMP_offload_unregister): ... here. Call it.
5525 (gomp_unload_device): New.
5526 * libgomp.h (gomp_unload_device): Declare.
5527 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5528 mem maps.
5529
f3e9a059
NS
55302015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5531
a091118d
NS
5532 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5533 wait=-specific if.
5534 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5535 !=0 condition.
5536 (goacc_waits): Move !num_waits handling to ...
5537 (GOACC_wait): ... here, the only caller that might have zero waits.
5538
f3e9a059
NS
5539 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5540 (struct ptx_image_data): Move earlier, add fns field.
5541 (struct ptx_device): Add images and image_lock fields.
5542 (ptx_images, ptx_image_lock): Delete.
5543 (nvptx_open_device): Initialize images and image_lock fields.
5544 (nvptx_close_device): Destroy image_lock.
5545 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5546 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5547 fields.
5548
afb2d80b
NS
55492015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5550
896c28a7
NS
5551 * target.c (GOMP_offload_register): Use int for device type arg.
5552 (GOMP_offload_unregister): Likewise.
5553
ebe4a560
NS
5554 * target.c (struct_offload_image_descr): Constify host_table.
5555 (gomp_offload_image_to_device): Likewise.
5556 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5557
afb2d80b
NS
5558 * libgomp.h (gomp_device_descr): Constify target data arguments.
5559 * target.c (struct offload_image_descr): Constify target_data.
5560 (gomp_offload_image_to_device): Likewise.
5561 (GOMP_offload_register): Likewise.
5562 (GOMP_offload_unrefister): Likewise.
5563 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5564 GOMP_OFFLOAD_unload_image): Constify target data.
5565 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5566 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5567
a4cb876d
NS
55682015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5569
5570 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5571 Workaround driver library const error.
5572 (struct nvptx_tdata, nvptx_tdata_t): New.
5573 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5574 type.
5575
28ef6a27
MB
55762015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5577
5578 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5579 of EPS parameter from integer to real.
5580 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5581 type of EPS parameter from integer to real.
5582
6dba0113
SH
55832015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5584
5585 * team.c (get_last_team): New.
5586 (gomp_new_team): Recycle last non-nested team if possible.
5587 (gomp_team_end): Move team work share list free lock destruction
5588 to ...
5589 (free_team): ... here.
5590
4c1cb4da
MB
55912015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5592
5593 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5594 and ref from int to double. Replaced their comparison with
5595 an inequality of their difference and EPS.
5596 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5597 comparison of pri and a reference number with an inequality of their
5598 difference and EPS.
5599 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5600 the comparison of sum and sum_ref with an inequality of their
5601 difference and EPS.
5602 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5603 the comparison of pri and a reference number with an inequality of
5604 their difference and EPS.
5605
343587dc
MB
56062015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5607
5608 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5609 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5610 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5611 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5612 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5613 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5614 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5615 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5616 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5617 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5618 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5619 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5620 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5621 variables.
5622 (vec_mult): Likewise. Add #pragma omp taskwait.
5623 (main): Adjust caller.
5624 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5625 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5626 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5627 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5628 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5629 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5630 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5631 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5632 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5633 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5634 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5635 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5636 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5637 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5638 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5639 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5640 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5641 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5642 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5643 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5644 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5645 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5646 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5647 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5648 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5649 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5650 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5651 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5652 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5653 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5654 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5655 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5656 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5657 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5658 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5659 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5660 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5661 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5662 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5663 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5664 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5665 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5666 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5667 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5668 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5669 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5670 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5671 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5672 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5673 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5674 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5675 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5676 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5677 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5678 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5679 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5680 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5681 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5682 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5683 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5684 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5685 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5686 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5687 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5688 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5689 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5690 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5691 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5692 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5693 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5694 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5695 (vec_mult): Add !$omp taskwait.
5696 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5697 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5698 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5699 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5700 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5701 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5702 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5703 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5704 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5705 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5706 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5707 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5708 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5709 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5710 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5711 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5712 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5713 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5714 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5715 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5716 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5717 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5718 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5719 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5720 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5721 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5722 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5723 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5724 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5725 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5726 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5727 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5728 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5729 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5730 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5731 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5732 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5733 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5734 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5735 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5736 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5737 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5738 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5739 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5740 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5741 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5742 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5743 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5744 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5745 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5746 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5747 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5748 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5749 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5750 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5751 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5752 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5753 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5754 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5755 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5756 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5757 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5758 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5759 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5760 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5761 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5762 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5763
9f620bf1
TV
57642015-07-10 Tom de Vries <tom@codesourcery.com>
5765
5766 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5767 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5768
a92defda
TS
57692015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5770
5771 PR libgomp/65099
5772 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5773 in a 64-bit configuration.
5774 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5775 offloading testing if no such device is available.
5776 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5777 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5778
cadb53a5
TV
57792015-07-08 Tom de Vries <tom@codesourcery.com>
5780
5781 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5782 second call to f.
5783 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5784
712cb0bb
TV
57852015-07-07 Tom de Vries <tom@codesourcery.com>
5786
5787 PR tree-optimization/66642
5788 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5789 iteration count case.
5790 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5791 function, factor out of ...
5792 (main): ... here. Test low iteration count case.
5793
e5210c77
SH
57942015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5795
5796 * libgomp.h (gomp_thread_pool): Comment last_team field.
5797
f70360e7
UB
57982015-07-02 Uros Bizjak <ubizjak@gmail.com>
5799
5800 * testsuite/libgomp.c++/pr66702-1.C: Require
5801 vect_simd_clones effective target.
5802 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5803
b451c271
TV
58042015-06-30 Tom de Vries <tom@codesourcery.com>
5805
5806 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5807 already set. Use DEFAULT_CFLAGS in dg-runtest.
5808 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5809 "-O2".
5810
f8e89d9f
TV
58112015-06-30 Tom de Vries <tom@codesourcery.com>
5812
5813 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5814 already set. Use DEFAULT_CFLAGS in dg-runtest.
5815 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5816 * testsuite/libgomp.c++/pr64824.C: Same.
5817 * testsuite/libgomp.c++/pr64868.C: Same.
5818 * testsuite/libgomp.c++/pr66199-1.C: Same.
5819 * testsuite/libgomp.c++/pr66199-2.C: Same.
5820 * testsuite/libgomp.c++/target-2.C: Same.
5821 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5822 -std=<standard> option.
5823 * testsuite/libgomp.c++/udr-11.C: Same.
5824 * testsuite/libgomp.c++/udr-12.C: Same.
5825 * testsuite/libgomp.c++/udr-13.C: Same.
5826 * testsuite/libgomp.c++/udr-14.C: Same.
5827 * testsuite/libgomp.c++/udr-15.C: Same.
5828 * testsuite/libgomp.c++/udr-16.C: Same.
5829 * testsuite/libgomp.c++/udr-17.C: Same.
5830 * testsuite/libgomp.c++/udr-18.C: Same.
5831 * testsuite/libgomp.c++/udr-19.C: Same.
5832 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5833 * testsuite/libgomp.c++/simd-1.C: Same.
5834 * testsuite/libgomp.c++/simd-2.C: Same.
5835 * testsuite/libgomp.c++/simd-3.C: Same.
5836 * testsuite/libgomp.c++/simd-4.C: Same.
5837 * testsuite/libgomp.c++/simd-5.C: Same.
5838 * testsuite/libgomp.c++/simd-6.C: Same.
5839 * testsuite/libgomp.c++/simd-7.C: Same.
5840 * testsuite/libgomp.c++/simd-8.C: Same.
5841 * testsuite/libgomp.c++/simd-9.C: Same.
5842 * testsuite/libgomp.c++/simd10.C: Same.
5843 * testsuite/libgomp.c++/simd11.C: Same.
5844 * testsuite/libgomp.c++/simd12.C: Same.
5845 * testsuite/libgomp.c++/simd13.C: Same.
5846
3446fe48
JJ
58472015-06-30 Jakub Jelinek <jakub@redhat.com>
5848
5849 PR middle-end/66702
5850 * testsuite/libgomp.c++/pr66702-1.C: New test.
5851 * testsuite/libgomp.c++/pr66702-2.C: New test.
5852
8a36714a
TV
58532015-06-30 Tom de Vries <tom@codesourcery.com>
5854
5855 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5856 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5857 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5858 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5859
4f75d608
TV
58602015-06-30 Tom de Vries <tom@codesourcery.com>
5861
5862 PR tree-optimization/66652
5863 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5864 using restrict pointers.
5865 (main): Add arguments to calls to f.
5866 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5867
6d9d1eeb
AT
58682015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5869
5870 * configure.ac: Fix check for header <sys/sysctl.h>.
5871 * configure: Regenerate.
5872 * config.h.in: Likewise.
5873
1222f22b
TV
58742015-06-23 Tom de Vries <tom@codesourcery.com>
5875
5876 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5877 abort.
5878 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5879
d7efbbf6
TS
58802015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5881
bfcd036f
TS
5882 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5883 acc_device_nvidia.
5884
d7efbbf6
TS
5885 PR libgomp/66518
5886 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5887 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5888
d7bfc710
TV
58892015-06-15 Tom de Vries <tom@codesourcery.com>
5890
5891 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5892 dg-additional-options for any remaining options.
5893 * testsuite/libgomp.c/atomic-2.c: Same.
5894 * testsuite/libgomp.c/atomic-4.c: Same.
5895 * testsuite/libgomp.c/atomic-5.c: Same.
5896 * testsuite/libgomp.c/atomic-6.c: Same.
5897 * testsuite/libgomp.c/autopar-1.c: Same.
5898 * testsuite/libgomp.c/copyin-1.c: Same.
5899 * testsuite/libgomp.c/copyin-2.c: Same.
5900 * testsuite/libgomp.c/copyin-3.c: Same.
5901 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5902 * testsuite/libgomp.c/nestedfn-5.c: Same.
5903 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5904 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5905 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5906 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5907 * testsuite/libgomp.c/pr32362-1.c: Same.
5908 * testsuite/libgomp.c/pr32362-2.c: Same.
5909 * testsuite/libgomp.c/pr32362-3.c: Same.
5910 * testsuite/libgomp.c/pr39591-1.c: Same.
5911 * testsuite/libgomp.c/pr39591-2.c: Same.
5912 * testsuite/libgomp.c/pr39591-3.c: Same.
5913 * testsuite/libgomp.c/pr58392.c: Same.
5914 * testsuite/libgomp.c/pr58756.c: Same.
5915 * testsuite/libgomp.c/simd-1.c: Same.
5916 * testsuite/libgomp.c/simd-10.c: Same.
5917 * testsuite/libgomp.c/simd-11.c: Same.
5918 * testsuite/libgomp.c/simd-12.c: Same.
5919 * testsuite/libgomp.c/simd-13.c: Same.
5920 * testsuite/libgomp.c/simd-14.c: Same.
5921 * testsuite/libgomp.c/simd-15.c: Same.
5922 * testsuite/libgomp.c/simd-2.c: Same.
5923 * testsuite/libgomp.c/simd-3.c: Same.
5924 * testsuite/libgomp.c/simd-4.c: Same.
5925 * testsuite/libgomp.c/simd-5.c: Same.
5926 * testsuite/libgomp.c/simd-6.c: Same.
5927 * testsuite/libgomp.c/simd-7.c: Same.
5928 * testsuite/libgomp.c/simd-8.c: Same.
5929 * testsuite/libgomp.c/simd-9.c: Same.
5930
fb5b5352
TV
59312015-06-15 Tom de Vries <tom@codesourcery.com>
5932
5933 * testsuite/libgomp.c/pr35625.c: Fix typo.
5934
ca431bef
TV
59352015-06-15 Tom de Vries <tom@codesourcery.com>
5936
5937 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5938 in dg-options.
5939 * testsuite/libgomp.c/atomic-3.c: Same.
5940 * testsuite/libgomp.c/debug-1.c: Same.
5941 * testsuite/libgomp.c/nqueens-1.c: Same.
5942 * testsuite/libgomp.c/pr26171.c: Same.
5943 * testsuite/libgomp.c/pr48591.c: Same.
5944 * testsuite/libgomp.c/pr64824.c: Same.
5945 * testsuite/libgomp.c/pr64868.c: Same.
5946 * testsuite/libgomp.c/pr66133.c: Same.
5947 * testsuite/libgomp.c/pr66199-1.c: Same.
5948 * testsuite/libgomp.c/pr66199-2.c: Same.
5949 * testsuite/libgomp.c/target-8.c: Same.
5950
0d8a9e20
TV
59512015-06-15 Tom de Vries <tom@codesourcery.com>
5952
5953 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5954 -std={gnu99,c99}.
5955 * testsuite/libgomp.c/for-1.c: Same.
5956 * testsuite/libgomp.c/for-2.c: Same.
5957 * testsuite/libgomp.c/for-3.c: Same.
5958 * testsuite/libgomp.c/pr35625.c: Same.
5959 * testsuite/libgomp.c/pr39154.c: Same.
5960 * testsuite/libgomp.c/simd-16.c: Same.
5961 * testsuite/libgomp.c/simd-17.c: Same.
5962
a6860be9
TV
59632015-06-13 Tom de Vries <tom@codesourcery.com>
5964
5965 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
5966
ab3306d2
TV
59672015-06-13 Tom de Vries <tom@codesourcery.com>
5968
5969 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
5970 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5971 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
5972 (N): Define.
5973 (main): Use N instead of hardcoded constants.
5974
7c82d827
TV
59752015-06-05 Tom de Vries <tom@codesourcery.com>
5976
5977 merge from gomp4 branch:
5978 2015-05-28 Tom de Vries <tom@codesourcery.com>
5979
5980 PR tree-optimization/65443
5981 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
5982 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
5983 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
5984
c469078d
BRF
59852015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5986
5987 * testsuite/libgomp.graphite/bounds.c: Adjust for
5988 cleanup-tree-dump removal.
5989 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
5990 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5991 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5992 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5993 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5994 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5995 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5996 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5997 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5998 * testsuite/libgomp.graphite/pr41118.c: Likewise.
5999
bb3caa35
UB
60002015-05-28 Uros Bizjak <ubizjak@gmail.com>
6001
6002 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6003 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6004 (futex_wake) [!__x86_64__]: Ditto.
6005
9fb5fd44
JB
60062015-05-28 Julian Brown <julian@codesourcery.com>
6007
6008 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6009 function comment. Only call gomp_fatal if new argument is true.
6010 (acc_dev_num_out_of_range): New function.
6011 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6012 acc_dev_num_out_of_range as appropriate.
6013 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6014 (acc_get_device_num, acc_set_device_num): Update calls to
6015 resolve_device.
9fb5fd44
JB
6016 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6017 output.
6018
32eaed93
JB
60192015-05-28 Julian Brown <julian@codesourcery.com>
6020
6021 PR libgomp/65742
32eaed93
JB
6022 * oacc-init.c (plugin/plugin-host.h): Include.
6023 (acc_on_device): Check whether we're in an offloaded region for
6024 host_nonshm
6025 plugin. Don't use __builtin_acc_on_device.
6026 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6027 nonshm_exec flag in thread-local data.
6028 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6029 data for host_nonshm plugin.
6030 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6031 for host_nonshm plugin.
6032 * plugin/plugin-host.h: New.
6033
ea023bcf
UB
60342015-05-27 Uros Bizjak <ubizjak@gmail.com>
6035
8ed501f1
UB
6036 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6037
60382015-05-27 Uros Bizjak <ubizjak@gmail.com>
6039
6040 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6041 Declare as int.
6042 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6043 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6044 Declare as int.
6045
60462015-05-27 Uros Bizjak <ubizjak@gmail.com>
6047
bb3caa35 6048 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6049
1716efeb
CLT
60502015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6051
6052 * target.c (gomp_map_pointer): New function abstracting out
6053 GOMP_MAP_POINTER handling.
6054 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6055 gomp_map_pointer().
6056
41b37d5e
JJ
60572015-05-19 Jakub Jelinek <jakub@redhat.com>
6058
6059 PR middle-end/66199
6060 * testsuite/libgomp.c/pr66199-1.c: New test.
6061 * testsuite/libgomp.c/pr66199-2.c: New test.
6062 * testsuite/libgomp.c++/pr66199-1.C: New test.
6063 * testsuite/libgomp.c++/pr66199-2.C: New test.
6064 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6065 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6066
c8319826
JB
60672015-05-19 Julian Brown <julian@codesourcery.com>
6068
6069 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6070 on cuInit failure.
6071
b37dddbc
JJ
60722015-05-13 Jakub Jelinek <jakub@redhat.com>
6073
6074 PR middle-end/66133
6075 * testsuite/libgomp.c/pr66133.c: New test.
6076
55fba601
MH
60772015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6078
6079 * Makefile.in: Regenerated with automake-1.11.6.
6080 * aclocal.m4: Likewise.
6081 * config.h.in: Likewise.
6082 * configure: Likewise.
6083 * testsuite/Makefile.in: Likewise.
6084
1be0899d
JM
60852015-05-08 Jason Merrill <jason@redhat.com>
6086
6087 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6088 _Complex.
6089
6090 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6091
d2463960
JB
60922015-05-06 Julian Brown <julian@codesourcery.com>
6093
6094 * oacc-init.c (acc_device_lock): Add explanatory comment.
6095 (resolve_device): Add comment about locking requirement.
6096 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6097 gomp_init_device and gomp_fini_device calls.
6098 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6099 (acc_get_device_num, acc_set_device_num): Add locking around
6100 resolve_device and gomp_init_device calls.
6101
e38fdba4
JB
61022015-05-06 Julian Brown <julian@codesourcery.com>
6103
6104 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6105 goacc_thread_lock on error paths.
6106 * oacc-mem.c (lookup_host): Remove locking from function. Note
6107 locking requirement for caller in function comment.
6108 (lookup_dev): Likewise.
6109 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6110 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6111 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6112 Add locking.
6113
ae8ffbbb
TS
61142015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6115
6116 PR testsuite/65205
6117 PR libgomp/65993
6118 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6119 don't expect "0x" prefix for "%p" format specifier, don't expect
6120 "(nil)" for NULL pointer.
6121 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6133 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6137 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6140 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6141 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6145 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6147 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6148 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6149 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6150 accurately specify what we're looking for.
6151 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6152 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6153 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6154 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6155 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6156
1309f1d2
JN
61572015-04-30 James Norris <jnorris@codesourcery.com>
6158
6159 PR testsuite/65205
6160 * testsuite/lib/libgomp.exp
6161 (check_effective_target_openacc_host_selected)
6162 (check_effective_target_openacc_host_nonshm_selected): New
6163 procedures.
6164 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6165 dg-shouldfail.
6166 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6173 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6174 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6175 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6176 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6177 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6178 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6179 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6180 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6181 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6182 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6183 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6184 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6185 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6186 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6188 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6189 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6190 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6191 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6192 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6193 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6194 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6195 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6196 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6197 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6198 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6199 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6200 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6201 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6202 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6203 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6204 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6205 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6206 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6207 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6208 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6209
d93bdab5
JB
62102015-04-08 Julian Brown <julian@codesourcery.com>
6211
6212 * libgomp.h (target_mem_desc: Remove mem_map field.
6213 (acc_dispatch_t): Remove open_device_func, close_device_func,
6214 get_device_num_func, set_device_num_func, target_data members.
6215 Change create_thread_data_func argument to device number instead of
6216 generic pointer.
6217 * oacc-async.c (assert.h): Include.
6218 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6219 (acc_wait_all, acc_wait_all_async): Use current host thread's
6220 active device, not base_dev.
6221 * oacc-cuda.c (acc_get_current_cuda_device)
6222 (acc_get_current_cuda_context, acc_get_cuda_stream)
6223 (acc_set_cuda_stream): Likewise.
6224 * oacc-host.c (host_dispatch): Don't set open_device_func,
6225 close_device_func, get_device_num_func or set_device_num_func.
6226 * oacc-init.c (base_dev, init_key): Remove.
6227 (cached_base_dev): New.
6228 (name_of_acc_device_t): New.
6229 (acc_init_1): Initialise default-numbered device, not zeroth.
6230 (acc_shutdown_1): Close all devices of a given type.
6231 (goacc_destroy_thread): Don't use base_dev.
6232 (lazy_open, lazy_init, lazy_init_and_open): Remove.
6233 (goacc_attach_host_thread_to_device): New.
6234 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6235 (acc_get_num_devices): Don't use base_dev.
6236 (acc_set_device_type): Reimplement.
6237 (acc_get_device_type): Don't use base_dev.
6238 (acc_get_device_num): Tweak logic.
6239 (acc_set_device_num): Likewise.
6240 (acc_on_device): Use acc_get_device_type.
6241 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6242 (goacc_lazy_initialize): Reimplement with acc_init and
6243 goacc_attach_host_thread_to_device.
6244 * oacc-int.h (goacc_thread): Add base_dev field.
6245 (base_dev): Remove extern declaration.
6246 (goacc_attach_host_thread_to_device): Add prototype.
6247 * oacc-mem.c (acc_malloc): Use current thread's device instead of
6248 base_dev.
6249 (acc_free): Likewise.
6250 (acc_memcpy_to_device): Likewise.
6251 (acc_memcpy_from_device): Likewise.
6252 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6253 goacc_lazy_initialize (throughout).
6254 (GOACC_parallel): Use tgt_offset to locate target functions.
6255 * target.c (gomp_map_vars): Don't set tgt->mem_map.
6256 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6257 (gomp_load_plugin_for_device): Remove open_device, close_device,
6258 get_device_num, set_device_num openacc hook initialisation. Don't set
6259 openacc.target_data.
6260 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6261 (GOMP_OFFLOAD_openacc_close_device)
6262 (GOMP_OFFLOAD_openacc_get_device_num)
6263 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6264 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6265 to int.
6266 * plugin/plugin-nvptx.c (ptx_inited): Remove.
6267 (instantiated_devices, ptx_dev_lock): New.
6268 (struct ptx_image_data): New.
6269 (ptx_devices, ptx_images, ptx_image_lock): New.
6270 (fini_streams_for_device): Reorder cuStreamDestroy call.
6271 (nvptx_get_num_devices): Remove forward declaration.
6272 (nvptx_init): Change return type to bool.
6273 (nvptx_fini): Remove.
6274 (nvptx_attach_host_thread_to_device): New.
6275 (nvptx_open_device): Return struct ptx_device* instead of void*.
6276 (nvptx_close_device): Change argument type to struct ptx_device*,
6277 return type to void.
6278 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6279 (kernel_target_data, kernel_host_table): Remove static globals.
6280 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6281 (GOMP_OFFLOAD_init_device): Reimplement.
6282 (GOMP_OFFLOAD_fini_device): Likewise.
6283 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6284 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6285 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6286 (GOMP_OFFLOAD_openacc_open_device)
6287 (GOMP_OFFLOAD_openacc_close_device)
6288 (GOMP_OFFLOAD_openacc_set_device_num)
6289 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6290 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6291 (device number).
6292
6293 testsuite/
6294 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6295
a51df54e
IV
62962015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6297
6298 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6299 * libgomp.h (struct gomp_memory_mapping): Remove.
6300 (struct target_mem_desc): Change type of mem_map from
6301 gomp_memory_mapping * to splay_tree_s *.
6302 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6303 Add load_image_func, unload_image_func.
6304 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6305 Remove offload_regions_registered.
6306 (gomp_init_tables): Remove.
6307 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6308 to splay_tree_s *.
6309 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6310 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6311 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6312 offload_regions_registered.
6313 Initialize load_image_func, unload_image_func, mem_map.root.
6314 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6315 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6316 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6317 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6318 gomp_memory_mapping *. Use dev's lock and splay_tree.
6319 (lookup_dev): Use dev's lock.
6320 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6321 (acc_is_present): Likewise.
6322 (acc_map_data): Likewise.
6323 (acc_unmap_data): Likewise. Use dev's lock.
6324 (present_create_copy): Likewise.
6325 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6326 (update_dev_host): Likewise.
6327 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6328 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6329 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6330 (GOMP_OFFLOAD_get_table): Remove
6331 (GOMP_OFFLOAD_load_image): New function.
6332 (GOMP_OFFLOAD_unload_image): New function.
6333 * target.c (register_lock): New mutex for offload image registration.
6334 (num_devices): Do not guard with PLUGIN_SUPPORT.
6335 (gomp_realloc_unlock): New static function.
6336 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6337 before gomp_fatal.
6338 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6339 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6340 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6341 mem_map's.
6342 (gomp_unmap_vars): Likewise.
6343 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6344 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6345 (gomp_offload_image_to_device): New static function.
6346 (GOMP_offload_register): Add mutex lock.
6347 Call gomp_offload_image_to_device for all initialized devices.
6348 Replace gomp_realloc with gomp_realloc_unlock.
6349 (GOMP_offload_unregister): New function.
6350 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6351 get_table_func from the plugin with calls to init_device_func and
6352 gomp_offload_image_to_device.
6353 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6354 to splay_tree_s *.
6355 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6356 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6357 (GOMP_target_data): Do not call gomp_init_tables.
6358 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6359 (gomp_load_plugin_for_device): Replace register_image and get_table
6360 with load_image and unload_image in DLSYM ().
6361 (gomp_register_images_for_device): Remove function.
6362 (gomp_target_init): Do not initialize current_device.mem_map.*,
6363 current_device.offload_regions_registered.
6364 Remove call to gomp_register_images_for_device.
6365 Do not free offload_images and num_offload_images.
6366
6c384511
JJ
63672015-03-30 Jakub Jelinek <jakub@redhat.com>
6368
6369 PR fortran/65597
6370 * testsuite/libgomp.fortran/pr65597.f90: New test.
6371
3e8165a5
TV
63722015-03-27 Tom de Vries <tom@codesourcery.com>
6373
6374 PR testsuite/65594
6375 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6376 (init, check): New function.
6377 (foo): Change return type to void.
6378 (main): Call init and check.
6379
4d688c9a
TV
63802015-03-27 Tom de Vries <tom@codesourcery.com>
6381
6382 PR testsuite/65594
6383 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6384 (foo): Use M for non-inner loops to scale down test-case.
6385
01c0b3b0
KT
63862015-03-25 Kai Tietz <ktietz@redhat.com>
6387
6388 PR libgomp/64972
6389 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6390 (GOACC_data_start): Likewise.
6391 * target.c (gomp_map_vars): Likewise.
6392
844d9a76
JDA
63932015-03-21 John David Anglin <danglin@gcc.gnu.org>
6394
6395 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6396 hppa*-*-hpux*.
6397
9b65e171
JJ
63982015-03-19 Jakub Jelinek <jakub@redhat.com>
6399
6400 * testsuite/libgomp.c/target-10.c: New test.
6401 * testsuite/libgomp.c++/target-4.C: New test.
6402
db397e2e
IV
64032015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6404
6405 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6406 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6407
cd93945d
SH
64082015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6409
6410 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6411 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6412 (pthread.h): Check for this header file.
6413 * configure: Regenerate.
6414
05deba9f
TV
64152015-02-25 Tom de Vries <tom@codesourcery.com>
6416
6417 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6418 (check_reduction_op, check_reduction_macro, max, min):
6419 Declare.
6420 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6421 function.
6422 (main): Use new functions.
6423
196904d8
IT
64242015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6425
6426 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6427 char * for variables holding dlerror return values.
6428 (DLSYM_OPT): Ditto.
6429
a2818955
TS
64302015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6431
6432 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6433
26f93312
TS
64342015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6435 Cesar Philippidis <cesar@codesourcery.com>
6436
6437 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6438 GOACC_ctaid, and GOACC_nctaid routines.
6439
fa01ffcc
JJ
64402015-02-11 Jakub Jelinek <jakub@redhat.com>
6441
6442 PR c/64824
6443 * testsuite/libgomp.c/atomic-18.c: New test.
6444 * testsuite/libgomp.c++/atomic-16.C: New test.
6445
4886ec8e
JJ
64462015-02-04 Jakub Jelinek <jakub@redhat.com>
6447
6448 PR c/64824
6449 PR c/64868
6450 * testsuite/libgomp.c/pr64824.c: New test.
6451 * testsuite/libgomp.c/pr64868.c: New test.
6452 * testsuite/libgomp.c++/pr64824.C: New test.
6453 * testsuite/libgomp.c++/pr64868.C: New test.
6454
02d3e45e
DE
64552015-02-01 David Edelsohn <dje.gcc@gmail.com>
6456
6457 PR libgomp/64635
6458 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6459 Link with -lpthread.
6460 * config/aix/plugin-suffix.h: Delete.
6461
b5f7a6ca
JH
64622015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6463
6464 PR libgomp/64635
6465 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6466 (*-*-darwin*): Use config_path "bsd darwin posix".
6467 (*-*-hpux*): Use config_path "hpux posix".
6468 * target.c: Add include of plugin-suffix.h and use
6469 SONAME_SUFFIX macro.
6470 * config/aix/plugin-suffix.h: New file.
6471 * config/darwin/plugin-suffix.h: New file.
6472 * config/hpux/plugin-suffix.h: New file.
6473 * config/posix/plugin-suffix.h: New file.
6474
b8910447
JJ
64752015-01-23 Jakub Jelinek <jakub@redhat.com>
6476
6477 PR middle-end/64734
6478 * libgomp.c/pr64734.c: New test.
6479
a0c88d06
TV
64802015-01-23 Tom de Vries <tom@codesourcery.com>
6481
6482 PR libgomp/64672
6483 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6484
1506ae0e
TV
64852015-01-23 Tom de Vries <tom@codesourcery.com>
6486
6487 PR libgomp/64707
6488 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6489 dg-options.
6490
128b26dc
TS
64912015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6492
bed62c21 6493 PR libgomp/64625
128b26dc
TS
6494 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6495 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6496 formal parameter. Update all users.
6497 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6498 Document unused formal parameter.
6499
6e36114c
TS
65002015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6501
6502 * oacc-parallel.c: Don't include <alloca.h>.
6503 (GOACC_parallel): Use gomp_alloca instead of alloca.
6504
973e9808
GP
65052015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6506
6507 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6508
41dbbb37
TS
65092015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6510 James Norris <jnorris@codesourcery.com>
6511 Tom de Vries <tom@codesourcery.com>
6512 Julian Brown <julian@codesourcery.com>
6513 Cesar Philippidis <cesar@codesourcery.com>
6514 Nathan Sidwell <nathan@codesourcery.com>
6515 Tobias Burnus <burnus@net-b.de>
6516
6517 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6518 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6519 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6520 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6521 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6522 Include $(top_srcdir)/plugin/Makefrag.am.
6523 (nodist_libsubinclude_HEADERS): Add openacc.h.
6524 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6525 openacc.f90, openacc.mod, openacc_kinds.mod.
6526 (omp_lib.mod): Generalize into...
6527 (%.mod): ... this new rule.
6528 (openacc_kinds.mod, openacc.mod): New rules.
6529 * plugin/configfrag.ac: New file.
6530 * configure.ac: Move plugin/offloading support into it. Include
6531 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6532 * plugin/Makefrag.am: New file.
6533 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6534 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6535 export.
6536 (libgomp-test-support.exp): New rule.
6537 (all-local): Depend on it.
6538 * Makefile.in: Regenerate.
6539 * testsuite/Makefile.in: Regenerate.
6540 * config.h.in: Likewise.
6541 * configure: Likewise.
6542 * configure.tgt: Harden shell syntax.
6543 * env.c: Include "oacc-int.h".
6544 (parse_acc_device_type): New function.
6545 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6546 variables.
6547 (initialize_env): Initialize those. Call
6548 goacc_runtime_initialize.
6549 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6550 (gomp_fatal): Call gomp_vfatal.
6551 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6552 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6553 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6554 (splay_tree_node, splay_tree, splay_tree_key)
6555 (struct target_mem_desc, struct splay_tree_key_s)
6556 (struct gomp_memory_mapping, struct acc_dispatch_t)
6557 (struct gomp_device_descr, gomp_acc_insert_pointer)
6558 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6559 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6560 (gomp_free_memmap, gomp_fini_device): New declarations.
6561 (gomp_vdebug, gomp_debug): New macros.
6562 Include "splay-tree.h".
6563 * libgomp.map (OACC_2.0): New symbol version. Use for
6564 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6565 acc_set_device_type_h_, acc_get_device_type,
6566 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6567 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6568 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6569 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6570 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6571 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6572 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6573 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6574 acc_copyin_array_h_, acc_present_or_copyin,
6575 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6576 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6577 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6578 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6579 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6580 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6581 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6582 acc_update_device, acc_update_device_32_h_,
6583 acc_update_device_64_h_, acc_update_device_array_h_,
6584 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6585 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6586 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6587 acc_is_present_64_h_, acc_is_present_array_h_,
6588 acc_memcpy_to_device, acc_memcpy_from_device,
6589 acc_get_current_cuda_device, acc_get_current_cuda_context,
6590 acc_get_cuda_stream, acc_set_cuda_stream.
6591 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6592 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6593 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6594 GOACC_get_num_threads.
6595 (GOMP_PLUGIN_1.0): New symbol version. Use for
6596 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6597 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6598 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6599 GOMP_PLUGIN_acc_thread.
6600 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6601 environment variable.
6602 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6603 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6604 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6605 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6606 (splay_tree_remove): New declarations.
6607 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6608 (splay_tree_remove, splay_tree_lookup): Move into...
6609 * splay-tree.c: ... this new file.
6610 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6611 (splay_tree_node, splay_tree, splay_tree_key)
6612 (struct target_mem_desc, struct splay_tree_key_s)
6613 (struct gomp_device_descr): Don't declare.
6614 (num_devices_openmp): New variable.
6615 (gomp_get_num_devices ): Use it.
6616 (gomp_init_targets_once): New function.
6617 (gomp_get_num_devices ): Use it.
6618 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6619 (gomp_fini_device, gomp_register_image_for_device): New functions.
6620 (gomp_map_vars): Add devaddrs parameter.
6621 (gomp_update): Add mm parameter.
6622 (gomp_init_device): Move most of it into...
6623 (gomp_init_tables): ... this new function.
6624 (gomp_register_images_for_device): Remove function.
6625 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6626 Make them hidden instead of static.
6627 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6628 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6629 (GOMP_target_end_data, GOMP_target_update)
6630 (gomp_load_plugin_for_device, gomp_target_init): Update for
6631 OpenACC changes.
6632 * oacc-async.c: New file.
6633 * oacc-cuda.c: Likewise.
6634 * oacc-host.c: Likewise.
6635 * oacc-init.c: Likewise.
6636 * oacc-int.h: Likewise.
6637 * oacc-mem.c: Likewise.
6638 * oacc-parallel.c: Likewise.
6639 * oacc-plugin.c: Likewise.
6640 * oacc-plugin.h: Likewise.
6641 * oacc-ptx.h: Likewise.
6642 * openacc.f90: Likewise.
6643 * openacc.h: Likewise.
6644 * openacc_lib.h: Likewise.
6645 * plugin/plugin-host.c: Likewise.
6646 * plugin/plugin-nvptx.c: Likewise.
6647 * libgomp-plugin.c: Likewise.
6648 * libgomp-plugin.h: Likewise.
6649 * libgomp_target.h: Remove file after merging content into the
6650 former file. Update all users.
6651 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6652 (offload_targets_s, offload_targets_s_openacc): New variables.
6653 (check_effective_target_openacc_nvidia_accel_present)
6654 (check_effective_target_openacc_nvidia_accel_selected): New
6655 procedures.
6656 (libgomp_init): Update for OpenACC changes.
6657 * testsuite/libgomp-test-support.exp.in: New file.
6658 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6659 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6660 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6661 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6662 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6663 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6664 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6665 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6666 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6667 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6668 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6669 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6670 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6671 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6672 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6673 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6674 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6675 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6676 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6677 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6678 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6679 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6680 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6681 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6682 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6683 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6684 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6685 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6686 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6688 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6689 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6690 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6691 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6692 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6693 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6694 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6695 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6696 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6697 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6698 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6699 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6700 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6701 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6702 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6703 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6704 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6705 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6707 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6715 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6719 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6720 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6721 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6723 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6725 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6727 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6729 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6734 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6736 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6767 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6772 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6774 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6776 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6780 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6783 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6784 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6785 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6787 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6794 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6795 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6796 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6798 Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6804 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6805 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6806 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6807 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6808 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6809 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6810 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6811 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6812 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6813 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6814 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6815 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6816 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6817 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6818 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6819 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6820 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6821 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6822 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6823 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6824 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6825 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6826 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6827 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6828 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6829 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6830 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6831 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6832 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6833 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6834 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6835 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6836 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6837 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6838 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6839 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6840 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6841 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6842 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6843 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6844 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6845 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6846 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6847 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6848 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6849 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6850 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6851 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6852 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6853 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6854 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6855 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6856 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6857 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6858 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6859
f1f3453e
TS
68602015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6861 Julian Brown <julian@codesourcery.com>
6862 David Malcolm <dmalcolm@redhat.com>
6863
6864 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6865 to "GNU Offloading and Multi Processing Runtime Library". Change
6866 all users.
6867 * configure: Regenerate.
6868 * libgomp.texi: Update.
6869
f9a0eca4
TS
68702015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6871
b335ef4e
TS
6872 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6873 "$tgt_dir/lib32".
6874 * configure: Regenerate.
6875
f9a0eca4
TS
6876 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6877 "intelmic" in $offload_targets.
6878
b67cd4e3
JJ
68792015-01-05 Jakub Jelinek <jakub@redhat.com>
6880
5624e564
JJ
6881 Update copyright years.
6882
b67cd4e3
JJ
6883 * libgomp.texi: Bump @copying's copyright year.
6884
3b41b583
KT
68852014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6886
6887 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6888 Move load of target-supportes.exp earlier.
6889
2354caec
IV
68902014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6891
6892 * testsuite/libgomp.c/target-9.c: New test.
6893
f50eecba
VR
68942014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6895
6896 * config.h.in: Regenerate.
6897 * configure: Regenerate.
6898 * configure.ac: Add GCC_CHECK_EMUTLS.
6899 * libgomp.h: Add check for USE_EMUTLS: this case
6900 is equal to HAVE_TLS.
6901 * team.c: Likewise.
6902
68bc9270
UB
69032014-12-03 Uros Bizjak <ubizjak@gmail.com>
6904
6905 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6906
476ff787
AT
69072014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6908 Ilya Verbin <ilya.verbin@intel.com>
6909
6910 * testsuite/libgomp.c/target-critical-1.c: New test.
6911
31a30e62
JJ
69122014-11-26 Jakub Jelinek <jakub@redhat.com>
6913
6914 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 6915 to dg-options unless expensive testing is on.
31a30e62
JJ
6916 (TESTITERS): Define to N if not defined.
6917 (main): Use TESTITERS instead of N.
6918 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6919 dg-additional-options depending on whether expensive testing is on.
6920 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6921 Decrease N to 100000 and CHUNKSZ to 10000.
6922
3f9e8f13
JJ
69232014-11-24 Jakub Jelinek <jakub@redhat.com>
6924
6925 PR fortran/63938
31a30e62
JJ
6926 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6927 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 6928
c8451a46
SE
69292014-11-21 Steve Ellcey <sellcey@imgtec.com>
6930
6931 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6932
a699d672
L
69332014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6934
6935 PR bootstrap/63784
6936 * configure: Regenerated.
6937
4a19f719
UB
69382014-11-19 Uros Bizjak <ubizjak@gmail.com>
6939
6940 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
6941 vect_simd_clones effective target.
6942 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6943
b1bf6c52
JJ
69442014-11-14 Jakub Jelinek <jakub@redhat.com>
6945
6946 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6947 of 32 as block_size.
6948 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6949 instead of 32 as block_size.
6950
d64ae614
AT
69512014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6952 Ilya Verbin <ilya.verbin@intel.com>
6953
6954 * Makefile.in: Regenerate.
6955 * configure: Regenerate.
6956 * configure.ac: Set up offload_additional_options,
6957 offload_additional_lib_paths and offload_targets.
6958 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
6959 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
6960 * testsuite/Makefile.in: Regenerate.
6961 * testsuite/lib/libgomp.exp (libgomp_init): Append
6962 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
6963 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
6964 build directory to LD_LIBRARY_PATH for intelmic offload targets.
6965
122d7303
AT
69662014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6967 Ilya Verbin <ilya.verbin@intel.com>
6968 Kirill Yukhin <kirill.yukhin@intel.com>
6969 Ilya Tocar <ilya.tocar@intel.com>
6970
6971 * testsuite/lib/libgomp.exp
6972 (check_effective_target_offload_device): New.
6973 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
6974 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
6975 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
6976 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
6977 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
6978 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
6979 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
6980 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
6981 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
6982 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
6983 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
6984 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
6985 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
6986 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
6987 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
6988 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
6989 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
6990 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
6991 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
6992 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
6993 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
6994 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
6995 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
6996 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
6997 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
6998 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
6999 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7000 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7001 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7002 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7003 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7004 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7005 * testsuite/libgomp.c/target-7.c: Fix test.
7006 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7007 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7008 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7009 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7010 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7011 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7012 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7013 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7014 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7015 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7016 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7017 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7018 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7019 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7020 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7021 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7022 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7023 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7024 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7025 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7026 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7027 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7028 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7029 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7030 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7031 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7032 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7033 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7034 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7035 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7036 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7037
1df3f842
JJ
70382014-11-13 Jakub Jelinek <jakub@redhat.com>
7039 Ilya Verbin <ilya.verbin@intel.com>
7040 Thomas Schwinge <thomas@codesourcery.com>
7041 Andrey Turetskiy <andrey.turetskiy@intel.com>
7042
7043 * libgomp.map (GOMP_4.0.1): New symbol version.
7044 Add GOMP_offload_register.
7045 * libgomp_target.h: New file.
7046 * splay-tree.h: New file.
7047 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7048 (gomp_target_init): New forward declaration.
7049 (gomp_is_initialized): New static variable.
7050 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7051 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7052 New structures.
7053 (offload_images, num_offload_images, devices, num_devices): New static
7054 variables.
7055 (splay_compare): New static function.
7056 (struct gomp_device_descr): New structure.
7057 (gomp_get_num_devices): Call gomp_target_init.
7058 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7059 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7060 (GOMP_offload_register): New function.
7061 (GOMP_target): Arrange for host callback to be performed in a separate
7062 initial thread and contention group, inheriting ICVs from
7063 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7064 Add device initialization and lookup for target function in splay tree.
7065 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7066 (GOMP_target_end_data): Call gomp_unmap_vars.
7067 (GOMP_target_update): Add device initialization and call gomp_update.
7068 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7069 (gomp_target_init): New static functions.
7070
85c64bbe
BS
70712014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7072 Thomas Schwinge <thomas@codesourcery.com>
7073 Ilya Verbin <ilya.verbin@intel.com>
7074 Andrey Turetskiy <andrey.turetskiy@intel.com>
7075
7076 * config.h.in: Regenerate.
7077 * configure: Regenerate.
7078 * configure.ac: Check for libdl, required for plugin support.
7079 (PLUGIN_SUPPORT): Define if plugins are supported.
7080 (enable_offload_targets): Support Intel MIC targets.
7081 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7082
ebf6d33b
FXC
70832014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7084
7085 PR target/63610
7086 * configure: Regenerate.
7087
8c768629
RO
70882014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7089
7090 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7091
c1d62412
MP
70922014-10-06 Marek Polacek <polacek@redhat.com>
7093
7094 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7095 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7096 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7097 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7098
44a0c6cb
MP
70992014-10-06 Marek Polacek <polacek@redhat.com>
7100
7101 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7102 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7103 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7104 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7105 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7106 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7107 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7108 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7109 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7110 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7111 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7112 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7113 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7114 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7115 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7116 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7117 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7118 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7119 declarations.
7120
5771c391
JJ
71212014-10-03 Jakub Jelinek <jakub@redhat.com>
7122
7123 PR libgomp/61200
7124 * testsuite/libgomp.c/pr61200.c: New test.
7125
bce16b88
JJ
71262014-09-18 Jakub Jelinek <jakub@redhat.com>
7127
7128 PR c++/63248
7129 * testsuite/libgomp.c++/pr63248.C: New test.
7130
3696163c
JJ
71312014-08-04 Jakub Jelinek <jakub@redhat.com>
7132
7133 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7134 is not zero, but taskgroup->children is NULL and there are
7135 any task->children, schedule those instead of waiting.
7136 * testsuite/libgomp.c/depend-6.c: New test.
7137 * testsuite/libgomp.c/depend-7.c: New test.
7138 * testsuite/libgomp.c/depend-8.c: New test.
7139 * testsuite/libgomp.c/depend-9.c: New test.
7140 * testsuite/libgomp.c/depend-10.c: New test.
7141
0494285a
JJ
71422014-08-01 Jakub Jelinek <jakub@redhat.com>
7143
7144 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7145 (struct gomp_taskwait): New type.
7146 (struct gomp_task): Add taskwait and parent_depends_on, remove
7147 in_taskwait and taskwait_sem fields.
7148 (gomp_finish_task): Don't destroy taskwait_sem.
7149 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7150 taskwait and parent_depends_on.
7151 (GOMP_task): For if (0) tasks with depend clause that depend on
7152 earlier tasks don't defer them, instead call
7153 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7154 Initialize redundant_out field, for redundant out entries just
7155 move them at the end of linked list instead of removing them
7156 completely, and set redundant_out flag instead of redundant.
7157 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7158 that task.
7159 (gomp_task_run_post_handle_dependers): If parent is in
7160 gomp_task_maybe_wait_for_dependencies and newly runnable task
7161 is not parent_depends_on, queue it in parent->children linked
7162 list after all runnable tasks with parent_depends_on set.
7163 Adjust for addition of taskwait indirection.
7164 (gomp_task_run_post_remove_parent): If parent is in
7165 gomp_task_maybe_wait_for_dependencies and task to be removed
7166 is parent_depends_on, decrement n_depend and if needed awake
7167 parent. Adjust for addition of taskwait indirection.
7168 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7169 (gomp_task_maybe_wait_for_dependencies): New function.
7170 * testsuite/libgomp.c/depend-5.c: New test.
7171
60ab4b44
TB
71722014-07-13 Tobias Burnus <burnus@net-b.de>
7173
7174 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7175 with TS 18508/Fortran 2015.
60ab4b44 7176
773ec47f
MP
71772014-07-06 Marek Polacek <polacek@redhat.com>
7178
7179 PR c/6940
7180 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7181
f707da16
JJ
71822014-07-03 Jakub Jelinek <jakub@redhat.com>
7183
7184 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7185 matches regex $lang_source_re, add $lang_include_flags to options.
7186 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7187 * testsuite/libgomp.c++/c++.exp: Likewise.
7188 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
7189 and lang_include_flags instead of adding -fintrinsic-modules-path= to
7190 ALWAYS_CFLAGS.
7191 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7192
07b6c044
TS
71932014-07-03 Thomas Schwinge <thomas@codesourcery.com>
7194
7195 * testsuite/libgomp.fortran/fortran.exp: Explain
7196 gfortran-dg-runtest usage.
7197
da6f124d
JJ
71982014-06-25 Jakub Jelinek <jakub@redhat.com>
7199
7200 * testsuite/libgomp.fortran/simd5.f90: New test.
7201 * testsuite/libgomp.fortran/simd6.f90: New test.
7202 * testsuite/libgomp.fortran/simd7.f90: New test.
7203
b46ebd6c
JJ
72042014-06-24 Jakub Jelinek <jakub@redhat.com>
7205
56ad0e38
JJ
7206 * testsuite/libgomp.c/for-2.c: Define SC to static for
7207 #pragma omp for simd testing.
7208 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7209 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7210 SC macro.
7211 * testsuite/libgomp.c/simd-14.c: New test.
7212 * testsuite/libgomp.c/simd-15.c: New test.
7213 * testsuite/libgomp.c/simd-16.c: New test.
7214 * testsuite/libgomp.c/simd-17.c: New test.
7215 * testsuite/libgomp.c++/for-10.C: Define SC to static for
7216 #pragma omp for simd testing.
7217 * testsuite/libgomp.c++/simd10.C: New test.
7218 * testsuite/libgomp.c++/simd11.C: New test.
7219 * testsuite/libgomp.c++/simd12.C: New test.
7220 * testsuite/libgomp.c++/simd13.C: New test.
7221
b46ebd6c
JJ
7222 * testsuite/libgomp.fortran/aligned1.f03: New test.
7223 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7224 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7225 tasks with !$omp parallel !$omp single.
7226 * testsuite/libgomp.fortran/target8.f90: New test.
7227 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7228 not to use trim in the combiner, instead call elemental function.
7229 (fn): New elemental function.
7230 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7231 Make elemental.
7232 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7233 omp_in): Likewise.
7234 * testsuite/libgomp.fortran/udr12.f90: New test.
7235 * testsuite/libgomp.fortran/udr13.f90: New test.
7236 * testsuite/libgomp.fortran/udr14.f90: New test.
7237 * testsuite/libgomp.fortran/udr15.f90: New test.
7238
f014c653
JJ
72392014-06-18 Jakub Jelinek <jakub@redhat.com>
7240
7241 * omp_lib.f90.in (openmp_version): Set to 201307.
7242 * omp_lib.h.in (openmp_version): Likewise.
7243 * testsuite/libgomp.c/target-8.c: New test.
7244 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7245 and inbranch clauses.
7246 * testsuite/libgomp.fortran/depend-3.f90: New test.
7247 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7248 openmp_version.
7249 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7250 * testsuite/libgomp.fortran/target1.f90: New test.
7251 * testsuite/libgomp.fortran/target2.f90: New test.
7252 * testsuite/libgomp.fortran/target3.f90: New test.
7253 * testsuite/libgomp.fortran/target4.f90: New test.
7254 * testsuite/libgomp.fortran/target5.f90: New test.
7255 * testsuite/libgomp.fortran/target6.f90: New test.
7256 * testsuite/libgomp.fortran/target7.f90: New test.
7257
92d28cbb
JJ
72582014-06-10 Jakub Jelinek <jakub@redhat.com>
7259
7260 PR fortran/60928
7261 * testsuite/libgomp.fortran/allocatable9.f90: New test.
7262 * testsuite/libgomp.fortran/allocatable10.f90: New test.
7263 * testsuite/libgomp.fortran/allocatable11.f90: New test.
7264 * testsuite/libgomp.fortran/allocatable12.f90: New test.
7265 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7266 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7267 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7268 * testsuite/libgomp.fortran/associate1.f90: New test.
7269 * testsuite/libgomp.fortran/associate2.f90: New test.
7270 * testsuite/libgomp.fortran/procptr1.f90: New test.
7271
5f23671d
JJ
72722014-06-06 Jakub Jelinek <jakub@redhat.com>
7273
7274 * testsuite/libgomp.fortran/simd1.f90: New test.
7275 * testsuite/libgomp.fortran/udr1.f90: New test.
7276 * testsuite/libgomp.fortran/udr2.f90: New test.
7277 * testsuite/libgomp.fortran/udr3.f90: New test.
7278 * testsuite/libgomp.fortran/udr4.f90: New test.
7279 * testsuite/libgomp.fortran/udr5.f90: New test.
7280 * testsuite/libgomp.fortran/udr6.f90: New test.
7281 * testsuite/libgomp.fortran/udr7.f90: New test.
7282 * testsuite/libgomp.fortran/udr8.f90: New test.
7283 * testsuite/libgomp.fortran/udr9.f90: New test.
7284 * testsuite/libgomp.fortran/udr10.f90: New test.
7285 * testsuite/libgomp.fortran/udr11.f90: New test.
7286
0389fbb5
UB
72872014-05-27 Uros Bizjak <ubizjak@gmail.com>
7288
7289 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7290 vect_simd_clones effective target.
7291 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7292
decaaec8
JJ
72932014-05-21 Jakub Jelinek <jakub@redhat.com>
7294
7295 PR middle-end/61252
7296 * testsuite/libgomp.c++/simd-9.C: New test.
7297
72832460
UB
72982014-05-18 Uros Bizjak <ubizjak@gmail.com>
7299
7300 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7301 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7302 texts according to their @menu entry positions.
7303
dd2fc525
JJ
73042014-05-11 Jakub Jelinek <jakub@redhat.com>
7305
7306 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7307 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7308 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7309 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7310 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7311 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7312 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7313 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7314 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7315 * testsuite/libgomp.fortran/depend-1.f90: New test.
7316 * testsuite/libgomp.fortran/depend-2.f90: New test.
7317 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7318 * testsuite/libgomp.fortran/simd1.f90: New test.
7319 * testsuite/libgomp.fortran/simd2.f90: New test.
7320 * testsuite/libgomp.fortran/simd3.f90: New test.
7321 * testsuite/libgomp.fortran/simd4.f90: New test.
7322 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7323
95782571
JJ
73242014-05-02 Jakub Jelinek <jakub@redhat.com>
7325
7326 * testsuite/libgomp.c/simd-10.c: New test.
7327 * testsuite/libgomp.c/simd-11.c: New test.
7328 * testsuite/libgomp.c/simd-12.c: New test.
7329 * testsuite/libgomp.c/simd-13.c: New test.
7330
f7468577
JJ
73312014-04-24 Jakub Jelinek <jakub@redhat.com>
7332
42056eac
JJ
7333 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7334 atomic type clauses in any order and optional comma in between.
7335 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7336 * testsuite/libgomp.c/atomic-17.c: Likewise.
7337
f7468577
JJ
7338 * testsuite/libgomp.c/simd-7.c: New test.
7339 * testsuite/libgomp.c/simd-8.c: New test.
7340 * testsuite/libgomp.c/simd-9.c: New test.
7341 * testsuite/libgomp.c/loop-16.c: New test.
7342
ab18f2f5
RH
73432014-04-02 Richard Henderson <rth@redhat.com>
7344
7345 * config/linux/futex.h (futex_wait): Get error value from errno.
7346 (futex_wake): Likewise.
7347
8bcc90b0
JJ
73482014-03-25 Jakub Jelinek <jakub@redhat.com>
7349
7350 PR c++/60331
7351 * testsuite/libgomp.c++/udr-11.C: New test.
7352 * testsuite/libgomp.c++/udr-12.C: New test.
7353 * testsuite/libgomp.c++/udr-13.C: New test.
7354 * testsuite/libgomp.c++/udr-14.C: New test.
7355 * testsuite/libgomp.c++/udr-15.C: New test.
7356 * testsuite/libgomp.c++/udr-16.C: New test.
7357 * testsuite/libgomp.c++/udr-17.C: New test.
7358 * testsuite/libgomp.c++/udr-18.C: New test.
7359 * testsuite/libgomp.c++/udr-19.C: New test.
7360
18d73c7f
RS
73612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7362
7363 Update copyright years
7364
f9030485
RS
73652014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7366
7367 * hashtab.h: Use the standard form for the copyright notice.
7368
98db73df
TB
73692014-01-02 Tobias Burnus <burnus@net-b.de>
7370
7371 * libgomp.texi: Bump @copying's copyright year.
7372
ae246f7f
AT
73732013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7374
7375 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7376 alloca () with __builtin_alloca ().
7377 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7378 * testsuite/libgomp.c/lock-3.c: Likewise.
7379 * testsuite/libgomp.c/pr48591.c: Likewise.
7380
fa00a5fe
JJ
73812013-12-17 Jakub Jelinek <jakub@redhat.com>
7382
7383 PR testsuite/59534
7384 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7385 comparisons.
7386
e9792e1d
JJ
73872013-12-16 Jakub Jelinek <jakub@redhat.com>
7388
7389 PR libgomp/58756
7390 * testsuite/libgomp.c/pr58756.c: New test.
7391
cab37c89
JJ
73922013-12-12 Jakub Jelinek <jakub@redhat.com>
7393
7394 PR libgomp/59467
7395 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7396 !$omp parallel.
7397
de14871c
TS
73982013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7399
1707a5de
TS
7400 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7401 ALWAYS_CFLAGS.
7402 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7403 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7404 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7405 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7406 Likewise.
7407
70f05c43
TS
7408 * libgomp_g.h: Include <stddef.h> for size_t.
7409
de14871c
TS
7410 * libgomp.spec.in: Update comment about libgomp's dependencies.
7411 * configure.ac: Likewise.
7412 * configure: Regenerate.
7413
83fd6c5b
TB
74142013-10-16 Tobias Burnus <burnus@net-b.de>
7415
7416 * libgomp.texi: (Runtime Library Routines): Update references for
7417 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7418 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7419 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7420 (Environment Variables): Update references for OpenMP 4.0. Add
7421 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7422 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7423 order.
7424
c8673881
JJ
74252013-10-14 Jakub Jelinek <jakub@redhat.com>
7426
7427 * env.c (parse_bind_var): Initialize value to avoid
7428 (false positive) warning.
7429
f89163fd
JJ
74302013-10-12 Jakub Jelinek <jakub@redhat.com>
7431
7432 PR libgomp/58691
7433 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7434 to check variable.
7435 (gomp_init_num_threads): Move i variable declaration into
7436 #ifdef CPU_ALLOC_SIZE block.
7437 * config/linux/affinity.c (gomp_affinity_init_level): Test
7438 gomp_places_list_len == 0 rather than gomp_places_list == 0
7439 when checking for topology reading error.
7440 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7441 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7442 gomp_places_list, only parse env var and always return false.
7443 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7444 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7445 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7446 and either of these variables were parsed correctly into a places
7447 list.
7448
1d340638
TS
74492013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7450 Jakub Jelinek <jakub@redhat.com>
7451
7452 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7453 of 5 loopfn matches.
7454 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7455 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7456 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7457 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7458 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7459 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7460 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7461 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7462
71a81c21
TS
74632013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7464
bd87f731
TS
7465 * Makefile.am (omp_lib.mod): Streamline rule.
7466 * Makefile.in: Regenerate.
7467
f5745bed
TS
7468 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7469 exceptions.
7470
b5512c66
TS
7471 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7472 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7473 * testsuite/libgomp.fortran/lib2.f: Likewise.
7474 * testsuite/libgomp.fortran/lib3.f: Likewise.
7475
451c19c4
TS
7476 * configure.ac: Typo fix.
7477 * configure: Regenerate.
7478
86a6016d
TS
7479 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7480 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7481
71a81c21
TS
7482 * omp.h.in: Don't touch the user's namespace.
7483
acf0174b
JJ
74842013-10-11 Jakub Jelinek <jakub@redhat.com>
7485 Tobias Burnus <burnus@net-b.de>
7486 Richard Henderson <rth@redhat.com>
7487
7488 * target.c: New file.
7489 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7490 * Makefile.in: Regenerated.
7491 * libgomp_g.h (GOMP_task): Add depend argument.
7492 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7493 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7494 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7495 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7496 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7497 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7498 GOMP_taskgroup_start, GOMP_taskgroup_end,
7499 GOMP_parallel_sections): New prototypes.
7500 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7501 (omp_is_initial_device_): New function.
7502 (ULP, STR1, STR2, ialias_redirect): Removed.
7503 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7504 omp_set_default_device_8_, omp_get_default_device_,
7505 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7506 functions.
7507 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7508 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7509 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7510 @@GOMP_4.0.
7511 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7512 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7513 omp_set_default_device, omp_set_default_device_,
7514 omp_set_default_device_8_, omp_get_default_device,
7515 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7516 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7517 omp_get_team_num_): Export @@OMP_4.0.
7518 * team.c (struct gomp_thread_start_data): Add place field.
7519 (gomp_thread_start): Clear thr->thread_pool and
7520 thr->task before returning. Use gomp_team_barrier_wait_final
7521 instead of gomp_team_barrier_wait. Initialize thr->place.
7522 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7523 team_cancelled and task_queued_count fields.
7524 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7525 before calling pthread_exit.
7526 (gomp_free_thread): No longer static. Use
7527 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7528 (gomp_team_start): Add flags argument. Set
7529 thr->thread_pool->threads_busy to nthreads immediately after creating
7530 new pool. Use gomp_managed_threads_lock instead of
7531 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7532 (gomp_team_end): Use gomp_managed_threads_lock instead of
7533 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7534 of gomp_team_barrier_wait. If team->team_cancelled, call
7535 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7536 rather than thr->ts.work_share.
7537 (initialize_team): Don't call gomp_sem_init here.
7538 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7539 caller.
7540 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7541 * env.c (gomp_global_icv): Add default_device_var, target_data and
7542 bind_var initializers.
7543 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7544 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7545 gomp_places_list_len): New variables.
7546 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7547 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7548 sized places.
7549 (gomp_cancel_var): New global variable.
7550 (parse_int): New function.
7551 (handle_omp_display_env): New function.
7552 (initialize_env): Use it. Initialize default_device_var.
7553 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7554 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7555 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7556 been successfully parsed (and call gomp_init_affinity in that case).
7557 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7558 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7559 omp_get_team_num, omp_is_initial_device): New functions.
7560 * libgomp.h: Include stdlib.h.
7561 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7562 Define.
7563 (struct target_mem_desc): Forward declare.
7564 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7565 and thread_limit_var fields.
7566 (gomp_get_num_devices): New prototype.
7567 (gomp_cancel_var): New extern decl.
7568 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7569 team_cancelled and task_queued_count fields. Add comments about
7570 task_{,queued_,running_}count.
7571 (gomp_cancel_kind): New enum.
7572 (gomp_work_share_end_cancel): New prototype.
7573 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7574 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7575 and depend fields.
7576 (struct gomp_taskgroup): New type.
7577 (struct gomp_task_depend_entry,
7578 struct gomp_dependers_vec): New types.
7579 (gomp_finish_task): Free depend_hash if non-NULL.
7580 (struct gomp_team_state): Add place_partition_off
7581 and place_partition_len fields.
7582 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7583 gomp_places_list_len): New extern decls.
7584 (struct gomp_thread): Add place field.
7585 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7586 (gomp_init_thread_affinity): Add place argument.
7587 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7588 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7589 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7590 gomp_affinity_init_level, gomp_affinity_print_place): New
7591 prototypes.
7592 (gomp_team_start): Add flags argument.
7593 (gomp_thread_limit_var, gomp_remaining_threads_count,
7594 gomp_remaining_threads_lock): Remove.
7595 (gomp_managed_threads_lock): New variable.
7596 (struct gomp_thread_pool): Add threads_busy field.
7597 (gomp_free_thread): New prototype.
7598 * task.c: Include hashtab.h.
7599 (hash_entry_type): New typedef.
7600 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7601 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7602 copy_ctors_done and taskgroup fields.
7603 (GOMP_task): Add depend argument, handle depend clauses. If
7604 gomp_team_barrier_cancelled or if it's taskgroup has been
7605 cancelled, don't queue or start new tasks. Set copy_ctors_done
7606 field if needed. Initialize taskgroup field. If copy_ctors_done
7607 and already cancelled, don't discard the task. If taskgroup is
7608 non-NULL, enqueue the task into taskgroup queue. Increment
7609 num_children field in taskgroup. Increment task_queued_count.
7610 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7611 gomp_task_run_post_remove_taskgroup): New inline functions.
7612 (gomp_task_run_post_handle_depend_hash,
7613 gomp_task_run_post_handle_dependers,
7614 gomp_task_run_post_handle_depend): New functions.
7615 (GOMP_taskwait): Use them. If more than one new tasks
7616 have been queued, wake other threads if needed.
7617 (gomp_barrier_handle_tasks): Likewise. If
7618 gomp_team_barrier_cancelled, don't start any new tasks, just free
7619 all tasks.
7620 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7621 * omp_lib.f90.in
7622 (omp_proc_bind_kind, omp_proc_bind_false,
7623 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7624 omp_proc_bind_spread): New params.
7625 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7626 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7627 omp_get_team_num, omp_is_initial_device): New interfaces.
7628 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7629 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7630 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7631 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7632 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7633 useless use omp_lib_kinds.
7634 * omp.h.in (omp_proc_bind_t): New typedef.
7635 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7636 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7637 omp_get_team_num, omp_is_initial_device): New prototypes.
7638 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7639 through to gomp_team_start.
7640 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7641 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7642 Adjust gomp_parallel_loop_start callers.
7643 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7644 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7645 GOMP_loop_end_cancel): New functions.
7646 (GOMP_parallel_end): Add ialias_redirect.
7647 * hashtab.h: New file.
7648 * libgomp.texi (Environment Variables): Minor cleanup,
7649 update section refs to OpenMP 4.0rc2.
7650 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7651 environment variables.
7652 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7653 team->work_shares_to_free to thr->ts.work_share before calling
7654 free_work_share.
7655 (gomp_work_share_end_cancel): New function.
7656 * config/linux/proc.c: Include errno.h.
7657 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7658 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7659 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7660 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7661 gomp_cpuset_size is sizeof (cpu_set_t).
7662 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7663 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7664 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7665 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7666 contain any logical CPUs.
7667 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7668 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7669 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7670 pthread_getaffinity_np. Check gomp_places_list instead of
7671 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7672 * config/linux/bar.c (gomp_barrier_wait_end,
7673 gomp_barrier_wait_last): Use BAR_* defines.
7674 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7675 from state where needed. Set work_share_cancelled to 0 on last
7676 thread.
7677 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7678 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7679 functions.
7680 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7681 Add cpusetsize argument.
7682 (gomp_cpuset_size, gomp_cpusetp): Declare.
7683 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7684 (affinity_counter): Remove.
7685 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7686 if CPU_ALLOC_SIZE isn't defined.
7687 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7688 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7689 bind current thread to the first place.
7690 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7691 pthread_setaffinity_np to gomp_places_list[place].
7692 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7693 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7694 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7695 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7696 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7697 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7698 (gomp_barrier_t): Add awaited_final field.
7699 (gomp_barrier_init): Initialize awaited_final field.
7700 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7701 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7702 prototypes.
7703 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7704 defines.
7705 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7706 gomp_team_barrier_cancelled): New inline functions.
7707 (gomp_barrier_last_thread,
7708 gomp_team_barrier_set_task_pending,
7709 gomp_team_barrier_clear_task_pending,
7710 gomp_team_barrier_set_waiting_for_tasks,
7711 gomp_team_barrier_waiting_for_tasks,
7712 gomp_team_barrier_done): Use BAR_* defines.
7713 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7714 (gomp_barrier_wait_end): Use BAR_* defines.
7715 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7716 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7717 Use BAR_* defines.
7718 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7719 gomp_team_barrier_cancel): New functions.
7720 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7721 argument.
7722 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7723 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7724 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7725 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7726 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7727 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7728 (gomp_barrier_t): Add cancellable field.
7729 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7730 gomp_team_barrier_cancel): New prototypes.
7731 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7732 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7733 gomp_team_barrier_cancelled): New inline functions.
7734 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7735 gomp_team_barrier_set_task_pending,
7736 gomp_team_barrier_clear_task_pending,
7737 gomp_team_barrier_set_waiting_for_tasks,
7738 gomp_team_barrier_waiting_for_tasks,
7739 gomp_team_barrier_done): Use BAR_* defines.
7740 * barrier.c (GOMP_barrier_cancel): New function.
7741 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7742 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7743 omp_proc_bind_spread): New params.
7744 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7745 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7746 omp_get_team_num, omp_is_initial_device): New externals.
7747 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7748 New functions.
7749 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7750 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7751 infinity. If not nested, just return minimum of max_num_threads
7752 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7753 to the returned value. Otherwise, don't update atomically
7754 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7755 (GOMP_parallel_end): Adjust for thread_limit now being in
7756 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7757 infinity. Adjust threads_busy in the pool rather than
7758 gomp_remaining_threads_count. Remember team->nthreads and call
7759 gomp_team_end before adjusting threads_busy, if not nested
7760 afterwards, just set it to 1 non-atomically. Add ialias.
7761 (GOMP_parallel_start): Adjust gomp_team_start caller.
7762 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7763 * testsuite/libgomp.c/affinity-1.c: New test.
7764 * testsuite/libgomp.c/atomic-15.c: New test.
7765 * testsuite/libgomp.c/atomic-16.c: New test.
7766 * testsuite/libgomp.c/atomic-17.c: New test.
7767 * testsuite/libgomp.c/cancel-for-1.c: New test.
7768 * testsuite/libgomp.c/cancel-for-2.c: New test.
7769 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7770 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7771 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7772 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7773 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7774 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7775 * testsuite/libgomp.c/depend-1.c: New test.
7776 * testsuite/libgomp.c/depend-2.c: New test.
7777 * testsuite/libgomp.c/depend-3.c: New test.
7778 * testsuite/libgomp.c/depend-4.c: New test.
7779 * testsuite/libgomp.c/for-1.c: New test.
7780 * testsuite/libgomp.c/for-1.h: New file.
7781 * testsuite/libgomp.c/for-2.c: New test.
7782 * testsuite/libgomp.c/for-2.h: New file.
7783 * testsuite/libgomp.c/for-3.c: New test.
7784 * testsuite/libgomp.c/pr58392.c: New test.
7785 * testsuite/libgomp.c/simd-1.c: New test.
7786 * testsuite/libgomp.c/simd-2.c: New test.
7787 * testsuite/libgomp.c/simd-3.c: New test.
7788 * testsuite/libgomp.c/simd-4.c: New test.
7789 * testsuite/libgomp.c/simd-5.c: New test.
7790 * testsuite/libgomp.c/simd-6.c: New test.
7791 * testsuite/libgomp.c/target-1.c: New test.
7792 * testsuite/libgomp.c/target-2.c: New test.
7793 * testsuite/libgomp.c/target-3.c: New test.
7794 * testsuite/libgomp.c/target-4.c: New test.
7795 * testsuite/libgomp.c/target-5.c: New test.
7796 * testsuite/libgomp.c/target-6.c: New test.
7797 * testsuite/libgomp.c/target-7.c: New test.
7798 * testsuite/libgomp.c/taskgroup-1.c: New test.
7799 * testsuite/libgomp.c/thread-limit-1.c: New test.
7800 * testsuite/libgomp.c/thread-limit-2.c: New test.
7801 * testsuite/libgomp.c/thread-limit-3.c: New test.
7802 * testsuite/libgomp.c/udr-1.c: New test.
7803 * testsuite/libgomp.c/udr-2.c: New test.
7804 * testsuite/libgomp.c/udr-3.c: New test.
7805 * testsuite/libgomp.c++/affinity-1.C: New test.
7806 * testsuite/libgomp.c++/atomic-10.C: New test.
7807 * testsuite/libgomp.c++/atomic-11.C: New test.
7808 * testsuite/libgomp.c++/atomic-12.C: New test.
7809 * testsuite/libgomp.c++/atomic-13.C: New test.
7810 * testsuite/libgomp.c++/atomic-14.C: New test.
7811 * testsuite/libgomp.c++/atomic-15.C: New test.
7812 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7813 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7814 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7815 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7816 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7817 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7818 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7819 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7820 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7821 * testsuite/libgomp.c++/cancel-test.h: New file.
7822 * testsuite/libgomp.c++/for-9.C: New test.
7823 * testsuite/libgomp.c++/for-10.C: New test.
7824 * testsuite/libgomp.c++/for-11.C: New test.
7825 * testsuite/libgomp.c++/simd-1.C: New test.
7826 * testsuite/libgomp.c++/simd-2.C: New test.
7827 * testsuite/libgomp.c++/simd-3.C: New test.
7828 * testsuite/libgomp.c++/simd-4.C: New test.
7829 * testsuite/libgomp.c++/simd-5.C: New test.
7830 * testsuite/libgomp.c++/simd-6.C: New test.
7831 * testsuite/libgomp.c++/simd-7.C: New test.
7832 * testsuite/libgomp.c++/simd-8.C: New test.
7833 * testsuite/libgomp.c++/target-1.C: New test.
7834 * testsuite/libgomp.c++/target-2.C: New test.
7835 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7836 * testsuite/libgomp.c++/target-3.C: New test.
7837 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7838 * testsuite/libgomp.c++/udr-1.C: New test.
7839 * testsuite/libgomp.c++/udr-2.C: New test.
7840 * testsuite/libgomp.c++/udr-3.C: New test.
7841 * testsuite/libgomp.c++/udr-4.C: New test.
7842 * testsuite/libgomp.c++/udr-5.C: New test.
7843 * testsuite/libgomp.c++/udr-6.C: New test.
7844 * testsuite/libgomp.c++/udr-7.C: New test.
7845 * testsuite/libgomp.c++/udr-8.C: New test.
7846 * testsuite/libgomp.c++/udr-9.C: New test.
7847
bd599dea
JJ
78482013-09-20 Jakub Jelinek <jakub@redhat.com>
7849
7850 PR testsuite/57605
7851 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7852 ALWAYS_CFLAGS.
7853
3cbe17f7
AM
78542013-09-20 Alan Modra <amodra@gmail.com>
7855
7856 * configure: Regenerate.
7857
4befd127
JJ
78582013-09-19 Jakub Jelinek <jakub@redhat.com>
7859
7860 * testsuite/libgomp.c/sections-2.c: New test.
7861
946c8f7b
MS
78622013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7863
7864 * testsuite/libgomp.fortran/strassen.f90:
7865 Add dg-skip-if aarch64_tiny.
7866
1ef3b58e
IS
78672013-06-20 Iain Sandoe <iain@codesourcery.com>
7868 Cesar Philippidis <cesar@codesourcery.com>
7869
7870 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7871 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7872 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7873 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7874 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7875 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7876 Use dg-runtest rather than gfortran-dg-runtest.
7877
9275f73a
TS
78782013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7879
7880 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7881 Linux-based x86 systems to cover all GNU systems.
7882 * testsuite/libgomp.c/lock-3.c: Likewise.
7883 * testsuite/libgomp.c/pr48591.c: Likewise.
7884
492992e2
TS
78852013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7886
48df3acb
TS
7887 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7888 GNU/Hurd, as done for Linux-based systems.
7889
492992e2
TS
7890 * config/posix/ptrlock.h: Fix comment.
7891
4fed6b25
TB
78922013-05-27 Tobias Burnus <burnus@net-b.de>
7893
7894 PR fortran/57423
7895 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7896 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7897 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7898 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7899 omp_destroy_nest_lock): Correct arguments to match the one in
7900 the OpenMP spec.
7901 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7902 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7903 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7904 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7905
5a0f4dd3
JJ
79062013-05-16 Jakub Jelinek <jakub@redhat.com>
7907
7908 * testsuite/libgomp.c/loop-13.c: New test.
7909 * testsuite/libgomp.c/loop-14.c: New test.
7910 * testsuite/libgomp.c/loop-15.c: New test.
7911 * testsuite/libgomp.c++/loop-13.C: New test.
7912 * testsuite/libgomp.c++/loop-14.C: New test.
7913 * testsuite/libgomp.c++/loop-15.C: New test.
7914
6d840d99
JJ
79152013-02-06 Jakub Jelinek <jakub@redhat.com>
7916
7917 PR middle-end/56217
7918 * testsuite/libgomp.c++/pr56217.C: New test.
7919
bed8d8a6
AM
79202013-02-01 Alan Modra <amodra@gmail.com>
7921
7922 * task.c (GOMP_task, GOMP_taskwait): Comment.
7923
3b35cd04
DV
79242013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7925 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7926
7927 PR libgomp/55561
7928 * config/linux/wait.h (do_spin): Use atomic load for addr.
7929 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7930 for intptr and ptrlock.
7931 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7932 for ptrlock.
7933
9a647288
AM
79342013-01-22 Alan Modra <amodra@gmail.com>
7935
7936 PR libgomp/51376
7937 PR libgomp/56073
7938 * task.c (GOMP_task): Revert 2011-12-09 change.
7939 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
7940 barrier to read task->children..
7941 (gomp_barrier_handle_tasks): ..and matching atomic store with
7942 release barrier here when setting parent->children to NULL.
7943
f34dea03
JJ
79442013-01-16 Jakub Jelinek <jakub@redhat.com>
7945 Tobias Burnus <burnus@net-b.de>
7946
7947 PR driver/55884
7948 * testsuite/libgomp.fortran/fortran.exp: Use
7949 -fintrinsic-modules-path= instead of
7950 -fintrinsic-modules-path.
7951
8129609c
RS
79522013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
7953
7954 Update copyright years.
7955
aa86bf1e
TB
79562012-12-19 Tobias Burnus <burnus@net-b.de>
7957
7958 * testsuite/libgomp.fortran/fortran.exp: Set
7959 -fintrinsic-modules-path.
7960
2865ea66
TB
79612012-12-19 Tobias Burnus <burnus@net-b.de>
7962
7963 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
7964 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
7965
4c5ba8d0
JJ
79662012-11-21 Jakub Jelinek <jakub@redhat.com>
7967
7968 PR libgomp/55411
7969 * team.c (gomp_free_thread): Decrease gomp_managed_threads
7970 if pool had any threads_used.
7971
e9f958c2
JH
79722012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
7973
7974 * testsuite/libgomp.c++/pr24455.C: Use
7975 -Wl,-undefined,dynamic_lookup on darwin.
7976
a57d75dc
DE
79772012-11-07 David Edelsohn <dje.gcc@gmail.com>
7978
7979 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
7980
c6c08485
DH
79812012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
7982
7983 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
7984
c1f37c00
IB
79852012-10-23 Ian Bolton <ian.bolton@arm.com>
7986 Jim MacArthur <jim.macarthur@arm.com>
7987 Marcus Shawcroft <marcus.shawcroft@arm.com>
7988 Nigel Stephens <nigel.stephens@arm.com>
7989 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7990 Richard Earnshaw <rearnsha@arm.com>
7991 Sofiane Naci <sofiane.naci@arm.com>
7992 Stephen Thomas <stephen.thomas@arm.com>
7993 Tejas Belagod <tejas.belagod@arm.com>
7994 Yufeng Zhang <yufeng.zhang@arm.com>
7995
7996 * configure.tgt: Add AArch64.
7997
7c424acd
JM
79982012-10-04 Jason Merrill <jason@redhat.com>
7999
8000 * testsuite/libgomp.c++/tls-init1.C: New.
8001
6608378b
DE
80022012-09-14 David Edelsohn <dje.gcc@gmail.com>
8003
8004 * configure: Regenerated.
8005
c24dbebb
CLT
80062012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8007
8008 * config/linux/mips/futex.h (sys_futex0): Change to static
8009 function with noinline, nomips16 attributes under MIPS16. Adjust
8010 asm statement to place 'li v0,SYS_futex' immediately before
8011 syscall insn.
8012
3d3949df
SL
80132012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8014
8015 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8016 conflict with index.html on case-insensitive file systems.
8017
68a12ef3
UB
80182012-07-03 Uros Bizjak <ubizjak@gmail.com>
8019
8020 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8021 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8022
33ad93b9 80232012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8024 Michael Matz <matz@suse.de>
8025 Tobias Grosser <tobias@grosser.es>
8026 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8027
8028 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8029 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8030 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8031 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8032
e6fdc918
AS
80332012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8034
8035 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8036
62e0a1ed
RG
80372012-06-22 Richard Guenther <rguenther@suse.de>
8038
8039 Merge from graphite branch
8040 2012-01-13 Tobias Grosser <tobias@grosser.es>
8041
8042 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8043 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8044
26127932
JJ
80452012-06-07 Jakub Jelinek <jakub@redhat.com>
8046
8047 PR middle-end/53580
8048 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8049 use GOMP_barrier () call instead.
8050 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8051 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8052 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8053 call GOMP_barrier instead.
8054 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8055
43fa5db5
JJ
80562012-06-06 Jakub Jelinek <jakub@redhat.com>
8057
8058 PR libgomp/52993
8059 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8060 argument to memset call.
8061
e6d5f8c9
L
80622012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8063
8064 * configure: Regenerated.
8065
559d990c
MLI
80662012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8067
8068 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8069
b9c23a61
L
80702012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8071
8072 PR bootstrap/52812
8073 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8074
c140ddf3
JJ
80752012-03-22 Jakub Jelinek <jakub@redhat.com>
8076
8077 PR middle-end/52547
8078 * testsuite/libgomp.c/pr52547.c: New test.
8079
6a26a74d
BRF
80802012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8081
8082 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8083
b24513a1
RO
80842012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8085
8086 * configure.tgt (mips-sgi-irix6*): Remove.
8087
5c30094f
RO
80882012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8089
8090 * configure.tgt (alpha*-dec-osf*): Remove.
8091
8092 * config/osf/sem.h: Remove.
8093 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8094
a339c9d6
EB
80952012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8096
8097 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8098
cc2de92d
RO
80992012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8100
8101 PR libstdc++/52188
8102 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8103 Remove ENABLE_SYMVERS_SOL2.
8104 * configure: Regenerate.
8105 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8106 (PREPROCESS): New variable.
8107 (libgomp.ver): New target.
8108 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8109 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8110 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8111 Use libgomp.ver.
8112 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8113 * Makefile.in: Regenerate.
8114
dd552284
WL
81152012-02-14 Walter Lee <walt@tilera.com>
8116
8117 * configure.tgt: Handle tilegx and tilepro.
8118 * config/linux/tile/futex.h: New file.
8119
31432e21
RG
81202012-02-08 Richard Guenther <rguenther@suse.de>
8121
8122 PR tree-optimization/46886
8123 * testsuite/libgomp.c/pr46886.c: New testcase.
8124
b9264b5f
MK
81252012-01-25 Matthias Klose <doko@ubuntu.com>
8126
8127 * config/linux/arm: Remove empty directory.
8128 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8129
fbf7be80
AM
81302011-12-09 Alan Modra <amodra@gmail.com>
8131
8132 PR libgomp/51376
8133 * task.c (GOMP_taskwait): Don't access task->children outside of
8134 task_lock mutex region.
8135 (GOMP_task): Likewise.
8136
5de62d00
JJ
81372011-12-06 Jakub Jelinek <jakub@redhat.com>
8138
8139 PR libgomp/51132
8140 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8141 to file scope.
8142 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8143 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8144 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8145 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8146 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8147
45608a43
AM
81482011-12-02 Alan Modra <amodra@gmail.com>
8149
8150 * config/linux/affinity.c: Use atomic rather than sync builtin.
8151 * config/linux/lock.c: Likewise.
8152 * config/linux/ptrlock.h: Likewise.
8153 * config/linux/ptrlock.c: Likewise.
8154 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8155 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8156 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8157 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8158 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8159 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8160 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8161 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8162 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8163 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8164
ab6dd406
AM
81652011-11-30 Alan Modra <amodra@gmail.com>
8166
8167 PR libgomp/51298
8168 * config/linux/bar.h: Use atomic rather than sync builtins.
8169 * config/linux/bar.c: Likewise. Add missing acquire
8170 synchronisation on generation field.
8171 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8172 double unlock.
8173
b40c885f
AM
81742011-11-30 Alan Modra <amodra@gmail.com>
8175
8176 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8177 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8178 * config/linux/mutex.h: Use atomic rather than sync builtins.
8179 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
8180 * config/linux/omp-lock.h: Comment fix.
8181 * config/linux/arm/mutex.h: Delete.
8182 * config/linux/powerpc/mutex.h: Delete.
8183 * config/linux/ia64/mutex.h: Delete.
8184 * config/linux/mips/mutex.h: Delete.
8185
3e348fcc
AM
81862011-11-30 Alan Modra <amodra@gmail.com>
8187
8188 PR libgomp/51249
8189 * config/linux/sem.h: Rewrite.
8190 * config/linux/sem.c: Rewrite.
8191
cef86eb2
RH
81922011-11-28 Richard Henderson <rth@redhat.com>
8193
8194 * libgomp.h (enum memmodel): New.
8195
c6084f68
AT
81962011-11-21 Andreas Tobler <andreast@fgznet.ch>
8197
8198 * configure: Regenerate.
8199
06fe026c
MK
82002011-10-10 Matthias Klose <doko@ubuntu.com>
8201
8202 * config/posix95: Remove empty directory.
8203
a6c975bd
JJ
82042011-08-26 Jakub Jelinek <jakub@redhat.com>
8205
8206 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8207
c26dffff
JJ
82082011-08-19 Jakub Jelinek <jakub@redhat.com>
8209
8210 PR fortran/49792
8211 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8212 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8213
ddaad3c8
RO
82142011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8215
8216 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8217
98d03683
RO
82182011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8219
8220 PR libgomp/49965
8221 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8222
e0b23d9f
UB
82232011-08-03 Uros Bizjak <ubizjak@gmail.com>
8224
8225 * config/linux/proc.h: New.
8226 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
8227 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
8228 (gomp_init_num_threads): Update call to cpuset_popcount.
8229 (get_num_procs): Ditto.
8230 * config/linux/affinity.c (gomp_init_affinity): Call
8231 gomp_cpuset_popcount.
8232
20906c66
JJ
82332011-08-02 Jakub Jelinek <jakub@redhat.com>
8234
8235 PR fortran/42041
8236 PR fortran/46752
8237 * omp.h.in (omp_in_final): New prototype.
8238 * omp_lib.f90.in (omp_in_final): New interface.
8239 (omp_integer_kind, omp_logical_kind): Remove
8240 and replace all its uses in the module with 4.
8241 (openmp_version): Change to 201107.
8242 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8243 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8244 kind for the parameters.
8245 (omp_in_final): New external.
8246 (openmp_version): Change to 201107.
8247 * task.c (omp_in_final): New function.
8248 (gomp_init_task): Initialize final_task.
8249 (GOMP_task): Remove unused attribute from flags. Handle final
8250 tasks.
8251 (GOMP_taskyield): New function.
8252 (omp_in_final): Return true if if (false) or final (true) task
8253 or descendant of final (true).
8254 * fortran.c (omp_in_final_): New function.
8255 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8256 (GOMP_3.0): Export GOMP_taskyield.
8257 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8258 variables.
8259 (parse_unsigned_long_list): New function.
8260 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
8261 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
8262 even if parse_affinity returned false.
8263 * config/linux/affinity.c (gomp_init_affinity): Handle
8264 gomp_cpu_affinity_len == 0.
8265 * libgomp_g.h (GOMP_taskyield): New prototype.
8266 * libgomp.h (struct gomp_task): Add final_task field.
8267 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8268 * team.c (gomp_team_start): Override new task's nthreads_var icv
8269 if list form OMP_NUM_THREADS has been used and it has value for
8270 the new nesting level.
8271
8272 * testsuite/libgomp.c/atomic-11.c: New test.
8273 * testsuite/libgomp.c/atomic-12.c: New test.
8274 * testsuite/libgomp.c/atomic-13.c: New test.
8275 * testsuite/libgomp.c/atomic-14.c: New test.
8276 * testsuite/libgomp.c/reduction-6.c: New test.
8277 * testsuite/libgomp.c/task-5.c: New test.
8278 * testsuite/libgomp.c++/atomic-2.C: New test.
8279 * testsuite/libgomp.c++/atomic-3.C: New test.
8280 * testsuite/libgomp.c++/atomic-4.C: New test.
8281 * testsuite/libgomp.c++/atomic-5.C: New test.
8282 * testsuite/libgomp.c++/atomic-6.C: New test.
8283 * testsuite/libgomp.c++/atomic-7.C: New test.
8284 * testsuite/libgomp.c++/atomic-8.C: New test.
8285 * testsuite/libgomp.c++/atomic-9.C: New test.
8286 * testsuite/libgomp.c++/task-8.C: New test.
8287 * testsuite/libgomp.c++/reduction-4.C: New test.
8288 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8289 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8290 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8291 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8292 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8293 * testsuite/libgomp.fortran/pointer1.f90: New test.
8294 * testsuite/libgomp.fortran/pointer2.f90: New test.
8295 * testsuite/libgomp.fortran/task4.f90: New test.
8296
82972011-08-02 Tobias Burnus <burnus@net-b.de>
8298
8299 * libgomp.texi: Update OpenMP spec references to 3.1.
8300 (omp_in_final,OMP_PROC_BIND): New sections.
8301 (OMP_NUM_THREADS): Document that the value can be now a list.
8302 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8303
c01ecafc
L
83042011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8305
8306 * config/linux/x86/futex.h: Check __x86_64__ instead of
8307 __LP64__.
8308
25142650
JJ
83092011-07-29 Jakub Jelinek <jakub@redhat.com>
8310
8311 PR middle-end/49897
8312 PR middle-end/49898
8313 * testsuite/libgomp.c/pr49897-1.c: New test.
8314 * testsuite/libgomp.c/pr49897-2.c: New test.
8315 * testsuite/libgomp.c/pr49898-1.c: New test.
8316 * testsuite/libgomp.c/pr49898-2.c: New test.
8317
f53d712f
L
83182011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8319
8320 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8321 for ia32 instead of ilp32.
8322
8323 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8324 * testsuite/libgomp.c/atomic-6.c: Likewise.
8325
3689198d
SP
83262011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8327
8328 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8329 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8330
1a79cb73
RO
83312011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8332
8333 PR libgomp/45351
8334 * config/osf/sem.h: New file.
8335 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8336
c1f51484
RO
83372011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8338
8339 PR target/49541
8340 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8341 ldflags.
8342
bfee0724
JJ
83432011-07-15 Jakub Jelinek <jakub@redhat.com>
8344
8345 * config/linux/wait.h (do_spin): New inline, largely copied
8346 from do_wait, just don't do futex_wait here, instead return true if
8347 it should be done.
8348 (do_wait): Implement using do_spin.
8349 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8350 to prototype.
8351 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8352 __sync_bool_compare_and_swap, pass the oldval to
8353 gomp_mutex_lock_slow.
8354 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8355 If all mutex contenders are just spinning and not sleeping, don't
8356 change state to 2 unnecessarily. Optimize the loop when state has
8357 already become 2 to use just one atomic operation per loop instead
8358 of two.
8359 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8360 to prototype.
8361 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8362 __sync_bool_compare_and_swap, pass the oldval to
8363 gomp_mutex_lock_slow.
8364
fb79f500
JJ
83652011-06-22 Jakub Jelinek <jakub@redhat.com>
8366
8367 PR libgomp/49490
8368 * iter.c (gomp_iter_static_next): For chunk size 0
8369 only use n ceil/ nthreads size for the first
8370 n % nthreads threads in the team instead of
8371 all threads except for the last few ones which
8372 get less work or none at all.
8373 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8374 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8375 chunk argument, set run_sched_modifier to 0 for static
8376 resp. 1 for other kinds. If chunk argument is 0
8377 and not static, set value to 1.
8378
4577f730
JJ
83792011-05-19 Jakub Jelinek <jakub@redhat.com>
8380
ea93a47b
JJ
8381 PR c++/49043
8382 * testsuite/libgomp.c++/pr49043.C: New test.
8383
4577f730
JJ
8384 PR c++/48869
8385 * testsuite/libgomp.c++/pr48869.C: New test.
8386
e7385332
JJ
83872011-05-06 Jakub Jelinek <jakub@redhat.com>
8388
8389 PR fortran/48894
8390 * fortran.c: Include limits.h.
8391 (TO_INT): Define.
8392 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8393 *set.
8394 (omp_set_num_threads_8_, omp_set_schedule_8_,
8395 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8396 omp_get_team_size_8_): Use TO_INT macro.
8397 * testsuite/libgomp.fortran/pr48894.f90: New test.
8398
20790697
JJ
83992011-04-13 Jakub Jelinek <jakub@redhat.com>
8400
8401 PR middle-end/48591
8402 * testsuite/libgomp.c/pr48591.c: New test.
8403
bf382f5f
RO
84042011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8405
8406 PR bootstrap/48135
8407 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8408 * configure: Regenerate.
8409
113a53c1
JJ
84102011-02-27 Jakub Jelinek <jakub@redhat.com>
8411
8412 PR fortran/47886
8413 * testsuite/libgomp.fortran/task3.f90: New test.
8414
0024f1af
TB
84152011-02-24 Tobias Burnus <burnus@net-b.de>
8416
8417 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8418
21e1e594
JJ
84192011-02-23 Jakub Jelinek <jakub@redhat.com>
8420
8421 PR libgomp/47854
8422 * libgomp.texi (omp_get_wtime): Don't say time in the past
8423 must be Unix Epoch.
8424
67962076
JJ
84252011-02-18 Jakub Jelinek <jakub@redhat.com>
8426
8427 PR libgomp/47804
8428 * testsuite/libgomp.fortran/fortran.exp: Check for both
8429 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8430 but $blddir != "", still append ${blddir}/${lang_library_path}
8431 to ld_library_path.
8432
3808007c
TB
84332011-02-16 Tobias Burnus <burnus@net-b.de>
8434
8435 PR libgomp/47758
8436 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8437 of libquadmath.a before adding its libpath to ldflags.
8438
53b4d41d
JJ
84392011-02-14 Jakub Jelinek <jakub@redhat.com>
8440
8441 PR libgomp/47731
8442 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8443 to FUTEX_WAIT futex syscall.
8444 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8445
029c8f3e
RW
84462011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8447
8448 * configure: Regenerate.
8449
bddd6626
BK
84502011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8451
8452 PR libstdc++/36104
8453 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8454
f1d4ab26
GP
84552011-01-16 Gerald Pfeifer
8456
8457 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8458
2b503136
JJ
84592010-12-14 Jakub Jelinek <jakub@redhat.com>
8460
8461 PR fortran/46874
8462 * libgomp.fortran/allocatable6.f90: New test.
8463
c0f9d583
RO
84642010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8465
8466 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8467 * configure: Regenerate.
8468
7de6ba7a
DK
84692010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8470
8471 PR target/40125
8472 PR lto/46695
8473 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8474 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8475 * aclocal.m4: Regenerate.
8476 * configure: Regenerate.
8477 * Makefile.in: Regenerate.
8478 * testsuite/Makefile.in: Regenerate.
8479
b7516041
JJ
84802010-12-02 Jakub Jelinek <jakub@redhat.com>
8481
edaadf74
JJ
8482 PR fortran/46753
8483 * libgomp.fortran/pr46753.f90: New test.
8484
4c698cf8
JJ
8485 PR libgomp/43706
8486 * env.c (initialize_env): Default to spin count 300000
8487 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8488 is specified.
8489
b7516041
JJ
8490 PR libgomp/45240
8491 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8492 at the end if sync builtins aren't supported.
8493
6b43a34c
RO
84942010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8495
8496 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8497
950691fa
RO
84982010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8499
8500 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8501
fb9041ea
IS
85022010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8503
8504 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8505
1ec601bf
FXC
85062010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8507 Tobias Burnus <burnus@net-b.de>
8508
8509 PR fortran/32049
3e348fcc 8510 * configure.ac:
1ec601bf
FXC
8511 * configure: Regenerate.
8512
d213e92e
MS
85132010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8514
8515 * config/linux/futex.h: New.
8516 * config/linux/arm/mutex.h: New.
8517 * configure.tgt (arm*-*-linux*): Add config path.
8518
89d5c66f
SP
85192010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8520
8521 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8522
87350d4a
TB
85232010-09-23 Tobias Burnus <burnus@net-b.de>
8524
8525 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8526 Change Fortran datatype to LOGICAL.
8527 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8528 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8529
75bc9e5e
RW
85302010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8531
8532 * configure: Regenerate.
8533
acb5c916
JJ
85342010-07-26 Jakub Jelinek <jakub@redhat.com>
8535
8536 * libgomp.texi: Add function keyword to a couple of Fortran
8537 interfaces, use integer instead of int for Fortran.
8538
6a2ba183
AH
85392010-07-26 Aldy Hernandez <aldyh@redhat.com>
8540
8541 * libgomp.texi: Fix spelling and pasto problems throughout.
8542 Adjust prototypes to match code.
8543
df161b69
TB
85442010-07-24 Tobias Burnus <burnus@net-b.de>
8545
8546 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8547 silence -fwhole-file warning.
8548
16c9d3b1
RO
85492010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8550
8551 * configure.tgt (*-*-solaris2.[56]*): Removed.
8552
6d28b933
RO
85532010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8554
8555 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8556 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8557 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8558 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8559 targetting solaris2*.
8560 * configure: Regenerate.
8561 * config.h.in: Regenerate.
8562
8563 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8564 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8565 Add libgomp_version_dep.
8566 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8567 versioning.
8568 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8569 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8570 * Makefile.in: Regenerate.
8571
8572 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8573 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8574 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8575 to common block, protected by
8576 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8577
07a67d6a
GP
85782010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8579
8580 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8581
dbd34b89
IS
85822010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8583
8584 PR bootstrap/43170
8585 * configure: Regenerate.
8586
13917ae3
RW
85872010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8588
8589 PR other/43620
8590 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8591 * configure: Regenerate.
8592 * Makefile.in: Regenerate.
8593 * testsuite/Makefile.in: Regenerate.
8594
b83a701b
JJ
85952010-04-26 Jakub Jelinek <jakub@redhat.com>
8596
8597 PR c/43893
8598 * testsuite/libgomp.c/pr43893.c: New test.
8599 * testsuite/libgomp.c++/pr43893.C: New test.
8600
78db7d92
JJ
86012010-04-21 Jakub Jelinek <jakub@redhat.com>
8602
8603 PR middle-end/43570
8604 * testsuite/libgomp.fortran/vla8.f90: New test.
8605
5221d7a9
JJ
86062010-04-20 Jakub Jelinek <jakub@redhat.com>
8607
e4ba7a60
JJ
8608 PR libgomp/43706
8609 * config/linux/affinity.c (gomp_init_affinity): Decrease
8610 gomp_available_cpus if affinity mask confines the process to fewer
8611 CPUs.
8612 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8613 non-NULL, just return gomp_available_cpus.
8614
5221d7a9
JJ
8615 PR libgomp/43569
8616 * sections.c (gomp_sections_init): Initialize ws->mode.
8617
289a9f86
UB
86182010-04-14 Uros Bizjak <ubizjak@gmail.com>
8619
8620 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8621 not unused bar variable.
8622 * configure: Regenerate.
8623
4d9e8446
RW
86242010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8625
8626 * Makefile.in: Regenerate.
8627 * aclocal.m4: Regenerate.
8628 * testsuite/Makefile.in: Regenerate.
8629
80f046cc
JJ
86302010-03-22 Jakub Jelinek <jakub@redhat.com>
8631
8632 PR libgomp/42942
8633 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8634 (initialize_env): Adjust callers.
8635 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8636 when the argument is 0.
8637
8638 * testsuite/libgomp.c/pr42942.c: New test.
8639
b58543c3
SP
86402010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8641
8642 PR middle-end/42644
8643 PR middle-end/42130
8644 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8645 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8646
41d1138f
RO
86472010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8648
8649 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8650 * testsuite/libgomp.c++/task-6.C: Likewise.
8651
6684eb28
SE
86522010-01-28 Steve Ellcey <sje@cup.hp.com>
8653
8654 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8655
2122aa97
PB
86562010-01-26 Paolo Bonzini <bonzini@gnu.org>
8657
8658 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8659 * configure: Regenerate.
8660
057dd91d
JJ
86612010-01-26 Jakub Jelinek <jakub@redhat.com>
8662
8663 PR fortran/42866
8664 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8665
d0709b6a
PB
86662010-01-20 Paolo Bonzini <bonzini@gnu.org>
8667
8668 * configure.ac: Test for executability of GFORTRAN.
8669 * configure: Regenerate.
8670
b9497ab5
RO
86712010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8672
8673 * configure: Regenerate.
8674
45de5648
L
86752010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8676
8677 PR libgomp/42602
8678 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8679
e74003a1
RG
86802010-01-03 Richard Guenther <rguenther@suse.de>
8681
8682 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8683
1b3abda8
SP
86842009-12-23 Sebastian Pop <sebpop@gmail.com>
8685
8686 * testsuite/libgomp.graphite/pr4118.c: New.
8687
e19977d3
IS
86882009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8689
8690 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8691 for darwin, protect the test with require-effective-target tls_runtime.
8692 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8693
1d32a772
IS
86942009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8695
8696 PR target/41605
8697 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8698 link spec %s substitutions for static libraries.
8699
deb109b2
JH
87002009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8701
8702 PR testsuite/42135
8703 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8704
43e02a8a
RW
87052009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8706
8707 * Makefile.in: Regenerate.
8708 * configure: Regenerate.
8709 * testsuite/Makefile.in: Regenerate.
8710
17f35e23
DK
87112009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8712
8713 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8714 settings for LC_ALL and LANG.
8715
281e33e1
JJ
87162009-11-25 Jakub Jelinek <jakub@redhat.com>
8717
8718 PR fortran/42162
8719 * testsuite/libgomp.fortran/pr42162.f90: New test.
8720
2b32c27d
JJ
87212009-11-13 Jakub Jelinek <jakub@redhat.com>
8722
8723 PR middle-end/42029
281e33e1 8724 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8725
89c74f4a
JJ
87262009-10-26 Jakub Jelinek <jakub@redhat.com>
8727
8728 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8729 *s. Accept ld version without text in ()s.
8730 * configure: Regenerated.
8731
7e06c3d6
EB
87322009-10-22 Razya Ladelsky <razya@il.ibm.com>
8733
8734 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8735
0046b1a7
RW
87362009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8737
8738 PR libgomp/41418
8739 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8740 or a hyphen (happens with fortran language disabled).
8741 * configure: Regenerate.
8742
c82852f7
RW
87432009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8744
8745 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8746 use sed script portable to Solaris /bin/sed for extracting ld
8747 version.
8748 * configure: Regenerate.
8749
98f3eb1f
AM
87502009-09-17 Alexander Monakov <amonakov@ispras.ru>
8751
8752 * testsuite/libgomp.graphite/bounds.c: New test.
8753
878f62e5
RW
87542009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8755
8756 * Makefile.am (libgomp_la_LINK): New.
8757 * Makefile.in: Regenerate.
8758
df58e648
RW
87592009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8760
8761 * configure.ac (AC_PREREQ): Bump to 2.64.
8762
5213506e
RW
87632009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8764
70fa0efa
RW
8765 * Makefile.am (install-html, install-pdf): Remove.
8766 * Makefile.in: Regenerate.
8767
5213506e
RW
8768 * Makefile.in: Regenerate.
8769 * aclocal.m4: Regenerate.
8770 * config.h.in: Regenerate.
8771 * configure: Regenerate.
8772 * testsuite/Makefile.in: Regenerate.
8773
84fec8a5
RW
87742009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8775
8776 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8777 * Makefile.in: Regenerate.
8778
197c68cc
DK
87792009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8780
8781 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8782 * Makefile.in: Regenerate.
8783
693d54f2
TB
87842009-08-19 Tobias Burnus <burnus@net-b.de>
8785
8786 PR fortran/41102
8787 omp_lib.h.in: Fix -std=f95 errors.
8788
8cac884c
DE
87892009-08-14 David Edelsohn <edelsohn@gnu.org>
8790
8791 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8792 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8793 * testsuite/libgomp.graphite/graphite.exp: New.
8794
78729ee2
AT
87952009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8796
8797 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8798 only build.
8799
b13b7f39
DD
88002009-08-04 David Daney <ddaney@caviumnetworks.com>
8801
8802 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8803 needed memory barrier semantics.
8804 * config/linux/mips/mutex.h: New file.
8805
1b3b24c2
RW
88062009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8807
8808 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8809
396b7fa4
JM
88102009-07-16 Joseph Myers <joseph@codesourcery.com>
8811
8812 * configure: Regenerate.
8813
33cde516
RS
88142009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8815
8816 PR testsuite/40699
8817 PR testsuite/40707
8818 PR testsuite/40709
8819 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8820 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8821 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8822
bc21bfa5
RS
88232009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8824
8825 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8826 options when choosing a multilib.
8827
b30bfd40
RS
88282009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8829
8830 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8831 ld_library_path. Use add_path. Add just find_libgcc_s to
8832 ld_library_path, not every libgcc multilib directory.
8833 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8834 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8835 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8836 Use add_path.
8837 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8838
479c15c2
NF
88392009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8840
8841 * Makefile.am (LTLDFLAGS): Define.
8842 (LINK): Define.
8843 * Makefile.in: Regenerate.
8844
667e6f89
JB
88452009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8846
8847 PR fortran/39718
8848 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8849 libgfortranbegin, check existence of libgfortran.a instead of
8850 libgfortranbegin.a.
8851
6dea8e99
JJ
88522009-05-20 Jakub Jelinek <jakub@redhat.com>
8853
8854 PR libgomp/40174
8855 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8856 (gomp_free_pool_helper): Likewise.
8857
34d01e1d
VL
88582009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8859 Jakub Jelinek <jakub@redhat.com>
8860
8861 PR fortran/35423
8862 * testsuite/libgomp.fortran/workshare2.f90: New test.
8863
748086b7
JJ
88642009-04-09 Nick Clifton <nickc@redhat.com>
8865
8866 * iter.c: Change copyright header to refer to version 3 of the
8867 GNU General Public License with version 3.1 of the GCC Runtime
8868 Library Exception and to point readers at the COPYING3 and
8869 COPYING3.RUNTIME files and the FSF's license web page.
8870 * alloc.c: Likewise.
8871 * barrier.c: Likewise.
8872 * config/bsd/proc.c: Likewise.
8873 * config/linux/affinity.c: Likewise.
8874 * config/linux/alpha/futex.h: Likewise.
8875 * config/linux/bar.c: Likewise.
8876 * config/linux/bar.h: Likewise.
8877 * config/linux/ia64/futex.h: Likewise.
8878 * config/linux/ia64/mutex.h: Likewise.
8879 * config/linux/lock.c: Likewise.
8880 * config/linux/mips/futex.h: Likewise.
8881 * config/linux/mutex.c: Likewise.
8882 * config/linux/mutex.h: Likewise.
8883 * config/linux/powerpc/futex.h: Likewise.
8884 * config/linux/proc.c: Likewise.
8885 * config/linux/ptrlock.c: Likewise.
8886 * config/linux/ptrlock.h: Likewise.
8887 * config/linux/s390/futex.h: Likewise.
8888 * config/linux/sem.c: Likewise.
8889 * config/linux/sem.h: Likewise.
8890 * config/linux/sparc/futex.h: Likewise.
8891 * config/linux/wait.h: Likewise.
8892 * config/linux/x86/futex.h: Likewise.
8893 * config/mingw32/proc.c: Likewise.
8894 * config/mingw32/time.c: Likewise.
8895 * config/posix/affinity.c: Likewise.
8896 * config/posix/bar.c: Likewise.
8897 * config/posix/bar.h: Likewise.
8898 * config/posix/lock.c: Likewise.
8899 * config/posix/mutex.h: Likewise.
8900 * config/posix/proc.c: Likewise.
8901 * config/posix/ptrlock.h: Likewise.
8902 * config/posix/sem.c: Likewise.
8903 * config/posix/sem.h: Likewise.
8904 * config/posix/time.c: Likewise.
8905 * config/posix95/lock.c: Likewise.
8906 * critical.c: Likewise.
8907 * env.c: Likewise.
8908 * error.c: Likewise.
8909 * fortran.c: Likewise.
8910 * iter_ull.c: Likewise.
8911 * libgomp.h: Likewise.
8912 * libgomp_f.h.in: Likewise.
8913 * libgomp_g.h: Likewise.
8914 * loop.c: Likewise.
8915 * loop_ull.c: Likewise.
8916 * omp.h.in: Likewise.
8917 * omp_lib.f90.in: Likewise.
8918 * omp_lib.h.in: Likewise.
8919 * ordered.c: Likewise.
8920 * parallel.c: Likewise.
8921 * sections.c: Likewise.
8922 * single.c: Likewise.
8923 * task.c: Likewise.
8924 * team.c: Likewise.
8925 * work.c: Likewise.
8926
89272009-04-09 Jakub Jelinek <jakub@redhat.com>
8928
8929 * testsuite/config/default.exp: Change copyright header to refer to
8930 version 3 of the GNU General Public License and to point readers
8931 at the COPYING3 file and the FSF's license web page.
8932
4f0ae266
JJ
89332009-04-08 Jakub Jelinek <jakub@redhat.com>
8934
8935 PR middle-end/39573
8936 * libgomp.c++/pr39573.C: New test.
8937
03742a9b
JJ
89382009-04-01 Jakub Jelinek <jakub@redhat.com>
8939
8940 PR other/39591
8941 * testsuite/libgomp.c/pr39591-1.c: New test.
8942 * testsuite/libgomp.c/pr39591-2.c: New test.
8943 * testsuite/libgomp.c/pr39591-3.c: New test.
8944
e50ea10b
UB
89452009-03-25 Uros Bizjak <ubizjak@gmail.com>
8946
8947 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8948 * testsuite/libgomp.c/atomic-6.c: Ditto.
8949
c5cdb03f
JJ
89502009-03-23 Jakub Jelinek <jakub@redhat.com>
8951
8952 PR c/39495
8953 * testsuite/libgomp.c/loop-12.c: New test.
8954 * testsuite/libgomp.c/loop-11.c: New test.
8955 * testsuite/libgomp.c++/loop-11.C: New test.
8956 * testsuite/libgomp.c++/loop-12.C: New test.
8957 * testsuite/libgomp.c++/for-8.C: New test.
8958
7a9d3fe8
RW
89592009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8960
8961 * configure: Regenerate.
8962
3ad6b266
JJ
89632009-02-11 Jakub Jelinek <jakub@redhat.com>
8964
8965 PR middle-end/39154
8966 * testsuite/libgomp.c/pr39154.c: New test.
8967
b39dea08
ILT
89682009-01-30 Ian Lance Taylor <iant@google.com>
8969
8970 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
8971 libgomp_ld_is_gold. Get gold version number.
8972 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
8973 * configure: Rebuild.
8974
72c66596
IS
89752009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8976
e50ea10b 8977 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
8978 use libgfortran.a%s in their specs.
8979
876080ff
JJ
89802009-01-07 Jakub Jelinek <jakub@redhat.com>
8981
8982 PR libgomp/38086
8983 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
8984 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
8985 HAVE_AS_SYMVER_DIRECTIVE is not defined.
8986 * configure: Regenerated.
8987 * config.h.in: Likewise.
8988
e4ebaef3
JJ
89892008-12-28 Jakub Jelinek <jakub@redhat.com>
8990
8991 PR c++/38650
8992 * testsuite/libgomp.c/pr38650.c: New test.
8993 * testsuite/libgomp.c++/pr38650.C: New test.
8994
382017a6
JJ
89952008-12-27 Jakub Jelinek <jakub@redhat.com>
8996
8997 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
8998
79644b27
UB
89992008-12-26 Uros Bizjak <ubizjak@gmail.com>
9000
9001 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9002
baafc534
RW
90032008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9004
9005 * configure: Regenerate.
9006
d9c194cb
JJ
90072008-12-08 Jakub Jelinek <jakub@redhat.com>
9008
9009 PR middle-end/36802
9010 * testsuite/libgomp.c/pr36802-1.c: New test.
9011 * testsuite/libgomp.c/pr36802-2.c: New test.
9012 * testsuite/libgomp.c/pr36802-3.c: New test.
9013
86a182bf
JJ
90142008-12-01 Janis Johnson <janis187@us.ibm.com>
9015
9016 PR libgomp/38270
9017 * config/linux/powerpc/mutex.h: New.
9018
956adfaf
JJ
90192008-12-01 Jakub Jelinek <jakub@redhat.com>
9020
a2d4cdc9
JJ
9021 PR c++/38257
9022 * testsuite/libgomp.c++/for-7.C: New test.
9023
956adfaf
JJ
9024 PR c++/38348
9025 * testsuite/libgomp.c++/for-6.C: New test.
9026
d4038ca2
JJ
90272008-11-26 Janis Johnson <janis187@us.ibm.com>
9028
9029 PR testsuite/28870
9030 * testsuite/lib/libgomp.exp: Include new timeout library files.
9031 (libgomp_target_compile): Set timeout value from new proc.
9032
8b159eea
SE
90332008-11-13 Steve Ellcey <sje@cup.hp.com>
9034
9035 PR libgomp/37938
9036 * config/linux/ia64/mutex.h: New.
9037
5c6ed53a
TB
90382008-11-04 Tobias Burnus <burnus@net-b.de>
9039
9040 PR libgomp/37935
9041 * libgomp.texi (Runtime library routines, environment variables):
9042 Update for OpenMP version 3.0.
9043
6b4a97ed
PG
90442008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9045 Steve Ellcey <sje@cup.hp.com>
9046
9047 * configure: Regenerate for new libtool.
9048 * Makefile.in: Ditto.
9049 * testsuite/Makefile.in: Ditto.
9050
e2b34106
JJ
90512008-09-19 Jakub Jelinek <jakub@redhat.com>
9052 Andreas Tobler <a.tobler@schweiz.org>
9053
9054 * config/bsd/proc.c: New file.
8c3b3600 9055 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9056 * configure.ac: Check for header <sys/sysctl.h>
9057 * configure: Regenerate.
9058 * config.h.in: Likewise.
9059
3606b8bf
JJ
90602008-09-05 Janis Johnson <janis187@us.ibm.com>
9061
9062 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9063
6528b88d
AL
90642008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9065
9066 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9067 * Makefile.in: Regenerated.
9068 * testsuite/Makefile.in: Regenerated.
9069
d9b14b12 90702008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9071
a16b68bb 9072 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9073 depend on blddir if blddir exists.
9074 (libgomp_target_compile): Likewise.
9075 * testsuite/libgomp.c++/c++.exp: Likewise.
9076 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9077
70b1e376
RW
90782008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9079
9080 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9081 Do not list GPL as Invariant Section.
9082
318e8c3f
IG
90832008-07-28 Ilie Garbacea <ilie@mips.com>
9084 Chao-ying Fu <fu@mips.com>
9085
9086 * configure.tgt: Enable futex for MIPS.
9087 * config/linux/mips/futex.h: New file.
9088
4db72361
JJ
90892008-07-16 Jakub Jelinek <jakub@redhat.com>
9090
9091 * team.c (gomp_team_end): Free team immediately if it has
9092 just one thread.
9093
87bd23b8
DE
90942008-07-08 David Edelsohn <edelsohn@gnu.org>
9095
9096 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9097 * testsuite/libgomp.fortran/fortran.exp: Same.
9098 * testsuite/libgomp.c/c.exp: Same.
9099 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9100 directory to library path first.
9101
323ff903
KW
91022008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9103
9104 * env.c (parse_stacksize): Add cast to avoid warning.
9105 (parse_spincount): Likewise.
9106
b357f682
JJ
91072008-06-27 Jakub Jelinek <jakub@redhat.com>
9108
ca2b1311
JJ
9109 * testsuite/libgomp.c/loop-10.c: New test.
9110 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9111 * libgomp.c++/loop-6.C (main): Likewise.
9112
b357f682
JJ
9113 PR debug/36617
9114 * testsuite/libgomp.c/debug-1.c: New test.
9115
09a46078
JJ
91162008-06-19 Jakub Jelinek <jakub@redhat.com>
9117
9118 * testsuite/libgomp.c/nqueens-1.c: New test.
9119
2368a460
JJ
9120 PR c++/36523
9121 * testsuite/libgomp.c++/task-7.C: New function.
9122
18c04407
RW
91232008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9124
9125 * configure: Regenerate.
9126
9c4e59e0
JDA
91272008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9128
9129 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9130 mutex when HAVE_SYNC_BUILTINS isn't defined.
9131
6ccde948
RW
91322008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9133
9134 * libgomp.texi (omp_test_lock): Fix typo.
9135
b896f9fd
TB
91362008-06-12 Tobias Burnus <burnus@net-b.de>
9137
9138 * omp_lib.f90.in: Add "implicit none".
9139
c34938a8
JJ
91402008-06-12 Jakub Jelinek <jakub@redhat.com>
9141
9142 PR middle-end/36506
9143 * testsuite/libgomp.c/reduction-5.c: New test.
9144
976e44e3
JJ
91452008-06-11 Jakub Jelinek <jakub@redhat.com>
9146
5f836cbb
JJ
9147 * libgomp.h (struct gomp_task): Add in_tied_task field.
9148 * task.c (gomp_init_task): Initialize it.
9149 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9150 unconditionally. Don't call gomp_team_barrier_wake if
9151 current task is implicit or if(0) from implicit and number of
9152 running tasks is equal to nthreads - 1.
9153
01501fc8
JJ
9154 PR libgomp/36471
9155 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9156 omp_get_team_size_8): Fix pastos.
9157
976e44e3
JJ
9158 PR libgomp/36469
9159 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9160 * configure: Regenerated.
9161 * config.h.in: Regenerated.
9162 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9163 defined.
9164
e919209b
AT
91652008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9166
9167 PR bootstrap/36452
9168 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9169 (GOMP_loop_ull_dynamic_start): Likewise.
9170 (GOMP_loop_ull_guided_start): Likewise.
9171 (GOMP_loop_ull_ordered_static_start): Likewise.
9172 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9173 (GOMP_loop_ull_ordered_guided_start): Likewise.
9174
a68ab351
JJ
91752008-06-06 Jakub Jelinek <jakub@redhat.com>
9176 Richard Henderson <rth@redhat.com>
9177 Ulrich Drepper <drepper@redhat.com>
9178 Jakob Blomer <jakob.blomer@ira.uka.de>
9179
9180 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9181 Substitute also OMP_*LOCK_25*.
9182 * configure: Regenerated.
9183 * config.h.in: Regenerated.
9184 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9185 ptrlock.c and task.c.
9186 * Makefile.in: Regenerated.
9187 * testsuite/Makefile.in: Regenerated.
9188 * task.c: New file.
9189 * loop_ull.c: New file.
9190 * iter_ull.c: New file.
9191 * libgomp.h: Include ptrlock.h.
9192 (enum gomp_task_kind): New type.
9193 (struct gomp_team): Add task_lock, task_queue, task_count,
9194 task_running_count, single_count fields. Add
9195 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9196 Remove work_share_lock, generation_mask,
9197 oldest_live_gen, num_live_gen and init_work_shares fields, add
9198 work work_share_list_alloc, work_share_list_free and work_share_chunk
9199 fields. Change work_shares from pointer to pointers into an array.
9200 Change ordered_release field into gomp_sem_t ** from flexible array
9201 member. Add implicit_task and initial_work_shares fields.
9202 Move close to the end of the struct.
9203 (struct gomp_team_state): Add single_count, last_work_share,
9204 active_level and level fields, remove work_share_generation.
9205 (gomp_barrier_handle_tasks): New prototype.
9206 (gomp_finish_task): New inline function.
9207 (struct gomp_work_share): Move chunk_size, end, incr into
9208 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9209 next_ll fields. Reshuffle fields. Add next_alloc,
9210 next_ws, next_free and inline_ordered_team_ids fields, change
9211 ordered_team_ids into pointer from flexible array member.
9212 Add mode field. Put lock and next into a different cache line
9213 from most of the write-once fields.
9214 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9215 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9216 gomp_iter_ull_guided_next): New prototypes.
9217 (gomp_new_icv): New prototype.
9218 (struct gomp_thread): Add thread_pool and task fields.
9219 (struct gomp_thread_pool): New type.
9220 (gomp_new_team): New prototype.
9221 (gomp_team_start): Change type of last argument.
9222 (gomp_new_work_share): Removed.
9223 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9224 (gomp_work_share_init_done): New static inline.
9225 (gomp_throttled_spin_count_var, gomp_available_cpus,
9226 gomp_managed_threads): New extern decls.
9227 (gomp_init_task): New prototype.
9228 (gomp_spin_count_var): New extern var decl.
9229 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9230 or no alias support, or if not PIC.
9231 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9232 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9233 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9234 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9235 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9236 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9237 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9238 gomp_test_nest_lock_25): New prototypes.
9239 (omp_lock_symver, strong_alias): Define.
9240 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9241 decls.
9242 (gomp_end_task): New.
9243 (struct gomp_task_icv, gomp_global_icv): New.
9244 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9245 (struct gomp_task): New.
9246 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9247 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9248 (gomp_icv): New.
9249 (gomp_schedule_type): Reorder enum to match
9250 omp_sched_t.
9251 * team.c (struct gomp_thread_start_data): Add thread_pool and task
9252 fields.
9253 (gomp_thread_start): Add gomp_team_barrier_wait call.
9254 For non-nested case remove clearing of docked thread thr fields.
9255 Use pool fields instead of global gomp_* variables. Use
9256 gomp_barrier_wait_last when needed. Initialize ts.active_level.
9257 Create tasks for each member thread.
9258 (free_team): Only destroy team barrier, task_lock here and free it.
9259 (gomp_free_thread): Free last_team if non-NULL.
9260 (gomp_team_end): Call gomp_team_barrier_wait instead of
9261 gomp_barrier_wait. For nested case call one extra
9262 gomp_barrier_wait. Move here some destruction from free_team.
9263 Call free_team on pool->last_team if any, rather than freeing
9264 current team. Destroy work_share_list_free_lock ifndef
9265 HAVE_SYNC_BUILTINS.
9266 (gomp_new_icv): New function.
9267 (gomp_threads, gomp_threads_size, gomp_threads_used,
9268 gomp_threads_dock): Removed.
9269 (gomp_thread_destructor): New variable.
9270 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9271 functions.
9272 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 9273 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
9274 Initialize thread_pool field for new threads. Clear single_count.
9275 Change last argument from ws to team, don't create
9276 new team, set ts.work_share to &team->work_shares[0] and clear
9277 ts.last_work_share. Don't clear ts.work_share_generation.
9278 If number of threads changed, adjust atomically gomp_managed_threads.
9279 Use gomp_init_task instead of gomp_new_task,
9280 set thr->task to the corresponding implicit_task array entry.
9281 Create tasks for each member thread. Initialize ts.level.
9282 (initialize_team): Call pthread_key_create on
9283 gomp_thread_destructor.
9284 (team_destructor): New function.
9285 (new_team): Removed.
9286 (gomp_new_team): New function.
9287 (free_team): Free gomp_work_share blocks chained through next_alloc,
9288 instead of freeing work_shares and destroying work_share_lock.
9289 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9290 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9291 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9292 of gomp_barrier_wait.
9293 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9294 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9295 if gomp_work_share_start returned true. Don't unlock ws->lock.
9296 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9297 of gomp_barrier_wait.
9298 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9299 gomp_work_share_init_done if gomp_work_share_start returned true.
9300 Don't unlock ws->lock.
9301 * work.c: Include stddef.h.
9302 (free_work_share): Use work_share_list_free_lock instead
9303 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9304 Call gomp_fini_work_share and then either free ws if orphaned, or
9305 put it into work_share_list_free list of the current team.
9306 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9307 functions.
9308 (gomp_work_share_start, gomp_work_share_end,
9309 gomp_work_share_end_nowait): Rewritten.
9310 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9311 (openmp_version): Set to 200805.
9312 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9313 omp_sched_guided, omp_sched_auto): New parameters.
9314 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9315 omp_set_max_active_levels, omp_get_max_active_levels,
9316 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9317 omp_get_active_level): New interfaces.
9318 * omp_lib.h.in (openmp_version): Set to 200805.
9319 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9320 omp_sched_guided, omp_sched_auto): New parameters.
9321 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9322 omp_set_max_active_levels, omp_get_max_active_levels,
9323 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9324 omp_get_active_level): New externals.
9325 * loop.c: Include limits.h.
9326 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9327 GFS_AUTO.
9328 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9329 Likewise. Use gomp_icv.
9330 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9331 ts.static_trip here.
9332 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9333 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9334 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9335 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9336 don't unlock ws->lock, otherwise lock it.
9337 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9338 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9339 (gomp_parallel_loop_start): Call gomp_new_team instead of
9340 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9341 Adjust gomp_team_start caller. Pass 0 as second argument to
9342 gomp_resolve_num_threads.
9343 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9344 If adding ws->chunk_size nthreads + 1 times after end won't
9345 overflow, set ws->mode to 1.
9346 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9347 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9348 GOMP_loop_ull_ordered_static_start,
9349 GOMP_loop_ull_ordered_dynamic_start,
9350 GOMP_loop_ull_ordered_guided_start,
9351 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9352 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9353 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9354 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9355 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9356 prototypes.
9357 * libgomp.map: Export lock routines also @@OMP_2.0.
9358 (GOMP_loop_ordered_dynamic_first,
9359 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9360 GOMP_loop_ordered_static_first): Remove.
9361 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9362 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9363 GOMP_loop_ull_ordered_dynamic_next,
9364 GOMP_loop_ull_ordered_dynamic_start,
9365 GOMP_loop_ull_ordered_guided_next,
9366 GOMP_loop_ull_ordered_guided_start,
9367 GOMP_loop_ull_ordered_runtime_next,
9368 GOMP_loop_ull_ordered_runtime_start,
9369 GOMP_loop_ull_ordered_static_next,
9370 GOMP_loop_ull_ordered_static_start,
9371 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9372 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9373 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9374 (omp_set_schedule, omp_get_schedule,
9375 omp_get_thread_limit, omp_set_max_active_levels,
9376 omp_get_max_active_levels, omp_get_level,
9377 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9378 omp_set_schedule_, omp_set_schedule_8_,
9379 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9380 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9381 omp_get_max_active_levels_, omp_get_level_,
9382 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9383 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9384 New exports @@OMP_3.0.
9385 * omp.h.in (omp_sched_t): New type.
9386 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9387 omp_set_max_active_levels, omp_get_max_active_levels,
9388 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9389 omp_get_active_level): New prototypes.
9390 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9391 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9392 gomp_thread_limit_var, gomp_remaining_threads_count,
9393 gomp_remaining_threads_lock): New variables.
9394 (parse_spincount): New function.
9395 (initialize_env): Call gomp_init_num_threads unconditionally.
9396 Initialize gomp_available_cpus. Call parse_spincount,
9397 initialize gomp_{,throttled_}spin_count_var
9398 depending on presence and value of OMP_WAIT_POLICY and
9399 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9400 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9401 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9402 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9403 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9404 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9405 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9406 (gomp_global_icv): New.
9407 (parse_schedule): Use it. Parse "auto".
9408 (omp_set_num_threads): Use gomp_icv.
9409 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9410 Likewise.
9411 (omp_get_max_threads): Move from parallel.c.
9412 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9413 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9414 add ialias.
9415 (parse_stacksize, parse_wait_policy): New functions.
9416 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9417 both wrappers for compatibility and new locks.
9418 (omp_set_schedule, omp_get_schedule,
9419 omp_get_thread_limit, omp_set_max_active_levels,
9420 omp_get_max_active_levels, omp_get_level,
9421 omp_get_ancestor_thread_num, omp_get_team_size,
9422 omp_get_active_level): New ialias_redirect.
9423 (omp_set_schedule_, omp_set_schedule_8_,
9424 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9425 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9426 omp_get_max_active_levels_, omp_get_level_,
9427 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9428 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9429 New functions.
9430 * parallel.c: Include limits.h.
9431 (gomp_resolve_num_threads): Add count argument. Rewritten.
9432 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9433 argument to gomp_team_start. Pass 0 as second argument to
9434 gomp_resolve_num_threads.
9435 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9436 if gomp_thread_limit_var != ULONG_MAX.
9437 (omp_in_parallel): Implement using ts.active_level.
9438 (omp_get_max_threads): Move to env.c.
9439 (omp_get_level, omp_get_ancestor_thread_num,
9440 omp_get_team_size, omp_get_active_level): New functions,
9441 add ialias.
9442 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9443 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9444 gomp_iter_dynamic_next instead of the _locked variant and don't take
9445 lock around it, otherwise acquire it before calling
9446 gomp_iter_dynamic_next_locked.
9447 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9448 gomp_iter_dynamic_next instead of the _locked variant and don't take
9449 lock around it.
9450 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9451 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9452 Adjust gomp_team_start caller. Pass count as second argument to
9453 gomp_resolve_num_threads, don't adjust num_threads after the call.
9454 Use gomp_icv.
9455 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9456 ws->chunk_size by incr.
9457 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9458 code.
9459 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9460 types.
9461 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9462 (omp_check_defines): Check even the compat defines.
9463 * config/linux/ptrlock.c: New file.
9464 * config/linux/ptrlock.h: New file.
9465 * config/linux/wait.h: New file.
9466 * config/posix/ptrlock.c: New file.
9467 * config/posix/ptrlock.h: New file.
9468 * config/linux/bar.h (gomp_team_barrier_wait,
9469 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9470 (gomp_team_barrier_set_task_pending,
9471 gomp_team_barrier_clear_task_pending,
9472 gomp_team_barrier_set_waiting_for_tasks,
9473 gomp_team_barrier_waiting_for_tasks,
9474 gomp_team_barrier_done): New inlines.
9475 (gomp_barrier_t): Rewritten.
9476 (gomp_barrier_state_t): New typedef.
9477 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9478 gomp_barrier_wait_start): Rewritten.
9479 (gomp_barrier_wait_end): Change second argument to
9480 gomp_barrier_state_t.
9481 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9482 inlines.
9483 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9484 futex.h.
9485 (gomp_barrier_wait_end): Rewritten.
9486 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9487 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9488 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9489 (gomp_barrier_state_t): New typedef.
9490 (gomp_team_barrier_wait,
9491 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9492 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9493 into the return value. Return gomp_barrier_state_t.
9494 (gomp_team_barrier_set_task_pending,
9495 gomp_team_barrier_clear_task_pending,
9496 gomp_team_barrier_set_waiting_for_tasks,
9497 gomp_team_barrier_waiting_for_tasks,
9498 gomp_team_barrier_done): New inlines.
9499 (gomp_barrier_wait_end): Change second argument to
9500 gomp_barrier_state_t.
9501 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9502 inlines.
9503 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9504 (gomp_barrier_wait_end): Change second argument to
3e348fcc 9505 gomp_barrier_state_t.
a68ab351
JJ
9506 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9507 gomp_team_barrier_wake): New functions.
9508 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9509 futex.h.
9510 (gomp_futex_wake, gomp_futex_wait): New variables.
9511 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9512 * config/linux/lock.c: Rewrite to make locks task owned,
9513 for backwards compatibility provide the old entrypoints
9514 if symbol versioning. Include wait.h instead of libgomp.h and
9515 futex.h.
9516 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9517 * config/posix95/lock.c: Rewrite to make locks task owned,
9518 for backwards compatibility provide the old entrypoints
9519 if symbol versioning.
9520 * config/posix/lock.c: Rewrite to make locks task owned,
9521 for backwards compatibility provide the old entrypoints
9522 if symbol versioning.
9523 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9524 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9525 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9526 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9527 (sys_futex0): Return error code.
9528 (futex_wake, futex_wait): If ENOSYS was returned, clear
9529 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9530 (cpu_relax, atomic_write_barrier): New static inlines.
9531 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9532 (futex_wake, futex_wait): If ENOSYS was returned, clear
9533 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9534 (cpu_relax, atomic_write_barrier): New static inlines.
9535 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9536 (sys_futex0): Return error code.
9537 (futex_wake, futex_wait): If ENOSYS was returned, clear
9538 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9539 (cpu_relax, atomic_write_barrier): New static inlines.
9540 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9541 (sys_futex0): Return error code.
9542 (futex_wake, futex_wait): If ENOSYS was returned, clear
9543 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9544 (cpu_relax, atomic_write_barrier): New static inlines.
9545 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9546 (sys_futex0): Return error code.
9547 (futex_wake, futex_wait): If ENOSYS was returned, clear
9548 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9549 (cpu_relax, atomic_write_barrier): New static inlines.
9550 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9551 (sys_futex0): Return error code.
9552 (futex_wake, futex_wait): If ENOSYS was returned, clear
9553 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9554 (cpu_relax, atomic_write_barrier): New static inlines.
9555 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9556 futex.h.
9557 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9558 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9559 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9560 types.
9561 (omp_nest_lock_t): Change owner into void *, add lock field.
9562 * config/posix95/omp-lock.h: Include semaphore.h.
9563 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9564 (omp_lock_t): Use sem_t instead of mutex if semaphores
9565 aren't broken.
9566 (omp_nest_lock_t): Likewise. Change owner to void *.
9567 * config/posix/omp-lock.h: Include semaphore.h.
9568 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9569 (omp_lock_t): Use sem_t instead of mutex if semaphores
9570 aren't broken.
9571 (omp_nest_lock_t): Likewise. Add owner field.
9572
95732008-06-06 Jakub Jelinek <jakub@redhat.com>
9574
9575 * testsuite/libgomp.c/collapse-1.c: New test.
9576 * testsuite/libgomp.c/collapse-2.c: New test.
9577 * testsuite/libgomp.c/collapse-3.c: New test.
9578 * testsuite/libgomp.c/icv-1.c: New test.
9579 * testsuite/libgomp.c/icv-2.c: New test.
9580 * testsuite/libgomp.c/lib-2.c: New test.
9581 * testsuite/libgomp.c/lock-1.c: New test.
9582 * testsuite/libgomp.c/lock-2.c: New test.
9583 * testsuite/libgomp.c/lock-3.c: New test.
9584 * testsuite/libgomp.c/loop-4.c: New test.
9585 * testsuite/libgomp.c/loop-5.c: New test.
9586 * testsuite/libgomp.c/loop-6.c: New test.
9587 * testsuite/libgomp.c/loop-7.c: New test.
9588 * testsuite/libgomp.c/loop-8.c: New test.
9589 * testsuite/libgomp.c/loop-9.c: New test.
9590 * testsuite/libgomp.c/nested-3.c: New test.
9591 * testsuite/libgomp.c/nestedfn-6.c: New test.
9592 * testsuite/libgomp.c/sort-1.c: New test.
9593 * testsuite/libgomp.c/task-1.c: New test.
9594 * testsuite/libgomp.c/task-2.c: New test.
9595 * testsuite/libgomp.c/task-3.c: New test.
9596 * testsuite/libgomp.c/task-4.c: New test.
9597 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9598 to C++ testsuite default compiler options.
9599 * testsuite/libgomp.c++/collapse-1.C: New test.
9600 * testsuite/libgomp.c++/collapse-2.C: New test.
9601 * testsuite/libgomp.c++/ctor-10.C: New test.
9602 * testsuite/libgomp.c++/for-1.C: New test.
9603 * testsuite/libgomp.c++/for-2.C: New test.
9604 * testsuite/libgomp.c++/for-3.C: New test.
9605 * testsuite/libgomp.c++/for-4.C: New test.
9606 * testsuite/libgomp.c++/for-5.C: New test.
9607 * testsuite/libgomp.c++/loop-8.C: New test.
9608 * testsuite/libgomp.c++/loop-9.C: New test.
9609 * testsuite/libgomp.c++/loop-10.C: New test.
9610 * testsuite/libgomp.c++/task-1.C: New test.
9611 * testsuite/libgomp.c++/task-2.C: New test.
9612 * testsuite/libgomp.c++/task-3.C: New test.
9613 * testsuite/libgomp.c++/task-4.C: New test.
9614 * testsuite/libgomp.c++/task-5.C: New test.
9615 * testsuite/libgomp.c++/task-6.C: New test.
9616 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9617 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9618 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9619 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9620 * testsuite/libgomp.fortran/collapse1.f90: New test.
9621 * testsuite/libgomp.fortran/collapse2.f90: New test.
9622 * testsuite/libgomp.fortran/collapse3.f90: New test.
9623 * testsuite/libgomp.fortran/collapse4.f90: New test.
9624 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9625 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9626 * testsuite/libgomp.fortran/lib4.f90: New test.
9627 * testsuite/libgomp.fortran/lock-1.f90: New test.
9628 * testsuite/libgomp.fortran/lock-2.f90: New test.
9629 * testsuite/libgomp.fortran/nested1.f90: New test.
9630 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9631 * testsuite/libgomp.fortran/strassen.f90: New test.
9632 * testsuite/libgomp.fortran/tabs1.f90: New test.
9633 * testsuite/libgomp.fortran/tabs2.f: New test.
9634 * testsuite/libgomp.fortran/task1.f90: New test.
9635 * testsuite/libgomp.fortran/task2.f90: New test.
9636 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9637 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9638 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9639 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9640 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9641
7a0112e7
JJ
96422008-05-23 Jakub Jelinek <jakub@redhat.com>
9643
9644 PR c++/36308
9645 * testsuite/libgomp.c++/ctor-11.C: New test.
9646 * testsuite/libgomp.c++/ctor-12.C: New test.
9647
91a5b394
JJ
96482008-05-15 Janis Johnson <janis187@us.ibm.com>
9649
9650 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9651
c18c98c0
JJ
96522008-05-07 Jakub Jelinek <jakub@redhat.com>
9653
9654 PR middle-end/36106
9655 * testsuite/libgomp.c/atomic-5.c: New test.
9656 * testsuite/libgomp.c/atomic-6.c: New test.
9657 * testsuite/libgomp.c/autopar-1.c: New test.
9658
6d26724a
RW
96592008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9660
9661 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9662 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9663 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9664 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9665 * configure: Regenerate.
9666 * Makefile.in, testsuite/Makefile.in: Likewise.
9667
deb984e6
PB
96682008-04-18 Paolo Bonzini <bonzini@gnu.org>
9669
9670 PR bootstrap/35457
9671 * aclocal.m4: Regenerate.
9672 * configure: Regenerate.
9673
9e775963
JJ
96742008-03-18 Jakub Jelinek <jakub@redhat.com>
9675
8119fc93
JJ
9676 PR middle-end/35611
9677 * testsuite/libgomp.c/atomic-4.c: New test.
9678
9e775963
JJ
9679 PR libgomp/35625
9680 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9681 (gomp_iter_guided_next): Likewise.
9682 * testsuite/libgomp.c/pr35625.c: New test.
9683
38d24731
RW
96842008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9685
9686 * aclocal.m4: Regenerate.
9687 * configure: Likewise.
9688 * Makefile.in: Likewise.
9689 * testsuite/Makefile.in: Likewise.
9690
d0fb20be
JJ
96912008-03-13 Jakub Jelinek <jakub@redhat.com>
9692
9693 PR middle-end/35185
9694 * testsuite/libgomp.c++/pr35185.C: New test.
9695
7c8f7639
JJ
96962008-03-12 Jakub Jelinek <jakub@redhat.com>
9697
9698 PR middle-end/35549
9699 * testsuite/libgomp.c/pr35549.c: New test.
9700
251923f5
JJ
97012008-03-06 Jakub Jelinek <jakub@redhat.com>
9702
9703 * testsuite/libgomp.c/atomic-3.c: New test.
9704
f489fba1
FXC
97052008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9706
9707 PR fortran/33197
251923f5 9708 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9709 .F08 file suffixes.
9710
a1b25e49
PG
97112008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9712
9713 PR libgomp/33131
9714 * configure.ac: Add ACX_HEADER_STRING.
9715 * env.c: Include strings.h.
9716 * aclocal.m4: Regenerate.
9717 * config.h.in: Regenerate.
9718 * configure: Regenerate.
9719 * Makefile.in: Regenerate.
9720 * testsuite/Makefile.in: Regenerate.
9721
6837b3b8
JJ
97222008-02-15 Jakub Jelinek <jakub@redhat.com>
9723
ac84c062
JJ
9724 PR middle-end/35196
9725 * testsuite/libgomp.c/pr35196.c: New test.
9726
6837b3b8
JJ
9727 PR middle-end/35130
9728 * testsuite/libgomp.fortran/pr35130.f90: New test.
9729 * testsuite/libgomp.c/pr35130.c: New test.
9730
c256730c
JJ
97312008-01-25 Jakub Jelinek <jakub@redhat.com>
9732
9733 PR middle-end/33880
9734 * testsuite/libgomp.c/pr33880.c: New test.
9735 * testsuite/libgomp.fortran/pr33880.f90: New test.
9736
c8e95542 97372008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9738
9739 * configure: Regenerate.
9740
0f3e711e
JJ
97412008-01-08 Jakub Jelinek <jakub@redhat.com>
9742
9743 * configure.ac: Move futex checking into ../config/futex.m4.
9744 * configure: Rebuilt.
9745 * aclocal.m4: Rebuilt.
9746 * Makefile.in: Rebuilt.
9747
9748 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9749 2007-10-15 ../config/tls.m4 change.
9750
5259c813
JJ
97512007-12-19 Jakub Jelinek <jakub@redhat.com>
9752
9753 PR c++/34513
9754 * testsuite/libgomp.c/pr34513.c: New test.
9755 * testsuite/libgomp.c++/pr34513.C: New test.
9756
ae8d8879
JH
97572007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9758
9759 PR target/32765
9760 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9761
2b4cf991
JJ
97622007-12-04 Jakub Jelinek <jakub@redhat.com>
9763
9764 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9765
d2dda7fe
JJ
97662007-12-03 Jakub Jelinek <jakub@redhat.com>
9767
9768 * testsuite/libgomp.c/private-1.c: New test.
9769
d683ec81
PB
97702007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9771 Paolo Bonzini <bonzini@gnu.org>
9772
9773 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9774 instead of 'VPATH ='.
9775 * Makefile.in: Regenerate.
9776
a7415017
MK
97772007-11-23 Matthias Klose <doko@ubuntu.com>
9778
9779 * configure.ac: Adjust makeinfo version check.
9780 * configure: Regenerate.
9781
78e47463
JJ
97822007-11-10 Jakub Jelinek <jakub@redhat.com>
9783
9784 PR fortran/34020
9785 * testsuite/libgomp.fortran/pr34020.f90: New test.
9786
239371f9
JJ
97872007-11-06 Jakub Jelinek <jakub@redhat.com>
9788
9789 PR c++/33894
9790 * testsuite/libgomp.c++/atomic-1.C: New test.
9791
98a5fa94
JJ
97922007-10-25 Jakub Jelinek <jakub@redhat.com>
9793
9794 PR libgomp/33275
9795 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9796 Make x and y integers rather than (implicit) reals. Add private (j)
9797 clause to the last omp parallel.
9798
3afcaaf4
MR
97992007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9800
9801 * configure: Regenerate following changes to ../config/tls.m4.
9802
bd69daef
JJ
98032007-09-28 Jakub Jelinek <jakub@redhat.com>
9804
9805 * testsuite/libgomp.fortran/stack.f90: New test.
9806
1d0bd356
DS
98072007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9808
9809 * config/mingw32/proc.c: New file.
9810
b3172cab
UB
98112007-09-05 Uros Bizjak <ubizjak@gmail.com>
9812
9813 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9814 (main): Use __get_cpuid to get i386 target fetaures.
9815 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9816 (main): Use __get_cpuid to get x86_64 target fetaures.
9817
6da17392
JH
98182007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9819
9820 PR target/32765
9821 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9822 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9823
e1c82219
JJ
98242007-07-12 Jakub Jelinek <jakub@redhat.com>
9825
9826 PR fortran/32550
9827 * testsuite/libgomp.fortran/pr32550.f90: New test.
9828 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9829
12a27363
L
98302007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9831
9832 * aclocal.m4: Regenerated.
9833
5349080d
TB
98342007-07-05 Tobias Burnus <burnus@net-b.de>
9835
9836 PR fortran/32359
9837 * testsuite/libgomp.fortran/pr32359.f90: New.
9838
4f9c450c
JJ
98392007-07-02 Jakub Jelinek <jakub@redhat.com>
9840
9841 PR libgomp/32468
9842 * sections.c (GOMP_parallel_sections_start): Only decrease
9843 number of threads to COUNT if dyn_var is true.
9844 * testsuite/libgomp.c/pr32468.c: New test.
9845
28c67ed7
RO
98462007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9847
9848 PR libgomp/26308
9849 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9850
64964499
JJ
98512007-06-21 Jakub Jelinek <jakub@redhat.com>
9852
9853 PR middle-end/32362
9854 * testsuite/libgomp.c/pr32362-1.c: New test.
9855 * testsuite/libgomp.c/pr32362-2.c: New test.
9856 * testsuite/libgomp.c/pr32362-3.c: New test.
9857
46d8fbd1
JJ
98582007-06-07 Jakub Jelinek <jakub@redhat.com>
9859
9860 * team.c (gomp_team_start): Fix setting up thread_attr
9861 stack size.
9862
82a6cadf
PB
98632007-06-02 Paolo Bonzini <bonzini@gnu.org>
9864
9865 * configure: Regenerate.
9866
1cf3d07d
SE
98672007-05-23 Steve Ellcey <sje@cup.hp.com>
9868
9869 * Makefile.in: Regenerate.
9870 * configure: Regenerate.
9871 * aclocal.m4: Regenerate.
9872 * testsuite/Makefile.in: Regenerate.
9873
12aac30b
JJ
98742007-05-04 Jakub Jelinek <jakub@redhat.com>
9875
9876 * config/linux/proc.c: New file.
9877
f1028b02
JJ
9878 PR libgomp/28482
9879 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9880
06785a48
DF
98812007-04-19 Daniel Franke <franke.daniel@gmail.com>
9882
9883 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9884
b3b08ba0
MK
98852007-04-16 Matthias Klose <doko@debian.org>
9886
9887 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9888 flags if not building with -m64.
9889 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9890 flag for i?86-*-* targets, if current target matches -m64.
9891
6b2c5ce0
SE
98922007-04-14 Steve Ellcey <sje@cup.hp.com>
9893
9894 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9895 * Makefile.in: Regenerate.
9896
dd56fe7c
JDA
98972007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9898
9899 PR testsuite/31369
9900 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9901 ld_library_path.
9902 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9903
a0884cf0
JJ
99042007-04-04 Jakub Jelinek <jakub@redhat.com>
9905
9906 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9907 decls.
9908 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9909 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9910 (parse_affinity): New function.
9911 (initialize_env): Call it and gomp_init_affinity.
9912 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9913 create new pthread_attr_t and call gomp_init_thread_affinity
9914 on it for each thread before passing the attribute to pthread_create.
9915 * config/linux/affinity.c: New file.
9916 * config/posix/affinity.c: New file.
9917 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9918 * configure: Rebuilt.
9919 * config.h.in: Rebuilt.
9920 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9921 * Makefile.in: Rebuilt.
9922
1850744b
AT
99232007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9924
9925 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9926 *-*-darwin*.
9927 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9928 and use it if found.
9929
516f1ed8
UB
99302007-03-18 Uros Bizjak <ubizjak@gmail.com>
9931
9932 * testsuite/config/default.exp: New file.
9933 * testsuite/lib/libgomp.exp: New file.
9934 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9935 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9936 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9937 (libgomp_load): Remove.
9938 * testsuite/lib/libgomp.exp (libgomp_init): Compute
9939 always_ld_library_path, not ld_library_path. Set additional_flags
9940 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9941 (target_compile): Do not call libgomp_init. Append lang_library_path
9942 and lang_link_flags to options.
9943 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
9944 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
9945 here.
9946 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9947 always_ld_library_path. Set LD_LIBRARY_PATH here.
9948 * testsuite/libgomp.fortran/fortran.exp: Ditto.
9949 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
9950 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9951 CX8 flag.
9952 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9953 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9954 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9955 * testsuite/libgomp.c/pr29947-1.c: Ditto.
9956 * testsuite/libgomp.c/atomic-10.c: Ditto.
9957
2ada56f5
JJ
99582007-03-21 Jakub Jelinek <jakub@redhat.com>
9959
9960 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
9961 dg-final cleanup-modules line.
9962 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
9963 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
9964 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
9965 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
9966 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
9967 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
9968 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
9969
f210f1cd
AS
99702007-03-18 Andreas Schwab <schwab@suse.de>
9971
9972 * acinclude.m4: Adjust regular expression for ld version
9973 extraction.
9974 * configure: Regenerate.
9975
c4dc950d
BM
99762007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
9977
9978 * Makefile.am: Add install-pdf target as copied from
9979 automake v1.10 rules.
9980 * Makefile.in: Regenerate
9981
e02a048f
JJ
99822007-02-07 Jakub Jelinek <jakub@redhat.com>
9983
78e075d4
JJ
9984 PR libgomp/28486
9985 * configure: Regenerate.
9986
e02a048f
JJ
9987 PR c++/30703
9988 * testsuite/libgomp.c++/pr30703.C: New test.
9989
60def7ed
JJ
99902007-02-02 Jakub Jelinek <jakub@redhat.com>
9991
9992 Revert:
9993 2006-07-05 Eric Christopher <echristo@apple.com>
9994 * configure.ac: Depend addition of -pthread on host OS.
9995 * configure: Regenerate.
9996
f1b0882e
RW
99972007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9998
9999 * libgomp.texi: Fix spacing after abbreviations.
10000
748b9d7c
DF
100012007-01-31 Daniel Franke <franke.daniel@gmail.com>
10002
10003 PR libgomp/30546
10004 * configure.ac: Add check for makeinfo
10005 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10006 if an appropiate version of makeinfo is found.
10007 * aclocal.m4: Regenerated.
10008 * configure: Regenerated.
10009 * Makefile.in: Regenerated.
10010 * testsuite/Makefile.in: Regenerated.
10011
14734fc7
DF
100122007-01-29 Daniel Franke <franke.daniel@gmail.com>
10013
10014 PR libgomp/30540
10015 * libgomp.texi: More about implementation-dependent settings.
10016
7befd5d2
TB
100172007-01-26 Tobias Burnus <burnus@net-b.de>
10018
10019 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10020
4288fea2
JJ
100212007-01-24 Jakub Jelinek <jakub@redhat.com>
10022
10023 PR middle-end/30494
10024 * testsuite/libgomp.c/pr30494.c: New test.
10025
627ab4b8
TT
100262007-01-15 Tom Tromey <tromey@redhat.com>
10027
10028 * configure: Rebuilt.
10029 * configure.ac: Fixed comment.
10030
7c2b7f45
DF
100312007-01-14 Daniel Franke <franke.daniel@gmail.com>
10032
10033 * libgomp.texi: Document implementation specific default values of
10034 environment variables.
10035
3721b9e1
DF
100362006-12-21 Daniel Franke <franke.daniel@gmail.com>
10037
10038 PR libgomp/28209
10039 * libgomp.texi: New file.
10040 * configure.ac: Add --enable-generated-files-in-srcdir option.
10041 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10042 files to srcdir.
10043 * Makefile.in: Regenerated.
10044 * config.h.in: Regenerated.
10045 * testsuite/Makefile.in: Regenerated.
10046 * NOTES: Removed.
10047
62bd6216
DF
100482006-12-04 Daniel Franke <franke.daniel@gmail.com>
10049
10050 PR libgomp/29949
10051 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10052
aad741f4
EB
100532006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10054
10055 * configure: Regenerate.
10056
22568cc6
JJ
100572006-12-04 Jakub Jelinek <jakub@redhat.com>
10058
10059 PR libgomp/29947
10060 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10061 start if there shouldn't be any loop iterations.
10062 (gomp_loop_ordered_static_start): Remove start == end test.
10063 * testsuite/libgomp.c/pr29947-1.c: New test.
10064 * testsuite/libgomp.c/pr29947-2.c: New test.
10065
a9690009
EB
100662006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10067
10068 * configure.tgt: Force initial-exec TLS model on Linux only.
10069
597c25e6
DJ
100702006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10071
10072 * configure: Regenerated.
10073
6acf0b38
UB
100742006-11-09 Uros Bizjak <ubizjak@gmail.com>
10075
10076 * env.c (parse_schedule): Reject out of range values.
10077 (parse_unsigned_long): Reject out of range, negative or zero values.
10078
a7a53ca5
JJ
100792006-10-29 Jakub Jelinek <jakub@redhat.com>
10080
10081 PR fortran/29629
10082 * testsuite/libgomp.fortran/pr29629.f90: New test.
10083
6d4d216a
EB
100842006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10085
10086 PR libgomp/29494
10087 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10088 * config/posix95: New directory.
10089 * config/posix95/omp-lock.h: New file.
10090 * config/posix95/lock.c: Likewise.
10091
5b043f08
GK
100922006-10-14 Geoffrey Keating <geoffk@apple.com>
10093
10094 * aclocal.m4: Regenerate.
10095 * configure: Regenerate.
10096
b50019f0
DS
100972006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10098
10099 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10100 '<' to '<='.
10101
8887708e
DS
101022006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10103
10104 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10105 test.
10106 * configure: Regenerate.
10107 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10108
9b9e4cd6
JJ
101092006-09-26 Jakub Jelinek <jakub@redhat.com>
10110
a70ad3bb
JJ
10111 PR middle-end/25261
10112 PR middle-end/28790
10113 * testsuite/libgomp.c/nestedfn-4.c: New test.
10114 * testsuite/libgomp.c/nestedfn-5.c: New test.
10115 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10116
9b9e4cd6
JJ
10117 PR fortran/29097
10118 * testsuite/libgomp.fortran/condinc1.f: New test.
10119 * testsuite/libgomp.fortran/condinc2.f: New test.
10120 * testsuite/libgomp.fortran/condinc3.f90: New test.
10121 * testsuite/libgomp.fortran/condinc4.f90: New test.
10122 * testsuite/libgomp.fortran/condinc1.inc: New file.
10123
2fb31455
TT
101242006-09-18 Tom Tromey <tromey@redhat.com>
10125
10126 * configure: Rebuilt.
10127
c663e301
JM
101282006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10129
10130 PR c/28768
10131 PR preprocessor/14634
10132 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10133 to AC_DEFINE.
10134 * configure: Regenerate.
10135
38371be9
SK
101362006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10137
10138 * testsuite/libgomp.fortran/reduction3.f90: Change
10139 -2147483648 to -huge(i)-1 to avoid overflow.
10140 * testsuite/libgomp.fortran/reduction4.f90: Change
10141 Z'ffffffff' to not(0) to avoid overflow.
10142
571d5ac5
JM
101432006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10144
10145 PR libgomp/25938
10146 * Makefile.am (libsubincludedir): New.
10147 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10148 * Makefile.in: Regenerate.
10149
89b3e3cd
JJ
101502006-08-17 Jakub Jelinek <jakub@redhat.com>
10151
10152 PR libgomp/28725
10153 * env.c: Include ctype.h.
10154 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10155 leading and/or trailing whitespace and compare strings case
10156 insensitively.
10157
742fae05
JJ
101582006-07-16 Jakub Jelinek <jakub@redhat.com>
10159
10160 PR fortran/28390
10161 * testsuite/libgomp.fortran/pr28390.f: New test.
10162
a1daed2d
EC
101632006-07-05 Eric Christopher <echristo@apple.com>
10164
10165 * configure.ac: Depend addition of -pthread on host OS.
10166 * configure: Regenerate.
10167
5d7b5199
JJ
101682006-06-21 Jakub Jelinek <jakub@redhat.com>
10169
10170 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10171 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10172 defined.
10173
fe5568e9
JJ
101742006-06-20 Jakub Jelinek <jakub@redhat.com>
10175
10176 PR libgomp/26175
10177 PR libgomp/26477
10178 * configure.ac: If neither --enable-linux-futex nor
10179 --disable-linux-futex is passed, determine the default by checking
10180 for compiling and/or running against NPTL. With --enable-linux-futex,
10181 check if SYS_gettid and SYS_futex are defined.
10182 * configure: Rebuilt.
10183
c3b11a40
RH
101842006-06-14 Richard Henderson <rth@redhat.com>
10185
10186 PR libgomp/28008
10187 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10188 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10189
d0d1b24d
RH
101902006-06-09 Richard Henderson <rth@redhat.com>
10191
10192 * env.c (gomp_nthreads_var): Change to unsigned long.
10193 (gomp_run_sched_chunk): Likewise.
10194 (parse_unsigned_long): Rename from parse_num_threads and generalize.
10195 (initialize_env): Initialize gomp_thread_attr.
10196 * libgomp.h (gomp_nthreads_var): Update decl.
10197 (gomp_run_sched_chunk): Likewise.
10198 (gomp_thread_attr): Declare.
10199 * team.c (gomp_thread_attr): Export.
10200 (initialize_team): Don't initialize it.
10201
cd75853e
JJ
102022006-06-09 Jakub Jelinek <jakub@redhat.com>
10203
10204 PR fortran/27916
10205 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10206 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10207
33815e0c
FXC
102082006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10209
10210 * config/mingw32/time.c: New file.
10211 * configure.tgt: Use it.
10212
6667de0d
CD
102132006-05-23 Carlos O'Donell <carlos@codesourcery.com>
10214
10215 * Makefile.am: Add install-html target. Add install-html to .PHONY
10216 * Makefile.in: Regenerate.
10217
e962c46b
JDA
102182006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10219
10220 PR libgomp/27612
10221 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10222 * testsuite/libgomp.c/critical-1.c: Likewise.
10223 * testsuite/libgomp.c/loop-1.c: Likewise.
10224 * testsuite/libgomp.c/loop-2.c: Likewise.
10225 * testsuite/libgomp.c/single-1.c: Likewise.
10226 * testsuite/libgomp.c/ordered-1.c: Likewise.
10227 * testsuite/libgomp.c/ordered-2.c: Likewise.
10228
eeb1d9e0
JJ
102292006-05-15 Jakub Jelinek <jakub@redhat.com>
10230
10231 PR middle-end/27416
10232 * libgomp.fortran/pr27416-1.f90: New test.
10233
693d710f
JJ
102342006-05-03 Jakub Jelinek <jakub@redhat.com>
10235
10236 PR fortran/27395
10237 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10238 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10239
8ca5b2a2
JJ
102402006-05-02 Jakub Jelinek <jakub@redhat.com>
10241
10242 PR c++/26943
10243 * testsuite/libgomp.c/pr26943-1.c: New test.
10244 * testsuite/libgomp.c/pr26943-2.c: New test.
10245 * testsuite/libgomp.c/pr26943-3.c: New test.
10246 * testsuite/libgomp.c/pr26943-4.c: New test.
10247 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10248 * testsuite/libgomp.c++/pr26943.C: New test.
10249
077b0dfb
JJ
102502006-05-02 Jakub Jelinek <jakub@redhat.com>
10251
10252 PR middle-end/27337
10253 * testsuite/libgomp.c++/pr27337.C: New test.
10254
91b6c26d
JJ
102552006-04-26 Jakub Jelinek <jakub@redhat.com>
10256
10257 PR c/26171
10258 * testsuite/libgomp.c/pr26171.c: New test.
10259
60e1758f
RH
102602006-04-25 Richard Henderson <rth@redhat.com>
10261
10262 PR libgomp/25865
10263 * configure.ac: Use GCC_CHECK_TLS.
10264 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10265 * Makefile.in, aclocal.m4, configure: Regenerate.
10266
615baed7
MK
102672006-04-10 Matthias Klose <doko@debian.org>
10268
10269 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10270 directory names containing underscores.
10271
fae2b46b
JJ
102722006-03-21 Jakub Jelinek <jakub@redhat.com>
10273
10274 PR c++/26691
10275 * testsuite/libgomp.c++/pr26691.C: New test.
10276
11a5f608
JJ
102772006-03-13 Jakub Jelinek <jakub@redhat.com>
10278
10279 * testsuite/libgomp.fortran/retval2.f90: New test.
10280
1799e5d5
RH
102812006-03-09 Diego Novillo <dnovillo@redhat.com>
10282
10283 * testsuite/libgomp.c++: New directory.
10284
d349482e
AT
102852006-02-25 Shantonu Sen <ssen@opendarwin.org>
10286
10287 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10288 * config/posix/sem.c: Implement the above.
10289
102902006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10291
10292 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10293 define HAVE_BROKEN_POSIX_SEMAPHORES.
10294 * configure: Rebuilt.
10295 * config.h.in: Rebuilt.
10296
124452c9
FXC
102972006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10298
10299 PR bootstrap/26161
10300 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10301 for the other pthread check.
10302 * configure: Regenerate.
10303 * config.h.in: Regenerate.
10304
dd8d6dfe
JJ
103052006-02-15 Jakub Jelinek <jakub@redhat.com>
10306
10307 PR libgomp/25938
10308 PR libgomp/25984
10309 * Makefile.am (fincludedir): New variable.
10310 (nodist_include_HEADERS): Remove Fortran files.
10311 (nodist_finclude_HEADERS): New variable.
10312 * Makefile.in: Regenerated.
10313
6c7a4dfd
JJ
103142006-02-13 Jakub Jelinek <jakub@redhat.com>
10315
10316 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10317 Remove tests for returning assumed character length arrays.
10318
5142e08b
RS
103192006-02-12 Roger Sayle <roger@eyesopen.com>
10320 John David Anglin <dave@hiauly1.hia.nrc.ca>
10321
10322 PR libgomp/25936
10323 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 10324
5821fba8
UW
103252006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10326
10327 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10328
cb2bbc67
EB
103292006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10330
10331 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10332 part of LD_LIBRARY_PATH manually.
10333
f05ee80c
L
103342006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10335
10336 PR libgomp/25852
10337 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10338 libgomp_init.
10339
03b8fe49
PB
103402005-01-25 Paolo Bonzini <bonzini@gnu.org>
10341
10342 PR libgomp/25884
f05ee80c
L
10343 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10344 * configure.ac (PERL): Don't set.
10345 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10346 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10347 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10348 * omp.h.in: Wrap the new configure substitutions with @ characters.
10349 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10350 * aclocal.m4, configure, Makefile.in: Regenerate.
10351 * mkomp_h.pl: Delete.
03b8fe49 10352
18cbfd85
PB
103532005-01-24 Paolo Bonzini <bonzini@gnu.org>
10354
10355 PR libgomp/25259
10356 * configure.ac: Use GCC_HEADER_STDINT.
10357 * libgomp.h: Include gstdint.h.
10358 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10359 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10360
c41303c6
RH
103612006-01-24 Richard Henderson <rth@redhat.com>
10362
10363 PR libgomp/25942
10364 * configure.ac: Add AM_MAINTAINER_MODE.
10365 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10366
149b9553
DN
103672006-01-24 Diego Novillo <dnovillo@redhat.com>
10368
10369 * Makefile.in: Regenerate.
10370 * testsuite/Makefile.in: Regenerate.
10371 * aclocal.m4: Regenerate.
10372
192a50ad
AT
103732006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10374
10375 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10376 Solaris.
10377 * configure.ac: Add check for loadavg.h.
10378 (link_gomp): Adjust comment.
10379 * configure: Regenerate.
10380 * config.h.in: Regenerate.
10381
a55b8e18
SE
103822006-01-21 Steve Ellcey <sje@cup.hp.com>
10383
10384 PR libgomp/25877
10385 * configure.ac: Remove check for alloca.h.
10386 * configure: Regenerate.
10387 * config.h.in: Regenerate.
10388 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10389 * team.c: Remove use of alloca.h.
10390 Call gomp_alloca instead of alloca.
10391
692eeb34
SE
103922006-01-20 Steve Ellcey <sje@cup.hp.com>
10393
10394 PR libgomp/25877
10395 * team.c: Add include of alloca.h.
10396 * configure.ac: Add check for alloca.h.
10397 * configure: Regenerate.
10398 * config.h.in: Regenerate.
10399
953ff289
DN
104002006-01-17 Jakub Jelinek <jakub@redhat.com>
10401
10402 PR fortran/25219
10403 * testsuite/libgomp.fortran/pr25219.f90: New test.
10404
104052005-12-05 Uros Bizjak <uros@kss-loka.si>
10406
10407 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10408 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10409 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10410 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10411 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10412 testsuite/libgomp.fortran/threadprivate1.f90,
10413 testsuite/libgomp.fortran/threadprivate2.f90,
10414 testsuite/libgomp.fortran/threadprivate3.f90,
10415 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10416 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10417 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10418 effective-target to TLS runtime.
10419
10420 * testsuite/libgomp.fortran/pr25162.f: Require
10421 effective-target TLS runtime.
10422
104232005-12-01 Jakub Jelinek <jakub@redhat.com>
10424
10425 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10426 * testsuite/libgomp.c/nestedfn-3.c: New test.
10427
104282005-11-30 Jakub Jelinek <jakub@redhat.com>
10429
10430 PR fortran/25162
10431 * testsuite/libgomp.fortran/pr25162.f: New test.
10432
104332005-11-28 Jakub Jelinek <jakub@redhat.com>
10434
10435 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10436 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10437
104382005-11-25 Jakub Jelinek <jakub@redhat.com>
10439
10440 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10441 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10442 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10443 single.c, team.c, work.c, config/linux/alpha/futex.h,
10444 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10445 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10446 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10447 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10448 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10449 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10450 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10451 FSF address.
10452
104532005-11-18 Jakub Jelinek <jakub@redhat.com>
10454
10455 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10456 to nodist_noinst_HEADERS.
10457 * Makefile.in: Rebuilt.
10458
10459 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10460 add integer count field.
10461 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10462 omp_nest_lock_t type change.
10463 (omp_init_nest_lock): Likewise. Initialize count to 0.
10464 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10465 Increment count.
10466 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10467 Decrement count.
10468 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10469 Increment count if successful and return the new nesting level.
10470 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10471 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10472 * testsuite/libgomp.c/lib-1.c: New test.
10473 * testsuite/libgomp.fortran/lib1.f90: New test.
10474 * testsuite/libgomp.fortran/lib2.f: New test.
10475 * testsuite/libgomp.fortran/lib3.f: New test.
10476
104772005-11-17 Richard Henderson <rth@redhat.com>
10478
10479 PR 24845
10480 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10481 * configure.ac (link_gomp): New. Substitute it.
10482 (AC_CONFIG_FILES): Add libgomp.spec.
10483 * libgomp.spec.in: New file.
10484 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10485 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10486
104872005-11-18 Jakub Jelinek <jakub@redhat.com>
10488
10489 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10490 reduction(-:var) behaving the same as reduction(+:var).
10491 * testsuite/libgomp.c/reduction-4.c: New test.
10492
104932005-11-15 Uros Bizjak <uros@kss-loka.si>
10494
10495 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10496 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10497 testsuite/libgomp.c/copyin-3.c,
10498 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10499 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10500 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10501 testsuite/libgomp.c++/pr24455.C,
10502 testsuite/libgomp.fortran/threadprivate1.f90,
10503 testsuite/libgomp.fortran/threadprivate2.f90,
10504 testsuite/libgomp.fortran/threadprivate3.f90,
10505 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10506 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10507 testsuite/libgomp.fortran/omp_parse3.f90: Require
10508 effective-target TLS.
10509
105102005-11-14 Diego Novillo <dnovillo@redhat.com>
10511
10512 * HEADER: Remove.
10513
105142005-11-13 Jakub Jelinek <jakub@redhat.com>
10515
10516 PR libgomp/24797
10517 * team.c (initialize_team): Pass NULL rather than free as
10518 pthread_key_create destructor. Initialize thread specific data
10519 pointer in initial thread to a static local variable rather than
10520 malloced memory.
10521
105222005-11-11 Uros Bizjak <uros@kss-loka.si>
10523
10524 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10525 its location to ld_library_path.
10526
105272005-11-10 Diego Novillo <dnovillo@redhat.com>
10528
10529 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10530
105312005-11-10 Diego Novillo <dnovillo@redhat.com>
10532
10533 * testsuite/libgomp.c: Rename from libgomp.dg.
10534
105352005-11-09 Diego Novillo <dnovillo@redhat.com>
10536
10537 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10538 threadprivate variable 'i'.
10539
105402005-11-09 Jakub Jelinek <jakub@redhat.com>
10541
10542 * config/linux/s390/futex.h: New file.
10543 * configure.tgt: Use it.
10544
10545 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10546 before the parallel.
10547
105482005-11-08 Jakub Jelinek <jakub@redhat.com>
10549
10550 PR c++/24734
10551 * testsuite/libgomp.c++/master-1.C: New test.
10552
105532005-11-07 Jakub Jelinek <jakub@redhat.com>
10554
10555 * testsuite/libgomp.dg/copyin-3.c: New test.
10556
105572005-11-07 Jakub Jelinek <jakub@redhat.com>
10558
10559 * testsuite/libgomp.fortran/retval1.f90: New test.
10560 * testsuite/libgomp.fortran/vla7.f90: New test.
10561
105622005-11-06 Jakub Jelinek <jakub@redhat.com>
10563
10564 * testsuite/libgomp.fortran/vla2.f90: New test.
10565 * testsuite/libgomp.fortran/vla3.f90: New test.
10566 * testsuite/libgomp.fortran/vla4.f90: New test.
10567 * testsuite/libgomp.fortran/vla5.f90: New test.
10568 * testsuite/libgomp.fortran/vla6.f90: New test.
10569
105702005-11-01 Jakub Jelinek <jakub@redhat.com>
10571
10572 * config/linux/sparc/futex.h: New file.
10573 * configure.tgt: Use it.
10574 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10575
10576 * critical.c: Include stdlib.h.
10577 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10578 ignoring return value.
10579 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10580 LIBGOMP_CHECK_SYNC_BUILTINS check.
10581 * configure: Rebuilt.
10582
105832005-10-31 Jakub Jelinek <jakub@redhat.com>
10584
10585 * testsuite/libgomp.fortran/vla1.f90: New test.
10586
105872005-10-31 Richard Henderson <rth@redhat.com>
10588
10589 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10590 setting 's' in different threads.
10591
105922005-10-31 Jakub Jelinek <jakub@redhat.com>
10593
10594 * libgomp.h (attribute_hidden, ialias): Define.
10595 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10596 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10597 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10598 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10599 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10600 omp_test_lock, omp_test_nest_lock): Likewise.
10601 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10602 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10603 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10604 omp_test_lock, omp_test_nest_lock): Likewise.
10605 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10606 omp_get_dynamic, omp_get_nested): Likewise.
10607 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10608 omp_get_thread_num, omp_in_parallel): Likewise.
10609 * fortran.c (ialias_redirect): Define.
10610 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10611 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10612 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10613 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10614 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10615 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10616 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10617 omp_get_wtime): Add ialias_redirect.
10618
106192005-10-30 Jakub Jelinek <jakub@redhat.com>
10620
10621 * fortran.c: Include stdlib.h.
10622
106232005-10-29 Jakub Jelinek <jakub@redhat.com>
10624
10625 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10626 * Makefile.in: Regenerated.
10627
106282005-10-28 Jakub Jelinek <jakub@redhat.com>
10629
10630 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10631 * libgomp_f.h.in (omp_check_defines): New function.
10632 * env.c: Include libgomp_f.h.
10633 (initialize_env): Call omp_check_defines.
10634
10635 * testsuite/libgomp.dg/copyin-2.c: New test.
10636 * testsuite/libgomp.c++/copyin-2.C: New test.
10637 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10638
10639 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10640 * testsuite/libgomp.fortran/sharing2.f90: New test.
10641
10642 * testsuite/libgomp.dg/copyin-1.c: New test.
10643 * testsuite/libgomp.c++/copyin-1.C: New test.
10644
106452005-10-26 Jakub Jelinek <jakub@redhat.com>
10646
10647 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10648
10649 * testsuite/libgomp.fortran/workshare1.f90: New test.
10650
10651 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10652 only test.
10653 * libgomp.fortran/sharing1.f90: New test.
10654
106552005-10-24 Jakub Jelinek <jakub@redhat.com>
10656
10657 PR c++/24502
10658 * testsuite/libgomp.c++/loop-7.C: New test.
10659
10660 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10661
10662 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10663 * testsuite/libgomp.fortran/reduction6.f90: New test.
10664 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10665
106662005-10-23 Richard Henderson <rth@redhat.com>
10667
10668 * testsuite/libgomp.c++/ctor-1.C: New.
10669 * testsuite/libgomp.c++/ctor-2.C: New.
10670 * testsuite/libgomp.c++/ctor-3.C: New.
10671 * testsuite/libgomp.c++/ctor-4.C: New.
10672 * testsuite/libgomp.c++/ctor-5.C: New.
10673 * testsuite/libgomp.c++/ctor-6.C: New.
10674 * testsuite/libgomp.c++/ctor-7.C: New.
10675 * testsuite/libgomp.c++/ctor-8.C: New.
10676 * testsuite/libgomp.c++/ctor-9.C: New.
10677
106782005-10-21 Diego Novillo <dnovillo@redhat.com>
10679
10680 PR 24455
10681 * testsuite/libgomp.c++/pr24455-1.C: New test.
10682 * testsuite/libgomp.c++/pr24455.C: New test.
10683 * testsuite/libgomp.dg/pr24455-1.c: New test.
10684 * testsuite/libgomp.dg/pr24455.c: New test.
10685
106862005-10-20 Richard Henderson <rth@redhat.com>
10687
10688 * testsuite/libgomp.c++/loop-6.C: New.
10689 * testsuite/libgomp.dg/loop-3.c: New.
10690
106912005-10-20 Jakub Jelinek <jakub@redhat.com>
10692
10693 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10694 explicitly private.
10695 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10696 explicitly shared.
10697
106982005-10-19 Diego Novillo <dnovillo@redhat.com>
10699
10700 * testsuite/libgomp.fortran/jacobi.f: New test.
10701
107022005-10-19 Richard Henderson <rth@redhat.com>
10703
10704 * configure.tgt (i?86-linux): Default to with_arch instead of
10705 CFLAGS. Add -mtune to match target_cpu.
10706 (x86_64-linux): Tune to i686.
10707
10708 * fortran.c (omp_test_nest_lock_): Fix typo.
10709
107102005-10-19 Jakub Jelinek <jakub@redhat.com>
10711
10712 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10713 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10714 * testsuite/libgomp.dg/ordered-3.c: New test.
10715
10716 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10717 Remove volatile keyword.
10718
10719 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10720 in COMMON block to avoid warnings on 64-bit targets.
10721
107222005-10-18 Diego Novillo <dnovillo@redhat.com>
10723
10724 * testsuite/libgomp.dg/shared-3.c: New test.
10725
107262005-10-18 Jakub Jelinek <jakub@redhat.com>
10727
10728 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10729 * testsuite/libgomp.fortran/reduction5.f90: New test.
10730
107312005-10-18 Jakub Jelinek <jakub@redhat.com>
10732
10733 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10734 dg-options.
10735 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10736 flush loop now that __sync_synchronize has proper memory barrier.
10737 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10738 Add -ffixed-form to dg-options.
10739
107402005-10-17 Diego Novillo <dnovillo@redhat.com>
10741
10742 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10743 from subdirectories.
10744 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10745 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10746 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10747 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10748 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10749 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10750 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10751 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10752 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10753 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10754 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10755 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10756 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10757 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10758 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10759 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10760 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10761 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10762 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10763 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10764 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10765 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10766 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10767 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10768 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10769
107702005-10-17 Jakub Jelinek <jakub@redhat.com>
10771
10772 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10773 lang_library_path exists. Use find instead of glob to gather tests.
10774 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10775
107762005-10-17 Diego Novillo <dnovillo@redhat.com>
10777
10778 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10779 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10780 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10781 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10782 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10783 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10784 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10785 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10786 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10787 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10788 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10789 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10790 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10791
107922005-10-15 Jakub Jelinek <jakub@redhat.com>
10793
10794 * testsuite/libgomp.dg/vla-1.c: New test.
10795
10796 * testsuite/libgomp.fortran/reference2.f90: New test.
10797
10798 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10799 declaration of omp_get_thread_num.
10800 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10801 use omp_lib.
10802
10803 * testsuite/libgomp.fortran/reduction1.f90: New test.
10804 * testsuite/libgomp.fortran/reduction2.f90: New test.
10805 * testsuite/libgomp.fortran/reduction3.f90: New test.
10806 * testsuite/libgomp.fortran/reduction4.f90: New test.
10807
108082005-10-13 Richard Henderson <rth@redhat.com>
10809
10810 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10811 * Makefile.in: Regenerate.
10812 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10813 * libgomp.h: Include bar.h.
10814 (struct gomp_barrier): Remove.
10815 (struct gomp_team): Add barrier. Replace master_barrier with
10816 master_release. Replace threads with ordered_release.
10817 (struct gomp_thread): Replace barrier with release.
10818 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10819 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10820 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10821 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10822 (GOMP_single_copy_end): Likewise.
10823 * team.c (gomp_threads_dock): New.
10824 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10825 (gomp_thread_start): Use gomp_barrier_wait.
10826 (new_team, free_team): Update for gomp_team changes.
10827 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10828 (gomp_team_end): Use gomp_barrier_wait.
10829 (initialize_team): Update for gomp_thread changes.
10830 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10831 (gomp_work_share_end_nowait): Use atomic ops when available.
10832 * config/linux/bar.c, config/linux/bar.h: New files.
10833 * config/posix/bar.c, config/posix/bar.h: New files.
10834
108352005-10-13 Jakub Jelinek <jakub@redhat.com>
10836
10837 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10838 * testsuite/libgomp.dg/single-2.c: New test.
10839
10840 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10841 lang_link_flags): Unset, so that they aren't inherited from previously
10842 sourced *.exp.
10843
10844 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10845
108462005-10-12 Richard Henderson <rth@redhat.com>
10847
10848 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10849 (libgomp_init): Use lang_test_file, lang_library_path, and
10850 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10851
10852 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10853 (lang_test_file, lang_link_flags): New.
10854 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10855
10856 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10857 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10858 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10859 testsuite/libgomp.c++/parallel-1.C,
10860 testsuite/libgomp.c++/reduction-1.C,
10861 testsuite/libgomp.c++/reduction-2.C,
10862 testsuite/libgomp.c++/reduction-3.C,
10863 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10864 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10865 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10866 New files, largely cribbed from the C testsuite.
10867
108682005-10-12 Jakub Jelinek <jakub@redhat.com>
10869
10870 * testsuite/libgomp.fortran/character1.f90: New test.
10871 * testsuite/libgomp.fortran/character2.f90: New test.
10872
10873 * testsuite/libgomp.dg/nested-1.c: New test.
10874 * testsuite/libgomp.dg/nested-2.c: New test.
10875 * testsuite/libgomp.fortran/do1.f90: New test.
10876 * testsuite/libgomp.fortran/do2.f90: New test.
10877
10878 * testsuite/libgomp.fortran/reference1.f90: New test.
10879
108802005-10-11 Jakub Jelinek <jakub@redhat.com>
10881
10882 * testsuite/libgomp.dg/reduction-1.c: New test.
10883 * testsuite/libgomp.dg/reduction-2.c: New test.
10884 * testsuite/libgomp.dg/reduction-3.c: New test.
10885
108862005-10-10 Jakub Jelinek <jakub@redhat.com>
10887
10888 * testsuite/libgomp.dg/atomic-1.c: New test.
10889 * testsuite/libgomp.dg/atomic-2.c: New test.
10890
108912005-10-09 Richard Henderson <rth@redhat.com>
10892
10893 * critical.c (atomic_lock): New.
10894 (initialize_critical): Initialize it.
10895 (GOMP_atomic_start, GOMP_atomic_end): New.
10896 * libgomp.map: Export them.
10897 * libgomp_g.h: Declare them.
10898
10899 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10900
109012005-10-02 Richard Henderson <rth@redhat.com>
10902
10903 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10904 to XCFLAGS instead of CFLAGS.
10905
109062005-09-30 Richard Henderson <rth@redhat.com>
10907
10908 * configure.ac: Determine whether -pthread or -lpthread is needed.
10909 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10910 * Makefine.in, configure: Rebuild.
10911
109122005-09-28 Richard Henderson <rth@redhat.com>
10913
10914 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10915 * testsuite/libgomp.dg/omp-single-3.c: New test.
10916
109172005-09-28 Diego Novillo <dnovillo@redhat.com>
10918
10919 * testsuite/libgomp.dg/omp-single-2.c: New test.
10920 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10921
109222005-09-27 Richard Henderson <rth@redhat.com>
10923
10924 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10925 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10926
109272005-09-27 Jakub Jelinek <jakub@redhat.com>
10928
10929 * testsuite/libgomp.dg/omp-loop03.c: New test.
10930
109312005-09-27 Diego Novillo <dnovillo@redhat.com>
10932
10933 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10934
109352005-09-27 Diego Novillo <dnovillo@redhat.com>
10936
10937 * testsuite/libgomp.dg/omp-single-1.c: New test.
10938 * testsuite/libgomp.dg/shared-1.c: Return 0.
10939 Add prototype for abort.
10940 * testsuite/libgomp.dg/shared-2.c: Likewise.
10941
109422005-09-26 Jakub Jelinek <jakub@redhat.com>
10943
10944 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10945 constructs.
10946
109472005-09-26 Diego Novillo <dnovillo@redhat.com>
10948
10949 * testsuite/libgomp.dg/shared-1.c: New test.
10950 * testsuite/libgomp.dg/shared-2.c: New test.
10951
109522005-09-24 Richard Henderson <rth@redhat.com>
10953
10954 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10955
109562005-09-24 Richard Henderson <rth@redhat.com>
10957
10958 * iter.c (gomp_iter_static_next): Round up when computing number
10959 of iterations. Don't bother distributing a remainder equally.
10960
10961 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
10962 Don't call srand. Zero b before testing.
10963 (main): New.
10964
109652005-09-24 Jakub Jelinek <jakub@redhat.com>
10966
10967 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
10968 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
10969
109702005-09-23 Jakub Jelinek <jakub@redhat.com>
10971
10972 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
10973 without !$omp end do, followed immediately by subroutine end.
10974
109752005-09-23 Diego Novillo <dnovillo@redhat.com>
10976
10977 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
10978
109792005-09-22 Richard Henderson <rth@redhat.com>
10980
10981 * critical.c (GOMP_critical_name_start): Change argument to void**.
10982 Reuse the pointer space if the mutex fits.
10983 (GOMP_critical_name_end): Likewise.
10984 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
10985 * libgomp_g.h (GOMP_critical_name_start): Update decl.
10986 (GOMP_critical_name_end): Likewise.
10987 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
10988 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
10989
109902005-09-20 Richard Henderson <rth@redhat.com>
10991
10992 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
10993 (create_lock_lock): New.
10994 (initialize_critical): Initialize it.
10995 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
10996 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
10997
109982005-09-20 Diego Novillo <dnovillo@redhat.com>
10999
11000 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11001
110022005-09-20 Diego Novillo <dnovillo@redhat.com>
11003
11004 * testsuite/libgomp.dg/omp-loop01.c: New test.
11005 * testsuite/libgomp.dg/omp-loop02.c: New test.
11006
110072005-09-20 Jakub Jelinek <jakub@redhat.com>
11008
11009 * configure.ac (AC_PROG_FC): Add.
11010 (USE_FORTRAN): New automake conditional.
11011 * configure: Rebuilt.
11012 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11013 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11014 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11015 Add rules to build them.
11016 * Makefile.in: Rebuilt.
11017 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11018 OMP_NEST_LOCK_KIND.
11019 * libgomp.map: Add Fortran wrappers.
11020 * libgomp_f.h.in: New file.
11021 * omp_lib.h.in: New file.
11022 * omp_lib.f90.in: New file.
11023 * fortran.c: New file.
11024 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11025 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11026 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11027 libgfortran has been built.
11028 * testsuite/libgomp.fortran/fortran.exp: New file.
11029 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11030 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11031 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11032 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11033 * testsuite/libgomp.fortran/omp_hello.f: New test.
11034 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11035 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11036 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11037 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11038 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11039 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11040 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11041 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11042
110432005-08-30 Richard Henderson <rth@redhat.com>
11044
11045 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11046 function for when aliases are not usable.
11047 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11048 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11049 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11050 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11051 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11052 GOMP_loop_ordered_guided_next): Likewise.
11053 * ordered.c (GOMP_ordered_start): Likewise.
11054
110552005-08-01 Diego Novillo <dnovillo@redhat.com>
11056
11057 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11058 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11059 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11060 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11061 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11062 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11063 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11064 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11065 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11066
110672005-07-07 Eric Christopher <echristo@redhat.com>
11068 Diego Novillo <dnovillo@redhat.com>
11069
11070 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11071 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11072 up code.
11073 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11074 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11075 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11076 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11077 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11078 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11079 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11080
110812005-06-13 Diego Novillo <dnovillo@redhat.com>
11082
11083 * TOPLEVEL.patch: Remove.
11084
110852005-05-16 Richard Henderson <rth@redhat.com>
11086
11087 * configure.ac: Test for clock_gettime.
11088 * config.h.in, configure: Rebuild.
11089 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11090 (omp_get_wtime): Use clock_gettime if available.
11091 (omp_get_wtick): Use clock_getres if available.
11092
110932005-05-11 Richard Henderson <rth@redhat.com>
11094
11095 * config/linux/ia64/futex.h: New file.
11096 * configure.tgt: Use it.
11097
11098 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11099
111002005-05-07 Richard Henderson <rth@redhat.com>
11101
11102 * config/linux/powerpc/futex.h: New file.
11103 * configure.tgt: Use it.
11104
11105 * config/linux/i486/futex.h: Merge ...
11106 * config/linux/x86_64/futex.h: ... into ...
11107 * config/linux/x86/futex.h: ... here.
11108 * configure.tgt: Update to match.
11109
111102005-05-06 Richard Henderson <rth@redhat.com>
11111
11112 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11113 * config/linux/i486/futex.h: Likewise.
11114 * config/linux/x86_64/futex.h: Likewise.
11115
11116 * config/linux/lock.c: New file.
11117 * config/linux/omp-lock.h: New file.
11118
11119 * critical.c, env.h: Don't include omp.h
11120 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11121 * config/posix/time.c: Likewise.
11122 * config/posix/omp-lock.h: New file.
11123 * libgomp.h: Include omp-lock.h and omp.h.
11124 * Makefile.am (nodist_include_HEADERS): New.
11125 (omp.h): New rule.
11126 * configure.ac (PERL): New.
11127 * mkomp_h.pl: New file.
11128 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11129 with templates.
11130 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11131
11132 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11133 build directory. Re-add -march=i486 hack.
11134
11135 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11136 (libgomp_link_flags): Remove.
11137 (libgomp_initialized): Remove.
11138 (libgomp_init): Don't protect from reinitialization. Copy code
11139 from libstdc++ for getting the multilib set correctly.
11140
111412005-05-05 Richard Henderson <rth@redhat.com>
11142
11143 * config/linux/alpha/futex.h: New file.
11144 * configure.tgt (alpha*-*-linux*): Use it.
11145
11146 * config/posix/mutex.c: New file.
11147 * config/posix/sem.c: Use libgomp.h.
11148
11149 * configure.tgt (x86_64-linux): Also test CC for -m32.
11150 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11151
a1daed2d 11152 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11153 after $gccpath.
11154
11155 * Makefile.am (SUBDIRS): New.
11156 (libgomp_la_LDFLAGS): Add -lpthread.
11157 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11158 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11159
11160 * libgomp_g.h: New file.
11161 * libgomp.h: Split out all public declarations to libgomp_g.h.
11162 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11163 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11164 * config/linux/sem.h: Likewise.
11165 * config/posix/sem.h: Likewise.
11166
11167 * Makefile.am (AM_LDFLAGS): New.
11168 (libgomp_version_script): Split out from ...
11169 (libgomp_la_LDFLAGS): ... here.
11170 (libgomp_version_info): New.
11171 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11172 (LIBGOMP_ENABLE): New.
11173 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11174 (LIBGOMP_ENABLE_SYMVERS): New.
11175 * configure.ac (AC_INIT): Version 1.0.
11176 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11177 (enable-linux-futex): Likewise. Rename from enable-futex.
11178 (libtool_VERSION): New.
11179 (LIBGOMP_ENABLE_SYMVERS): Use it.
11180 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11181 * Makefile.in, aclocal.m4, configure: Rebuild.
11182
11183 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11184 (gomp_mutex_unlock_slow): Fix typo.
11185 * config/linux/sem.c: Similarly.
11186 (gomp_sem_post_slow): Fix typo.
11187 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11188 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11189 [__PIC__] (sys_futex0): Don't use tmp output in asm.
11190
11191 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11192 (libgomp_la_LDFLAGS): Add top_srcdir to path.
11193 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11194 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
11195 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11196 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11197 LDFLAGS. Pull enable_futex check to top-level.
11198 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
11199 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11200
11201 First attempt at real configury.
11202 * Makefile, config.h: Remove file.
11203 * Makefile.am, Makefile.in: New file.
11204 * acinclude.m4 aclocal.m4: New file.
11205 * configure.ac, configure.tgt, configure: New file.
11206
11207 * config/posix/lock.c: Rename from sys-lock.c.
11208 * config/posix/mutex.h: Rename from sys-mutex.h.
11209 * config/posix/sem.c: Rename from sys-sem.c.
11210 * config/posix/sem.h: Rename from sys-sem.h.
11211 * config/posix/proc.c: Rename from sys-proc.c.
11212 * config/posix/time.c: Rename from sys-proc.c.
11213
11214 * config/linux/mutex.c: New file.
11215 * config/linux/mutex.h: New file.
11216 * config/linux/sem.c: New file.
11217 * config/linux/sem.h: New file.
11218 * config/linux/i486/futex.h: New file.
11219 * config/linux/x86_64/futex.h: New file.
11220
112212005-05-04 Richard Henderson <rth@redhat.com>
11222
11223 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11224 * libgomp.h: Declare them.
11225 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11226 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11227
112282005-05-04 Richard Henderson <rth@redhat.com>
11229
11230 * libgomp-1 code drop
11231
112322005-05-04 Richard Henderson <rth@redhat.com>
11233
11234 * iter.c (gomp_iter_static_next): Return tri-state on 0.
11235 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11236 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11237 (gomp_iter_static_next): Update.
11238 (gomp_ordered_static_next): Update.
11239 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11240 (gomp_loop_ordered_static_start): Likewise. Exit early for a
11241 totally empty range.
11242 (gomp_loop_ordered_static_next): Refine test for calling
11243 gomp_ordered_static_next.
11244 * testsuite/ordered-1.c: Add case for more threads than iterations.
11245
11246 * iter.c (gomp_iter_runtime_next_locked): Remove.
11247 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 11248 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
11249 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11250 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11251 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11252 gomp_loop_ordered_guided_next): Downcase name, make static, add
11253 an external alias with the old name.
11254 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11255 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11256 switch and call one of the above static functions.
11257 * libgomp.h: Update.
11258
11259 * work.c (gomp_work_share_start): Lock the mutex for !first too.
11260 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11261 GOMP_loop_guided_start, GOMP_loop_runtime_start,
11262 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11263 GOMP_loop_ordered_guided_start): Update to match.
11264 * sections.c (GOMP_sections_start): Likewise.
11265 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11266
11267 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11268 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11269 Use bounds check instead of modulus.
11270 (gomp_ordered_sync): Split out of GOMP_ordered_start.
11271 (gomp_ordered_last): Don't sync with ordered_owner here.
11272 (gomp_ordered_next): Likewise.
11273 (gomp_ordered_static_loop_next): Likewise.
11274 * loop.c, libgomp.h: Update to match.
11275
11276 * libgomp.h (GOMP_barrier): Declare.
11277
11278 * testsuite/barrier-1.c: New file.
11279 * testsuite/critical-1.c: New file.
11280 * testsuite/ordered-2.c: New file.
11281 * testsuite/ordered-1.c: New file.
11282 * testsuite/sections-1.c: New file.
11283 * testsuite/single-1.c: New file.
11284 * testsuite/Makefile (TESTS): Add them.
11285
112862005-05-04 Richard Henderson <rth@redhat.com>
11287
11288 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11289 * loop.c (GOMP_loop_static_start): If not the startup thread,
11290 acquire the mutex to wait for initialization complete.
11291 (GOMP_loop_ordered_static_start): Likewise.
11292 (GOMP_loop_ordered_runtime_start): Likewise.
11293 (GOMP_loop_ordered_static_first): Remove.
11294 (GOMP_loop_ordered_dynamic_first): Remove.
11295 (GOMP_loop_ordered_guided_first): Remove.
11296 (GOMP_loop_ordered_runtime_first): Remove.
11297 * ordered.c (gomp_ordered_loop_first): Post to own release when
11298 we're the first thread.
11299 (gomp_ordered_loop_last): Wait on release if not owner.
11300 (gomp_ordered_loop_next): Likewise.
11301 (gomp_ordered_static_loop_init): New.
11302 (gomp_ordered_static_loop_next): Use ordered_owner.
11303 (GOMP_ordered_start): Likewise.
11304 * work.c (gomp_new_work_share): Initialize ordered_owner.
11305
113062005-05-03 Richard Henderson <rth@redhat.com>
11307
11308 * Makefile (OPT): New.
11309 (CFLAGS): Use it.
11310
11311 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11312 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11313 * libgomp.h, libgomp.map, NOTES: Update to match.
11314
11315 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11316 Add initialized and thr members.
11317 (gomp_thread_start): Pause when initially spawned to wait for
11318 the whole team to be created.
11319 (gomp_team_start): Release team members at the end.
11320
11321 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11322 (f_foo_1): Use GOMP_loop_end.
11323 (f_foo_2): Use GOMP_loop_end_nowait.
11324
11325 * testsuite/loop-2.c: New file.
11326 * testsuite/Makefile (TESTS): Add it.
11327
113282005-05-03 Richard Henderson <rth@redhat.com>
11329
11330 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11331 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11332 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11333 initial work_share.
11334
11335 * testsuite/Makefile: New file.
11336 * testsuite/loop-1.c: New file.
11337
113382005-05-03 Richard Henderson <rth@redhat.com>
11339
11340 Initial implementation and checkin.
21fa2a29 11341\f
a5544970 11342Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
11343
11344Copying and distribution of this file, with or without modification,
11345are permitted in any medium without royalty provided the copyright
11346notice and this notice are preserved.