]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
invoke.texi (x86 Options): Document -m80387 and -mhard-float.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
27d6ba88
TS
12016-06-10 Thomas Schwinge <thomas@codesourcery.com>
2 Cesar Philippidis <cesar@codesourcery.com>
3
4 PR middle-end/71373
5 * libgomp.oacc-c/nested-function-1.c: New file.
6 * libgomp.oacc-c/nested-function-2.c: Likewise.
7 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10
4b1ffdb1
TS
112016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12
13 PR c/71381
14 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
15 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
16 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
17
d821b794
CLT
182016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
19
20 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
21 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
22
3616a8c5
CP
232016-06-01 Cesar Philippidis <cesar@codesourcery.com>
24
25 PR c/70688
26 * pr70688.c: New file.
27
7211a097
JJ
282016-05-26 Jakub Jelinek <jakub@redhat.com>
29
30 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
31 instead of invalid schedule(static, 0).
32 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
33
b4557008
CLT
342016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
35
36 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
37 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
38 parameter, use to set async stream around call to gomp_unmap_vars,
39 call gomp_unmap_vars() with 'do_copyfrom' set to true.
40 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
41 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
42 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
43 (event_add): Add int parameter, initialize 'val' field when
44 adding new ptx_event struct.
45 (nvptx_evec): Adjust event_add() call arguments.
46 (nvptx_host2dev): Likewise.
47 (nvptx_dev2host): Likewise.
48 (nvptx_wait_async): Likewise.
49 (nvptx_wait_all_async): Likewise.
50 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
51 pass to event_add() call.
52 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
53 parameter.
54 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
55 call openacc.register_async_cleanup_func() hook.
56 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
57 * target.c (gomp_copy_from_async): Delete function.
58 (gomp_map_vars): Remove async_refcount.
59 (gomp_unmap_vars): Likewise.
60 (gomp_load_image_to_device): Likewise.
61 (omp_target_associate_ptr): Likewise.
62 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
63 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
64 (gomp_copy_from_async): Remove.
65
6ce13072
CLT
662016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
67
68 * target.c (gomp_device_copy): New function.
69 (gomp_copy_host2dev): Likewise.
70 (gomp_copy_dev2host): Likewise.
71 (gomp_free_device_memory): Likewise.
72 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
73 (gomp_map_pointer): Likewise.
74 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
75 NULL value from alloc_func plugin hook.
76 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
77 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
78 (gomp_unmap_vars): Likewise.
79 (gomp_update): Adjust to call gomp_copy_dev2host and
80 gomp_copy_host2dev functions.
81 (gomp_unload_image_from_device): Handle false value from
82 unload_image_func plugin hook.
83 (gomp_init_device): Handle false value from init_device_func
84 plugin hook.
85 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
86 (omp_target_free): Adjust to call gomp_free_device_memory.
87 (omp_target_memcpy): Handle return values from host2dev_func,
88 dev2host_func, and dev2dev_func plugin hooks.
89 (omp_target_memcpy_rect_worker): Likewise.
90 (gomp_target_fini): Handle false value from fini_device_func
91 plugin hook.
92 * libgomp.h (struct gomp_device_descr): Adjust return type of
93 init_device_func, fini_device_func, unload_image_func, free_func,
94 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
95 * oacc-init.c (acc_shutdown_1): Handle false value from
96 fini_device_func plugin hook.
97 * oacc-host.c (host_init_device): Change return type to bool.
98 (host_fini_device): Likewise.
99 (host_unload_image): Likewise.
100 (host_free): Likewise.
101 (host_dev2host): Likewise.
102 (host_host2dev): Likewise.
103 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
104 (acc_memcpy_to_device): Likewise.
105 (acc_memcpy_from_device): Likewise.
106 (delete_copyout): Add libfnname parameter, handle free_func
107 hook fatal error case.
108 (acc_delete): Adjust delete_copyout call.
109 (acc_copyout): Likewise.
110 (update_dev_host): Move gomp_mutex_unlock to after
111 host2dev/dev2host hook calls.
112
113 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
114 to 'hsa_error_msg', for clarity.
115 (hsa_fatal): Likewise.
116 (hsa_error): New function.
117 (init_hsa_context): Change return type to bool, adjust to return
118 false on error.
119 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
120 return value.
121 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
122 return false on error.
123 (get_agent_info): Adjust to return NULL on error.
124 (destroy_hsa_program): Change return type to bool, adjust to
125 return false on error.
126 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
127 (destroy_module): Change return type to bool, adjust to
128 return false on error.
129 (GOMP_OFFLOAD_unload_image): Likewise.
130 (GOMP_OFFLOAD_fini_device): Likewise.
131 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
132 (GOMP_OFFLOAD_free): Change to return false when called.
133 (GOMP_OFFLOAD_dev2host): Likewise.
134 (GOMP_OFFLOAD_host2dev): Likewise.
135 (GOMP_OFFLOAD_dev2dev): Likewise.
136
137 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
138 (CUDA_CALL): Likewise.
139 (CUDA_CALL_ASSERT): Likewise.
140 (map_init): Change return type to bool, use CUDA_CALL* macros.
141 (map_fini): Likewise.
142 (init_streams_for_device): Change return type to bool, adjust
143 call to map_init.
144 (fini_streams_for_device): Change return type to bool, adjust
145 call to map_fini.
146 (select_stream_for_async): Release stream_lock before calls to
147 GOMP_PLUGIN_fatal, adjust call to map_init.
148 (nvptx_init): Use CUDA_CALL* macros.
149 (nvptx_attach_host_thread_to_device): Change return type to bool,
150 use CUDA_CALL* macros.
151 (nvptx_open_device): Use CUDA_CALL* macros.
152 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
153 macros.
154 (nvptx_get_num_devices): Use CUDA_CALL* macros.
155 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
156 (nvptx_exec): Use CUDA_CALL* macros.
157 (nvptx_alloc): Use CUDA_CALL* macros.
158 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
159 (nvptx_host2dev): Likewise.
160 (nvptx_dev2host): Likewise.
161 (nvptx_wait): Use CUDA_CALL* macros.
162 (nvptx_wait_async): Likewise.
163 (nvptx_wait_all): Likewise.
164 (nvptx_wait_all_async): Likewise.
165 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
166 use CUDA_CALL* macros, adjust call to map_fini.
167 (GOMP_OFFLOAD_init_device): Change return type to bool,
168 adjust code accordingly.
169 (GOMP_OFFLOAD_fini_device): Likewise.
170 (GOMP_OFFLOAD_load_image): Adjust calls to
171 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
172 use CUDA_CALL* macros.
173 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
174 return code.
175 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
176 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
177 handle error return.
178 (GOMP_OFFLOAD_dev2host): Likewise.
179 (GOMP_OFFLOAD_host2dev): Likewise.
180 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
181 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
182
e46c7770
CP
1832016-05-24 Cesar Philippidis <cesar@codesourcery.com>
184
185 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
186 (acc_free): Likewise.
187 (acc_memcpy_to_device): Likewise.
188 (acc_memcpy_from_device): Likewise.
189 (acc_deviceptr): Likewise.
190 (acc_hostptr): Likewise.
191 (acc_is_present): Likewise.
192 (acc_map_data): Likewise.
193 (acc_unmap_data): Likewise.
194 (present_create_copy): Likewise.
195 (delete_copyout): Likewise.
196 (update_dev_host): Likewise.
197 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
198 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
199 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
200 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
201 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
202 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
203 it only runs on nvptx targets.
204 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
205 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
206 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
207 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
208 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
209 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
210 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
211 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
212 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
213 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
214 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
215 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
216 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
217 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
218 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
219 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
220 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
221 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
222 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
223 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
224 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
225 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
226 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
227
a5057543
MJ
2282016-05-23 Martin Jambor <mjambor@suse.cz>
229
230 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
231
e37288a6
CLT
2322016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
233
234 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
235 to gomp_init_targets_once.
236 (acc_set_device_type): Remove !cached_base_dev condition on call to
237 gomp_init_targets_once, move call to before acc_device_lock acquire,
238 to avoid deadlock.
239 (acc_get_device_num): Remove !cached_base_dev condition on call to
240 gomp_init_targets_once.
241 (acc_set_device_num): Likewise.
242
51d9ed48
MJ
2432016-05-16 Martin Jambor <mjambor@suse.cz>
244
245 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
246
5b37e866
NS
2472016-05-02 Nathan Sidwell <nathan@codesourcery.com>
248
249 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
250 expected partitioning.
251
e7ff0319
CP
2522016-04-29 Cesar Philippidis <cesar@codesourcery.com>
253
254 PR middle-end/70626
255 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
256 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
257 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
258
c2bd3b69
AM
2592016-04-21 Alexander Monakov <amonakov@ispras.ru>
260
261 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
262 non-fatal.
263
84311083
JJ
2642016-04-19 Jakub Jelinek <jakub@redhat.com>
265
266 PR middle-end/70680
267 * testsuite/libgomp.c/pr70680-1.c: New test.
268 * testsuite/libgomp.c/pr70680-2.c: New test.
269
aadc043f
CP
2702016-04-14 Cesar Philippidis <cesar@codesourcery.com>
271
272 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
273 pass parameter variables to subroutines.
274
e387fc64
CP
2752016-04-14 Cesar Philippidis <cesar@codesourcery.com>
276
277 PR middle-end/70643
278 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
279
10c3c424
CP
2802016-04-13 Cesar Philippidis <cesar@codesourcery.com>
281
282 PR testsuite/68242
283 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
284 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
285
27f9add3
TS
2862016-04-12 Thomas Schwinge <thomas@codesourcery.com>
287
58d32aeb
TS
288 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
289 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
290 GOACC_declare prototype.
291
d97633ef
TS
292 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
293 Merge this file, and...
294 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
295 ... this file, and...
296 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
297 ... this file, and...
298 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
299 ... this file, and...
300 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
301 ... this file, and...
302 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
303 ... this file, and...
304 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
305 ... this file, and...
306 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
307 ... this file, and...
308 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
309 ... this file, and...
310 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
311 ... this file, and...
312 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
313 ... this file, and...
314 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
315 ... this file, and...
316 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
317 ... this file into...
318 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
319 file.
320
27f9add3
TS
321 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
322 Make failure observable.
323
21f3a236
JJ
3242016-04-12 Jakub Jelinek <jakub@redhat.com>
325
326 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
327 field.
328 * target.c (gomp_target_fallback_firstprivate,
329 gomp_target_unshare_firstprivate): Removed.
330 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
331 before waiting for dependencies.
332 (gomp_target_task_fn): Don't copy firstprivate vars here.
333 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
334 firstprivate_copies here.
335 (gomp_create_target_task): Don't initialize firstprivate_copies field.
336 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
337 explicit/implicit firstprivate.
338
c42cfb5c
CP
3392016-04-08 Cesar Philippidis <cesar@codesourcery.com>
340
341 PR lto/70289
342 PR ipa/70348
343 PR tree-optimization/70373
344 PR middle-end/70533
345 PR middle-end/70534
346 PR middle-end/70535
347 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
348 test.
349 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
350 test.
351 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
352 test.
353 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
354 test.
355 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
356 test.
357 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
358 test.
359 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
360 test.
361 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
362 test.
363 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
364 test.
365 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
366 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
367 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
368 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
369 test.
370 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
371 test.
372 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
373 test.
374 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
375 test.
376 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
377 coverage.
378 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
379 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
380 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
381 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
382 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
383 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
384 coverage.
385 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
386 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
387 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
388 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
389 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
390 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
391 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
392 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
393 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
394 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
395 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
396 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
397 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
398 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
399 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
400
2620c80d
TS
4012016-03-30 Thomas Schwinge <thomas@codesourcery.com>
402 James Norris <jnorris@codesourcery.com>
403 Nathan Sidwell <nathan@codesourcery.com>
404 Julian Brown <julian@codesourcery.com>
405 Cesar Philippidis <cesar@codesourcery.com>
406 Chung-Lin Tang <cltang@codesourcery.com>
407 Tom de Vries <tom@codesourcery.com>
408
409 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
410 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
411 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
412 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
413 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
414 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
415 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
416 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
417 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
418 XFAIL.
419 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
420 Incorporate...
421 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
422 file.
423 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
424 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
425 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
426 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
427 Likewise.
428 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
429 Likewise.
430 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
431 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
432 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
433 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
434 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
435 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
436 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
437 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
438 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
439 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
440 Likewise.
441 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
442 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
443 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
444 file...
445 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
446 file into...
447 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
448 file. Update.
449 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
450 file.
451 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
452 Likewise.
453 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
454 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
455 ... this new file. Update.
456 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
457 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
458 ... this new file. Update.
459 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
460 file. Incorporate...
461 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
462 file, and...
463 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
464 file, and...
465 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
466 file.
467 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
468
ce83104b
TS
4692016-03-29 Thomas Schwinge <thomas@codesourcery.com>
470
471 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
472 set-torture-options.
473
6e0df3b7
TS
4742016-03-24 Thomas Schwinge <thomas@codesourcery.com>
475
476 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
477 gcc-dg-runtest.
478 * testsuite/libgomp.oacc-c/c.exp: Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
480 -fno-builtin-acc_on_device instead of -O0.
481 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
482 -O0.
483 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
485 Likewise.
486 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
487 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
488 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
489 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
490 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
491 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
492 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
493 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
494 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
495 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
496 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
497 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
498 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
499 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
500 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
501 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
502 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
503 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
504 Don't specify -O2.
505 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
506 Likewise.
507 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
508 Likewise.
509
f9c8babb
ML
5102016-03-24 Martin Liska <mliska@suse.cz>
511
512 * plugin/plugin-hsa.c (packet_store_release): New function
513 that is taken from the HSA runtime manual.
514 (GOMP_OFFLOAD_run): Use the function.
515
04833609
JJ
5162016-03-23 Jakub Jelinek <jakub@redhat.com>
517
518 PR c++/70376
519 * testsuite/libgomp.c++/pr70376.C: New test.
520
d79ee524
TV
5212016-03-23 Tom de Vries <tom@codesourcery.com>
522
523 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
524 initialization of lresult and lvresult.
525 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
526
b6d1f2b5
JN
5272016-03-23 James Norris <jnorris@codesourcery.com>
528 Daichi Fukuoka <dc-fukuoka@sgi.com>
529
530 PR libgomp/69414
531 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
532 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
533 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
534 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
535
7397fce2
ML
5362016-03-23 Martin Liska <mliska@suse.cz>
537
538 PR hsa/70337
539 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
540 argument just in case a dispatched kernel uses that argument.
541
ee2e7d51
TS
5422016-03-16 Thomas Schwinge <thomas@codesourcery.com>
543
544 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
545 -ftree-parallelize-loops/-fopenacc changes.
546 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
547 Likewise.
548 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
549 Likewise.
550 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
551 Likewise.
552 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
553 Likewise.
554 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
555 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
556
be9f7143
TS
5572016-03-13 Thomas Schwinge <thomas@codesourcery.com>
558
559 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
560 always_ld_library_path the path to libgcc_s.
561
f6c1032d
CP
5622016-03-10 Cesar Philippidis <cesar@codesourcery.com>
563
564 PR testsuite/70009
565 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
566
5a6452e6
TV
5672016-03-09 Tom de Vries <tom@codesourcery.com>
568
569 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
570 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
571 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
572 Same.
573 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
574 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
575 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
576 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
577
96a71bd5
MJ
5782016-03-07 Martin Jambor <mjambor@suse.cz>
579
580 * testsuite/lib/libgomp.exp
581 (check_effective_target_hsa_offloading_selected_nocache): New.
582 (check_effective_target_hsa_offloading_selected): Likewise.
583 * testsuite/libgomp.hsa.c/c.exp: Likewise.
584 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
585 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
586 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
587 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
588 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
589 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
590 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
591 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
592 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
593 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
594 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
595 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
596 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
597 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
598 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
599 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
600
02e0b5b2
MJ
6012016-03-07 Martin Jambor <mjambor@suse.cz>
602
603 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
604 non-shared memory accelerators.
605 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
606 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
607 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
608 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
609 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
610 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
611 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
612 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
613 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
614
45548f30
MJ
6152016-03-07 Martin Jambor <mjambor@suse.cz>
616
617 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
618 ALWAYS_CFLAGS.
619
da3d46cb
JJ
6202016-03-02 Jakub Jelinek <jakub@redhat.com>
621
622 PR libgomp/69555
623 * testsuite/libgomp.c++/pr69555-1.C: New test.
624 * testsuite/libgomp.c++/pr69555-2.C: New test.
625
622174b2
KM
6262016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
627 Martin Jambor <mjambor@suse.cz>
628
629 * testsuite/lib/libgomp.exp
630 (check_effective_target_offload_device_shared_as): New proc.
631 * testsuite/libgomp.c++/declare_target-1.C: New test.
632
e6861a99
IV
6332016-02-25 Ilya Verbin <ilya.verbin@intel.com>
634
635 PR driver/68463
636 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
637
f99c3557
TS
6382016-02-23 Thomas Schwinge <thomas@codesourcery.com>
639
640 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
641 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
642 dims.
643 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
644 -ftree-parallelize-loops/-fopenacc changes.
645 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
646 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
647 Likewise.
648 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
649 Likewise.
650 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
651 Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
653 Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
655 Likewise.
656 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
657 Likewise.
658 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
659 Likewise.
660 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
661 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
662 Likewise.
663 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
665 Likewise.
666 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
667 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
668 Likewise.
669
d5ace3b5
CP
6702016-02-22 Cesar Philippidis <cesar@codesourcery.com>
671
672 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
673
f3609a89
JJ
6742016-02-19 Jakub Jelinek <jakub@redhat.com>
675
676 PR driver/69805
677 * testsuite/libgomp.c/pr69805.c: New test.
678
2175df99
TV
6792016-02-16 Tom de Vries <tom@codesourcery.com>
680
681 PR lto/67709
682 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
683
17b6426c
TV
6842016-02-09 Tom de Vries <tom@codesourcery.com>
685
686 PR tree-optimization/69599
687 * testsuite/libgomp.c/omp-nested-3.c: New test.
688 * testsuite/libgomp.c/pr46032-2.c: New test.
689 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
690 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
691
34df756c
TV
6922016-02-09 Tom de Vries <tom@codesourcery.com>
693
694 PR lto/69707
695 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
696
5854ee30
AM
6972016-02-02 Alexander Monakov <amonakov@ispras.ru>
698
699 * testsuite/libgomp.c/target-31.c: Fix testcase.
700
e70b6ad7
AM
7012016-02-02 Alexander Monakov <amonakov@ispras.ru>
702
703 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
704 clause.
705 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
706 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
707 reduction and map clauses.
708 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
709
bd78a45f
JN
7102016-02-02 James Norris <jnorris@codesourcery.com>
711
712 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
713
41d809d3
TS
7142016-02-02 Thomas Schwinge <thomas@codesourcery.com>
715
18f60146
TS
716 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
717 * oacc-parallel.c (GOACC_host_data): Remove function definition.
718
1a06f5e6
TS
719 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
720 cases.
721
033ff3d1
TS
722 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
723 variables.
724 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
725 (hsa_kmt_lib): Set variables.
726 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
727 always_ld_library_path.
728 * Makefile.in: Regenerate.
729 * configure: Likewise.
730 * testsuite/Makefile.in: Likewise.
731
4a88d9b7
TS
732 * plugin/configfrag.ac (offload_additional_options)
733 (offload_additional_lib_paths): Don't amend for hsa offloading.
734 * configure: Regenerate.
735
41d809d3
TS
736 * plugin/configfrag.ac: Don't configure for offloading target if
737 we don't build the corresponding plugin.
738 * configure: Regenerate.
739
b6adbb9f
NS
7402016-02-01 Nathan Sidwell <nathan@codesourcery.com>
741
742 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
743 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
744
8dfdb419
TV
7452016-01-26 Tom de Vries <tom@codesourcery.com>
746
747 PR tree-optimization/69110
748 * testsuite/libgomp.c/pr69110.c: New test.
749
02ef53f2
RB
7502016-01-25 Richard Biener <rguenther@suse.de>
751
752 PR lto/69393
753 * testsuite/libgomp.c++/pr69393.C: New testcase.
754
eb4048f2
IV
7552016-01-22 Ilya Verbin <ilya.verbin@intel.com>
756
757 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
758 function wasn't mapped to the device with non-shared memory.
759
b235cdd5
IV
7602016-01-20 Ilya Verbin <ilya.verbin@intel.com>
761
762 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
763
b2b40051
MJ
7642016-01-19 Martin Jambor <mjambor@suse.cz>
765 Martin Liska <mliska@suse.cz>
766
767 * plugin/Makefrag.am: Add HSA plugin requirements.
768 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
769 (HSA_RUNTIME_LIB): Likewise.
770 (HSA_RUNTIME_CPPFLAGS): Likewise.
771 (HSA_RUNTIME_INCLUDE): New substitution.
772 (HSA_RUNTIME_LIB): Likewise.
773 (HSA_RUNTIME_LDFLAGS): Likewise.
774 (hsa-runtime): New configure option.
775 (hsa-runtime-include): Likewise.
776 (hsa-runtime-lib): Likewise.
777 (PLUGIN_HSA): New substitution variable.
778 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
779 configure options.
780 (PLUGIN_HSA_CPPFLAGS): Likewise.
781 (PLUGIN_HSA_LDFLAGS): Likewise.
782 (PLUGIN_HSA_LIBS): Likewise.
783 Check that we have access to HSA run-time.
784 * libgomp-plugin.h (offload_target_type): New element
785 OFFLOAD_TARGET_TYPE_HSA.
786 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
787 args.
788 (bool gomp_create_target_task): Updated.
789 (gomp_device_descr): Extra parameter of run_func and async_run_func,
790 new field can_run_func.
791 * libgomp_g.h (GOMP_target_ext): Update prototype.
792 * oacc-host.c (host_run): Added a new parameter args.
793 * target.c (calculate_firstprivate_requirements): New function.
794 (copy_firstprivate_data): Likewise.
795 (gomp_target_fallback_firstprivate): Use them.
796 (gomp_target_unshare_firstprivate): New function.
797 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
798 devices.
799 (GOMP_target): Do host fallback for all shared memory devices. Do not
800 pass any args to plugins.
801 (GOMP_target_ext): Introduce device-specific argument parameter args.
802 Allow host fallback if device shares memory. Do not remap data if
803 device has shared memory.
804 (gomp_target_task_fn): Likewise. Also treat shared memory devices
805 like host fallback for mappings.
806 (GOMP_target_data): Treat shared memory devices like host fallback.
807 (GOMP_target_data_ext): Likewise.
808 (GOMP_target_update): Likewise.
809 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
810 gomp_create_target_task.
811 (GOMP_target_enter_exit_data): Likewise.
812 (omp_target_alloc): Treat shared memory devices like host fallback.
813 (omp_target_free): Likewise.
814 (omp_target_is_present): Likewise.
815 (omp_target_memcpy): Likewise.
816 (omp_target_memcpy_rect): Likewise.
817 (omp_target_associate_ptr): Likewise.
818 (gomp_load_plugin_for_device): Also load can_run.
819 * task.c (GOMP_PLUGIN_target_task_completion): Free
820 firstprivate_copies.
821 (gomp_create_target_task): Accept new argument args and store it to
822 ttask.
823 * plugin/plugin-hsa.c: New file.
824
5d7804a9
TV
8252016-01-18 Tom de Vries <tom@codesourcery.com>
826
827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
828 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
829 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
830 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
831 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
832 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
833 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
834 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
835 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
836 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
838 Same.
839 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
840 Same.
841 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
842 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
843 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
844 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
845 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
846 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
847 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
848 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
849 Same.
850 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
851
cb11f3cf
JJ
8522016-01-15 Jakub Jelinek <jakub@redhat.com>
853
854 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
855
33a126a6
CP
8562016-01-15 Cesar Philippidis <cesar@codesourcery.com>
857
858 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
859
cdf6119d
JN
8602016-01-12 James Norris <jnorris@codesourcery.com>
861
862 * libgomp.texi: Updates for OpenACC.
863
0d58938e
AM
8642016-01-11 Alexander Monakov <amonakov@ispras.ru>
865
866 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
867
95918b49
L
8682016-01-07 H.J. Lu <hongjiu.lu@intel.com>
869
870 PR fortran/66680
871 * testsuite/libgomp.fortran/pr66680.f90: New test.
872
8fc708b7
JJ
8732016-01-07 Jakub Jelinek <jakub@redhat.com>
874
875 PR middle-end/68960
876 * testsuite/libgomp.c/pr68960.c: New test.
877
e9b596c1
NS
8782016-01-06 Nathan Sidwell <nathan@acm.org>
879
1a14faf2 880 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
881 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
882
21fa2a29
JJ
8832016-01-04 Jakub Jelinek <jakub@redhat.com>
884
818ab71a
JJ
885 Update copyright years.
886
21fa2a29
JJ
887 * libgomp.texi: Bump @copying's copyright year.
888
9310efbc
NS
8892015-12-31 Nathan Sidwell <nathan@acm.org>
890
891 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
892 dg-additional-options syntax.
893 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
894 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
900 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
902 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
904 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
905 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
906 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
907 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
908 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
909 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
910 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
911
4a38b02b
IV
9122015-12-15 Ilya Verbin <ilya.verbin@intel.com>
913
914 * libgomp.h (REFCOUNT_LINK): Define.
915 (struct splay_tree_key_s): Add link_key.
916 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
917 Replace target address of the pointer with target address of newly
918 mapped object in the splay tree. Set link pointer on target to the
919 device address of the mapped object.
920 (gomp_unmap_vars): Restore target address of the pointer in the splay
921 tree for REFCOUNT_LINK objects after unmapping.
922 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
923 declare target link" objects.
924 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
925 "omp declare target link" objects, which were mapped for the image.
926 (gomp_exit_data): Restore target address of the pointer in the splay
927 tree for REFCOUNT_LINK objects after unmapping.
928 * testsuite/libgomp.c/target-link-1.c: New file.
929
d84ffc0a
IV
9302015-12-14 Ilya Verbin <ilya.verbin@intel.com>
931
932 * libgomp.h (gomp_device_state): New enum.
933 (struct gomp_device_descr): Replace is_initialized with state.
934 (gomp_fini_device): Remove declaration.
935 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
936 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
937 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
938 (acc_set_device_type): Use state instead of is_initialized.
939 (acc_set_device_num): Likewise.
940 * target.c (resolve_device): Use state instead of is_initialized.
941 Do not initialize finalized device.
942 (gomp_map_vars): Do nothing if device is finalized.
943 (gomp_unmap_vars): Likewise.
944 (gomp_update): Likewise.
945 (GOMP_offload_register_ver): Use state instead of is_initialized.
946 (GOMP_offload_unregister_ver): Likewise.
947 (gomp_init_device): Likewise.
948 (gomp_unload_device): Likewise.
949 (gomp_fini_device): Remove.
950 (gomp_get_target_fn_addr): Do nothing if device is finalized.
951 (GOMP_target): Go to host fallback if device is finalized.
952 (GOMP_target_ext): Likewise.
953 (gomp_exit_data): Do nothing if device is finalized.
954 (gomp_target_task_fn): Go to host fallback if device is finalized.
955 (gomp_target_fini): New static function.
956 (gomp_target_init): Use state instead of is_initialized.
957 Call gomp_target_fini at exit.
958
76680678
TV
9592015-12-09 Tom de Vries <tom@codesourcery.com>
960
961 PR tree-optimization/68716
962 * testsuite/libgomp.c/omp-nested-2.c: New test.
963
ff7a55bf
TS
9642015-12-02 Thomas Schwinge <thomas@codesourcery.com>
965
966 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
967 target openacc_nvidia_accel_selected.
968 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
969 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
970 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
971 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
972
37d5ad46
JB
9732015-12-01 Julian Brown <julian@codesourcery.com>
974 James Norris <James_Norris@mentor.com>
975
976 * oacc-parallel.c (GOACC_host_data): New function.
977 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
978 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
979 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
980 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
981 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
982 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
983 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
984
db941d7e
CP
9852015-11-30 James Norris <jnorris@codesourcery.com>
986 Cesar Philippidis <cesar@codesourcery.com>
987
988 libgomp/
989 * libgomp.oacc-fortran/routine-5.f90: New test.
990 * libgomp.oacc-fortran/routine-7.f90: New test.
991 * libgomp.oacc-fortran/routine-9.f90: New test.
992
e0ca27c5
TV
9932015-11-30 Tom de Vries <tom@codesourcery.com>
994
995 PR tree-optimization/46032
996 * testsuite/libgomp.c/pr46032.c: New test.
997
aec17bfe
JJ
9982015-11-27 Jakub Jelinek <jakub@redhat.com>
999
8e4e4719
JJ
1000 PR libgomp/68579
1001 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
1002 (gomp_create_target_task): Call it before freeing
1003 GOMP_TARGET_TASK_DATA tasks.
1004
aec17bfe
JJ
1005 PR c/63326
1006 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
1007 in between case label and OpenMP standalone directives.
1008 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
1009
6cfe90e6
DE
10102015-11-26 David Edelsohn <dje.gcc@gmail.com>
1011
1012 * configure: Regenerate.
1013
0e65fd7d
JJ
10142015-11-26 Jakub Jelinek <jakub@redhat.com>
1015
1016 * testsuite/libgomp.c/target-35.c: New test.
1017
dc7a8b4b
JN
10182015-11-22 James Norris <jnorris@codesourcery.com>
1019 Cesar Philippidis <cesar@codesourcery.com>
1020
1021 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
1022 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1023 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1024 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1025 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1026
48a78aee
JJ
10272015-11-20 Jakub Jelinek <jakub@redhat.com>
1028
1029 PR middle-end/68221
1030 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
1031 * testsuite/libgomp.c/reduction-12.c: Likewise.
1032 * testsuite/libgomp.c++/reduction-11.C: Likewise.
1033 * testsuite/libgomp.c++/reduction-12.C: Likewise.
1034
2d256816
NS
10352015-11-19 Nathan Sidwell <nathan@codesourcery.com>
1036
1037 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
1038 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
1039 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
1040 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1041 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1042 and fix.
1043 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1044 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1045
33f47f42
NS
10462015-11-18 Nathan Sidwell <nathan@codesourcery.com>
1047
1048 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1049 worker & gang cases.
1050 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1051
3d7bfee0
CP
10522015-11-17 Cesar Philippidis <cesar@codesourcery.com>
1053
1054 * config/nvptx/priority_queue.c: New file.
1055
00b9bd52
JJ
10562015-11-14 Jakub Jelinek <jakub@redhat.com>
1057
1058 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1059 sections.
1060
e4606348
JJ
10612015-11-14 Jakub Jelinek <jakub@redhat.com>
1062 Aldy Hernandez <aldyh@redhat.com>
1063 Ilya Verbin <ilya.verbin@intel.com>
1064
1065 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
1066 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1067 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1068 iterators or IV by chunk size.
1069 * parallel.c (gomp_resolve_num_threads): Don't assume that
1070 if thr->ts.team is non-NULL, then pool must be non-NULL.
1071 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1072 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1073 GOMP_PLUGIN_target_task_completion.
1074 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1075 * Makefile.in: Regenerate.
1076 * libgomp.h: Shuffle prototypes and forward definitions around so
1077 priority queues can be defined.
1078 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1079 (enum gomp_target_task_state): New enum.
1080 (struct gomp_target_task): Add state, tgt, task and team fields.
1081 (gomp_create_target_task): Change return type to bool, add
1082 state argument.
1083 (gomp_target_task_fn): Change return type to bool.
1084 (struct gomp_device_descr): Add async_run_func.
1085 (struct gomp_task): Remove children, next_child, prev_child,
1086 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1087 Add pnode field.
1088 (struct gomp_taskgroup): Remove children.
1089 Add taskgroup_queue.
1090 (struct gomp_team): Change task_queue type to a priority queue.
1091 (splay_compare): Define inline.
1092 (priority_queue_offset): New.
1093 (priority_node_to_task): New.
1094 (task_to_priority_node): New.
1095 * oacc-mem.c: Do not include splay-tree.h.
1096 * priority_queue.c: New file.
1097 * priority_queue.h: New file.
1098 * splay-tree.c: Do not include splay-tree.h.
1099 (splay_tree_foreach_internal): New.
1100 (splay_tree_foreach): New.
1101 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1102 (splay_tree_callback): Define typedef.
1103 * target.c (splay_compare): Move to libgomp.h.
1104 (GOMP_target): Don't adjust *thr in any way around running offloaded
1105 task.
1106 (GOMP_target_ext): Likewise. Handle target nowait.
1107 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
1108 return value from gomp_create_target_task, if false, fallthrough
1109 as if no dependencies exist.
1110 (gomp_target_task_fn): Change return type to bool, return true
1111 if the task should have another part scheduled later. Handle
1112 target nowait.
1113 (gomp_load_plugin_for_device): Initialize async_run.
1114 * task.c (gomp_init_task): Initialize children_queue.
1115 (gomp_clear_parent_in_list): New.
1116 (gomp_clear_parent_in_tree): New.
1117 (gomp_clear_parent): Handle priorities.
1118 (GOMP_task): Likewise.
1119 (priority_queue_move_task_first,
1120 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
1121 New functions.
1122 (gomp_create_target_task): Use priority queues. Change return type
1123 to bool, add state argument, return false if for async
1124 {{enter,exit} data,update} constructs no dependencies need to be
1125 waited for, handle target nowait. Set task->fn to NULL instead of
1126 gomp_target_task_fn.
1127 (verify_children_queue): Remove.
1128 (priority_list_upgrade_task): New.
1129 (priority_queue_upgrade_task): New.
1130 (verify_task_queue): Remove.
1131 (priority_list_downgrade_task): New.
1132 (priority_queue_downgrade_task): New.
1133 (gomp_task_run_pre): Use priority queues.
1134 Abstract code out to priority_queue_downgrade_task.
1135 (gomp_task_run_post_handle_dependers): Use priority queues.
1136 (gomp_task_run_post_remove_parent): Likewise.
1137 (gomp_task_run_post_remove_taskgroup): Likewise.
1138 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
1139 tasks specially.
1140 (GOMP_taskwait): Likewise.
1141 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
1142 priority-queue_upgrade_task.
1143 (GOMP_taskgroup_start): Use priority queues.
1144 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
1145 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
1146 barrier.
1147 * taskloop.c (GOMP_taskloop): Handle priorities.
1148 * team.c (gomp_new_team): Call priority_queue_init.
1149 (free_team): Call priority_queue_free.
1150 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
1151 team created for target nowait in implicit parallel region.
1152 (gomp_team_start): For nested check, test thr->ts.level instead of
1153 thr->ts.team != NULL.
1154 * testsuite/libgomp.c/doacross-3.c: New test.
1155 * testsuite/libgomp.c/ordered-5.c: New test.
1156 * testsuite/libgomp.c/priority.c: New test.
1157 * testsuite/libgomp.c/target-31.c: New test.
1158 * testsuite/libgomp.c/target-32.c: New test.
1159 * testsuite/libgomp.c/target-33.c: New test.
1160 * testsuite/libgomp.c/target-34.c: New test.
1161
1d1ab74f
NS
11622015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1163
c5a64cfe
NS
1164 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
1165
1d1ab74f
NS
1166 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
1167 loop is sequential.
1168
dd3c1b14
NS
11692015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1170
1171 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
1172 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
1173
6e232ba4
JN
11742015-11-12 James Norris <jnorris@codesourcery.com>
1175 Joseph Myers <joseph@codesourcery.com>
1176
1177 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
1178 * oacc-parallel.c (GOACC_declare): New function.
1179 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
1180 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
1181 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
1183 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
1184
fffeedeb
NS
11852015-11-12 Nathan Sidwell <nathan@codesourcery.com>
1186
1187 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
1188
182190f2
NS
11892015-11-1 Nathan Sidwell <nathan@codesourcery.com>
1190
1191 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
1192 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
1193
36fa0f5f
NS
11942015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1195
d350c40c
NS
1196 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
1197 inadvertent commit.
1198
11992015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1200
36fa0f5f
NS
1201 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
1202 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
1203 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
1204 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
1205 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
1206
66a5f0b4
TS
12072015-11-06 Thomas Schwinge <thomas@codesourcery.com>
1208
1209 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
1210 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1211
e01d41e5
JJ
12122015-11-05 Jakub Jelinek <jakub@redhat.com>
1213 Ilya Verbin <ilya.verbin@intel.com>
1214
1215 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
1216 GOMP_loop_nonmonotonic_dynamic_start,
1217 GOMP_loop_nonmonotonic_guided_next,
1218 GOMP_loop_nonmonotonic_guided_start,
1219 GOMP_loop_ull_nonmonotonic_dynamic_next,
1220 GOMP_loop_ull_nonmonotonic_dynamic_start,
1221 GOMP_loop_ull_nonmonotonic_guided_next,
1222 GOMP_loop_ull_nonmonotonic_guided_start,
1223 GOMP_parallel_loop_nonmonotonic_dynamic,
1224 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
1225 (GOMP_target_41): Renamed to ...
1226 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1227 arguments.
1228 (GOMP_target_data_41): Renamed to ...
1229 (GOMP_target_data_ext): ... this.
1230 (GOMP_target_update_41): Renamed to ...
1231 (GOMP_target_update_ext): ... this.
1232 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
1233 GOMP_target_data_ext and GOMP_target_update_ext instead of
1234 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
1235 Export GOMP_loop_nonmonotonic_dynamic_next,
1236 GOMP_loop_nonmonotonic_dynamic_start,
1237 GOMP_loop_nonmonotonic_guided_next,
1238 GOMP_loop_nonmonotonic_guided_start,
1239 GOMP_loop_ull_nonmonotonic_dynamic_next,
1240 GOMP_loop_ull_nonmonotonic_dynamic_start,
1241 GOMP_loop_ull_nonmonotonic_guided_next,
1242 GOMP_loop_ull_nonmonotonic_guided_start,
1243 GOMP_parallel_loop_nonmonotonic_dynamic and
1244 GOMP_parallel_loop_nonmonotonic_guided.
1245 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
1246 GOMP_parallel_loop_nonmonotonic_guided,
1247 GOMP_loop_nonmonotonic_dynamic_start,
1248 GOMP_loop_nonmonotonic_guided_start,
1249 GOMP_loop_nonmonotonic_dynamic_next,
1250 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
1251 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
1252 GOMP_loop_ull_nonmonotonic_guided_start,
1253 GOMP_loop_ull_nonmonotonic_dynamic_next,
1254 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
1255 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
1256 functions.
1257 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
1258 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
1259 Use gomp_map_val function.
1260 (gomp_target_fallback_firstprivate): New static function.
1261 (GOMP_target_41): Renamed to ...
1262 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1263 arguments. Move firstprivate fallback handling into a new
1264 function.
1265 (GOMP_target_data_41): Renamed to ...
1266 (GOMP_target_data_ext): ... this.
1267 (GOMP_target_update_41): Renamed to ...
1268 (GOMP_target_update_ext): ... this.
1269 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
1270 gomp_map_0len_lookup instead of gomp_map_lookup.
1271 (omp_target_is_present): Use gomp_map_0len_lookup instead of
1272 gomp_map_lookup.
1273 * testsuite/libgomp.c/target-28.c: Likewise.
1274 * testsuite/libgomp.c/monotonic-1.c: New test.
1275 * testsuite/libgomp.c/monotonic-2.c: New test.
1276 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
1277 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
1278 * testsuite/libgomp.c/pr66199-5.c: New test.
1279 * testsuite/libgomp.c/pr66199-6.c: New test.
1280 * testsuite/libgomp.c/pr66199-7.c: New test.
1281 * testsuite/libgomp.c/pr66199-8.c: New test.
1282 * testsuite/libgomp.c/pr66199-9.c: New test.
1283 * testsuite/libgomp.c/reduction-11.c: New test.
1284 * testsuite/libgomp.c/reduction-12.c: New test.
1285 * testsuite/libgomp.c/reduction-13.c: New test.
1286 * testsuite/libgomp.c/reduction-14.c: New test.
1287 * testsuite/libgomp.c/reduction-15.c: New test.
1288 * testsuite/libgomp.c/target-12.c (main): Adjust for
1289 omp_target_is_present change for one-past-last element.
1290 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
1291 the same var is both mapped and privatized.
1292 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
1293 handling of zero-length array sections.
1294 * testsuite/libgomp.c/target-28.c: New test.
1295 * testsuite/libgomp.c/target-29.c: New test.
1296 * testsuite/libgomp.c/target-30.c: New test.
1297 * testsuite/libgomp.c/target-teams-1.c: New test.
1298 * testsuite/libgomp.c++/member-6.C: New test.
1299 * testsuite/libgomp.c++/member-7.C: New test.
1300 * testsuite/libgomp.c++/monotonic-1.C: New test.
1301 * testsuite/libgomp.c++/monotonic-2.C: New test.
1302 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
1303 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
1304 * testsuite/libgomp.c++/pr66199-3.C: New test.
1305 * testsuite/libgomp.c++/pr66199-4.C: New test.
1306 * testsuite/libgomp.c++/pr66199-5.C: New test.
1307 * testsuite/libgomp.c++/pr66199-6.C: New test.
1308 * testsuite/libgomp.c++/pr66199-7.C: New test.
1309 * testsuite/libgomp.c++/pr66199-8.C: New test.
1310 * testsuite/libgomp.c++/pr66199-9.C: New test.
1311 * testsuite/libgomp.c++/reduction-11.C: New test.
1312 * testsuite/libgomp.c++/reduction-12.C: New test.
1313 * testsuite/libgomp.c++/target-13.C: New test.
1314 * testsuite/libgomp.c++/target-14.C: New test.
1315 * testsuite/libgomp.c++/target-15.C: New test.
1316 * testsuite/libgomp.c++/target-16.C: New test.
1317 * testsuite/libgomp.c++/target-17.C: New test.
1318 * testsuite/libgomp.c++/target-18.C: New test.
1319 * testsuite/libgomp.c++/target-19.C: New test.
1320
ccc8282b
NS
13212015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1322
1323 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
1324 and reduction copy.
1325 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1326 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1327 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1328 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1329 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1331 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1332 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1333 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1336 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1337 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
1339
5d6823a2
NS
13402015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1341
1342 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
1343 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
1344 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
1345 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
1346 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
1347 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
1348 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
1349 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
1350
5c06742f
NS
13512015-11-03 Nathan Sidwell <nathan@codesourcery.com>
1352
1353 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
1354 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
1355 (GOMP_OFFLOAD_openacc_parallel): Likewise.
1356 * oacc-host.c (host_openacc_exec): Likewise.
1357 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
1358
4bf9e5a8
TS
13592015-11-03 Julian Brown <julian@codesourcery.com>
1360 Thomas Schwinge <thomas@codesourcery.com>
1361
1362 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
1363 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1364 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
1365 Likewise.
1366 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
1367 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
1368
13692015-11-03 James Norris <jnorris@codesourcery.com>
1370
1371 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
1372 file.
1373 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
1374 Likewise.
1375 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
1376 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
1377 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1378 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
1379 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1380
a0e701d8
NS
13812015-10-29 Nathan Sidwell <nathan@codesourcery.com>
1382
1383 * openacc.h (enum acc_device_t): Reformat. Ensure layout
1384 compatibility.
1385 (enum acc_async_t): Reformat.
1386 (acc_on_device): Declare compatible with builtin and provide C++
1387 wrapper.
1388 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
1389
41e977ac
TS
13902015-10-29 Thomas Schwinge <thomas@codesourcery.com>
1391 Cesar Philippidis <cesar@codesourcery.com>
1392
1393 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
1394 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
1395 ... this. Add a description of the test at the top of the file.
1396 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
1397 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
1398 ... this. Add a description of the test at the top of the file.
1399
e3091406
NS
14002015-10-28 Nathan Sidwell <nathan@codesourcery.com>
1401
1402 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
1403 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
1404 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
1405 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
1406 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
1407 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
1408
a1c1908b
NS
14092015-10-27 Nathan Sidwell <nathan@codesourcery.com>
1410
1411 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
1412 dimensions.
1413
b3962a4a
TS
14142015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1415
1416 PR testsuite/68063
1417 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
1418
88bae6f4
TS
14192015-10-27 James Norris <jnorris@codesourcery.com>
1420
1421 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
1422 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
1423
8baa7864
TS
14242015-10-26 Thomas Schwinge <thomas@codesourcery.com>
1425
bdeb752c
TS
1426 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
1427 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1428
ecd4fd43
TS
1429 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
1430 acc_device_nvidia usage.
1431 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1434
aa8b7d30
TS
1435 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
1436 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
1437
7c8f138d
TS
1438 PR libgomp/66518
1439 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
1440
8baa7864
TS
1441 PR libgomp/65437
1442 PR libgomp/66518
1443 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
1444 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
1445
88ebcde5
TV
14462015-10-23 Tom de Vries <tom@codesourcery.com>
1447
1448 PR testsuite/68063
1449 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
1450
9ef83c04
NS
14512015-10-20 Nathan Sidwell <nathan@codesourcery.com>
1452
1453 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
1454 vector_length.
1455 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1456
3837c6d6
IV
14572015-10-14 Ilya Verbin <ilya.verbin@intel.com>
1458 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
1459
1460 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
1461 to 0 when mapnum is 0.
1462
ac8a1965
SH
14632015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
1464
1465 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
1466 Cast to int from int32_t.
1467
d9a6bd32
JJ
14682015-10-13 Jakub Jelinek <jakub@redhat.com>
1469 Aldy Hernandez <aldyh@redhat.com>
1470 Ilya Verbin <ilya.verbin@intel.com>
1471
1472 * config/linux/affinity.c (omp_get_place_num_procs,
1473 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1474 * config/linux/doacross.h: New file.
1475 * config/posix/affinity.c (omp_get_place_num_procs,
1476 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1477 * config/posix/doacross.h: New file.
1478 * env.c: Include gomp-constants.h.
1479 (struct gomp_task_icv): Rename run_sched_modifier to
1480 run_sched_chunk_size.
1481 (gomp_max_task_priority_var): New variable.
1482 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
1483 (handle_omp_display_env): Change _OPENMP value from 201307 to
1484 201511. Print OMP_MAX_TASK_PRIORITY.
1485 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
1486 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
1487 chunk_size and run_sched_modifier to run_sched_chunk_size.
1488 (omp_get_max_task_priority, omp_get_initial_device,
1489 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
1490 omp_get_partition_place_nums): New functions.
1491 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
1492 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
1493 to chunk_size.
1494 (omp_get_num_places_, omp_get_place_num_procs_,
1495 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
1496 omp_get_place_proc_ids_8_, omp_get_place_num_,
1497 omp_get_partition_num_places_, omp_get_partition_place_nums_,
1498 omp_get_partition_place_nums_8_, omp_get_initial_device_,
1499 omp_get_max_task_priority_): New functions.
1500 * libgomp_g.h (GOMP_loop_doacross_static_start,
1501 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
1502 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
1503 GOMP_loop_ull_doacross_dynamic_start,
1504 GOMP_loop_ull_doacross_guided_start,
1505 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
1506 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
1507 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
1508 GOMP_target_data_41, GOMP_target_update_41,
1509 GOMP_target_enter_exit_data): New prototypes.
1510 (GOMP_task): Add prototype argument.
1511 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
1512 (struct gomp_doacross_work_share): New type.
1513 (struct gomp_work_share): Add doacross field.
1514 (struct gomp_task_icv): Rename run_sched_modifier to
1515 run_sched_chunk_size.
1516 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
1517 GOMP_TASK_UNDEFERRED. Add comments.
1518 (struct gomp_task_depend_entry): Add comments.
1519 (struct gomp_task): Likewise.
1520 (struct gomp_taskgroup): Likewise.
1521 (struct gomp_target_task): New type.
1522 (struct gomp_team): Add comment.
1523 (gomp_get_place_proc_ids_8, gomp_doacross_init,
1524 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
1525 gomp_create_target_task, gomp_target_task_fn): New prototypes.
1526 (struct target_var_desc): New type.
1527 (struct target_mem_desc): Adjust comment. Use struct
1528 target_var_desc instead of splay_tree_key for list.
1529 (REFCOUNT_INFINITY): Define.
1530 (struct splay_tree_key_s): Remove copy_from field.
1531 (struct gomp_device_descr): Add dev2dev_func field.
1532 (enum gomp_map_vars_kind): New enum.
1533 (gomp_map_vars): Add one argument.
1534 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
1535 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
1536 omp_get_place_num_procs, omp_get_place_num_procs_,
1537 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
1538 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
1539 omp_get_place_num_, omp_get_partition_num_places,
1540 omp_get_partition_num_places_, omp_get_partition_place_nums,
1541 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
1542 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
1543 omp_target_free, omp_target_is_present, omp_target_memcpy,
1544 omp_target_memcpy_rect, omp_target_associate_ptr and
1545 omp_target_disassociate_ptr.
1546 (GOMP_4.0.2): Renamed to ...
1547 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
1548 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
1549 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
1550 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1551 GOMP_loop_doacross_static_start, GOMP_doacross_post,
1552 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
1553 GOMP_loop_ull_doacross_guided_start,
1554 GOMP_loop_ull_doacross_runtime_start,
1555 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
1556 GOMP_doacross_ull_wait.
1557 * libgomp.texi: Document omp_get_max_task_priority.
1558 Rename modifier argument to chunk_size for omp_set_schedule and
1559 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
1560 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
1561 to run_sched_chunk_size renaming.
1562 (GOMP_loop_ordered_runtime_start): Likewise.
1563 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1564 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1565 GOMP_parallel_loop_runtime_start): New functions.
1566 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
1567 to run_sched_chunk_size renaming.
1568 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
1569 GOMP_loop_doacross_guided_start): New functions or aliases.
1570 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
1571 run_sched_modifier to run_sched_chunk_size renaming.
1572 (GOMP_loop_ull_ordered_runtime_start): Likewise.
1573 (gomp_loop_ull_doacross_static_start,
1574 gomp_loop_ull_doacross_dynamic_start,
1575 gomp_loop_ull_doacross_guided_start,
1576 GOMP_loop_ull_doacross_runtime_start): New functions.
1577 (GOMP_loop_ull_doacross_static_start,
1578 GOMP_loop_ull_doacross_dynamic_start,
1579 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
1580 * oacc-mem.c (acc_map_data, present_create_copy,
1581 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
1582 to gomp_map_vars.
1583 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
1584 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
1585 instead of false to gomp_map_vars.
1586 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
1587 * omp.h.in (omp_lock_hint_t): New type.
1588 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1589 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1590 omp_get_place_num, omp_get_partition_num_places,
1591 omp_get_partition_place_nums, omp_get_initial_device,
1592 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
1593 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
1594 omp_target_associate_ptr, omp_target_disassociate_ptr): New
1595 prototypes.
1596 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
1597 (omp_lock_hint_none, omp_lock_hint_uncontended,
1598 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1599 omp_lock_hint_speculative): New parameters.
1600 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1601 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1602 omp_get_place_num, omp_get_partition_num_places,
1603 omp_get_partition_place_nums, omp_get_initial_device,
1604 omp_get_max_task_priority): New interfaces.
1605 (omp_set_schedule, omp_get_schedule): Rename modifier argument
1606 to chunk_size.
1607 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
1608 (omp_lock_hint_none, omp_lock_hint_uncontended,
1609 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1610 omp_lock_hint_speculative): New parameters.
1611 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1612 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1613 omp_get_place_num, omp_get_partition_num_places,
1614 omp_get_partition_place_nums, omp_get_initial_device,
1615 omp_get_max_task_priority): New functions and subroutines.
1616 * ordered.c: Include stdarg.h and string.h.
1617 (MAX_COLLAPSED_BITS): Define.
1618 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
1619 gomp_doacross_ull_init, GOMP_doacross_ull_post,
1620 GOMP_doacross_ull_wait): New functions.
1621 * target.c: Include errno.h.
1622 (resolve_device): If device is not initialized, call
1623 gomp_init_device on it.
1624 (gomp_map_lookup): New function.
1625 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
1626 Don't bump refcount if REFCOUNT_INFINITY. Handle
1627 GOMP_MAP_ALWAYS_TO_P.
1628 (get_kind): Rename is_openacc argument to short_mapkind.
1629 (gomp_map_pointer): Use gomp_map_lookup.
1630 (gomp_map_fields_existing): New function.
1631 (gomp_map_vars): Rename is_openacc argument to short_mapkind
1632 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
1633 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
1634 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
1635 Adjust for tgt->list changed type and copy_from living in there.
1636 (gomp_copy_from_async): Adjust for tgt->list changed type and
1637 copy_from living in there.
1638 (gomp_unmap_vars): Likewise.
1639 (gomp_update): Likewise. Rename is_openacc argument to
1640 short_mapkind. Don't fail if object is not mapped.
1641 (gomp_load_image_to_device): Initialize refcount to
1642 REFCOUNT_INFINITY.
1643 (gomp_target_fallback): New function.
1644 (gomp_get_target_fn_addr): Likewise.
1645 (GOMP_target): Adjust gomp_map_vars caller, use
1646 gomp_get_target_fn_addr and gomp_target_fallback.
1647 (GOMP_target_41): New function.
1648 (gomp_target_data_fallback): New function.
1649 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
1650 (GOMP_target_data_41): New function.
1651 (GOMP_target_update): Adjust gomp_update caller.
1652 (GOMP_target_update_41): New function.
1653 (gomp_exit_data, GOMP_target_enter_exit_data,
1654 gomp_target_task_fn, omp_target_alloc, omp_target_free,
1655 omp_target_is_present, omp_target_memcpy,
1656 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
1657 omp_target_associate_ptr, omp_target_disassociate_ptr,
1658 gomp_load_plugin_for_device): New functions.
1659 * task.c: Include gomp-constants.h. Include taskloop.c
1660 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
1661 (gomp_task_handle_depend): New function.
1662 (GOMP_task): Use it. Add priority argument. Use
1663 gomp-constant.h constants instead of hardcoded numbers.
1664 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
1665 (gomp_create_target_task): New function.
1666 (verify_children_queue, verify_taskgroup_queue,
1667 verify_task_queue): New functions.
1668 (gomp_task_run_pre): Call verify_*_queue functions.
1669 If an upcoming tied task is about to leave the sibling or
1670 taskgroup queues in an invalid state, adjust appropriately.
1671 Remove taskgroup argument. Add comments.
1672 (gomp_task_run_post_handle_dependers): Add comments.
1673 (gomp_task_run_post_remove_parent): Likewise.
1674 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
1675 (GOMP_taskwait): Likewise. Add comments.
1676 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
1677 problem such that the first non parent_depends_on task does not
1678 end up at the end of the children queue.
1679 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
1680 GOMP_TASK_UNDEFERRED.
1681 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
1682 * taskloop.c: New file.
1683 * testsuite/lib/libgomp.exp
1684 (check_effective_target_offload_device_nonshared_as): New proc.
1685 * testsuite/libgomp.c/affinity-2.c: New test.
1686 * testsuite/libgomp.c/doacross-1.c: New test.
1687 * testsuite/libgomp.c/doacross-2.c: New test.
1688 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
1689 Add map clause to target.
1690 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
1691 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
1692 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
1693 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
1694 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
1695 Likewise.
1696 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
1697 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
1698 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
1699 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
1700 not defined. Use those where needed.
1701 * testsuite/libgomp.c/for-4.c: New test.
1702 * testsuite/libgomp.c/for-5.c: New test.
1703 * testsuite/libgomp.c/for-6.c: New test.
1704 * testsuite/libgomp.c/linear-1.c: New test.
1705 * testsuite/libgomp.c/ordered-4.c: New test.
1706 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
1707 only allowed on the loop iterator.
1708 * testsuite/libgomp.c/pr66199-3.c: New test.
1709 * testsuite/libgomp.c/pr66199-4.c: New test.
1710 * testsuite/libgomp.c/reduction-7.c: New test.
1711 * testsuite/libgomp.c/reduction-8.c: New test.
1712 * testsuite/libgomp.c/reduction-9.c: New test.
1713 * testsuite/libgomp.c/reduction-10.c: New test.
1714 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
1715 map(tofrom:s).
1716 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
1717 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
1718 * testsuite/libgomp.c/target-11.c: New test.
1719 * testsuite/libgomp.c/target-12.c: New test.
1720 * testsuite/libgomp.c/target-13.c: New test.
1721 * testsuite/libgomp.c/target-14.c: New test.
1722 * testsuite/libgomp.c/target-15.c: New test.
1723 * testsuite/libgomp.c/target-16.c: New test.
1724 * testsuite/libgomp.c/target-17.c: New test.
1725 * testsuite/libgomp.c/target-18.c: New test.
1726 * testsuite/libgomp.c/target-19.c: New test.
1727 * testsuite/libgomp.c/target-20.c: New test.
1728 * testsuite/libgomp.c/target-21.c: New test.
1729 * testsuite/libgomp.c/target-22.c: New test.
1730 * testsuite/libgomp.c/target-23.c: New test.
1731 * testsuite/libgomp.c/target-24.c: New test.
1732 * testsuite/libgomp.c/target-25.c: New test.
1733 * testsuite/libgomp.c/target-26.c: New test.
1734 * testsuite/libgomp.c/target-27.c: New test.
1735 * testsuite/libgomp.c/taskloop-1.c: New test.
1736 * testsuite/libgomp.c/taskloop-2.c: New test.
1737 * testsuite/libgomp.c/taskloop-3.c: New test.
1738 * testsuite/libgomp.c/taskloop-4.c: New test.
1739 * testsuite/libgomp.c++/ctor-13.C: New test.
1740 * testsuite/libgomp.c++/doacross-1.C: New test.
1741 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
1742 Replace offload_device with offload_device_nonshared_as.
1743 * testsuite/libgomp.c++/for-12.C: New test.
1744 * testsuite/libgomp.c++/for-13.C: New test.
1745 * testsuite/libgomp.c++/for-14.C: New test.
1746 * testsuite/libgomp.c++/linear-1.C: New test.
1747 * testsuite/libgomp.c++/member-1.C: New test.
1748 * testsuite/libgomp.c++/member-2.C: New test.
1749 * testsuite/libgomp.c++/member-3.C: New test.
1750 * testsuite/libgomp.c++/member-4.C: New test.
1751 * testsuite/libgomp.c++/member-5.C: New test.
1752 * testsuite/libgomp.c++/ordered-1.C: New test.
1753 * testsuite/libgomp.c++/reduction-5.C: New test.
1754 * testsuite/libgomp.c++/reduction-6.C: New test.
1755 * testsuite/libgomp.c++/reduction-7.C: New test.
1756 * testsuite/libgomp.c++/reduction-8.C: New test.
1757 * testsuite/libgomp.c++/reduction-9.C: New test.
1758 * testsuite/libgomp.c++/reduction-10.C: New test.
1759 * testsuite/libgomp.c++/reference-1.C: New test.
1760 * testsuite/libgomp.c++/simd14.C: New test.
1761 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
1762 * testsuite/libgomp.c++/target-5.C: New test.
1763 * testsuite/libgomp.c++/target-6.C: New test.
1764 * testsuite/libgomp.c++/target-7.C: New test.
1765 * testsuite/libgomp.c++/target-8.C: New test.
1766 * testsuite/libgomp.c++/target-9.C: New test.
1767 * testsuite/libgomp.c++/target-10.C: New test.
1768 * testsuite/libgomp.c++/target-11.C: New test.
1769 * testsuite/libgomp.c++/target-12.C: New test.
1770 * testsuite/libgomp.c++/taskloop-1.C: New test.
1771 * testsuite/libgomp.c++/taskloop-2.C: New test.
1772 * testsuite/libgomp.c++/taskloop-3.C: New test.
1773 * testsuite/libgomp.c++/taskloop-4.C: New test.
1774 * testsuite/libgomp.c++/taskloop-5.C: New test.
1775 * testsuite/libgomp.c++/taskloop-6.C: New test.
1776 * testsuite/libgomp.c++/taskloop-7.C: New test.
1777 * testsuite/libgomp.c++/taskloop-8.C: New test.
1778 * testsuite/libgomp.c++/taskloop-9.C: New test.
1779 * testsuite/libgomp.fortran/affinity1.f90: New test.
1780 * testsuite/libgomp.fortran/affinity2.f90: New test.
1781
1f600fea
TV
17822015-10-13 Tom de Vries <tom@codesourcery.com>
1783
1784 PR tree-optimization/67476
1785 * testsuite/libgomp.c/autopar-3.c: New test.
1786 * testsuite/libgomp.c/autopar-4.c: New test.
1787 * testsuite/libgomp.c/autopar-5.c: New test.
1788 * testsuite/libgomp.c/autopar-6.c: New test.
1789 * testsuite/libgomp.c/autopar-7.c: New test.
1790 * testsuite/libgomp.c/autopar-8.c: New test.
1791
058a654b
JN
17922015-10-12 James Norris <jnorris@codesourcery.com>
1793
1794 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
1795 initializer.
1796
9e531d37
DM
17972015-10-09 David Malcolm <dmalcolm@redhat.com>
1798
1799 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
1800 using load_gcc_lib.
1801
113020dc
TS
18022015-10-02 Thomas Schwinge <thomas@codesourcery.com>
1803
1804 * oacc-ptx.h: Remove file, moving its content into...
1805 * config/nvptx/fortran.c: ... here...
1806 * config/nvptx/oacc-init.c: ..., here...
1807 * config/nvptx/oacc-parallel.c: ..., and here.
1808 * config/nvptx/openacc.f90: New file.
1809 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
1810 (link_ptx): Don't link in predefined bits of PTX code.
1811
cc3cd79b
NS
18122015-09-30 Nathan Sidwell <nathan@codesourcery.com>
1813 Bernd Schmidt <bernds@codesourcery.com>
1814
1815 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
1816 (struct targ_ptx_obj): New.
1817 (nvptx_tdata): Move earlier, change data format.
1818 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
1819 objects.
1820 (GOMP_OFFLOAD_load_image): Adjust.
1821
4e2a5450
TS
18222015-09-30 Thomas Schwinge <thomas@codesourcery.com>
1823
1824 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
1825 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1826 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1827 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1828 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1829 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1830 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1831 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1832 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1833 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1834 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1835 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1836 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1837 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1838 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1839 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1840 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1841 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1842 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1843 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1844 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1845 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1846 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1847 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1848 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1849 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1850 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1851 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1852 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1853 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1854 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1855 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1856 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1857 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1858 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1859 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1860 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1861 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1862 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1863 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1864 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1865 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1866 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1867 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1868 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1869 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1870 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1871 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1872 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1873 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1874 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1875 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1876 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1877 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1878 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1879 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1880 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1881 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1882 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1883 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1884 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1885 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1886 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1887
164453bb
NS
18882015-09-29 Nathan Sidwell <nathan@codesourcery.com>
1889
1890 * oacc-init.c (acc_on_device): Force optimization level.
1891
a12a0437
NS
18922015-09-29 Nathan Sidwell <nathan@codesourcery.com>
1893
1894 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
1895 (cuda_errlist): Delete.
1896 (cuda_error): Reimplement.
1897
3e32ee19
NS
18982015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1899
1900 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
1901 array.
1902 * libgomp.map (GOACC_parallel_keyed): New.
1903 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
1904 all callers.
1905 (GOACC_parallel_keyed): New interface. Lose geometry arguments
1906 and take keyed varargs list. Adjust call to exec_func.
1907 (GOACC_parallel): Force host fallback.
1908 * libgomp_g.h (GOACC_parallel): Remove.
1909 (GOACC_parallel_keyed): Declare.
1910 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
1911 (stuct targ_gn_descriptor): Replace name field with launch field.
1912 (nvptx_exec): Lose separate geometry args, take array. Process
1913 dynamic dimensions and adjust.
1914 (struct nvptx_tdata): Replace fn_names field with fn_descs.
1915 (GOMP_OFFLOAD_load_image): Adjust for change in function table
1916 data.
1917 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
1918 passing.
1919 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
1920 passing.
1921
6bb4c3e2
CLT
19222015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
1923
1924 PR libgomp/67141
1925 * oacc-int.h (goacc_host_init): Add declaration.
1926 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
1927 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
1928
74032f47 19292015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 1930 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
1931
1932 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
1933 match o/p.
1934 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
1935 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
1936 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
1937 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
1938 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1939
97875f4a
JJ
19402015-09-03 Jakub Jelinek <jakub@redhat.com>
1941
1942 * configure.tgt: Add missing ;; in between nvptx and rtems
1943 snippets.
1944
06441dd5
SH
19452015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1946
1947 * config/posix/pool.h (gomp_adjust_thread_attr): New.
1948 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
1949 (gomp_thread_pool_reservoir): Add priority member.
1950 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
1951 priority.
1952 (parse_thread_pools): Likewise.
1953 * team.c (gomp_team_start): Call configuration provided
1954 gomp_adjust_thread_attr(). Destroy thread attributes if
1955 necessary.
1956 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
1957
66c59f92
SH
19582015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1959
1960 * config/posix/pool.h: New.
1961 * config/rtems/pool.h: Likewise.
1962 * config/rtems/proc.c: Likewise.
1963 * libgomp.h (gomp_thread_destructor): Declare.
1964 * team.c: Include configuration provided "pool.h".
1965 (gomp_get_thread_pool): Define in configuration.
1966 (gomp_team_end): Call configuration defined
1967 gomp_release_thread_pool().
1968
13c41b2e
SH
19692015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1970
1971 * config/rtems/bar.c: New.
1972 * config/rtems/bar.h: Likewise.
1973 * config/rtems/mutex.c: Likewise.
1974 * config/rtems/mutex.h: Likewise.
1975 * config/rtems/sem.c: Likewise.
1976 * config/rtems/sem.h: Likewise.
1977 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
1978 <sys/lock.h> header file.
1979 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
1980 supported by Newlib.
1981 * configure: Regenerate.
1982
7892ec67
SH
19832015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1984
1985 * team.c (gomp_new_thread_pool): Delete and move content to ...
1986 (gomp_get_thread_pool): ... new function. Allocate and
1987 initialize thread pool on demand.
1988 (get_last_team): Use gomp_get_thread_pool().
1989 (gomp_team_start): Delete thread pool initialization.
1990
1b96e9a4
TV
19912015-09-03 Tom de Vries <tom@codesourcery.com>
1992
1993 PR tree-optimization/65637
1994 * testsuite/libgomp.c/autopar-2.c: New test.
1995
3ff2d74e
TV
19962015-08-29 Tom de Vries <tom@codesourcery.com>
1997
1998 PR tree-optimization/46193
1999 * testsuite/libgomp.c/pr46193.c: New test.
2000
2a21ff19
NS
20012015-08-24 Nathan Sidwell <nathan@codesourcery.com>
2002
2003 libgomp/
2004 * libgomp.map: Add 4.0.2 version.
2005 * target.c (offload_image_descr): Add version field.
2006 (gomp_load_image_to_device): Add version argument. Adjust plugin
2007 call. Improve load mismatch diagnostic.
2008 (gomp_unload_image_from_device): Add version argument. Adjust plugin
2009 call.
2010 (GOMP_offload_regster): Make stub function, move bulk to ...
2011 (GOMP_offload_register_ver): ... here. Process version argument.
2012 (GOMP_offload_unregister): Make stub function, move bulk to ...
2013 (GOMP_offload_unregister_ver): ... here. Process version argument.
2014 (gomp_init_device): Process version field.
2015 (gomp_unload_device): Process version field.
2016 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
2017 macros. Check plugin version.
2018 * libgomp.h (gomp_device_descr): Add version function field. Adjust
2019 loader and unloader types.
2020 * oacc-host.c: Include gomp-constants.h.
2021 (host_version): New.
2022 (host_load_image, host_unload_image): Adjust.
2023 (host_dispatch): Add host_version.
2024 * plugin/plugin-nvptx.c: Include gomp-constants.h.
2025 (GOMP_OFFLOAD_version): New.
2026 (GOMP_OFFLOAD_load_image): Add version arg and check it.
2027 (GOMP_OFFLOAD_unload_image): Likewise.
2028 * plugin/plugin-host.c: Include gomp-constants.h.
2029 (GOMP_OFFLOAD_version): New.
2030 (GOMP_OFFLOAD_load_image): Add version arg.
2031 (GOMP_OFFLOAD_unload_image): Likewise.
2032
1358a747
TV
20332015-08-24 Tom de Vries <tom@codesourcery.com>
2034
2035 PR tree-optimization/65468
2036 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
2037
6be5c241
TV
20382015-08-24 Tom de Vries <tom@codesourcery.com>
2039
2040 PR tree-optimization/65468
2041 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
2042
bfe7ac89
JV
20432015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
2044
2045 PR libgomp/66761
2046 PR libgomp/67303
2047 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2048 (gomp_iter_guided_next): Idem.
2049 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2050 (gomp_iter_ull_guided_next): Idem.
2051 * config/linux/wait.h (do_spin): Idem.
2052
b97e78b7
TS
20532015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2054
2055 * libgomp-plugin.h (enum offload_target_type): Remove
2056 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2057 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2058 * openacc.h (enum acc_device_t): Likewise.
2059 * openacc_lib.h: Likewise.
2060 * oacc-init.c (name_of_acc_device_t): Don't handle it.
2061 (acc_on_device): Just use __builtin_acc_on_device.
2062 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2063 of acc_on_device builtin.
2064 * plugin/plugin-host.h: Remove file.
2065 * plugin/plugin-host.c: Likewise, but salvage some content into...
2066 * oacc-host.c: ... this file.
2067 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2068 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2069 * Makefile.in: Regenerate.
2070 * configure: Likewise.
2071 * testsuite/lib/libgomp.exp
2072 (check_effective_target_openacc_host_nonshm_selected): Remove.
2073 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2074 ACC_DEVICE_TYPE=host_nonshm.
2075 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2076 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2077 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2078 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2079 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2080 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2081
44a7d18d
TS
20822015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2083 Jakub Jelinek <jakub@redhat.com>
2084
2085 * config/nvptx/affinity.c: New file.
2086 * config/nvptx/alloc.c: Likewise.
2087 * config/nvptx/bar.c: Likewise.
2088 * config/nvptx/barrier.c: Likewise.
2089 * config/nvptx/critical.c: Likewise.
2090 * config/nvptx/env.c: Likewise.
2091 * config/nvptx/error.c: Likewise.
2092 * config/nvptx/fortran.c: Likewise.
2093 * config/nvptx/iter.c: Likewise.
2094 * config/nvptx/iter_ull.c: Likewise.
2095 * config/nvptx/libgomp-plugin.c: Likewise.
2096 * config/nvptx/lock.c: Likewise.
2097 * config/nvptx/loop.c: Likewise.
2098 * config/nvptx/loop_ull.c: Likewise.
2099 * config/nvptx/mutex.c: Likewise.
2100 * config/nvptx/oacc-async.c: Likewise.
2101 * config/nvptx/oacc-cuda.c: Likewise.
2102 * config/nvptx/oacc-host.c: Likewise.
2103 * config/nvptx/oacc-init.c: Likewise.
2104 * config/nvptx/oacc-mem.c: Likewise.
2105 * config/nvptx/oacc-parallel.c: Likewise.
2106 * config/nvptx/oacc-plugin.c: Likewise.
2107 * config/nvptx/omp-lock.h: Likewise.
2108 * config/nvptx/ordered.c: Likewise.
2109 * config/nvptx/parallel.c: Likewise.
2110 * config/nvptx/proc.c: Likewise.
2111 * config/nvptx/ptrlock.c: Likewise.
2112 * config/nvptx/sections.c: Likewise.
2113 * config/nvptx/sem.c: Likewise.
2114 * config/nvptx/single.c: Likewise.
2115 * config/nvptx/splay-tree.c: Likewise.
2116 * config/nvptx/target.c: Likewise.
2117 * config/nvptx/task.c: Likewise.
2118 * config/nvptx/team.c: Likewise.
2119 * config/nvptx/time.c: Likewise.
2120 * config/nvptx/work.c: Likewise.
2121 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
2122 * configure: Regenerate.
2123 * configure.tgt (config_path): Set to "nvptx" for target
2124 nvptx*-*-*.
2125
96a2d174
TS
21262015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2127
2128 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
2129
9ebddeb0
NS
21302015-08-03 Nathan Sidwell <nathan@codesourcery.com>
2131
2132 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
2133 (cuda_errlist): Constify.
2134 (errmsg): Move into ...
2135 (cuda_error): ... here. Make smaller.
2136 (_XSTR, _STR): Delete.
2137 (cuda_synames): Delete.
2138 (verify_device_library): Delete.
2139 (nvptx_init): Don't call it.
2140
12efb1d7
TV
21412015-07-28 Tom de Vries <tom@codesourcery.com>
2142
2143 * testsuite/libgomp.c/uns-outer-4.c: New test.
2144
710ee218
CP
21452015-07-24 Cesar Philippidis <cesar@codesourcery.com>
2146
2147 * testsuite/libgomp.c/pr66714.c: New test.
2148
27c4ac7d
MB
21492015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
2150
2151 PR libgomp/66950
2152 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
2153 (fib_ref): New function.
2154 (fib): Correct corner cases in the recursion.
2155 (main): Replace the non-simd loop with fib_ref call.
2156 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
2157 subroutine.
2158 (fibonacci): Lower the parameter N to 30. Correct accordingly check
2159 for the last array element value. Replace the non-simd loop with
2160 fib_ref call. Remove redundant b_ref array. Remove the comparison
2161 of the last array element with according Fibonacci sequence element.
2162 (fib): Correct corner cases in the recursion.
2163
22be2349
NS
21642015-07-21 Nathan Sidwell <nathan@codesourcery.com>
2165
2166 * target.c (gomp_offload_image_to_device): Rename to ...
2167 (gomp_load_image_to_device): ... here.
2168 (GOMP_offload_register): Adjust call.
2169 (gomp_init_device): Likewise.
2170 (gomp_unload_image_from_device): New. Broken out of ...
2171 (GOMP_offload_unregister): ... here. Call it.
2172 (gomp_unload_device): New.
2173 * libgomp.h (gomp_unload_device): Declare.
2174 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
2175 mem maps.
2176
f3e9a059
NS
21772015-07-20 Nathan Sidwell <nathan@codesourcery.com>
2178
a091118d
NS
2179 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
2180 wait=-specific if.
2181 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
2182 !=0 condition.
2183 (goacc_waits): Move !num_waits handling to ...
2184 (GOACC_wait): ... here, the only caller that might have zero waits.
2185
f3e9a059
NS
2186 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
2187 (struct ptx_image_data): Move earlier, add fns field.
2188 (struct ptx_device): Add images and image_lock fields.
2189 (ptx_images, ptx_image_lock): Delete.
2190 (nvptx_open_device): Initialize images and image_lock fields.
2191 (nvptx_close_device): Destroy image_lock.
2192 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
2193 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
2194 fields.
2195
afb2d80b
NS
21962015-07-17 Nathan Sidwell <nathan@codesourcery.com>
2197
896c28a7
NS
2198 * target.c (GOMP_offload_register): Use int for device type arg.
2199 (GOMP_offload_unregister): Likewise.
2200
ebe4a560
NS
2201 * target.c (struct_offload_image_descr): Constify host_table.
2202 (gomp_offload_image_to_device): Likewise.
2203 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
2204
afb2d80b
NS
2205 * libgomp.h (gomp_device_descr): Constify target data arguments.
2206 * target.c (struct offload_image_descr): Constify target_data.
2207 (gomp_offload_image_to_device): Likewise.
2208 (GOMP_offload_register): Likewise.
2209 (GOMP_offload_unrefister): Likewise.
2210 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
2211 GOMP_OFFLOAD_unload_image): Constify target data.
2212 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
2213 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
2214
a4cb876d
NS
22152015-07-16 Nathan Sidwell <nathan@codesourcery.com>
2216
2217 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
2218 Workaround driver library const error.
2219 (struct nvptx_tdata, nvptx_tdata_t): New.
2220 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
2221 type.
2222
28ef6a27
MB
22232015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
2224
2225 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
2226 of EPS parameter from integer to real.
2227 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
2228 type of EPS parameter from integer to real.
2229
6dba0113
SH
22302015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
2231
2232 * team.c (get_last_team): New.
2233 (gomp_new_team): Recycle last non-nested team if possible.
2234 (gomp_team_end): Move team work share list free lock destruction
2235 to ...
2236 (free_team): ... here.
2237
4c1cb4da
MB
22382015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
2239
2240 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
2241 and ref from int to double. Replaced their comparison with
2242 an inequality of their difference and EPS.
2243 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
2244 comparison of pri and a reference number with an inequality of their
2245 difference and EPS.
2246 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
2247 the comparison of sum and sum_ref with an inequality of their
2248 difference and EPS.
2249 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
2250 the comparison of pri and a reference number with an inequality of
2251 their difference and EPS.
2252
343587dc
MB
22532015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
2254
2255 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
2256 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
2257 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
2258 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
2259 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
2260 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
2261 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
2262 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
2263 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
2264 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
2265 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
2266 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
2267 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
2268 variables.
2269 (vec_mult): Likewise. Add #pragma omp taskwait.
2270 (main): Adjust caller.
2271 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
2272 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
2273 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
2274 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
2275 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
2276 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
2277 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
2278 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
2279 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
2280 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
2281 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
2282 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
2283 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
2284 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
2285 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
2286 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
2287 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
2288 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
2289 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
2290 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
2291 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
2292 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
2293 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
2294 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
2295 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
2296 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
2297 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
2298 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
2299 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
2300 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
2301 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
2302 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
2303 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
2304 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
2305 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
2306 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
2307 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
2308 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
2309 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
2310 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
2311 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
2312 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
2313 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
2314 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
2315 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
2316 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
2317 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
2318 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
2319 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
2320 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
2321 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
2322 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
2323 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
2324 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
2325 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
2326 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
2327 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
2328 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
2329 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
2330 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
2331 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
2332 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
2333 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
2334 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
2335 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
2336 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
2337 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
2338 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
2339 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
2340 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
2341 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
2342 (vec_mult): Add !$omp taskwait.
2343 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
2344 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
2345 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
2346 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
2347 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
2348 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
2349 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
2350 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
2351 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
2352 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
2353 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
2354 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
2355 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
2356 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
2357 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
2358 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
2359 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
2360 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
2361 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
2362 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
2363 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
2364 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
2365 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
2366 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
2367 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
2368 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
2369 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
2370 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
2371 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
2372 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
2373 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
2374 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
2375 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
2376 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
2377 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
2378 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
2379 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
2380 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
2381 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
2382 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
2383 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
2384 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
2385 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
2386 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
2387 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
2388 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
2389 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
2390 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
2391 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
2392 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
2393 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
2394 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
2395 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
2396 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
2397 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
2398 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
2399 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
2400 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
2401 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
2402 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
2403 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
2404 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
2405 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
2406 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
2407 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
2408 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
2409 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
2410
9f620bf1
TV
24112015-07-10 Tom de Vries <tom@codesourcery.com>
2412
2413 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
2414 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
2415
a92defda
TS
24162015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2417
2418 PR libgomp/65099
2419 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
2420 in a 64-bit configuration.
2421 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
2422 offloading testing if no such device is available.
2423 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2424 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2425
cadb53a5
TV
24262015-07-08 Tom de Vries <tom@codesourcery.com>
2427
2428 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
2429 second call to f.
2430 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2431
712cb0bb
TV
24322015-07-07 Tom de Vries <tom@codesourcery.com>
2433
2434 PR tree-optimization/66642
2435 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
2436 iteration count case.
2437 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
2438 function, factor out of ...
2439 (main): ... here. Test low iteration count case.
2440
e5210c77
SH
24412015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
2442
2443 * libgomp.h (gomp_thread_pool): Comment last_team field.
2444
f70360e7
UB
24452015-07-02 Uros Bizjak <ubizjak@gmail.com>
2446
2447 * testsuite/libgomp.c++/pr66702-1.C: Require
2448 vect_simd_clones effective target.
2449 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
2450
b451c271
TV
24512015-06-30 Tom de Vries <tom@codesourcery.com>
2452
2453 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2454 already set. Use DEFAULT_CFLAGS in dg-runtest.
2455 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
2456 "-O2".
2457
f8e89d9f
TV
24582015-06-30 Tom de Vries <tom@codesourcery.com>
2459
2460 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2461 already set. Use DEFAULT_CFLAGS in dg-runtest.
2462 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
2463 * testsuite/libgomp.c++/pr64824.C: Same.
2464 * testsuite/libgomp.c++/pr64868.C: Same.
2465 * testsuite/libgomp.c++/pr66199-1.C: Same.
2466 * testsuite/libgomp.c++/pr66199-2.C: Same.
2467 * testsuite/libgomp.c++/target-2.C: Same.
2468 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
2469 -std=<standard> option.
2470 * testsuite/libgomp.c++/udr-11.C: Same.
2471 * testsuite/libgomp.c++/udr-12.C: Same.
2472 * testsuite/libgomp.c++/udr-13.C: Same.
2473 * testsuite/libgomp.c++/udr-14.C: Same.
2474 * testsuite/libgomp.c++/udr-15.C: Same.
2475 * testsuite/libgomp.c++/udr-16.C: Same.
2476 * testsuite/libgomp.c++/udr-17.C: Same.
2477 * testsuite/libgomp.c++/udr-18.C: Same.
2478 * testsuite/libgomp.c++/udr-19.C: Same.
2479 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
2480 * testsuite/libgomp.c++/simd-1.C: Same.
2481 * testsuite/libgomp.c++/simd-2.C: Same.
2482 * testsuite/libgomp.c++/simd-3.C: Same.
2483 * testsuite/libgomp.c++/simd-4.C: Same.
2484 * testsuite/libgomp.c++/simd-5.C: Same.
2485 * testsuite/libgomp.c++/simd-6.C: Same.
2486 * testsuite/libgomp.c++/simd-7.C: Same.
2487 * testsuite/libgomp.c++/simd-8.C: Same.
2488 * testsuite/libgomp.c++/simd-9.C: Same.
2489 * testsuite/libgomp.c++/simd10.C: Same.
2490 * testsuite/libgomp.c++/simd11.C: Same.
2491 * testsuite/libgomp.c++/simd12.C: Same.
2492 * testsuite/libgomp.c++/simd13.C: Same.
2493
3446fe48
JJ
24942015-06-30 Jakub Jelinek <jakub@redhat.com>
2495
2496 PR middle-end/66702
2497 * testsuite/libgomp.c++/pr66702-1.C: New test.
2498 * testsuite/libgomp.c++/pr66702-2.C: New test.
2499
8a36714a
TV
25002015-06-30 Tom de Vries <tom@codesourcery.com>
2501
2502 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
2503 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
2504 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
2505 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
2506
4f75d608
TV
25072015-06-30 Tom de Vries <tom@codesourcery.com>
2508
2509 PR tree-optimization/66652
2510 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
2511 using restrict pointers.
2512 (main): Add arguments to calls to f.
2513 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2514
6d9d1eeb
AT
25152015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
2516
2517 * configure.ac: Fix check for header <sys/sysctl.h>.
2518 * configure: Regenerate.
2519 * config.h.in: Likewise.
2520
1222f22b
TV
25212015-06-23 Tom de Vries <tom@codesourcery.com>
2522
2523 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
2524 abort.
2525 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
2526
d7efbbf6
TS
25272015-06-19 Thomas Schwinge <thomas@codesourcery.com>
2528
bfcd036f
TS
2529 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
2530 acc_device_nvidia.
2531
d7efbbf6
TS
2532 PR libgomp/66518
2533 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
2534 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2535
d7bfc710
TV
25362015-06-15 Tom de Vries <tom@codesourcery.com>
2537
2538 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
2539 dg-additional-options for any remaining options.
2540 * testsuite/libgomp.c/atomic-2.c: Same.
2541 * testsuite/libgomp.c/atomic-4.c: Same.
2542 * testsuite/libgomp.c/atomic-5.c: Same.
2543 * testsuite/libgomp.c/atomic-6.c: Same.
2544 * testsuite/libgomp.c/autopar-1.c: Same.
2545 * testsuite/libgomp.c/copyin-1.c: Same.
2546 * testsuite/libgomp.c/copyin-2.c: Same.
2547 * testsuite/libgomp.c/copyin-3.c: Same.
2548 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
2549 * testsuite/libgomp.c/nestedfn-5.c: Same.
2550 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
2551 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
2552 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
2553 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2554 * testsuite/libgomp.c/pr32362-1.c: Same.
2555 * testsuite/libgomp.c/pr32362-2.c: Same.
2556 * testsuite/libgomp.c/pr32362-3.c: Same.
2557 * testsuite/libgomp.c/pr39591-1.c: Same.
2558 * testsuite/libgomp.c/pr39591-2.c: Same.
2559 * testsuite/libgomp.c/pr39591-3.c: Same.
2560 * testsuite/libgomp.c/pr58392.c: Same.
2561 * testsuite/libgomp.c/pr58756.c: Same.
2562 * testsuite/libgomp.c/simd-1.c: Same.
2563 * testsuite/libgomp.c/simd-10.c: Same.
2564 * testsuite/libgomp.c/simd-11.c: Same.
2565 * testsuite/libgomp.c/simd-12.c: Same.
2566 * testsuite/libgomp.c/simd-13.c: Same.
2567 * testsuite/libgomp.c/simd-14.c: Same.
2568 * testsuite/libgomp.c/simd-15.c: Same.
2569 * testsuite/libgomp.c/simd-2.c: Same.
2570 * testsuite/libgomp.c/simd-3.c: Same.
2571 * testsuite/libgomp.c/simd-4.c: Same.
2572 * testsuite/libgomp.c/simd-5.c: Same.
2573 * testsuite/libgomp.c/simd-6.c: Same.
2574 * testsuite/libgomp.c/simd-7.c: Same.
2575 * testsuite/libgomp.c/simd-8.c: Same.
2576 * testsuite/libgomp.c/simd-9.c: Same.
2577
fb5b5352
TV
25782015-06-15 Tom de Vries <tom@codesourcery.com>
2579
2580 * testsuite/libgomp.c/pr35625.c: Fix typo.
2581
ca431bef
TV
25822015-06-15 Tom de Vries <tom@codesourcery.com>
2583
2584 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
2585 in dg-options.
2586 * testsuite/libgomp.c/atomic-3.c: Same.
2587 * testsuite/libgomp.c/debug-1.c: Same.
2588 * testsuite/libgomp.c/nqueens-1.c: Same.
2589 * testsuite/libgomp.c/pr26171.c: Same.
2590 * testsuite/libgomp.c/pr48591.c: Same.
2591 * testsuite/libgomp.c/pr64824.c: Same.
2592 * testsuite/libgomp.c/pr64868.c: Same.
2593 * testsuite/libgomp.c/pr66133.c: Same.
2594 * testsuite/libgomp.c/pr66199-1.c: Same.
2595 * testsuite/libgomp.c/pr66199-2.c: Same.
2596 * testsuite/libgomp.c/target-8.c: Same.
2597
0d8a9e20
TV
25982015-06-15 Tom de Vries <tom@codesourcery.com>
2599
2600 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
2601 -std={gnu99,c99}.
2602 * testsuite/libgomp.c/for-1.c: Same.
2603 * testsuite/libgomp.c/for-2.c: Same.
2604 * testsuite/libgomp.c/for-3.c: Same.
2605 * testsuite/libgomp.c/pr35625.c: Same.
2606 * testsuite/libgomp.c/pr39154.c: Same.
2607 * testsuite/libgomp.c/simd-16.c: Same.
2608 * testsuite/libgomp.c/simd-17.c: Same.
2609
a6860be9
TV
26102015-06-13 Tom de Vries <tom@codesourcery.com>
2611
2612 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
2613
ab3306d2
TV
26142015-06-13 Tom de Vries <tom@codesourcery.com>
2615
2616 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
2617 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2618 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
2619 (N): Define.
2620 (main): Use N instead of hardcoded constants.
2621
7c82d827
TV
26222015-06-05 Tom de Vries <tom@codesourcery.com>
2623
2624 merge from gomp4 branch:
2625 2015-05-28 Tom de Vries <tom@codesourcery.com>
2626
2627 PR tree-optimization/65443
2628 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
2629 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
2630 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
2631
c469078d
BRF
26322015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2633
2634 * testsuite/libgomp.graphite/bounds.c: Adjust for
2635 cleanup-tree-dump removal.
2636 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
2637 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2638 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2639 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
2640 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2641 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2642 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2643 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2644 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2645 * testsuite/libgomp.graphite/pr41118.c: Likewise.
2646
bb3caa35
UB
26472015-05-28 Uros Bizjak <ubizjak@gmail.com>
2648
2649 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
2650 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
2651 (futex_wake) [!__x86_64__]: Ditto.
2652
9fb5fd44
JB
26532015-05-28 Julian Brown <julian@codesourcery.com>
2654
2655 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
2656 function comment. Only call gomp_fatal if new argument is true.
2657 (acc_dev_num_out_of_range): New function.
2658 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
2659 acc_dev_num_out_of_range as appropriate.
2660 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
2661 (acc_get_device_num, acc_set_device_num): Update calls to
2662 resolve_device.
9fb5fd44
JB
2663 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
2664 output.
2665
32eaed93
JB
26662015-05-28 Julian Brown <julian@codesourcery.com>
2667
2668 PR libgomp/65742
32eaed93
JB
2669 * oacc-init.c (plugin/plugin-host.h): Include.
2670 (acc_on_device): Check whether we're in an offloaded region for
2671 host_nonshm
2672 plugin. Don't use __builtin_acc_on_device.
2673 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
2674 nonshm_exec flag in thread-local data.
2675 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
2676 data for host_nonshm plugin.
2677 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
2678 for host_nonshm plugin.
2679 * plugin/plugin-host.h: New.
2680
ea023bcf
UB
26812015-05-27 Uros Bizjak <ubizjak@gmail.com>
2682
8ed501f1
UB
2683 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
2684
26852015-05-27 Uros Bizjak <ubizjak@gmail.com>
2686
2687 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
2688 Declare as int.
2689 (FUTEX_PRIVATE_FLAG): Remove L suffix.
2690 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
2691 Declare as int.
2692
26932015-05-27 Uros Bizjak <ubizjak@gmail.com>
2694
bb3caa35 2695 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 2696
1716efeb
CLT
26972015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
2698
2699 * target.c (gomp_map_pointer): New function abstracting out
2700 GOMP_MAP_POINTER handling.
2701 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
2702 gomp_map_pointer().
2703
41b37d5e
JJ
27042015-05-19 Jakub Jelinek <jakub@redhat.com>
2705
2706 PR middle-end/66199
2707 * testsuite/libgomp.c/pr66199-1.c: New test.
2708 * testsuite/libgomp.c/pr66199-2.c: New test.
2709 * testsuite/libgomp.c++/pr66199-1.C: New test.
2710 * testsuite/libgomp.c++/pr66199-2.C: New test.
2711 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
2712 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
2713
c8319826
JB
27142015-05-19 Julian Brown <julian@codesourcery.com>
2715
2716 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
2717 on cuInit failure.
2718
b37dddbc
JJ
27192015-05-13 Jakub Jelinek <jakub@redhat.com>
2720
2721 PR middle-end/66133
2722 * testsuite/libgomp.c/pr66133.c: New test.
2723
55fba601
MH
27242015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
2725
2726 * Makefile.in: Regenerated with automake-1.11.6.
2727 * aclocal.m4: Likewise.
2728 * config.h.in: Likewise.
2729 * configure: Likewise.
2730 * testsuite/Makefile.in: Likewise.
2731
1be0899d
JM
27322015-05-08 Jason Merrill <jason@redhat.com>
2733
2734 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
2735 _Complex.
2736
2737 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
2738
d2463960
JB
27392015-05-06 Julian Brown <julian@codesourcery.com>
2740
2741 * oacc-init.c (acc_device_lock): Add explanatory comment.
2742 (resolve_device): Add comment about locking requirement.
2743 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
2744 gomp_init_device and gomp_fini_device calls.
2745 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
2746 (acc_get_device_num, acc_set_device_num): Add locking around
2747 resolve_device and gomp_init_device calls.
2748
e38fdba4
JB
27492015-05-06 Julian Brown <julian@codesourcery.com>
2750
2751 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
2752 goacc_thread_lock on error paths.
2753 * oacc-mem.c (lookup_host): Remove locking from function. Note
2754 locking requirement for caller in function comment.
2755 (lookup_dev): Likewise.
2756 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
2757 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
2758 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
2759 Add locking.
2760
ae8ffbbb
TS
27612015-05-05 Thomas Schwinge <thomas@codesourcery.com>
2762
2763 PR testsuite/65205
2764 PR libgomp/65993
2765 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
2766 don't expect "0x" prefix for "%p" format specifier, don't expect
2767 "(nil)" for NULL pointer.
2768 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2770 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2771 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2772 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2773 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2774 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2775 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2776 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2777 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2778 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2779 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2780 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2781 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2782 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2783 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2784 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2785 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2786 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2787 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2788 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2789 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2790 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2791 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2792 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2793 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2794 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2795 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2796 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
2797 accurately specify what we're looking for.
2798 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2799 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2800 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2801 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2802 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2803
1309f1d2
JN
28042015-04-30 James Norris <jnorris@codesourcery.com>
2805
2806 PR testsuite/65205
2807 * testsuite/lib/libgomp.exp
2808 (check_effective_target_openacc_host_selected)
2809 (check_effective_target_openacc_host_nonshm_selected): New
2810 procedures.
2811 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
2812 dg-shouldfail.
2813 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2814 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2815 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2816 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2817 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2819 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2820 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2821 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2823 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2824 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2827 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2828 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2829 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2830 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2831 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2832 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2833 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2834 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2835 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2836 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2837 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2838 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2839 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2840 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2841 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2842 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2843 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2844 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2845 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2846 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2847 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2848 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2849 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2850 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2851 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2852 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2853 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2854 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2855 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2856
d93bdab5
JB
28572015-04-08 Julian Brown <julian@codesourcery.com>
2858
2859 * libgomp.h (target_mem_desc: Remove mem_map field.
2860 (acc_dispatch_t): Remove open_device_func, close_device_func,
2861 get_device_num_func, set_device_num_func, target_data members.
2862 Change create_thread_data_func argument to device number instead of
2863 generic pointer.
2864 * oacc-async.c (assert.h): Include.
2865 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
2866 (acc_wait_all, acc_wait_all_async): Use current host thread's
2867 active device, not base_dev.
2868 * oacc-cuda.c (acc_get_current_cuda_device)
2869 (acc_get_current_cuda_context, acc_get_cuda_stream)
2870 (acc_set_cuda_stream): Likewise.
2871 * oacc-host.c (host_dispatch): Don't set open_device_func,
2872 close_device_func, get_device_num_func or set_device_num_func.
2873 * oacc-init.c (base_dev, init_key): Remove.
2874 (cached_base_dev): New.
2875 (name_of_acc_device_t): New.
2876 (acc_init_1): Initialise default-numbered device, not zeroth.
2877 (acc_shutdown_1): Close all devices of a given type.
2878 (goacc_destroy_thread): Don't use base_dev.
2879 (lazy_open, lazy_init, lazy_init_and_open): Remove.
2880 (goacc_attach_host_thread_to_device): New.
2881 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
2882 (acc_get_num_devices): Don't use base_dev.
2883 (acc_set_device_type): Reimplement.
2884 (acc_get_device_type): Don't use base_dev.
2885 (acc_get_device_num): Tweak logic.
2886 (acc_set_device_num): Likewise.
2887 (acc_on_device): Use acc_get_device_type.
2888 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
2889 (goacc_lazy_initialize): Reimplement with acc_init and
2890 goacc_attach_host_thread_to_device.
2891 * oacc-int.h (goacc_thread): Add base_dev field.
2892 (base_dev): Remove extern declaration.
2893 (goacc_attach_host_thread_to_device): Add prototype.
2894 * oacc-mem.c (acc_malloc): Use current thread's device instead of
2895 base_dev.
2896 (acc_free): Likewise.
2897 (acc_memcpy_to_device): Likewise.
2898 (acc_memcpy_from_device): Likewise.
2899 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
2900 goacc_lazy_initialize (throughout).
2901 (GOACC_parallel): Use tgt_offset to locate target functions.
2902 * target.c (gomp_map_vars): Don't set tgt->mem_map.
2903 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
2904 (gomp_load_plugin_for_device): Remove open_device, close_device,
2905 get_device_num, set_device_num openacc hook initialisation. Don't set
2906 openacc.target_data.
2907 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
2908 (GOMP_OFFLOAD_openacc_close_device)
2909 (GOMP_OFFLOAD_openacc_get_device_num)
2910 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
2911 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
2912 to int.
2913 * plugin/plugin-nvptx.c (ptx_inited): Remove.
2914 (instantiated_devices, ptx_dev_lock): New.
2915 (struct ptx_image_data): New.
2916 (ptx_devices, ptx_images, ptx_image_lock): New.
2917 (fini_streams_for_device): Reorder cuStreamDestroy call.
2918 (nvptx_get_num_devices): Remove forward declaration.
2919 (nvptx_init): Change return type to bool.
2920 (nvptx_fini): Remove.
2921 (nvptx_attach_host_thread_to_device): New.
2922 (nvptx_open_device): Return struct ptx_device* instead of void*.
2923 (nvptx_close_device): Change argument type to struct ptx_device*,
2924 return type to void.
2925 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
2926 (kernel_target_data, kernel_host_table): Remove static globals.
2927 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
2928 (GOMP_OFFLOAD_init_device): Reimplement.
2929 (GOMP_OFFLOAD_fini_device): Likewise.
2930 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
2931 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
2932 (GOMP_OFFLOAD_host2dev): Use ORD argument.
2933 (GOMP_OFFLOAD_openacc_open_device)
2934 (GOMP_OFFLOAD_openacc_close_device)
2935 (GOMP_OFFLOAD_openacc_set_device_num)
2936 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
2937 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
2938 (device number).
2939
2940 testsuite/
2941 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
2942
a51df54e
IV
29432015-04-06 Ilya Verbin <ilya.verbin@intel.com>
2944
2945 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
2946 * libgomp.h (struct gomp_memory_mapping): Remove.
2947 (struct target_mem_desc): Change type of mem_map from
2948 gomp_memory_mapping * to splay_tree_s *.
2949 (struct gomp_device_descr): Remove register_image_func, get_table_func.
2950 Add load_image_func, unload_image_func.
2951 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
2952 Remove offload_regions_registered.
2953 (gomp_init_tables): Remove.
2954 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2955 to splay_tree_s *.
2956 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
2957 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
2958 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
2959 offload_regions_registered.
2960 Initialize load_image_func, unload_image_func, mem_map.root.
2961 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
2962 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
2963 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
2964 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
2965 gomp_memory_mapping *. Use dev's lock and splay_tree.
2966 (lookup_dev): Use dev's lock.
2967 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
2968 (acc_is_present): Likewise.
2969 (acc_map_data): Likewise.
2970 (acc_unmap_data): Likewise. Use dev's lock.
2971 (present_create_copy): Likewise.
2972 (delete_copyout): Pass dev to lookup_host instead of mem_map.
2973 (update_dev_host): Likewise.
2974 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
2975 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
2976 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
2977 (GOMP_OFFLOAD_get_table): Remove
2978 (GOMP_OFFLOAD_load_image): New function.
2979 (GOMP_OFFLOAD_unload_image): New function.
2980 * target.c (register_lock): New mutex for offload image registration.
2981 (num_devices): Do not guard with PLUGIN_SUPPORT.
2982 (gomp_realloc_unlock): New static function.
2983 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
2984 before gomp_fatal.
2985 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
2986 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
2987 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
2988 mem_map's.
2989 (gomp_unmap_vars): Likewise.
2990 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
2991 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
2992 (gomp_offload_image_to_device): New static function.
2993 (GOMP_offload_register): Add mutex lock.
2994 Call gomp_offload_image_to_device for all initialized devices.
2995 Replace gomp_realloc with gomp_realloc_unlock.
2996 (GOMP_offload_unregister): New function.
2997 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
2998 get_table_func from the plugin with calls to init_device_func and
2999 gomp_offload_image_to_device.
3000 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3001 to splay_tree_s *.
3002 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
3003 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
3004 (GOMP_target_data): Do not call gomp_init_tables.
3005 (GOMP_target_update): Likewise. Remove argument from gomp_update.
3006 (gomp_load_plugin_for_device): Replace register_image and get_table
3007 with load_image and unload_image in DLSYM ().
3008 (gomp_register_images_for_device): Remove function.
3009 (gomp_target_init): Do not initialize current_device.mem_map.*,
3010 current_device.offload_regions_registered.
3011 Remove call to gomp_register_images_for_device.
3012 Do not free offload_images and num_offload_images.
3013
6c384511
JJ
30142015-03-30 Jakub Jelinek <jakub@redhat.com>
3015
3016 PR fortran/65597
3017 * testsuite/libgomp.fortran/pr65597.f90: New test.
3018
3e8165a5
TV
30192015-03-27 Tom de Vries <tom@codesourcery.com>
3020
3021 PR testsuite/65594
3022 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
3023 (init, check): New function.
3024 (foo): Change return type to void.
3025 (main): Call init and check.
3026
4d688c9a
TV
30272015-03-27 Tom de Vries <tom@codesourcery.com>
3028
3029 PR testsuite/65594
3030 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
3031 (foo): Use M for non-inner loops to scale down test-case.
3032
01c0b3b0
KT
30332015-03-25 Kai Tietz <ktietz@redhat.com>
3034
3035 PR libgomp/64972
3036 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
3037 (GOACC_data_start): Likewise.
3038 * target.c (gomp_map_vars): Likewise.
3039
844d9a76
JDA
30402015-03-21 John David Anglin <danglin@gcc.gnu.org>
3041
3042 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3043 hppa*-*-hpux*.
3044
9b65e171
JJ
30452015-03-19 Jakub Jelinek <jakub@redhat.com>
3046
3047 * testsuite/libgomp.c/target-10.c: New test.
3048 * testsuite/libgomp.c++/target-4.C: New test.
3049
db397e2e
IV
30502015-03-13 Ilya Verbin <ilya.verbin@intel.com>
3051
3052 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
3053 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
3054
cd93945d
SH
30552015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
3056
3057 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
3058 * configure.ac (*-*-rtems*): Assume Pthread is supported.
3059 (pthread.h): Check for this header file.
3060 * configure: Regenerate.
3061
05deba9f
TV
30622015-02-25 Tom de Vries <tom@codesourcery.com>
3063
3064 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3065 (check_reduction_op, check_reduction_macro, max, min):
3066 Declare.
3067 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3068 function.
3069 (main): Use new functions.
3070
196904d8
IT
30712015-02-18 Ilya Tocar <ilya.tocar@intel.com>
3072
3073 * target.c (gomp_load_plugin_for_device): Use const char * instead of
3074 char * for variables holding dlerror return values.
3075 (DLSYM_OPT): Ditto.
3076
a2818955
TS
30772015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3078
3079 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3080
26f93312
TS
30812015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3082 Cesar Philippidis <cesar@codesourcery.com>
3083
3084 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3085 GOACC_ctaid, and GOACC_nctaid routines.
3086
fa01ffcc
JJ
30872015-02-11 Jakub Jelinek <jakub@redhat.com>
3088
3089 PR c/64824
3090 * testsuite/libgomp.c/atomic-18.c: New test.
3091 * testsuite/libgomp.c++/atomic-16.C: New test.
3092
4886ec8e
JJ
30932015-02-04 Jakub Jelinek <jakub@redhat.com>
3094
3095 PR c/64824
3096 PR c/64868
3097 * testsuite/libgomp.c/pr64824.c: New test.
3098 * testsuite/libgomp.c/pr64868.c: New test.
3099 * testsuite/libgomp.c++/pr64824.C: New test.
3100 * testsuite/libgomp.c++/pr64868.C: New test.
3101
02d3e45e
DE
31022015-02-01 David Edelsohn <dje.gcc@gmail.com>
3103
3104 PR libgomp/64635
3105 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
3106 Link with -lpthread.
3107 * config/aix/plugin-suffix.h: Delete.
3108
b5f7a6ca
JH
31092015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
3110
3111 PR libgomp/64635
3112 * configure.tgt (*-*-aix*): Use config_path "aix posix".
3113 (*-*-darwin*): Use config_path "bsd darwin posix".
3114 (*-*-hpux*): Use config_path "hpux posix".
3115 * target.c: Add include of plugin-suffix.h and use
3116 SONAME_SUFFIX macro.
3117 * config/aix/plugin-suffix.h: New file.
3118 * config/darwin/plugin-suffix.h: New file.
3119 * config/hpux/plugin-suffix.h: New file.
3120 * config/posix/plugin-suffix.h: New file.
3121
b8910447
JJ
31222015-01-23 Jakub Jelinek <jakub@redhat.com>
3123
3124 PR middle-end/64734
3125 * libgomp.c/pr64734.c: New test.
3126
a0c88d06
TV
31272015-01-23 Tom de Vries <tom@codesourcery.com>
3128
3129 PR libgomp/64672
3130 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
3131
1506ae0e
TV
31322015-01-23 Tom de Vries <tom@codesourcery.com>
3133
3134 PR libgomp/64707
3135 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
3136 dg-options.
3137
128b26dc
TS
31382015-01-19 Thomas Schwinge <thomas@codesourcery.com>
3139
bed62c21 3140 PR libgomp/64625
128b26dc
TS
3141 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
3142 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
3143 formal parameter. Update all users.
3144 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
3145 Document unused formal parameter.
3146
6e36114c
TS
31472015-01-16 Thomas Schwinge <thomas@codesourcery.com>
3148
3149 * oacc-parallel.c: Don't include <alloca.h>.
3150 (GOACC_parallel): Use gomp_alloca instead of alloca.
3151
973e9808
GP
31522015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
3153
3154 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
3155
41dbbb37
TS
31562015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3157 James Norris <jnorris@codesourcery.com>
3158 Tom de Vries <tom@codesourcery.com>
3159 Julian Brown <julian@codesourcery.com>
3160 Cesar Philippidis <cesar@codesourcery.com>
3161 Nathan Sidwell <nathan@codesourcery.com>
3162 Tobias Burnus <burnus@net-b.de>
3163
3164 * Makefile.am (search_path): Add $(top_srcdir)/../include.
3165 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
3166 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
3167 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
3168 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
3169 Include $(top_srcdir)/plugin/Makefrag.am.
3170 (nodist_libsubinclude_HEADERS): Add openacc.h.
3171 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
3172 openacc.f90, openacc.mod, openacc_kinds.mod.
3173 (omp_lib.mod): Generalize into...
3174 (%.mod): ... this new rule.
3175 (openacc_kinds.mod, openacc.mod): New rules.
3176 * plugin/configfrag.ac: New file.
3177 * configure.ac: Move plugin/offloading support into it. Include
3178 it. Instantiate testsuite/libgomp-test-support.pt.exp.
3179 * plugin/Makefrag.am: New file.
3180 * testsuite/Makefile.am (OFFLOAD_TARGETS)
3181 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
3182 export.
3183 (libgomp-test-support.exp): New rule.
3184 (all-local): Depend on it.
3185 * Makefile.in: Regenerate.
3186 * testsuite/Makefile.in: Regenerate.
3187 * config.h.in: Likewise.
3188 * configure: Likewise.
3189 * configure.tgt: Harden shell syntax.
3190 * env.c: Include "oacc-int.h".
3191 (parse_acc_device_type): New function.
3192 (gomp_debug_var, goacc_device_type, goacc_device_num): New
3193 variables.
3194 (initialize_env): Initialize those. Call
3195 goacc_runtime_initialize.
3196 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
3197 (gomp_fatal): Call gomp_vfatal.
3198 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
3199 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
3200 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
3201 (splay_tree_node, splay_tree, splay_tree_key)
3202 (struct target_mem_desc, struct splay_tree_key_s)
3203 (struct gomp_memory_mapping, struct acc_dispatch_t)
3204 (struct gomp_device_descr, gomp_acc_insert_pointer)
3205 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
3206 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
3207 (gomp_free_memmap, gomp_fini_device): New declarations.
3208 (gomp_vdebug, gomp_debug): New macros.
3209 Include "splay-tree.h".
3210 * libgomp.map (OACC_2.0): New symbol version. Use for
3211 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
3212 acc_set_device_type_h_, acc_get_device_type,
3213 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
3214 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
3215 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
3216 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
3217 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
3218 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
3219 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
3220 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
3221 acc_copyin_array_h_, acc_present_or_copyin,
3222 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
3223 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
3224 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
3225 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
3226 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
3227 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
3228 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
3229 acc_update_device, acc_update_device_32_h_,
3230 acc_update_device_64_h_, acc_update_device_array_h_,
3231 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
3232 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
3233 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
3234 acc_is_present_64_h_, acc_is_present_array_h_,
3235 acc_memcpy_to_device, acc_memcpy_from_device,
3236 acc_get_current_cuda_device, acc_get_current_cuda_context,
3237 acc_get_cuda_stream, acc_set_cuda_stream.
3238 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
3239 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
3240 GOACC_update, GOACC_wait, GOACC_get_thread_num,
3241 GOACC_get_num_threads.
3242 (GOMP_PLUGIN_1.0): New symbol version. Use for
3243 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
3244 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
3245 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
3246 GOMP_PLUGIN_acc_thread.
3247 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
3248 environment variable.
3249 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
3250 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
3251 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
3252 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
3253 (splay_tree_remove): New declarations.
3254 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
3255 (splay_tree_remove, splay_tree_lookup): Move into...
3256 * splay-tree.c: ... this new file.
3257 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
3258 (splay_tree_node, splay_tree, splay_tree_key)
3259 (struct target_mem_desc, struct splay_tree_key_s)
3260 (struct gomp_device_descr): Don't declare.
3261 (num_devices_openmp): New variable.
3262 (gomp_get_num_devices ): Use it.
3263 (gomp_init_targets_once): New function.
3264 (gomp_get_num_devices ): Use it.
3265 (get_kind, gomp_copy_from_async, gomp_free_memmap)
3266 (gomp_fini_device, gomp_register_image_for_device): New functions.
3267 (gomp_map_vars): Add devaddrs parameter.
3268 (gomp_update): Add mm parameter.
3269 (gomp_init_device): Move most of it into...
3270 (gomp_init_tables): ... this new function.
3271 (gomp_register_images_for_device): Remove function.
3272 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
3273 Make them hidden instead of static.
3274 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
3275 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
3276 (GOMP_target_end_data, GOMP_target_update)
3277 (gomp_load_plugin_for_device, gomp_target_init): Update for
3278 OpenACC changes.
3279 * oacc-async.c: New file.
3280 * oacc-cuda.c: Likewise.
3281 * oacc-host.c: Likewise.
3282 * oacc-init.c: Likewise.
3283 * oacc-int.h: Likewise.
3284 * oacc-mem.c: Likewise.
3285 * oacc-parallel.c: Likewise.
3286 * oacc-plugin.c: Likewise.
3287 * oacc-plugin.h: Likewise.
3288 * oacc-ptx.h: Likewise.
3289 * openacc.f90: Likewise.
3290 * openacc.h: Likewise.
3291 * openacc_lib.h: Likewise.
3292 * plugin/plugin-host.c: Likewise.
3293 * plugin/plugin-nvptx.c: Likewise.
3294 * libgomp-plugin.c: Likewise.
3295 * libgomp-plugin.h: Likewise.
3296 * libgomp_target.h: Remove file after merging content into the
3297 former file. Update all users.
3298 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
3299 (offload_targets_s, offload_targets_s_openacc): New variables.
3300 (check_effective_target_openacc_nvidia_accel_present)
3301 (check_effective_target_openacc_nvidia_accel_selected): New
3302 procedures.
3303 (libgomp_init): Update for OpenACC changes.
3304 * testsuite/libgomp-test-support.exp.in: New file.
3305 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3306 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3307 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3308 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
3309 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
3310 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3311 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
3312 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3313 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3314 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
3315 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
3316 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3317 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
3318 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3319 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3320 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3321 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3322 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3323 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3324 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3325 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
3326 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3327 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3328 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3329 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3330 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3331 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3332 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3333 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3334 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3335 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3337 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3338 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
3339 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
3340 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3341 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
3342 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3343 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
3344 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3345 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3346 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3347 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3348 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3349 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3350 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
3351 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3352 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3353 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3354 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3355 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3356 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3357 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3358 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3359 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3360 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3361 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3362 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3363 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3364 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
3365 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3366 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
3367 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3368 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3369 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3370 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
3371 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
3372 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3373 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3374 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3375 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
3376 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3377 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3378 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3379 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
3380 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
3381 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3382 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3383 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
3384 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
3385 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
3386 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
3387 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3388 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3389 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3390 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
3391 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
3392 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3393 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3394 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
3395 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
3396 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
3397 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
3398 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3399 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3400 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3401 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3402 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
3403 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3404 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3405 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
3406 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
3407 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
3408 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3409 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
3410 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
3411 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
3412 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
3413 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
3414 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3415 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
3416 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3417 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3418 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
3419 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3420 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3421 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
3422 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3423 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
3424 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
3425 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
3426 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
3427 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
3428 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
3429 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3430 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
3431 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3432 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
3433 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
3434 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
3435 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
3436 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
3437 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3438 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
3439 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
3440 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3441 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3442 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3443 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3444 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
3445 Likewise.
3446 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
3447 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
3449 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
3451 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3452 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3453 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3454 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3455 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3456 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3457 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3458 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3459 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3460 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3461 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3462 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3463 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3464 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3465 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3466 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3467 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3468 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3469 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3470 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3471 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3472 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3473 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3474 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3475 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3476 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3477 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3478 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3479 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3480 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3481 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3482 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3483 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3484 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3485 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3486 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3487 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3488 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3489 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3490 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3491 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3492 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3493 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3494 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3495 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3496 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3497 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3498 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3499 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3500 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3501 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3502 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3503 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3504 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3505 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3506
f1f3453e
TS
35072015-01-10 Thomas Schwinge <thomas@codesourcery.com>
3508 Julian Brown <julian@codesourcery.com>
3509 David Malcolm <dmalcolm@redhat.com>
3510
3511 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
3512 to "GNU Offloading and Multi Processing Runtime Library". Change
3513 all users.
3514 * configure: Regenerate.
3515 * libgomp.texi: Update.
3516
f9a0eca4
TS
35172015-01-08 Thomas Schwinge <thomas@codesourcery.com>
3518
b335ef4e
TS
3519 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
3520 "$tgt_dir/lib32".
3521 * configure: Regenerate.
3522
f9a0eca4
TS
3523 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
3524 "intelmic" in $offload_targets.
3525
b67cd4e3
JJ
35262015-01-05 Jakub Jelinek <jakub@redhat.com>
3527
5624e564
JJ
3528 Update copyright years.
3529
b67cd4e3
JJ
3530 * libgomp.texi: Bump @copying's copyright year.
3531
3b41b583
KT
35322014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3533
3534 * testsuite/lib/libgomp.exp: Load target-utils.exp.
3535 Move load of target-supportes.exp earlier.
3536
2354caec
IV
35372014-12-10 Ilya Verbin <ilya.verbin@intel.com>
3538
3539 * testsuite/libgomp.c/target-9.c: New test.
3540
f50eecba
VR
35412014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
3542
3543 * config.h.in: Regenerate.
3544 * configure: Regenerate.
3545 * configure.ac: Add GCC_CHECK_EMUTLS.
3546 * libgomp.h: Add check for USE_EMUTLS: this case
3547 is equal to HAVE_TLS.
3548 * team.c: Likewise.
3549
68bc9270
UB
35502014-12-03 Uros Bizjak <ubizjak@gmail.com>
3551
3552 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
3553
476ff787
AT
35542014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
3555 Ilya Verbin <ilya.verbin@intel.com>
3556
3557 * testsuite/libgomp.c/target-critical-1.c: New test.
3558
31a30e62
JJ
35592014-11-26 Jakub Jelinek <jakub@redhat.com>
3560
3561 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 3562 to dg-options unless expensive testing is on.
31a30e62
JJ
3563 (TESTITERS): Define to N if not defined.
3564 (main): Use TESTITERS instead of N.
3565 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
3566 dg-additional-options depending on whether expensive testing is on.
3567 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
3568 Decrease N to 100000 and CHUNKSZ to 10000.
3569
3f9e8f13
JJ
35702014-11-24 Jakub Jelinek <jakub@redhat.com>
3571
3572 PR fortran/63938
31a30e62
JJ
3573 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
3574 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 3575
c8451a46
SE
35762014-11-21 Steve Ellcey <sellcey@imgtec.com>
3577
3578 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
3579
a699d672
L
35802014-11-21 H.J. Lu <hongjiu.lu@intel.com>
3581
3582 PR bootstrap/63784
3583 * configure: Regenerated.
3584
4a19f719
UB
35852014-11-19 Uros Bizjak <ubizjak@gmail.com>
3586
3587 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
3588 vect_simd_clones effective target.
3589 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3590
b1bf6c52
JJ
35912014-11-14 Jakub Jelinek <jakub@redhat.com>
3592
3593 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
3594 of 32 as block_size.
3595 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
3596 instead of 32 as block_size.
3597
d64ae614
AT
35982014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
3599 Ilya Verbin <ilya.verbin@intel.com>
3600
3601 * Makefile.in: Regenerate.
3602 * configure: Regenerate.
3603 * configure.ac: Set up offload_additional_options,
3604 offload_additional_lib_paths and offload_targets.
3605 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
3606 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
3607 * testsuite/Makefile.in: Regenerate.
3608 * testsuite/lib/libgomp.exp (libgomp_init): Append
3609 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
3610 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
3611 build directory to LD_LIBRARY_PATH for intelmic offload targets.
3612
122d7303
AT
36132014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
3614 Ilya Verbin <ilya.verbin@intel.com>
3615 Kirill Yukhin <kirill.yukhin@intel.com>
3616 Ilya Tocar <ilya.tocar@intel.com>
3617
3618 * testsuite/lib/libgomp.exp
3619 (check_effective_target_offload_device): New.
3620 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
3621 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
3622 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
3623 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
3624 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
3625 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
3626 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
3627 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
3628 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
3629 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
3630 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
3631 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
3632 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
3633 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
3634 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
3635 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
3636 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
3637 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
3638 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
3639 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
3640 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
3641 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
3642 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
3643 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
3644 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
3645 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
3646 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
3647 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
3648 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
3649 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
3650 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
3651 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
3652 * testsuite/libgomp.c/target-7.c: Fix test.
3653 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
3654 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
3655 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
3656 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
3657 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
3658 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
3659 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
3660 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
3661 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
3662 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
3663 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
3664 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
3665 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
3666 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
3667 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
3668 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
3669 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
3670 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
3671 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3672 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
3673 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
3674 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
3675 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
3676 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
3677 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
3678 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
3679 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
3680 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
3681 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
3682 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
3683 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
3684
1df3f842
JJ
36852014-11-13 Jakub Jelinek <jakub@redhat.com>
3686 Ilya Verbin <ilya.verbin@intel.com>
3687 Thomas Schwinge <thomas@codesourcery.com>
3688 Andrey Turetskiy <andrey.turetskiy@intel.com>
3689
3690 * libgomp.map (GOMP_4.0.1): New symbol version.
3691 Add GOMP_offload_register.
3692 * libgomp_target.h: New file.
3693 * splay-tree.h: New file.
3694 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
3695 (gomp_target_init): New forward declaration.
3696 (gomp_is_initialized): New static variable.
3697 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
3698 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
3699 New structures.
3700 (offload_images, num_offload_images, devices, num_devices): New static
3701 variables.
3702 (splay_compare): New static function.
3703 (struct gomp_device_descr): New structure.
3704 (gomp_get_num_devices): Call gomp_target_init.
3705 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
3706 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
3707 (GOMP_offload_register): New function.
3708 (GOMP_target): Arrange for host callback to be performed in a separate
3709 initial thread and contention group, inheriting ICVs from
3710 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
3711 Add device initialization and lookup for target function in splay tree.
3712 (GOMP_target_data): Add device initialization and call gomp_map_vars.
3713 (GOMP_target_end_data): Call gomp_unmap_vars.
3714 (GOMP_target_update): Add device initialization and call gomp_update.
3715 (gomp_load_plugin_for_device, gomp_register_images_for_device)
3716 (gomp_target_init): New static functions.
3717
85c64bbe
BS
37182014-11-13 Bernd Schmidt <bernds@codesourcery.com>
3719 Thomas Schwinge <thomas@codesourcery.com>
3720 Ilya Verbin <ilya.verbin@intel.com>
3721 Andrey Turetskiy <andrey.turetskiy@intel.com>
3722
3723 * config.h.in: Regenerate.
3724 * configure: Regenerate.
3725 * configure.ac: Check for libdl, required for plugin support.
3726 (PLUGIN_SUPPORT): Define if plugins are supported.
3727 (enable_offload_targets): Support Intel MIC targets.
3728 (OFFLOAD_TARGETS): List of target names suitable for offloading.
3729
ebf6d33b
FXC
37302014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3731
3732 PR target/63610
3733 * configure: Regenerate.
3734
8c768629
RO
37352014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3736
3737 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
3738
c1d62412
MP
37392014-10-06 Marek Polacek <polacek@redhat.com>
3740
3741 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
3742 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
3743 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
3744 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3745
44a0c6cb
MP
37462014-10-06 Marek Polacek <polacek@redhat.com>
3747
3748 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
3749 * testsuite/libgomp.c/nqueens-1.c: Likewise.
3750 * testsuite/libgomp.c/pr26943-3.c: Likewise.
3751 * testsuite/libgomp.c/pr26943-4.c: Likewise.
3752 * testsuite/libgomp.c/pr36802-2.c: Likewise.
3753 * testsuite/libgomp.c/pr36802-3.c: Likewise.
3754 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3755 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3756 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
3757 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
3758 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
3759 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
3760 * testsuite/libgomp.c/omp-single-1.c: Likewise.
3761 * testsuite/libgomp.c/omp-single-2.c: Likewise.
3762 * testsuite/libgomp.c/omp_matvec.c: Likewise.
3763 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
3764 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
3765 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
3766 declarations.
3767
5771c391
JJ
37682014-10-03 Jakub Jelinek <jakub@redhat.com>
3769
3770 PR libgomp/61200
3771 * testsuite/libgomp.c/pr61200.c: New test.
3772
bce16b88
JJ
37732014-09-18 Jakub Jelinek <jakub@redhat.com>
3774
3775 PR c++/63248
3776 * testsuite/libgomp.c++/pr63248.C: New test.
3777
3696163c
JJ
37782014-08-04 Jakub Jelinek <jakub@redhat.com>
3779
3780 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
3781 is not zero, but taskgroup->children is NULL and there are
3782 any task->children, schedule those instead of waiting.
3783 * testsuite/libgomp.c/depend-6.c: New test.
3784 * testsuite/libgomp.c/depend-7.c: New test.
3785 * testsuite/libgomp.c/depend-8.c: New test.
3786 * testsuite/libgomp.c/depend-9.c: New test.
3787 * testsuite/libgomp.c/depend-10.c: New test.
3788
0494285a
JJ
37892014-08-01 Jakub Jelinek <jakub@redhat.com>
3790
3791 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
3792 (struct gomp_taskwait): New type.
3793 (struct gomp_task): Add taskwait and parent_depends_on, remove
3794 in_taskwait and taskwait_sem fields.
3795 (gomp_finish_task): Don't destroy taskwait_sem.
3796 * task.c (gomp_init_task): Don't init in_taskwait, instead init
3797 taskwait and parent_depends_on.
3798 (GOMP_task): For if (0) tasks with depend clause that depend on
3799 earlier tasks don't defer them, instead call
3800 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
3801 Initialize redundant_out field, for redundant out entries just
3802 move them at the end of linked list instead of removing them
3803 completely, and set redundant_out flag instead of redundant.
3804 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
3805 that task.
3806 (gomp_task_run_post_handle_dependers): If parent is in
3807 gomp_task_maybe_wait_for_dependencies and newly runnable task
3808 is not parent_depends_on, queue it in parent->children linked
3809 list after all runnable tasks with parent_depends_on set.
3810 Adjust for addition of taskwait indirection.
3811 (gomp_task_run_post_remove_parent): If parent is in
3812 gomp_task_maybe_wait_for_dependencies and task to be removed
3813 is parent_depends_on, decrement n_depend and if needed awake
3814 parent. Adjust for addition of taskwait indirection.
3815 (GOMP_taskwait): Adjust for addition of taskwait indirection.
3816 (gomp_task_maybe_wait_for_dependencies): New function.
3817 * testsuite/libgomp.c/depend-5.c: New test.
3818
60ab4b44
TB
38192014-07-13 Tobias Burnus <burnus@net-b.de>
3820
3821 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 3822 with TS 18508/Fortran 2015.
60ab4b44 3823
773ec47f
MP
38242014-07-06 Marek Polacek <polacek@redhat.com>
3825
3826 PR c/6940
3827 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
3828
f707da16
JJ
38292014-07-03 Jakub Jelinek <jakub@redhat.com>
3830
3831 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
3832 matches regex $lang_source_re, add $lang_include_flags to options.
3833 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
3834 * testsuite/libgomp.c++/c++.exp: Likewise.
3835 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
3836 and lang_include_flags instead of adding -fintrinsic-modules-path= to
3837 ALWAYS_CFLAGS.
3838 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
3839
07b6c044
TS
38402014-07-03 Thomas Schwinge <thomas@codesourcery.com>
3841
3842 * testsuite/libgomp.fortran/fortran.exp: Explain
3843 gfortran-dg-runtest usage.
3844
da6f124d
JJ
38452014-06-25 Jakub Jelinek <jakub@redhat.com>
3846
3847 * testsuite/libgomp.fortran/simd5.f90: New test.
3848 * testsuite/libgomp.fortran/simd6.f90: New test.
3849 * testsuite/libgomp.fortran/simd7.f90: New test.
3850
b46ebd6c
JJ
38512014-06-24 Jakub Jelinek <jakub@redhat.com>
3852
56ad0e38
JJ
3853 * testsuite/libgomp.c/for-2.c: Define SC to static for
3854 #pragma omp for simd testing.
3855 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
3856 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
3857 SC macro.
3858 * testsuite/libgomp.c/simd-14.c: New test.
3859 * testsuite/libgomp.c/simd-15.c: New test.
3860 * testsuite/libgomp.c/simd-16.c: New test.
3861 * testsuite/libgomp.c/simd-17.c: New test.
3862 * testsuite/libgomp.c++/for-10.C: Define SC to static for
3863 #pragma omp for simd testing.
3864 * testsuite/libgomp.c++/simd10.C: New test.
3865 * testsuite/libgomp.c++/simd11.C: New test.
3866 * testsuite/libgomp.c++/simd12.C: New test.
3867 * testsuite/libgomp.c++/simd13.C: New test.
3868
b46ebd6c
JJ
3869 * testsuite/libgomp.fortran/aligned1.f03: New test.
3870 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
3871 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
3872 tasks with !$omp parallel !$omp single.
3873 * testsuite/libgomp.fortran/target8.f90: New test.
3874 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
3875 not to use trim in the combiner, instead call elemental function.
3876 (fn): New elemental function.
3877 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
3878 Make elemental.
3879 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
3880 omp_in): Likewise.
3881 * testsuite/libgomp.fortran/udr12.f90: New test.
3882 * testsuite/libgomp.fortran/udr13.f90: New test.
3883 * testsuite/libgomp.fortran/udr14.f90: New test.
3884 * testsuite/libgomp.fortran/udr15.f90: New test.
3885
f014c653
JJ
38862014-06-18 Jakub Jelinek <jakub@redhat.com>
3887
3888 * omp_lib.f90.in (openmp_version): Set to 201307.
3889 * omp_lib.h.in (openmp_version): Likewise.
3890 * testsuite/libgomp.c/target-8.c: New test.
3891 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
3892 and inbranch clauses.
3893 * testsuite/libgomp.fortran/depend-3.f90: New test.
3894 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
3895 openmp_version.
3896 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3897 * testsuite/libgomp.fortran/target1.f90: New test.
3898 * testsuite/libgomp.fortran/target2.f90: New test.
3899 * testsuite/libgomp.fortran/target3.f90: New test.
3900 * testsuite/libgomp.fortran/target4.f90: New test.
3901 * testsuite/libgomp.fortran/target5.f90: New test.
3902 * testsuite/libgomp.fortran/target6.f90: New test.
3903 * testsuite/libgomp.fortran/target7.f90: New test.
3904
92d28cbb
JJ
39052014-06-10 Jakub Jelinek <jakub@redhat.com>
3906
3907 PR fortran/60928
3908 * testsuite/libgomp.fortran/allocatable9.f90: New test.
3909 * testsuite/libgomp.fortran/allocatable10.f90: New test.
3910 * testsuite/libgomp.fortran/allocatable11.f90: New test.
3911 * testsuite/libgomp.fortran/allocatable12.f90: New test.
3912 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
3913 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
3914 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
3915 * testsuite/libgomp.fortran/associate1.f90: New test.
3916 * testsuite/libgomp.fortran/associate2.f90: New test.
3917 * testsuite/libgomp.fortran/procptr1.f90: New test.
3918
5f23671d
JJ
39192014-06-06 Jakub Jelinek <jakub@redhat.com>
3920
3921 * testsuite/libgomp.fortran/simd1.f90: New test.
3922 * testsuite/libgomp.fortran/udr1.f90: New test.
3923 * testsuite/libgomp.fortran/udr2.f90: New test.
3924 * testsuite/libgomp.fortran/udr3.f90: New test.
3925 * testsuite/libgomp.fortran/udr4.f90: New test.
3926 * testsuite/libgomp.fortran/udr5.f90: New test.
3927 * testsuite/libgomp.fortran/udr6.f90: New test.
3928 * testsuite/libgomp.fortran/udr7.f90: New test.
3929 * testsuite/libgomp.fortran/udr8.f90: New test.
3930 * testsuite/libgomp.fortran/udr9.f90: New test.
3931 * testsuite/libgomp.fortran/udr10.f90: New test.
3932 * testsuite/libgomp.fortran/udr11.f90: New test.
3933
0389fbb5
UB
39342014-05-27 Uros Bizjak <ubizjak@gmail.com>
3935
3936 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
3937 vect_simd_clones effective target.
3938 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
3939
decaaec8
JJ
39402014-05-21 Jakub Jelinek <jakub@redhat.com>
3941
3942 PR middle-end/61252
3943 * testsuite/libgomp.c++/simd-9.C: New test.
3944
72832460
UB
39452014-05-18 Uros Bizjak <ubizjak@gmail.com>
3946
3947 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
3948 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
3949 texts according to their @menu entry positions.
3950
dd2fc525
JJ
39512014-05-11 Jakub Jelinek <jakub@redhat.com>
3952
3953 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
3954 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
3955 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
3956 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
3957 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
3958 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
3959 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
3960 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
3961 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
3962 * testsuite/libgomp.fortran/depend-1.f90: New test.
3963 * testsuite/libgomp.fortran/depend-2.f90: New test.
3964 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
3965 * testsuite/libgomp.fortran/simd1.f90: New test.
3966 * testsuite/libgomp.fortran/simd2.f90: New test.
3967 * testsuite/libgomp.fortran/simd3.f90: New test.
3968 * testsuite/libgomp.fortran/simd4.f90: New test.
3969 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
3970
95782571
JJ
39712014-05-02 Jakub Jelinek <jakub@redhat.com>
3972
3973 * testsuite/libgomp.c/simd-10.c: New test.
3974 * testsuite/libgomp.c/simd-11.c: New test.
3975 * testsuite/libgomp.c/simd-12.c: New test.
3976 * testsuite/libgomp.c/simd-13.c: New test.
3977
f7468577
JJ
39782014-04-24 Jakub Jelinek <jakub@redhat.com>
3979
42056eac
JJ
3980 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
3981 atomic type clauses in any order and optional comma in between.
3982 * testsuite/libgomp.c++/atomic-15.C: Likewise.
3983 * testsuite/libgomp.c/atomic-17.c: Likewise.
3984
f7468577
JJ
3985 * testsuite/libgomp.c/simd-7.c: New test.
3986 * testsuite/libgomp.c/simd-8.c: New test.
3987 * testsuite/libgomp.c/simd-9.c: New test.
3988 * testsuite/libgomp.c/loop-16.c: New test.
3989
ab18f2f5
RH
39902014-04-02 Richard Henderson <rth@redhat.com>
3991
3992 * config/linux/futex.h (futex_wait): Get error value from errno.
3993 (futex_wake): Likewise.
3994
8bcc90b0
JJ
39952014-03-25 Jakub Jelinek <jakub@redhat.com>
3996
3997 PR c++/60331
3998 * testsuite/libgomp.c++/udr-11.C: New test.
3999 * testsuite/libgomp.c++/udr-12.C: New test.
4000 * testsuite/libgomp.c++/udr-13.C: New test.
4001 * testsuite/libgomp.c++/udr-14.C: New test.
4002 * testsuite/libgomp.c++/udr-15.C: New test.
4003 * testsuite/libgomp.c++/udr-16.C: New test.
4004 * testsuite/libgomp.c++/udr-17.C: New test.
4005 * testsuite/libgomp.c++/udr-18.C: New test.
4006 * testsuite/libgomp.c++/udr-19.C: New test.
4007
18d73c7f
RS
40082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4009
4010 Update copyright years
4011
f9030485
RS
40122014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4013
4014 * hashtab.h: Use the standard form for the copyright notice.
4015
98db73df
TB
40162014-01-02 Tobias Burnus <burnus@net-b.de>
4017
4018 * libgomp.texi: Bump @copying's copyright year.
4019
ae246f7f
AT
40202013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
4021
4022 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
4023 alloca () with __builtin_alloca ().
4024 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
4025 * testsuite/libgomp.c/lock-3.c: Likewise.
4026 * testsuite/libgomp.c/pr48591.c: Likewise.
4027
fa00a5fe
JJ
40282013-12-17 Jakub Jelinek <jakub@redhat.com>
4029
4030 PR testsuite/59534
4031 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
4032 comparisons.
4033
e9792e1d
JJ
40342013-12-16 Jakub Jelinek <jakub@redhat.com>
4035
4036 PR libgomp/58756
4037 * testsuite/libgomp.c/pr58756.c: New test.
4038
cab37c89
JJ
40392013-12-12 Jakub Jelinek <jakub@redhat.com>
4040
4041 PR libgomp/59467
4042 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4043 !$omp parallel.
4044
de14871c
TS
40452013-11-07 Thomas Schwinge <thomas@codesourcery.com>
4046
1707a5de
TS
4047 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4048 ALWAYS_CFLAGS.
4049 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4050 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4051 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4052 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4053 Likewise.
4054
70f05c43
TS
4055 * libgomp_g.h: Include <stddef.h> for size_t.
4056
de14871c
TS
4057 * libgomp.spec.in: Update comment about libgomp's dependencies.
4058 * configure.ac: Likewise.
4059 * configure: Regenerate.
4060
83fd6c5b
TB
40612013-10-16 Tobias Burnus <burnus@net-b.de>
4062
4063 * libgomp.texi: (Runtime Library Routines): Update references for
4064 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4065 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4066 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4067 (Environment Variables): Update references for OpenMP 4.0. Add
4068 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4069 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4070 order.
4071
c8673881
JJ
40722013-10-14 Jakub Jelinek <jakub@redhat.com>
4073
4074 * env.c (parse_bind_var): Initialize value to avoid
4075 (false positive) warning.
4076
f89163fd
JJ
40772013-10-12 Jakub Jelinek <jakub@redhat.com>
4078
4079 PR libgomp/58691
4080 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4081 to check variable.
4082 (gomp_init_num_threads): Move i variable declaration into
4083 #ifdef CPU_ALLOC_SIZE block.
4084 * config/linux/affinity.c (gomp_affinity_init_level): Test
4085 gomp_places_list_len == 0 rather than gomp_places_list == 0
4086 when checking for topology reading error.
4087 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4088 * env.c (parse_affinity): Add ignore argument, if true, don't populate
4089 gomp_places_list, only parse env var and always return false.
4090 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
4091 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4092 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4093 and either of these variables were parsed correctly into a places
4094 list.
4095
1d340638
TS
40962013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4097 Jakub Jelinek <jakub@redhat.com>
4098
4099 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4100 of 5 loopfn matches.
4101 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4102 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4103 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4104 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4105 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4106 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4107 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4108 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4109
71a81c21
TS
41102013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4111
bd87f731
TS
4112 * Makefile.am (omp_lib.mod): Streamline rule.
4113 * Makefile.in: Regenerate.
4114
f5745bed
TS
4115 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
4116 exceptions.
4117
b5512c66
TS
4118 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
4119 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4120 * testsuite/libgomp.fortran/lib2.f: Likewise.
4121 * testsuite/libgomp.fortran/lib3.f: Likewise.
4122
451c19c4
TS
4123 * configure.ac: Typo fix.
4124 * configure: Regenerate.
4125
86a6016d
TS
4126 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
4127 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4128
71a81c21
TS
4129 * omp.h.in: Don't touch the user's namespace.
4130
acf0174b
JJ
41312013-10-11 Jakub Jelinek <jakub@redhat.com>
4132 Tobias Burnus <burnus@net-b.de>
4133 Richard Henderson <rth@redhat.com>
4134
4135 * target.c: New file.
4136 * Makefile.am (libgomp_la_SOURCES): Add target.c.
4137 * Makefile.in: Regenerated.
4138 * libgomp_g.h (GOMP_task): Add depend argument.
4139 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4140 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4141 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
4142 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4143 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4144 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
4145 GOMP_taskgroup_start, GOMP_taskgroup_end,
4146 GOMP_parallel_sections): New prototypes.
4147 * fortran.c (omp_is_initial_device): Add ialias_redirect.
4148 (omp_is_initial_device_): New function.
4149 (ULP, STR1, STR2, ialias_redirect): Removed.
4150 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
4151 omp_set_default_device_8_, omp_get_default_device_,
4152 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
4153 functions.
4154 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4155 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4156 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
4157 @@GOMP_4.0.
4158 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
4159 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
4160 omp_set_default_device, omp_set_default_device_,
4161 omp_set_default_device_8_, omp_get_default_device,
4162 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
4163 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
4164 omp_get_team_num_): Export @@OMP_4.0.
4165 * team.c (struct gomp_thread_start_data): Add place field.
4166 (gomp_thread_start): Clear thr->thread_pool and
4167 thr->task before returning. Use gomp_team_barrier_wait_final
4168 instead of gomp_team_barrier_wait. Initialize thr->place.
4169 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
4170 team_cancelled and task_queued_count fields.
4171 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
4172 before calling pthread_exit.
4173 (gomp_free_thread): No longer static. Use
4174 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
4175 (gomp_team_start): Add flags argument. Set
4176 thr->thread_pool->threads_busy to nthreads immediately after creating
4177 new pool. Use gomp_managed_threads_lock instead of
4178 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
4179 (gomp_team_end): Use gomp_managed_threads_lock instead of
4180 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
4181 of gomp_team_barrier_wait. If team->team_cancelled, call
4182 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
4183 rather than thr->ts.work_share.
4184 (initialize_team): Don't call gomp_sem_init here.
4185 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
4186 caller.
4187 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
4188 * env.c (gomp_global_icv): Add default_device_var, target_data and
4189 bind_var initializers.
4190 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4191 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4192 gomp_places_list_len): New variables.
4193 (parse_bind_var, parse_one_place, parse_places_var): New functions.
4194 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
4195 sized places.
4196 (gomp_cancel_var): New global variable.
4197 (parse_int): New function.
4198 (handle_omp_display_env): New function.
4199 (initialize_env): Use it. Initialize default_device_var.
4200 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
4201 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
4202 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
4203 been successfully parsed (and call gomp_init_affinity in that case).
4204 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4205 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4206 omp_get_team_num, omp_is_initial_device): New functions.
4207 * libgomp.h: Include stdlib.h.
4208 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
4209 Define.
4210 (struct target_mem_desc): Forward declare.
4211 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
4212 and thread_limit_var fields.
4213 (gomp_get_num_devices): New prototype.
4214 (gomp_cancel_var): New extern decl.
4215 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
4216 team_cancelled and task_queued_count fields. Add comments about
4217 task_{,queued_,running_}count.
4218 (gomp_cancel_kind): New enum.
4219 (gomp_work_share_end_cancel): New prototype.
4220 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
4221 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
4222 and depend fields.
4223 (struct gomp_taskgroup): New type.
4224 (struct gomp_task_depend_entry,
4225 struct gomp_dependers_vec): New types.
4226 (gomp_finish_task): Free depend_hash if non-NULL.
4227 (struct gomp_team_state): Add place_partition_off
4228 and place_partition_len fields.
4229 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4230 gomp_places_list_len): New extern decls.
4231 (struct gomp_thread): Add place field.
4232 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4233 (gomp_init_thread_affinity): Add place argument.
4234 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4235 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4236 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4237 gomp_affinity_init_level, gomp_affinity_print_place): New
4238 prototypes.
4239 (gomp_team_start): Add flags argument.
4240 (gomp_thread_limit_var, gomp_remaining_threads_count,
4241 gomp_remaining_threads_lock): Remove.
4242 (gomp_managed_threads_lock): New variable.
4243 (struct gomp_thread_pool): Add threads_busy field.
4244 (gomp_free_thread): New prototype.
4245 * task.c: Include hashtab.h.
4246 (hash_entry_type): New typedef.
4247 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
4248 (gomp_init_task): Clear dependers, depend_hash, depend_count,
4249 copy_ctors_done and taskgroup fields.
4250 (GOMP_task): Add depend argument, handle depend clauses. If
4251 gomp_team_barrier_cancelled or if it's taskgroup has been
4252 cancelled, don't queue or start new tasks. Set copy_ctors_done
4253 field if needed. Initialize taskgroup field. If copy_ctors_done
4254 and already cancelled, don't discard the task. If taskgroup is
4255 non-NULL, enqueue the task into taskgroup queue. Increment
4256 num_children field in taskgroup. Increment task_queued_count.
4257 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
4258 gomp_task_run_post_remove_taskgroup): New inline functions.
4259 (gomp_task_run_post_handle_depend_hash,
4260 gomp_task_run_post_handle_dependers,
4261 gomp_task_run_post_handle_depend): New functions.
4262 (GOMP_taskwait): Use them. If more than one new tasks
4263 have been queued, wake other threads if needed.
4264 (gomp_barrier_handle_tasks): Likewise. If
4265 gomp_team_barrier_cancelled, don't start any new tasks, just free
4266 all tasks.
4267 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
4268 * omp_lib.f90.in
4269 (omp_proc_bind_kind, omp_proc_bind_false,
4270 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4271 omp_proc_bind_spread): New params.
4272 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4273 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4274 omp_get_team_num, omp_is_initial_device): New interfaces.
4275 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
4276 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
4277 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
4278 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
4279 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
4280 useless use omp_lib_kinds.
4281 * omp.h.in (omp_proc_bind_t): New typedef.
4282 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4283 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4284 omp_get_team_num, omp_is_initial_device): New prototypes.
4285 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
4286 through to gomp_team_start.
4287 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
4288 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
4289 Adjust gomp_parallel_loop_start callers.
4290 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4291 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4292 GOMP_loop_end_cancel): New functions.
4293 (GOMP_parallel_end): Add ialias_redirect.
4294 * hashtab.h: New file.
4295 * libgomp.texi (Environment Variables): Minor cleanup,
4296 update section refs to OpenMP 4.0rc2.
4297 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
4298 environment variables.
4299 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
4300 team->work_shares_to_free to thr->ts.work_share before calling
4301 free_work_share.
4302 (gomp_work_share_end_cancel): New function.
4303 * config/linux/proc.c: Include errno.h.
4304 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
4305 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
4306 sizeof (cpu_set_t) to determine number of iterations. Fix up check
4307 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
4308 gomp_cpuset_size is sizeof (cpu_set_t).
4309 (gomp_init_num_threads): Initialize gomp_cpuset_size,
4310 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
4311 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
4312 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
4313 contain any logical CPUs.
4314 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
4315 is NULL. Use gomp_cpusetp instead of &cpuset and pass
4316 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
4317 pthread_getaffinity_np. Check gomp_places_list instead of
4318 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
4319 * config/linux/bar.c (gomp_barrier_wait_end,
4320 gomp_barrier_wait_last): Use BAR_* defines.
4321 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
4322 from state where needed. Set work_share_cancelled to 0 on last
4323 thread.
4324 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
4325 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
4326 functions.
4327 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
4328 Add cpusetsize argument.
4329 (gomp_cpuset_size, gomp_cpusetp): Declare.
4330 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
4331 (affinity_counter): Remove.
4332 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
4333 if CPU_ALLOC_SIZE isn't defined.
4334 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
4335 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
4336 bind current thread to the first place.
4337 (gomp_init_thread_affinity): Rewritten. Add place argument, just
4338 pthread_setaffinity_np to gomp_places_list[place].
4339 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4340 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4341 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4342 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
4343 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4344 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4345 (gomp_barrier_t): Add awaited_final field.
4346 (gomp_barrier_init): Initialize awaited_final field.
4347 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
4348 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
4349 prototypes.
4350 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
4351 defines.
4352 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
4353 gomp_team_barrier_cancelled): New inline functions.
4354 (gomp_barrier_last_thread,
4355 gomp_team_barrier_set_task_pending,
4356 gomp_team_barrier_clear_task_pending,
4357 gomp_team_barrier_set_waiting_for_tasks,
4358 gomp_team_barrier_waiting_for_tasks,
4359 gomp_team_barrier_done): Use BAR_* defines.
4360 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
4361 (gomp_barrier_wait_end): Use BAR_* defines.
4362 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
4363 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
4364 Use BAR_* defines.
4365 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
4366 gomp_team_barrier_cancel): New functions.
4367 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
4368 argument.
4369 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4370 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4371 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4372 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
4373 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4374 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4375 (gomp_barrier_t): Add cancellable field.
4376 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
4377 gomp_team_barrier_cancel): New prototypes.
4378 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
4379 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
4380 gomp_team_barrier_cancelled): New inline functions.
4381 (gomp_barrier_wait_start, gomp_barrier_last_thread,
4382 gomp_team_barrier_set_task_pending,
4383 gomp_team_barrier_clear_task_pending,
4384 gomp_team_barrier_set_waiting_for_tasks,
4385 gomp_team_barrier_waiting_for_tasks,
4386 gomp_team_barrier_done): Use BAR_* defines.
4387 * barrier.c (GOMP_barrier_cancel): New function.
4388 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
4389 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4390 omp_proc_bind_spread): New params.
4391 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4392 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4393 omp_get_team_num, omp_is_initial_device): New externals.
4394 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
4395 New functions.
4396 (gomp_resolve_num_threads): Adjust for thread_limit now being in
4397 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
4398 infinity. If not nested, just return minimum of max_num_threads
4399 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
4400 to the returned value. Otherwise, don't update atomically
4401 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
4402 (GOMP_parallel_end): Adjust for thread_limit now being in
4403 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
4404 infinity. Adjust threads_busy in the pool rather than
4405 gomp_remaining_threads_count. Remember team->nthreads and call
4406 gomp_team_end before adjusting threads_busy, if not nested
4407 afterwards, just set it to 1 non-atomically. Add ialias.
4408 (GOMP_parallel_start): Adjust gomp_team_start caller.
4409 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
4410 * testsuite/libgomp.c/affinity-1.c: New test.
4411 * testsuite/libgomp.c/atomic-15.c: New test.
4412 * testsuite/libgomp.c/atomic-16.c: New test.
4413 * testsuite/libgomp.c/atomic-17.c: New test.
4414 * testsuite/libgomp.c/cancel-for-1.c: New test.
4415 * testsuite/libgomp.c/cancel-for-2.c: New test.
4416 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
4417 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
4418 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
4419 * testsuite/libgomp.c/cancel-sections-1.c: New test.
4420 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
4421 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
4422 * testsuite/libgomp.c/depend-1.c: New test.
4423 * testsuite/libgomp.c/depend-2.c: New test.
4424 * testsuite/libgomp.c/depend-3.c: New test.
4425 * testsuite/libgomp.c/depend-4.c: New test.
4426 * testsuite/libgomp.c/for-1.c: New test.
4427 * testsuite/libgomp.c/for-1.h: New file.
4428 * testsuite/libgomp.c/for-2.c: New test.
4429 * testsuite/libgomp.c/for-2.h: New file.
4430 * testsuite/libgomp.c/for-3.c: New test.
4431 * testsuite/libgomp.c/pr58392.c: New test.
4432 * testsuite/libgomp.c/simd-1.c: New test.
4433 * testsuite/libgomp.c/simd-2.c: New test.
4434 * testsuite/libgomp.c/simd-3.c: New test.
4435 * testsuite/libgomp.c/simd-4.c: New test.
4436 * testsuite/libgomp.c/simd-5.c: New test.
4437 * testsuite/libgomp.c/simd-6.c: New test.
4438 * testsuite/libgomp.c/target-1.c: New test.
4439 * testsuite/libgomp.c/target-2.c: New test.
4440 * testsuite/libgomp.c/target-3.c: New test.
4441 * testsuite/libgomp.c/target-4.c: New test.
4442 * testsuite/libgomp.c/target-5.c: New test.
4443 * testsuite/libgomp.c/target-6.c: New test.
4444 * testsuite/libgomp.c/target-7.c: New test.
4445 * testsuite/libgomp.c/taskgroup-1.c: New test.
4446 * testsuite/libgomp.c/thread-limit-1.c: New test.
4447 * testsuite/libgomp.c/thread-limit-2.c: New test.
4448 * testsuite/libgomp.c/thread-limit-3.c: New test.
4449 * testsuite/libgomp.c/udr-1.c: New test.
4450 * testsuite/libgomp.c/udr-2.c: New test.
4451 * testsuite/libgomp.c/udr-3.c: New test.
4452 * testsuite/libgomp.c++/affinity-1.C: New test.
4453 * testsuite/libgomp.c++/atomic-10.C: New test.
4454 * testsuite/libgomp.c++/atomic-11.C: New test.
4455 * testsuite/libgomp.c++/atomic-12.C: New test.
4456 * testsuite/libgomp.c++/atomic-13.C: New test.
4457 * testsuite/libgomp.c++/atomic-14.C: New test.
4458 * testsuite/libgomp.c++/atomic-15.C: New test.
4459 * testsuite/libgomp.c++/cancel-for-1.C: New test.
4460 * testsuite/libgomp.c++/cancel-for-2.C: New test.
4461 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
4462 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
4463 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
4464 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
4465 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
4466 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
4467 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
4468 * testsuite/libgomp.c++/cancel-test.h: New file.
4469 * testsuite/libgomp.c++/for-9.C: New test.
4470 * testsuite/libgomp.c++/for-10.C: New test.
4471 * testsuite/libgomp.c++/for-11.C: New test.
4472 * testsuite/libgomp.c++/simd-1.C: New test.
4473 * testsuite/libgomp.c++/simd-2.C: New test.
4474 * testsuite/libgomp.c++/simd-3.C: New test.
4475 * testsuite/libgomp.c++/simd-4.C: New test.
4476 * testsuite/libgomp.c++/simd-5.C: New test.
4477 * testsuite/libgomp.c++/simd-6.C: New test.
4478 * testsuite/libgomp.c++/simd-7.C: New test.
4479 * testsuite/libgomp.c++/simd-8.C: New test.
4480 * testsuite/libgomp.c++/target-1.C: New test.
4481 * testsuite/libgomp.c++/target-2.C: New test.
4482 * testsuite/libgomp.c++/target-2-aux.cc: New file.
4483 * testsuite/libgomp.c++/target-3.C: New test.
4484 * testsuite/libgomp.c++/taskgroup-1.C: New test.
4485 * testsuite/libgomp.c++/udr-1.C: New test.
4486 * testsuite/libgomp.c++/udr-2.C: New test.
4487 * testsuite/libgomp.c++/udr-3.C: New test.
4488 * testsuite/libgomp.c++/udr-4.C: New test.
4489 * testsuite/libgomp.c++/udr-5.C: New test.
4490 * testsuite/libgomp.c++/udr-6.C: New test.
4491 * testsuite/libgomp.c++/udr-7.C: New test.
4492 * testsuite/libgomp.c++/udr-8.C: New test.
4493 * testsuite/libgomp.c++/udr-9.C: New test.
4494
bd599dea
JJ
44952013-09-20 Jakub Jelinek <jakub@redhat.com>
4496
4497 PR testsuite/57605
4498 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
4499 ALWAYS_CFLAGS.
4500
3cbe17f7
AM
45012013-09-20 Alan Modra <amodra@gmail.com>
4502
4503 * configure: Regenerate.
4504
4befd127
JJ
45052013-09-19 Jakub Jelinek <jakub@redhat.com>
4506
4507 * testsuite/libgomp.c/sections-2.c: New test.
4508
946c8f7b
MS
45092013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
4510
4511 * testsuite/libgomp.fortran/strassen.f90:
4512 Add dg-skip-if aarch64_tiny.
4513
1ef3b58e
IS
45142013-06-20 Iain Sandoe <iain@codesourcery.com>
4515 Cesar Philippidis <cesar@codesourcery.com>
4516
4517 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
4518 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
4519 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
4520 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4521 * testsuite/libgomp.graphite/graphite.exp: Likewise.
4522 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
4523 Use dg-runtest rather than gfortran-dg-runtest.
4524
9275f73a
TS
45252013-06-10 Thomas Schwinge <thomas@codesourcery.com>
4526
4527 * testsuite/libgomp.c/icv-2.c: Extend current handling of
4528 Linux-based x86 systems to cover all GNU systems.
4529 * testsuite/libgomp.c/lock-3.c: Likewise.
4530 * testsuite/libgomp.c/pr48591.c: Likewise.
4531
492992e2
TS
45322013-06-06 Thomas Schwinge <thomas@codesourcery.com>
4533
48df3acb
TS
4534 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
4535 GNU/Hurd, as done for Linux-based systems.
4536
492992e2
TS
4537 * config/posix/ptrlock.h: Fix comment.
4538
4fed6b25
TB
45392013-05-27 Tobias Burnus <burnus@net-b.de>
4540
4541 PR fortran/57423
4542 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
4543 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
4544 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
4545 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
4546 omp_destroy_nest_lock): Correct arguments to match the one in
4547 the OpenMP spec.
4548 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
4549 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
4550 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
4551 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
4552
5a0f4dd3
JJ
45532013-05-16 Jakub Jelinek <jakub@redhat.com>
4554
4555 * testsuite/libgomp.c/loop-13.c: New test.
4556 * testsuite/libgomp.c/loop-14.c: New test.
4557 * testsuite/libgomp.c/loop-15.c: New test.
4558 * testsuite/libgomp.c++/loop-13.C: New test.
4559 * testsuite/libgomp.c++/loop-14.C: New test.
4560 * testsuite/libgomp.c++/loop-15.C: New test.
4561
6d840d99
JJ
45622013-02-06 Jakub Jelinek <jakub@redhat.com>
4563
4564 PR middle-end/56217
4565 * testsuite/libgomp.c++/pr56217.C: New test.
4566
bed8d8a6
AM
45672013-02-01 Alan Modra <amodra@gmail.com>
4568
4569 * task.c (GOMP_task, GOMP_taskwait): Comment.
4570
3b35cd04
DV
45712013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
4572 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
4573
4574 PR libgomp/55561
4575 * config/linux/wait.h (do_spin): Use atomic load for addr.
4576 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
4577 for intptr and ptrlock.
4578 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
4579 for ptrlock.
4580
9a647288
AM
45812013-01-22 Alan Modra <amodra@gmail.com>
4582
4583 PR libgomp/51376
4584 PR libgomp/56073
4585 * task.c (GOMP_task): Revert 2011-12-09 change.
4586 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
4587 barrier to read task->children..
4588 (gomp_barrier_handle_tasks): ..and matching atomic store with
4589 release barrier here when setting parent->children to NULL.
4590
f34dea03
JJ
45912013-01-16 Jakub Jelinek <jakub@redhat.com>
4592 Tobias Burnus <burnus@net-b.de>
4593
4594 PR driver/55884
4595 * testsuite/libgomp.fortran/fortran.exp: Use
4596 -fintrinsic-modules-path= instead of
4597 -fintrinsic-modules-path.
4598
8129609c
RS
45992013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
4600
4601 Update copyright years.
4602
aa86bf1e
TB
46032012-12-19 Tobias Burnus <burnus@net-b.de>
4604
4605 * testsuite/libgomp.fortran/fortran.exp: Set
4606 -fintrinsic-modules-path.
4607
2865ea66
TB
46082012-12-19 Tobias Burnus <burnus@net-b.de>
4609
4610 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
4611 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
4612
4c5ba8d0
JJ
46132012-11-21 Jakub Jelinek <jakub@redhat.com>
4614
4615 PR libgomp/55411
4616 * team.c (gomp_free_thread): Decrease gomp_managed_threads
4617 if pool had any threads_used.
4618
e9f958c2
JH
46192012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
4620
4621 * testsuite/libgomp.c++/pr24455.C: Use
4622 -Wl,-undefined,dynamic_lookup on darwin.
4623
a57d75dc
DE
46242012-11-07 David Edelsohn <dje.gcc@gmail.com>
4625
4626 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
4627
c6c08485
DH
46282012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
4629
4630 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
4631
c1f37c00
IB
46322012-10-23 Ian Bolton <ian.bolton@arm.com>
4633 Jim MacArthur <jim.macarthur@arm.com>
4634 Marcus Shawcroft <marcus.shawcroft@arm.com>
4635 Nigel Stephens <nigel.stephens@arm.com>
4636 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4637 Richard Earnshaw <rearnsha@arm.com>
4638 Sofiane Naci <sofiane.naci@arm.com>
4639 Stephen Thomas <stephen.thomas@arm.com>
4640 Tejas Belagod <tejas.belagod@arm.com>
4641 Yufeng Zhang <yufeng.zhang@arm.com>
4642
4643 * configure.tgt: Add AArch64.
4644
7c424acd
JM
46452012-10-04 Jason Merrill <jason@redhat.com>
4646
4647 * testsuite/libgomp.c++/tls-init1.C: New.
4648
6608378b
DE
46492012-09-14 David Edelsohn <dje.gcc@gmail.com>
4650
4651 * configure: Regenerated.
4652
c24dbebb
CLT
46532012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
4654
4655 * config/linux/mips/futex.h (sys_futex0): Change to static
4656 function with noinline, nomips16 attributes under MIPS16. Adjust
4657 asm statement to place 'li v0,SYS_futex' immediately before
4658 syscall insn.
4659
3d3949df
SL
46602012-07-04 Sandra Loosemore <sandra@codesourcery.com>
4661
4662 * libgomp.texi (Library Index): Renamed from "Index" to prevent
4663 conflict with index.html on case-insensitive file systems.
4664
68a12ef3
UB
46652012-07-03 Uros Bizjak <ubizjak@gmail.com>
4666
4667 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
4668 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
4669
33ad93b9 46702012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
4671 Michael Matz <matz@suse.de>
4672 Tobias Grosser <tobias@grosser.es>
4673 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
4674
4675 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4676 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4677 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4678 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4679
e6fdc918
AS
46802012-06-28 Andreas Schwab <schwab@linux-m68k.org>
4681
4682 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
4683
62e0a1ed
RG
46842012-06-22 Richard Guenther <rguenther@suse.de>
4685
4686 Merge from graphite branch
4687 2012-01-13 Tobias Grosser <tobias@grosser.es>
4688
4689 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4690 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4691
26127932
JJ
46922012-06-07 Jakub Jelinek <jakub@redhat.com>
4693
4694 PR middle-end/53580
4695 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
4696 use GOMP_barrier () call instead.
4697 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4698 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4699 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
4700 call GOMP_barrier instead.
4701 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4702
43fa5db5
JJ
47032012-06-06 Jakub Jelinek <jakub@redhat.com>
4704
4705 PR libgomp/52993
4706 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
4707 argument to memset call.
4708
e6d5f8c9
L
47092012-05-16 H.J. Lu <hongjiu.lu@intel.com>
4710
4711 * configure: Regenerated.
4712
559d990c
MLI
47132012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4714
4715 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
4716
b9c23a61
L
47172012-03-31 H.J. Lu <hongjiu.lu@intel.com>
4718
4719 PR bootstrap/52812
4720 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
4721
c140ddf3
JJ
47222012-03-22 Jakub Jelinek <jakub@redhat.com>
4723
4724 PR middle-end/52547
4725 * testsuite/libgomp.c/pr52547.c: New test.
4726
6a26a74d
BRF
47272012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4728
4729 * testsuite/lib/libgomp.exp: load fortran-modules.exp
4730
b24513a1
RO
47312012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4732
4733 * configure.tgt (mips-sgi-irix6*): Remove.
4734
5c30094f
RO
47352012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4736
4737 * configure.tgt (alpha*-dec-osf*): Remove.
4738
4739 * config/osf/sem.h: Remove.
4740 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
4741
a339c9d6
EB
47422012-02-29 Eric Botcazou <ebotcazou@adacore.com>
4743
4744 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
4745
cc2de92d
RO
47462012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4747
4748 PR libstdc++/52188
4749 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
4750 Remove ENABLE_SYMVERS_SOL2.
4751 * configure: Regenerate.
4752 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
4753 (PREPROCESS): New variable.
4754 (libgomp.ver): New target.
4755 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
4756 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
4757 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
4758 Use libgomp.ver.
4759 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
4760 * Makefile.in: Regenerate.
4761
dd552284
WL
47622012-02-14 Walter Lee <walt@tilera.com>
4763
4764 * configure.tgt: Handle tilegx and tilepro.
4765 * config/linux/tile/futex.h: New file.
4766
31432e21
RG
47672012-02-08 Richard Guenther <rguenther@suse.de>
4768
4769 PR tree-optimization/46886
4770 * testsuite/libgomp.c/pr46886.c: New testcase.
4771
b9264b5f
MK
47722012-01-25 Matthias Klose <doko@ubuntu.com>
4773
4774 * config/linux/arm: Remove empty directory.
4775 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
4776
fbf7be80
AM
47772011-12-09 Alan Modra <amodra@gmail.com>
4778
4779 PR libgomp/51376
4780 * task.c (GOMP_taskwait): Don't access task->children outside of
4781 task_lock mutex region.
4782 (GOMP_task): Likewise.
4783
5de62d00
JJ
47842011-12-06 Jakub Jelinek <jakub@redhat.com>
4785
4786 PR libgomp/51132
4787 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
4788 to file scope.
4789 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4790 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4791 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4792 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4793 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4794
45608a43
AM
47952011-12-02 Alan Modra <amodra@gmail.com>
4796
4797 * config/linux/affinity.c: Use atomic rather than sync builtin.
4798 * config/linux/lock.c: Likewise.
4799 * config/linux/ptrlock.h: Likewise.
4800 * config/linux/ptrlock.c: Likewise.
4801 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
4802 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
4803 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
4804 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
4805 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
4806 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
4807 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
4808 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
4809 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
4810 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
4811
ab6dd406
AM
48122011-11-30 Alan Modra <amodra@gmail.com>
4813
4814 PR libgomp/51298
4815 * config/linux/bar.h: Use atomic rather than sync builtins.
4816 * config/linux/bar.c: Likewise. Add missing acquire
4817 synchronisation on generation field.
4818 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
4819 double unlock.
4820
b40c885f
AM
48212011-11-30 Alan Modra <amodra@gmail.com>
4822
4823 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
4824 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
4825 * config/linux/mutex.h: Use atomic rather than sync builtins.
4826 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
4827 * config/linux/omp-lock.h: Comment fix.
4828 * config/linux/arm/mutex.h: Delete.
4829 * config/linux/powerpc/mutex.h: Delete.
4830 * config/linux/ia64/mutex.h: Delete.
4831 * config/linux/mips/mutex.h: Delete.
4832
3e348fcc
AM
48332011-11-30 Alan Modra <amodra@gmail.com>
4834
4835 PR libgomp/51249
4836 * config/linux/sem.h: Rewrite.
4837 * config/linux/sem.c: Rewrite.
4838
cef86eb2
RH
48392011-11-28 Richard Henderson <rth@redhat.com>
4840
4841 * libgomp.h (enum memmodel): New.
4842
c6084f68
AT
48432011-11-21 Andreas Tobler <andreast@fgznet.ch>
4844
4845 * configure: Regenerate.
4846
06fe026c
MK
48472011-10-10 Matthias Klose <doko@ubuntu.com>
4848
4849 * config/posix95: Remove empty directory.
4850
a6c975bd
JJ
48512011-08-26 Jakub Jelinek <jakub@redhat.com>
4852
4853 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
4854
c26dffff
JJ
48552011-08-19 Jakub Jelinek <jakub@redhat.com>
4856
4857 PR fortran/49792
4858 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
4859 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
4860
ddaad3c8
RO
48612011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4862
4863 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
4864
98d03683
RO
48652011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4866
4867 PR libgomp/49965
4868 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
4869
e0b23d9f
UB
48702011-08-03 Uros Bizjak <ubizjak@gmail.com>
4871
4872 * config/linux/proc.h: New.
4873 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
4874 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
4875 (gomp_init_num_threads): Update call to cpuset_popcount.
4876 (get_num_procs): Ditto.
4877 * config/linux/affinity.c (gomp_init_affinity): Call
4878 gomp_cpuset_popcount.
4879
20906c66
JJ
48802011-08-02 Jakub Jelinek <jakub@redhat.com>
4881
4882 PR fortran/42041
4883 PR fortran/46752
4884 * omp.h.in (omp_in_final): New prototype.
4885 * omp_lib.f90.in (omp_in_final): New interface.
4886 (omp_integer_kind, omp_logical_kind): Remove
4887 and replace all its uses in the module with 4.
4888 (openmp_version): Change to 201107.
4889 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
4890 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
4891 kind for the parameters.
4892 (omp_in_final): New external.
4893 (openmp_version): Change to 201107.
4894 * task.c (omp_in_final): New function.
4895 (gomp_init_task): Initialize final_task.
4896 (GOMP_task): Remove unused attribute from flags. Handle final
4897 tasks.
4898 (GOMP_taskyield): New function.
4899 (omp_in_final): Return true if if (false) or final (true) task
4900 or descendant of final (true).
4901 * fortran.c (omp_in_final_): New function.
4902 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
4903 (GOMP_3.0): Export GOMP_taskyield.
4904 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
4905 variables.
4906 (parse_unsigned_long_list): New function.
4907 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
4908 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
4909 even if parse_affinity returned false.
4910 * config/linux/affinity.c (gomp_init_affinity): Handle
4911 gomp_cpu_affinity_len == 0.
4912 * libgomp_g.h (GOMP_taskyield): New prototype.
4913 * libgomp.h (struct gomp_task): Add final_task field.
4914 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
4915 * team.c (gomp_team_start): Override new task's nthreads_var icv
4916 if list form OMP_NUM_THREADS has been used and it has value for
4917 the new nesting level.
4918
4919 * testsuite/libgomp.c/atomic-11.c: New test.
4920 * testsuite/libgomp.c/atomic-12.c: New test.
4921 * testsuite/libgomp.c/atomic-13.c: New test.
4922 * testsuite/libgomp.c/atomic-14.c: New test.
4923 * testsuite/libgomp.c/reduction-6.c: New test.
4924 * testsuite/libgomp.c/task-5.c: New test.
4925 * testsuite/libgomp.c++/atomic-2.C: New test.
4926 * testsuite/libgomp.c++/atomic-3.C: New test.
4927 * testsuite/libgomp.c++/atomic-4.C: New test.
4928 * testsuite/libgomp.c++/atomic-5.C: New test.
4929 * testsuite/libgomp.c++/atomic-6.C: New test.
4930 * testsuite/libgomp.c++/atomic-7.C: New test.
4931 * testsuite/libgomp.c++/atomic-8.C: New test.
4932 * testsuite/libgomp.c++/atomic-9.C: New test.
4933 * testsuite/libgomp.c++/task-8.C: New test.
4934 * testsuite/libgomp.c++/reduction-4.C: New test.
4935 * testsuite/libgomp.fortran/allocatable7.f90: New test.
4936 * testsuite/libgomp.fortran/allocatable8.f90: New test.
4937 * testsuite/libgomp.fortran/crayptr3.f90: New test.
4938 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
4939 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
4940 * testsuite/libgomp.fortran/pointer1.f90: New test.
4941 * testsuite/libgomp.fortran/pointer2.f90: New test.
4942 * testsuite/libgomp.fortran/task4.f90: New test.
4943
49442011-08-02 Tobias Burnus <burnus@net-b.de>
4945
4946 * libgomp.texi: Update OpenMP spec references to 3.1.
4947 (omp_in_final,OMP_PROC_BIND): New sections.
4948 (OMP_NUM_THREADS): Document that the value can be now a list.
4949 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
4950
c01ecafc
L
49512011-08-02 H.J. Lu <hongjiu.lu@intel.com>
4952
4953 * config/linux/x86/futex.h: Check __x86_64__ instead of
4954 __LP64__.
4955
25142650
JJ
49562011-07-29 Jakub Jelinek <jakub@redhat.com>
4957
4958 PR middle-end/49897
4959 PR middle-end/49898
4960 * testsuite/libgomp.c/pr49897-1.c: New test.
4961 * testsuite/libgomp.c/pr49897-2.c: New test.
4962 * testsuite/libgomp.c/pr49898-1.c: New test.
4963 * testsuite/libgomp.c/pr49898-2.c: New test.
4964
f53d712f
L
49652011-07-28 H.J. Lu <hongjiu.lu@intel.com>
4966
4967 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
4968 for ia32 instead of ilp32.
4969
4970 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
4971 * testsuite/libgomp.c/atomic-6.c: Likewise.
4972
3689198d
SP
49732011-07-23 Sebastian Pop <sebastian.pop@amd.com>
4974
4975 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
4976 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
4977
1a79cb73
RO
49782011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4979
4980 PR libgomp/45351
4981 * config/osf/sem.h: New file.
4982 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
4983
c1f51484
RO
49842011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4985
4986 PR target/49541
4987 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
4988 ldflags.
4989
bfee0724
JJ
49902011-07-15 Jakub Jelinek <jakub@redhat.com>
4991
4992 * config/linux/wait.h (do_spin): New inline, largely copied
4993 from do_wait, just don't do futex_wait here, instead return true if
4994 it should be done.
4995 (do_wait): Implement using do_spin.
4996 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
4997 to prototype.
4998 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4999 __sync_bool_compare_and_swap, pass the oldval to
5000 gomp_mutex_lock_slow.
5001 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
5002 If all mutex contenders are just spinning and not sleeping, don't
5003 change state to 2 unnecessarily. Optimize the loop when state has
5004 already become 2 to use just one atomic operation per loop instead
5005 of two.
5006 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
5007 to prototype.
5008 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5009 __sync_bool_compare_and_swap, pass the oldval to
5010 gomp_mutex_lock_slow.
5011
fb79f500
JJ
50122011-06-22 Jakub Jelinek <jakub@redhat.com>
5013
5014 PR libgomp/49490
5015 * iter.c (gomp_iter_static_next): For chunk size 0
5016 only use n ceil/ nthreads size for the first
5017 n % nthreads threads in the team instead of
5018 all threads except for the last few ones which
5019 get less work or none at all.
5020 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
5021 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
5022 chunk argument, set run_sched_modifier to 0 for static
5023 resp. 1 for other kinds. If chunk argument is 0
5024 and not static, set value to 1.
5025
4577f730
JJ
50262011-05-19 Jakub Jelinek <jakub@redhat.com>
5027
ea93a47b
JJ
5028 PR c++/49043
5029 * testsuite/libgomp.c++/pr49043.C: New test.
5030
4577f730
JJ
5031 PR c++/48869
5032 * testsuite/libgomp.c++/pr48869.C: New test.
5033
e7385332
JJ
50342011-05-06 Jakub Jelinek <jakub@redhat.com>
5035
5036 PR fortran/48894
5037 * fortran.c: Include limits.h.
5038 (TO_INT): Define.
5039 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
5040 *set.
5041 (omp_set_num_threads_8_, omp_set_schedule_8_,
5042 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5043 omp_get_team_size_8_): Use TO_INT macro.
5044 * testsuite/libgomp.fortran/pr48894.f90: New test.
5045
20790697
JJ
50462011-04-13 Jakub Jelinek <jakub@redhat.com>
5047
5048 PR middle-end/48591
5049 * testsuite/libgomp.c/pr48591.c: New test.
5050
bf382f5f
RO
50512011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5052
5053 PR bootstrap/48135
5054 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
5055 * configure: Regenerate.
5056
113a53c1
JJ
50572011-02-27 Jakub Jelinek <jakub@redhat.com>
5058
5059 PR fortran/47886
5060 * testsuite/libgomp.fortran/task3.f90: New test.
5061
0024f1af
TB
50622011-02-24 Tobias Burnus <burnus@net-b.de>
5063
5064 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
5065
21e1e594
JJ
50662011-02-23 Jakub Jelinek <jakub@redhat.com>
5067
5068 PR libgomp/47854
5069 * libgomp.texi (omp_get_wtime): Don't say time in the past
5070 must be Unix Epoch.
5071
67962076
JJ
50722011-02-18 Jakub Jelinek <jakub@redhat.com>
5073
5074 PR libgomp/47804
5075 * testsuite/libgomp.fortran/fortran.exp: Check for both
5076 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
5077 but $blddir != "", still append ${blddir}/${lang_library_path}
5078 to ld_library_path.
5079
3808007c
TB
50802011-02-16 Tobias Burnus <burnus@net-b.de>
5081
5082 PR libgomp/47758
5083 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
5084 of libquadmath.a before adding its libpath to ldflags.
5085
53b4d41d
JJ
50862011-02-14 Jakub Jelinek <jakub@redhat.com>
5087
5088 PR libgomp/47731
5089 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
5090 to FUTEX_WAIT futex syscall.
5091 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
5092
029c8f3e
RW
50932011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5094
5095 * configure: Regenerate.
5096
bddd6626
BK
50972011-01-20 Benjamin Kosnik <bkoz@redhat.com>
5098
5099 PR libstdc++/36104
5100 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
5101
f1d4ab26
GP
51022011-01-16 Gerald Pfeifer
5103
5104 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
5105
2b503136
JJ
51062010-12-14 Jakub Jelinek <jakub@redhat.com>
5107
5108 PR fortran/46874
5109 * libgomp.fortran/allocatable6.f90: New test.
5110
c0f9d583
RO
51112010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5112
5113 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
5114 * configure: Regenerate.
5115
7de6ba7a
DK
51162010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
5117
5118 PR target/40125
5119 PR lto/46695
5120 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
5121 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
5122 * aclocal.m4: Regenerate.
5123 * configure: Regenerate.
5124 * Makefile.in: Regenerate.
5125 * testsuite/Makefile.in: Regenerate.
5126
b7516041
JJ
51272010-12-02 Jakub Jelinek <jakub@redhat.com>
5128
edaadf74
JJ
5129 PR fortran/46753
5130 * libgomp.fortran/pr46753.f90: New test.
5131
4c698cf8
JJ
5132 PR libgomp/43706
5133 * env.c (initialize_env): Default to spin count 300000
5134 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
5135 is specified.
5136
b7516041
JJ
5137 PR libgomp/45240
5138 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
5139 at the end if sync builtins aren't supported.
5140
6b43a34c
RO
51412010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5142
5143 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
5144
950691fa
RO
51452010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5146
5147 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
5148
fb9041ea
IS
51492010-11-24 Iain Sandoe <iains@gcc.gnu.org>
5150
5151 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
5152
1ec601bf
FXC
51532010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5154 Tobias Burnus <burnus@net-b.de>
5155
5156 PR fortran/32049
3e348fcc 5157 * configure.ac:
1ec601bf
FXC
5158 * configure: Regenerate.
5159
d213e92e
MS
51602010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
5161
5162 * config/linux/futex.h: New.
5163 * config/linux/arm/mutex.h: New.
5164 * configure.tgt (arm*-*-linux*): Add config path.
5165
89d5c66f
SP
51662010-09-30 Sebastian Pop <sebastian.pop@amd.com>
5167
5168 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5169
87350d4a
TB
51702010-09-23 Tobias Burnus <burnus@net-b.de>
5171
5172 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
5173 Change Fortran datatype to LOGICAL.
5174 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
5175 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
5176
75bc9e5e
RW
51772010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5178
5179 * configure: Regenerate.
5180
acb5c916
JJ
51812010-07-26 Jakub Jelinek <jakub@redhat.com>
5182
5183 * libgomp.texi: Add function keyword to a couple of Fortran
5184 interfaces, use integer instead of int for Fortran.
5185
6a2ba183
AH
51862010-07-26 Aldy Hernandez <aldyh@redhat.com>
5187
5188 * libgomp.texi: Fix spelling and pasto problems throughout.
5189 Adjust prototypes to match code.
5190
df161b69
TB
51912010-07-24 Tobias Burnus <burnus@net-b.de>
5192
5193 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
5194 silence -fwhole-file warning.
5195
16c9d3b1
RO
51962010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5197
5198 * configure.tgt (*-*-solaris2.[56]*): Removed.
5199
6d28b933
RO
52002010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5201
5202 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
5203 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
5204 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
5205 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
5206 targetting solaris2*.
5207 * configure: Regenerate.
5208 * config.h.in: Regenerate.
5209
5210 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
5211 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
5212 Add libgomp_version_dep.
5213 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
5214 versioning.
5215 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
5216 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
5217 * Makefile.in: Regenerate.
5218
5219 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
5220 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5221 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
5222 to common block, protected by
5223 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5224
07a67d6a
GP
52252010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
5226
5227 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
5228
dbd34b89
IS
52292010-06-09 Iain Sandoe <iains@gcc.gnu.org>
5230
5231 PR bootstrap/43170
5232 * configure: Regenerate.
5233
13917ae3
RW
52342010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5235
5236 PR other/43620
5237 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
5238 * configure: Regenerate.
5239 * Makefile.in: Regenerate.
5240 * testsuite/Makefile.in: Regenerate.
5241
b83a701b
JJ
52422010-04-26 Jakub Jelinek <jakub@redhat.com>
5243
5244 PR c/43893
5245 * testsuite/libgomp.c/pr43893.c: New test.
5246 * testsuite/libgomp.c++/pr43893.C: New test.
5247
78db7d92
JJ
52482010-04-21 Jakub Jelinek <jakub@redhat.com>
5249
5250 PR middle-end/43570
5251 * testsuite/libgomp.fortran/vla8.f90: New test.
5252
5221d7a9
JJ
52532010-04-20 Jakub Jelinek <jakub@redhat.com>
5254
e4ba7a60
JJ
5255 PR libgomp/43706
5256 * config/linux/affinity.c (gomp_init_affinity): Decrease
5257 gomp_available_cpus if affinity mask confines the process to fewer
5258 CPUs.
5259 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
5260 non-NULL, just return gomp_available_cpus.
5261
5221d7a9
JJ
5262 PR libgomp/43569
5263 * sections.c (gomp_sections_init): Initialize ws->mode.
5264
289a9f86
UB
52652010-04-14 Uros Bizjak <ubizjak@gmail.com>
5266
5267 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
5268 not unused bar variable.
5269 * configure: Regenerate.
5270
4d9e8446
RW
52712010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5272
5273 * Makefile.in: Regenerate.
5274 * aclocal.m4: Regenerate.
5275 * testsuite/Makefile.in: Regenerate.
5276
80f046cc
JJ
52772010-03-22 Jakub Jelinek <jakub@redhat.com>
5278
5279 PR libgomp/42942
5280 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
5281 (initialize_env): Adjust callers.
5282 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
5283 when the argument is 0.
5284
5285 * testsuite/libgomp.c/pr42942.c: New test.
5286
b58543c3
SP
52872010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
5288
5289 PR middle-end/42644
5290 PR middle-end/42130
5291 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5292 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
5293
41d1138f
RO
52942010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5295
5296 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
5297 * testsuite/libgomp.c++/task-6.C: Likewise.
5298
6684eb28
SE
52992010-01-28 Steve Ellcey <sje@cup.hp.com>
5300
5301 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
5302
2122aa97
PB
53032010-01-26 Paolo Bonzini <bonzini@gnu.org>
5304
5305 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
5306 * configure: Regenerate.
5307
057dd91d
JJ
53082010-01-26 Jakub Jelinek <jakub@redhat.com>
5309
5310 PR fortran/42866
5311 * testsuite/libgomp.fortran/allocatable5.f90: New test.
5312
d0709b6a
PB
53132010-01-20 Paolo Bonzini <bonzini@gnu.org>
5314
5315 * configure.ac: Test for executability of GFORTRAN.
5316 * configure: Regenerate.
5317
b9497ab5
RO
53182010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5319
5320 * configure: Regenerate.
5321
45de5648
L
53222010-01-04 H.J. Lu <hongjiu.lu@intel.com>
5323
5324 PR libgomp/42602
5325 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
5326
e74003a1
RG
53272010-01-03 Richard Guenther <rguenther@suse.de>
5328
5329 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
5330
1b3abda8
SP
53312009-12-23 Sebastian Pop <sebpop@gmail.com>
5332
5333 * testsuite/libgomp.graphite/pr4118.c: New.
5334
e19977d3
IS
53352009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5336
5337 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
5338 for darwin, protect the test with require-effective-target tls_runtime.
5339 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5340
1d32a772
IS
53412009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5342
5343 PR target/41605
5344 * testsuite/lib/libgomp.exp: Provide -B options to allow for
5345 link spec %s substitutions for static libraries.
5346
deb109b2
JH
53472009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
5348
5349 PR testsuite/42135
5350 * libgomp.graphite/force-parallel-2.c: Reduce array size.
5351
43e02a8a
RW
53522009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5353
5354 * Makefile.in: Regenerate.
5355 * configure: Regenerate.
5356 * testsuite/Makefile.in: Regenerate.
5357
17f35e23
DK
53582009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
5359
5360 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
5361 settings for LC_ALL and LANG.
5362
281e33e1
JJ
53632009-11-25 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR fortran/42162
5366 * testsuite/libgomp.fortran/pr42162.f90: New test.
5367
2b32c27d
JJ
53682009-11-13 Jakub Jelinek <jakub@redhat.com>
5369
5370 PR middle-end/42029
281e33e1 5371 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 5372
89c74f4a
JJ
53732009-10-26 Jakub Jelinek <jakub@redhat.com>
5374
5375 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
5376 *s. Accept ld version without text in ()s.
5377 * configure: Regenerated.
5378
7e06c3d6
EB
53792009-10-22 Razya Ladelsky <razya@il.ibm.com>
5380
5381 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
5382
0046b1a7
RW
53832009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5384
5385 PR libgomp/41418
5386 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
5387 or a hyphen (happens with fortran language disabled).
5388 * configure: Regenerate.
5389
c82852f7
RW
53902009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5391
5392 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
5393 use sed script portable to Solaris /bin/sed for extracting ld
5394 version.
5395 * configure: Regenerate.
5396
98f3eb1f
AM
53972009-09-17 Alexander Monakov <amonakov@ispras.ru>
5398
5399 * testsuite/libgomp.graphite/bounds.c: New test.
5400
878f62e5
RW
54012009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5402
5403 * Makefile.am (libgomp_la_LINK): New.
5404 * Makefile.in: Regenerate.
5405
df58e648
RW
54062009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5407
5408 * configure.ac (AC_PREREQ): Bump to 2.64.
5409
5213506e
RW
54102009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5411
70fa0efa
RW
5412 * Makefile.am (install-html, install-pdf): Remove.
5413 * Makefile.in: Regenerate.
5414
5213506e
RW
5415 * Makefile.in: Regenerate.
5416 * aclocal.m4: Regenerate.
5417 * config.h.in: Regenerate.
5418 * configure: Regenerate.
5419 * testsuite/Makefile.in: Regenerate.
5420
84fec8a5
RW
54212009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5422
5423 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
5424 * Makefile.in: Regenerate.
5425
197c68cc
DK
54262009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
5427
5428 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
5429 * Makefile.in: Regenerate.
5430
693d54f2
TB
54312009-08-19 Tobias Burnus <burnus@net-b.de>
5432
5433 PR fortran/41102
5434 omp_lib.h.in: Fix -std=f95 errors.
5435
8cac884c
DE
54362009-08-14 David Edelsohn <edelsohn@gnu.org>
5437
5438 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
5439 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
5440 * testsuite/libgomp.graphite/graphite.exp: New.
5441
78729ee2
AT
54422009-08-05 Andreas Tobler <a.tobler@schweiz.org>
5443
5444 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
5445 only build.
5446
b13b7f39
DD
54472009-08-04 David Daney <ddaney@caviumnetworks.com>
5448
5449 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
5450 needed memory barrier semantics.
5451 * config/linux/mips/mutex.h: New file.
5452
1b3b24c2
RW
54532009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5454
5455 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
5456
396b7fa4
JM
54572009-07-16 Joseph Myers <joseph@codesourcery.com>
5458
5459 * configure: Regenerate.
5460
33cde516
RS
54612009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
5462
5463 PR testsuite/40699
5464 PR testsuite/40707
5465 PR testsuite/40709
5466 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
5467 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
5468 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
5469
bc21bfa5
RS
54702009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
5471
5472 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
5473 options when choosing a multilib.
5474
b30bfd40
RS
54752009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
5476
5477 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
5478 ld_library_path. Use add_path. Add just find_libgcc_s to
5479 ld_library_path, not every libgcc multilib directory.
5480 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
5481 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
5482 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
5483 Use add_path.
5484 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
5485
479c15c2
NF
54862009-06-09 Nathan Froyd <froydnj@codesourcery.com>
5487
5488 * Makefile.am (LTLDFLAGS): Define.
5489 (LINK): Define.
5490 * Makefile.in: Regenerate.
5491
667e6f89
JB
54922009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
5493
5494 PR fortran/39718
5495 * testsuite/libgomp.fortran/fortran.exp: Don't link with
5496 libgfortranbegin, check existence of libgfortran.a instead of
5497 libgfortranbegin.a.
5498
6dea8e99
JJ
54992009-05-20 Jakub Jelinek <jakub@redhat.com>
5500
5501 PR libgomp/40174
5502 * team.c (gomp_thread_start): Destroy thr->release semaphore.
5503 (gomp_free_pool_helper): Likewise.
5504
34d01e1d
VL
55052009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
5506 Jakub Jelinek <jakub@redhat.com>
5507
5508 PR fortran/35423
5509 * testsuite/libgomp.fortran/workshare2.f90: New test.
5510
748086b7
JJ
55112009-04-09 Nick Clifton <nickc@redhat.com>
5512
5513 * iter.c: Change copyright header to refer to version 3 of the
5514 GNU General Public License with version 3.1 of the GCC Runtime
5515 Library Exception and to point readers at the COPYING3 and
5516 COPYING3.RUNTIME files and the FSF's license web page.
5517 * alloc.c: Likewise.
5518 * barrier.c: Likewise.
5519 * config/bsd/proc.c: Likewise.
5520 * config/linux/affinity.c: Likewise.
5521 * config/linux/alpha/futex.h: Likewise.
5522 * config/linux/bar.c: Likewise.
5523 * config/linux/bar.h: Likewise.
5524 * config/linux/ia64/futex.h: Likewise.
5525 * config/linux/ia64/mutex.h: Likewise.
5526 * config/linux/lock.c: Likewise.
5527 * config/linux/mips/futex.h: Likewise.
5528 * config/linux/mutex.c: Likewise.
5529 * config/linux/mutex.h: Likewise.
5530 * config/linux/powerpc/futex.h: Likewise.
5531 * config/linux/proc.c: Likewise.
5532 * config/linux/ptrlock.c: Likewise.
5533 * config/linux/ptrlock.h: Likewise.
5534 * config/linux/s390/futex.h: Likewise.
5535 * config/linux/sem.c: Likewise.
5536 * config/linux/sem.h: Likewise.
5537 * config/linux/sparc/futex.h: Likewise.
5538 * config/linux/wait.h: Likewise.
5539 * config/linux/x86/futex.h: Likewise.
5540 * config/mingw32/proc.c: Likewise.
5541 * config/mingw32/time.c: Likewise.
5542 * config/posix/affinity.c: Likewise.
5543 * config/posix/bar.c: Likewise.
5544 * config/posix/bar.h: Likewise.
5545 * config/posix/lock.c: Likewise.
5546 * config/posix/mutex.h: Likewise.
5547 * config/posix/proc.c: Likewise.
5548 * config/posix/ptrlock.h: Likewise.
5549 * config/posix/sem.c: Likewise.
5550 * config/posix/sem.h: Likewise.
5551 * config/posix/time.c: Likewise.
5552 * config/posix95/lock.c: Likewise.
5553 * critical.c: Likewise.
5554 * env.c: Likewise.
5555 * error.c: Likewise.
5556 * fortran.c: Likewise.
5557 * iter_ull.c: Likewise.
5558 * libgomp.h: Likewise.
5559 * libgomp_f.h.in: Likewise.
5560 * libgomp_g.h: Likewise.
5561 * loop.c: Likewise.
5562 * loop_ull.c: Likewise.
5563 * omp.h.in: Likewise.
5564 * omp_lib.f90.in: Likewise.
5565 * omp_lib.h.in: Likewise.
5566 * ordered.c: Likewise.
5567 * parallel.c: Likewise.
5568 * sections.c: Likewise.
5569 * single.c: Likewise.
5570 * task.c: Likewise.
5571 * team.c: Likewise.
5572 * work.c: Likewise.
5573
55742009-04-09 Jakub Jelinek <jakub@redhat.com>
5575
5576 * testsuite/config/default.exp: Change copyright header to refer to
5577 version 3 of the GNU General Public License and to point readers
5578 at the COPYING3 file and the FSF's license web page.
5579
4f0ae266
JJ
55802009-04-08 Jakub Jelinek <jakub@redhat.com>
5581
5582 PR middle-end/39573
5583 * libgomp.c++/pr39573.C: New test.
5584
03742a9b
JJ
55852009-04-01 Jakub Jelinek <jakub@redhat.com>
5586
5587 PR other/39591
5588 * testsuite/libgomp.c/pr39591-1.c: New test.
5589 * testsuite/libgomp.c/pr39591-2.c: New test.
5590 * testsuite/libgomp.c/pr39591-3.c: New test.
5591
e50ea10b
UB
55922009-03-25 Uros Bizjak <ubizjak@gmail.com>
5593
5594 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
5595 * testsuite/libgomp.c/atomic-6.c: Ditto.
5596
c5cdb03f
JJ
55972009-03-23 Jakub Jelinek <jakub@redhat.com>
5598
5599 PR c/39495
5600 * testsuite/libgomp.c/loop-12.c: New test.
5601 * testsuite/libgomp.c/loop-11.c: New test.
5602 * testsuite/libgomp.c++/loop-11.C: New test.
5603 * testsuite/libgomp.c++/loop-12.C: New test.
5604 * testsuite/libgomp.c++/for-8.C: New test.
5605
7a9d3fe8
RW
56062009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5607
5608 * configure: Regenerate.
5609
3ad6b266
JJ
56102009-02-11 Jakub Jelinek <jakub@redhat.com>
5611
5612 PR middle-end/39154
5613 * testsuite/libgomp.c/pr39154.c: New test.
5614
b39dea08
ILT
56152009-01-30 Ian Lance Taylor <iant@google.com>
5616
5617 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
5618 libgomp_ld_is_gold. Get gold version number.
5619 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
5620 * configure: Rebuild.
5621
72c66596
IS
56222009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5623
e50ea10b 5624 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
5625 use libgfortran.a%s in their specs.
5626
876080ff
JJ
56272009-01-07 Jakub Jelinek <jakub@redhat.com>
5628
5629 PR libgomp/38086
5630 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
5631 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
5632 HAVE_AS_SYMVER_DIRECTIVE is not defined.
5633 * configure: Regenerated.
5634 * config.h.in: Likewise.
5635
e4ebaef3
JJ
56362008-12-28 Jakub Jelinek <jakub@redhat.com>
5637
5638 PR c++/38650
5639 * testsuite/libgomp.c/pr38650.c: New test.
5640 * testsuite/libgomp.c++/pr38650.C: New test.
5641
382017a6
JJ
56422008-12-27 Jakub Jelinek <jakub@redhat.com>
5643
5644 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
5645
79644b27
UB
56462008-12-26 Uros Bizjak <ubizjak@gmail.com>
5647
5648 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
5649
baafc534
RW
56502008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5651
5652 * configure: Regenerate.
5653
d9c194cb
JJ
56542008-12-08 Jakub Jelinek <jakub@redhat.com>
5655
5656 PR middle-end/36802
5657 * testsuite/libgomp.c/pr36802-1.c: New test.
5658 * testsuite/libgomp.c/pr36802-2.c: New test.
5659 * testsuite/libgomp.c/pr36802-3.c: New test.
5660
86a182bf
JJ
56612008-12-01 Janis Johnson <janis187@us.ibm.com>
5662
5663 PR libgomp/38270
5664 * config/linux/powerpc/mutex.h: New.
5665
956adfaf
JJ
56662008-12-01 Jakub Jelinek <jakub@redhat.com>
5667
a2d4cdc9
JJ
5668 PR c++/38257
5669 * testsuite/libgomp.c++/for-7.C: New test.
5670
956adfaf
JJ
5671 PR c++/38348
5672 * testsuite/libgomp.c++/for-6.C: New test.
5673
d4038ca2
JJ
56742008-11-26 Janis Johnson <janis187@us.ibm.com>
5675
5676 PR testsuite/28870
5677 * testsuite/lib/libgomp.exp: Include new timeout library files.
5678 (libgomp_target_compile): Set timeout value from new proc.
5679
8b159eea
SE
56802008-11-13 Steve Ellcey <sje@cup.hp.com>
5681
5682 PR libgomp/37938
5683 * config/linux/ia64/mutex.h: New.
5684
5c6ed53a
TB
56852008-11-04 Tobias Burnus <burnus@net-b.de>
5686
5687 PR libgomp/37935
5688 * libgomp.texi (Runtime library routines, environment variables):
5689 Update for OpenMP version 3.0.
5690
6b4a97ed
PG
56912008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
5692 Steve Ellcey <sje@cup.hp.com>
5693
5694 * configure: Regenerate for new libtool.
5695 * Makefile.in: Ditto.
5696 * testsuite/Makefile.in: Ditto.
5697
e2b34106
JJ
56982008-09-19 Jakub Jelinek <jakub@redhat.com>
5699 Andreas Tobler <a.tobler@schweiz.org>
5700
5701 * config/bsd/proc.c: New file.
8c3b3600 5702 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
5703 * configure.ac: Check for header <sys/sysctl.h>
5704 * configure: Regenerate.
5705 * config.h.in: Likewise.
5706
3606b8bf
JJ
57072008-09-05 Janis Johnson <janis187@us.ibm.com>
5708
5709 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
5710
6528b88d
AL
57112008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5712
5713 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
5714 * Makefile.in: Regenerated.
5715 * testsuite/Makefile.in: Regenerated.
5716
d9b14b12 57172008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 5718
a16b68bb 5719 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
5720 depend on blddir if blddir exists.
5721 (libgomp_target_compile): Likewise.
5722 * testsuite/libgomp.c++/c++.exp: Likewise.
5723 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5724
70b1e376
RW
57252008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5726
5727 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
5728 Do not list GPL as Invariant Section.
5729
318e8c3f
IG
57302008-07-28 Ilie Garbacea <ilie@mips.com>
5731 Chao-ying Fu <fu@mips.com>
5732
5733 * configure.tgt: Enable futex for MIPS.
5734 * config/linux/mips/futex.h: New file.
5735
4db72361
JJ
57362008-07-16 Jakub Jelinek <jakub@redhat.com>
5737
5738 * team.c (gomp_team_end): Free team immediately if it has
5739 just one thread.
5740
87bd23b8
DE
57412008-07-08 David Edelsohn <edelsohn@gnu.org>
5742
5743 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
5744 * testsuite/libgomp.fortran/fortran.exp: Same.
5745 * testsuite/libgomp.c/c.exp: Same.
5746 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
5747 directory to library path first.
5748
323ff903
KW
57492008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
5750
5751 * env.c (parse_stacksize): Add cast to avoid warning.
5752 (parse_spincount): Likewise.
5753
b357f682
JJ
57542008-06-27 Jakub Jelinek <jakub@redhat.com>
5755
ca2b1311
JJ
5756 * testsuite/libgomp.c/loop-10.c: New test.
5757 * libgomp.c/loop-3.c (main): Add lastprivate clause.
5758 * libgomp.c++/loop-6.C (main): Likewise.
5759
b357f682
JJ
5760 PR debug/36617
5761 * testsuite/libgomp.c/debug-1.c: New test.
5762
09a46078
JJ
57632008-06-19 Jakub Jelinek <jakub@redhat.com>
5764
5765 * testsuite/libgomp.c/nqueens-1.c: New test.
5766
2368a460
JJ
5767 PR c++/36523
5768 * testsuite/libgomp.c++/task-7.C: New function.
5769
18c04407
RW
57702008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5771
5772 * configure: Regenerate.
5773
9c4e59e0
JDA
57742008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5775
5776 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
5777 mutex when HAVE_SYNC_BUILTINS isn't defined.
5778
6ccde948
RW
57792008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5780
5781 * libgomp.texi (omp_test_lock): Fix typo.
5782
b896f9fd
TB
57832008-06-12 Tobias Burnus <burnus@net-b.de>
5784
5785 * omp_lib.f90.in: Add "implicit none".
5786
c34938a8
JJ
57872008-06-12 Jakub Jelinek <jakub@redhat.com>
5788
5789 PR middle-end/36506
5790 * testsuite/libgomp.c/reduction-5.c: New test.
5791
976e44e3
JJ
57922008-06-11 Jakub Jelinek <jakub@redhat.com>
5793
5f836cbb
JJ
5794 * libgomp.h (struct gomp_task): Add in_tied_task field.
5795 * task.c (gomp_init_task): Initialize it.
5796 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
5797 unconditionally. Don't call gomp_team_barrier_wake if
5798 current task is implicit or if(0) from implicit and number of
5799 running tasks is equal to nthreads - 1.
5800
01501fc8
JJ
5801 PR libgomp/36471
5802 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
5803 omp_get_team_size_8): Fix pastos.
5804
976e44e3
JJ
5805 PR libgomp/36469
5806 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
5807 * configure: Regenerated.
5808 * config.h.in: Regenerated.
5809 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
5810 defined.
5811
e919209b
AT
58122008-06-06 Andreas Tobler <a.tobler@schweiz.org>
5813
5814 PR bootstrap/36452
5815 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
5816 (GOMP_loop_ull_dynamic_start): Likewise.
5817 (GOMP_loop_ull_guided_start): Likewise.
5818 (GOMP_loop_ull_ordered_static_start): Likewise.
5819 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
5820 (GOMP_loop_ull_ordered_guided_start): Likewise.
5821
a68ab351
JJ
58222008-06-06 Jakub Jelinek <jakub@redhat.com>
5823 Richard Henderson <rth@redhat.com>
5824 Ulrich Drepper <drepper@redhat.com>
5825 Jakob Blomer <jakob.blomer@ira.uka.de>
5826
5827 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
5828 Substitute also OMP_*LOCK_25*.
5829 * configure: Regenerated.
5830 * config.h.in: Regenerated.
5831 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
5832 ptrlock.c and task.c.
5833 * Makefile.in: Regenerated.
5834 * testsuite/Makefile.in: Regenerated.
5835 * task.c: New file.
5836 * loop_ull.c: New file.
5837 * iter_ull.c: New file.
5838 * libgomp.h: Include ptrlock.h.
5839 (enum gomp_task_kind): New type.
5840 (struct gomp_team): Add task_lock, task_queue, task_count,
5841 task_running_count, single_count fields. Add
5842 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
5843 Remove work_share_lock, generation_mask,
5844 oldest_live_gen, num_live_gen and init_work_shares fields, add
5845 work work_share_list_alloc, work_share_list_free and work_share_chunk
5846 fields. Change work_shares from pointer to pointers into an array.
5847 Change ordered_release field into gomp_sem_t ** from flexible array
5848 member. Add implicit_task and initial_work_shares fields.
5849 Move close to the end of the struct.
5850 (struct gomp_team_state): Add single_count, last_work_share,
5851 active_level and level fields, remove work_share_generation.
5852 (gomp_barrier_handle_tasks): New prototype.
5853 (gomp_finish_task): New inline function.
5854 (struct gomp_work_share): Move chunk_size, end, incr into
5855 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
5856 next_ll fields. Reshuffle fields. Add next_alloc,
5857 next_ws, next_free and inline_ordered_team_ids fields, change
5858 ordered_team_ids into pointer from flexible array member.
5859 Add mode field. Put lock and next into a different cache line
5860 from most of the write-once fields.
5861 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
5862 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
5863 gomp_iter_ull_guided_next): New prototypes.
5864 (gomp_new_icv): New prototype.
5865 (struct gomp_thread): Add thread_pool and task fields.
5866 (struct gomp_thread_pool): New type.
5867 (gomp_new_team): New prototype.
5868 (gomp_team_start): Change type of last argument.
5869 (gomp_new_work_share): Removed.
5870 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
5871 (gomp_work_share_init_done): New static inline.
5872 (gomp_throttled_spin_count_var, gomp_available_cpus,
5873 gomp_managed_threads): New extern decls.
5874 (gomp_init_task): New prototype.
5875 (gomp_spin_count_var): New extern var decl.
5876 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
5877 or no alias support, or if not PIC.
5878 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
5879 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
5880 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
5881 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
5882 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
5883 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
5884 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
5885 gomp_test_nest_lock_25): New prototypes.
5886 (omp_lock_symver, strong_alias): Define.
5887 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
5888 decls.
5889 (gomp_end_task): New.
5890 (struct gomp_task_icv, gomp_global_icv): New.
5891 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
5892 (struct gomp_task): New.
5893 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
5894 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
5895 (gomp_icv): New.
5896 (gomp_schedule_type): Reorder enum to match
5897 omp_sched_t.
5898 * team.c (struct gomp_thread_start_data): Add thread_pool and task
5899 fields.
5900 (gomp_thread_start): Add gomp_team_barrier_wait call.
5901 For non-nested case remove clearing of docked thread thr fields.
5902 Use pool fields instead of global gomp_* variables. Use
5903 gomp_barrier_wait_last when needed. Initialize ts.active_level.
5904 Create tasks for each member thread.
5905 (free_team): Only destroy team barrier, task_lock here and free it.
5906 (gomp_free_thread): Free last_team if non-NULL.
5907 (gomp_team_end): Call gomp_team_barrier_wait instead of
5908 gomp_barrier_wait. For nested case call one extra
5909 gomp_barrier_wait. Move here some destruction from free_team.
5910 Call free_team on pool->last_team if any, rather than freeing
5911 current team. Destroy work_share_list_free_lock ifndef
5912 HAVE_SYNC_BUILTINS.
5913 (gomp_new_icv): New function.
5914 (gomp_threads, gomp_threads_size, gomp_threads_used,
5915 gomp_threads_dock): Removed.
5916 (gomp_thread_destructor): New variable.
5917 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
5918 functions.
5919 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 5920 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
5921 Initialize thread_pool field for new threads. Clear single_count.
5922 Change last argument from ws to team, don't create
5923 new team, set ts.work_share to &team->work_shares[0] and clear
5924 ts.last_work_share. Don't clear ts.work_share_generation.
5925 If number of threads changed, adjust atomically gomp_managed_threads.
5926 Use gomp_init_task instead of gomp_new_task,
5927 set thr->task to the corresponding implicit_task array entry.
5928 Create tasks for each member thread. Initialize ts.level.
5929 (initialize_team): Call pthread_key_create on
5930 gomp_thread_destructor.
5931 (team_destructor): New function.
5932 (new_team): Removed.
5933 (gomp_new_team): New function.
5934 (free_team): Free gomp_work_share blocks chained through next_alloc,
5935 instead of freeing work_shares and destroying work_share_lock.
5936 (gomp_team_end): Call gomp_fini_work_share. If number of threads
5937 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
5938 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
5939 of gomp_barrier_wait.
5940 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
5941 instead of gomp_barrier_wait. Call gomp_work_share_init_done
5942 if gomp_work_share_start returned true. Don't unlock ws->lock.
5943 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
5944 of gomp_barrier_wait.
5945 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
5946 gomp_work_share_init_done if gomp_work_share_start returned true.
5947 Don't unlock ws->lock.
5948 * work.c: Include stddef.h.
5949 (free_work_share): Use work_share_list_free_lock instead
5950 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
5951 Call gomp_fini_work_share and then either free ws if orphaned, or
5952 put it into work_share_list_free list of the current team.
5953 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
5954 functions.
5955 (gomp_work_share_start, gomp_work_share_end,
5956 gomp_work_share_end_nowait): Rewritten.
5957 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
5958 (openmp_version): Set to 200805.
5959 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5960 omp_sched_guided, omp_sched_auto): New parameters.
5961 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5962 omp_set_max_active_levels, omp_get_max_active_levels,
5963 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5964 omp_get_active_level): New interfaces.
5965 * omp_lib.h.in (openmp_version): Set to 200805.
5966 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5967 omp_sched_guided, omp_sched_auto): New parameters.
5968 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5969 omp_set_max_active_levels, omp_get_max_active_levels,
5970 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5971 omp_get_active_level): New externals.
5972 * loop.c: Include limits.h.
5973 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
5974 GFS_AUTO.
5975 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
5976 Likewise. Use gomp_icv.
5977 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
5978 ts.static_trip here.
5979 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
5980 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
5981 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
5982 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
5983 don't unlock ws->lock, otherwise lock it.
5984 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
5985 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
5986 (gomp_parallel_loop_start): Call gomp_new_team instead of
5987 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
5988 Adjust gomp_team_start caller. Pass 0 as second argument to
5989 gomp_resolve_num_threads.
5990 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
5991 If adding ws->chunk_size nthreads + 1 times after end won't
5992 overflow, set ws->mode to 1.
5993 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
5994 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
5995 GOMP_loop_ull_ordered_static_start,
5996 GOMP_loop_ull_ordered_dynamic_start,
5997 GOMP_loop_ull_ordered_guided_start,
5998 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
5999 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
6000 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
6001 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
6002 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
6003 prototypes.
6004 * libgomp.map: Export lock routines also @@OMP_2.0.
6005 (GOMP_loop_ordered_dynamic_first,
6006 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
6007 GOMP_loop_ordered_static_first): Remove.
6008 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
6009 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
6010 GOMP_loop_ull_ordered_dynamic_next,
6011 GOMP_loop_ull_ordered_dynamic_start,
6012 GOMP_loop_ull_ordered_guided_next,
6013 GOMP_loop_ull_ordered_guided_start,
6014 GOMP_loop_ull_ordered_runtime_next,
6015 GOMP_loop_ull_ordered_runtime_start,
6016 GOMP_loop_ull_ordered_static_next,
6017 GOMP_loop_ull_ordered_static_start,
6018 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
6019 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
6020 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
6021 (omp_set_schedule, omp_get_schedule,
6022 omp_get_thread_limit, omp_set_max_active_levels,
6023 omp_get_max_active_levels, omp_get_level,
6024 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
6025 omp_set_schedule_, omp_set_schedule_8_,
6026 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6027 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6028 omp_get_max_active_levels_, omp_get_level_,
6029 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6030 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6031 New exports @@OMP_3.0.
6032 * omp.h.in (omp_sched_t): New type.
6033 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6034 omp_set_max_active_levels, omp_get_max_active_levels,
6035 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6036 omp_get_active_level): New prototypes.
6037 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
6038 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
6039 gomp_thread_limit_var, gomp_remaining_threads_count,
6040 gomp_remaining_threads_lock): New variables.
6041 (parse_spincount): New function.
6042 (initialize_env): Call gomp_init_num_threads unconditionally.
6043 Initialize gomp_available_cpus. Call parse_spincount,
6044 initialize gomp_{,throttled_}spin_count_var
6045 depending on presence and value of OMP_WAIT_POLICY and
6046 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
6047 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
6048 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
6049 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
6050 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
6051 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6052 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6053 (gomp_global_icv): New.
6054 (parse_schedule): Use it. Parse "auto".
6055 (omp_set_num_threads): Use gomp_icv.
6056 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
6057 Likewise.
6058 (omp_get_max_threads): Move from parallel.c.
6059 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6060 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
6061 add ialias.
6062 (parse_stacksize, parse_wait_policy): New functions.
6063 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
6064 both wrappers for compatibility and new locks.
6065 (omp_set_schedule, omp_get_schedule,
6066 omp_get_thread_limit, omp_set_max_active_levels,
6067 omp_get_max_active_levels, omp_get_level,
6068 omp_get_ancestor_thread_num, omp_get_team_size,
6069 omp_get_active_level): New ialias_redirect.
6070 (omp_set_schedule_, omp_set_schedule_8_,
6071 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6072 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6073 omp_get_max_active_levels_, omp_get_level_,
6074 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6075 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6076 New functions.
6077 * parallel.c: Include limits.h.
6078 (gomp_resolve_num_threads): Add count argument. Rewritten.
6079 (GOMP_parallel_start): Call gomp_new_team and pass that as last
6080 argument to gomp_team_start. Pass 0 as second argument to
6081 gomp_resolve_num_threads.
6082 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
6083 if gomp_thread_limit_var != ULONG_MAX.
6084 (omp_in_parallel): Implement using ts.active_level.
6085 (omp_get_max_threads): Move to env.c.
6086 (omp_get_level, omp_get_ancestor_thread_num,
6087 omp_get_team_size, omp_get_active_level): New functions,
6088 add ialias.
6089 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
6090 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
6091 gomp_iter_dynamic_next instead of the _locked variant and don't take
6092 lock around it, otherwise acquire it before calling
6093 gomp_iter_dynamic_next_locked.
6094 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
6095 gomp_iter_dynamic_next instead of the _locked variant and don't take
6096 lock around it.
6097 (GOMP_parallel_sections_start): Call gomp_new_team instead of
6098 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
6099 Adjust gomp_team_start caller. Pass count as second argument to
6100 gomp_resolve_num_threads, don't adjust num_threads after the call.
6101 Use gomp_icv.
6102 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
6103 ws->chunk_size by incr.
6104 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
6105 code.
6106 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
6107 types.
6108 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
6109 (omp_check_defines): Check even the compat defines.
6110 * config/linux/ptrlock.c: New file.
6111 * config/linux/ptrlock.h: New file.
6112 * config/linux/wait.h: New file.
6113 * config/posix/ptrlock.c: New file.
6114 * config/posix/ptrlock.h: New file.
6115 * config/linux/bar.h (gomp_team_barrier_wait,
6116 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6117 (gomp_team_barrier_set_task_pending,
6118 gomp_team_barrier_clear_task_pending,
6119 gomp_team_barrier_set_waiting_for_tasks,
6120 gomp_team_barrier_waiting_for_tasks,
6121 gomp_team_barrier_done): New inlines.
6122 (gomp_barrier_t): Rewritten.
6123 (gomp_barrier_state_t): New typedef.
6124 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
6125 gomp_barrier_wait_start): Rewritten.
6126 (gomp_barrier_wait_end): Change second argument to
6127 gomp_barrier_state_t.
6128 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6129 inlines.
6130 * config/linux/bar.c: Include wait.h instead of libgomp.h and
6131 futex.h.
6132 (gomp_barrier_wait_end): Rewritten.
6133 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6134 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
6135 * config/posix/bar.h (gomp_barrier_t): Add generation field.
6136 (gomp_barrier_state_t): New typedef.
6137 (gomp_team_barrier_wait,
6138 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6139 (gomp_barrier_wait_start): Or all but low 2 bits from generation
6140 into the return value. Return gomp_barrier_state_t.
6141 (gomp_team_barrier_set_task_pending,
6142 gomp_team_barrier_clear_task_pending,
6143 gomp_team_barrier_set_waiting_for_tasks,
6144 gomp_team_barrier_waiting_for_tasks,
6145 gomp_team_barrier_done): New inlines.
6146 (gomp_barrier_wait_end): Change second argument to
6147 gomp_barrier_state_t.
6148 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6149 inlines.
6150 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
6151 (gomp_barrier_wait_end): Change second argument to
3e348fcc 6152 gomp_barrier_state_t.
a68ab351
JJ
6153 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6154 gomp_team_barrier_wake): New functions.
6155 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
6156 futex.h.
6157 (gomp_futex_wake, gomp_futex_wait): New variables.
6158 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
6159 * config/linux/lock.c: Rewrite to make locks task owned,
6160 for backwards compatibility provide the old entrypoints
6161 if symbol versioning. Include wait.h instead of libgomp.h and
6162 futex.h.
6163 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
6164 * config/posix95/lock.c: Rewrite to make locks task owned,
6165 for backwards compatibility provide the old entrypoints
6166 if symbol versioning.
6167 * config/posix/lock.c: Rewrite to make locks task owned,
6168 for backwards compatibility provide the old entrypoints
6169 if symbol versioning.
6170 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
6171 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
6172 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
6173 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6174 (sys_futex0): Return error code.
6175 (futex_wake, futex_wait): If ENOSYS was returned, clear
6176 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6177 (cpu_relax, atomic_write_barrier): New static inlines.
6178 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6179 (futex_wake, futex_wait): If ENOSYS was returned, clear
6180 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6181 (cpu_relax, atomic_write_barrier): New static inlines.
6182 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6183 (sys_futex0): Return error code.
6184 (futex_wake, futex_wait): If ENOSYS was returned, clear
6185 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6186 (cpu_relax, atomic_write_barrier): New static inlines.
6187 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6188 (sys_futex0): Return error code.
6189 (futex_wake, futex_wait): If ENOSYS was returned, clear
6190 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6191 (cpu_relax, atomic_write_barrier): New static inlines.
6192 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6193 (sys_futex0): Return error code.
6194 (futex_wake, futex_wait): If ENOSYS was returned, clear
6195 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6196 (cpu_relax, atomic_write_barrier): New static inlines.
6197 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6198 (sys_futex0): Return error code.
6199 (futex_wake, futex_wait): If ENOSYS was returned, clear
6200 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6201 (cpu_relax, atomic_write_barrier): New static inlines.
6202 * config/linux/sem.c: Include wait.h instead of libgomp.h and
6203 futex.h.
6204 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
6205 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
6206 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
6207 types.
6208 (omp_nest_lock_t): Change owner into void *, add lock field.
6209 * config/posix95/omp-lock.h: Include semaphore.h.
6210 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6211 (omp_lock_t): Use sem_t instead of mutex if semaphores
6212 aren't broken.
6213 (omp_nest_lock_t): Likewise. Change owner to void *.
6214 * config/posix/omp-lock.h: Include semaphore.h.
6215 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6216 (omp_lock_t): Use sem_t instead of mutex if semaphores
6217 aren't broken.
6218 (omp_nest_lock_t): Likewise. Add owner field.
6219
62202008-06-06 Jakub Jelinek <jakub@redhat.com>
6221
6222 * testsuite/libgomp.c/collapse-1.c: New test.
6223 * testsuite/libgomp.c/collapse-2.c: New test.
6224 * testsuite/libgomp.c/collapse-3.c: New test.
6225 * testsuite/libgomp.c/icv-1.c: New test.
6226 * testsuite/libgomp.c/icv-2.c: New test.
6227 * testsuite/libgomp.c/lib-2.c: New test.
6228 * testsuite/libgomp.c/lock-1.c: New test.
6229 * testsuite/libgomp.c/lock-2.c: New test.
6230 * testsuite/libgomp.c/lock-3.c: New test.
6231 * testsuite/libgomp.c/loop-4.c: New test.
6232 * testsuite/libgomp.c/loop-5.c: New test.
6233 * testsuite/libgomp.c/loop-6.c: New test.
6234 * testsuite/libgomp.c/loop-7.c: New test.
6235 * testsuite/libgomp.c/loop-8.c: New test.
6236 * testsuite/libgomp.c/loop-9.c: New test.
6237 * testsuite/libgomp.c/nested-3.c: New test.
6238 * testsuite/libgomp.c/nestedfn-6.c: New test.
6239 * testsuite/libgomp.c/sort-1.c: New test.
6240 * testsuite/libgomp.c/task-1.c: New test.
6241 * testsuite/libgomp.c/task-2.c: New test.
6242 * testsuite/libgomp.c/task-3.c: New test.
6243 * testsuite/libgomp.c/task-4.c: New test.
6244 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
6245 to C++ testsuite default compiler options.
6246 * testsuite/libgomp.c++/collapse-1.C: New test.
6247 * testsuite/libgomp.c++/collapse-2.C: New test.
6248 * testsuite/libgomp.c++/ctor-10.C: New test.
6249 * testsuite/libgomp.c++/for-1.C: New test.
6250 * testsuite/libgomp.c++/for-2.C: New test.
6251 * testsuite/libgomp.c++/for-3.C: New test.
6252 * testsuite/libgomp.c++/for-4.C: New test.
6253 * testsuite/libgomp.c++/for-5.C: New test.
6254 * testsuite/libgomp.c++/loop-8.C: New test.
6255 * testsuite/libgomp.c++/loop-9.C: New test.
6256 * testsuite/libgomp.c++/loop-10.C: New test.
6257 * testsuite/libgomp.c++/task-1.C: New test.
6258 * testsuite/libgomp.c++/task-2.C: New test.
6259 * testsuite/libgomp.c++/task-3.C: New test.
6260 * testsuite/libgomp.c++/task-4.C: New test.
6261 * testsuite/libgomp.c++/task-5.C: New test.
6262 * testsuite/libgomp.c++/task-6.C: New test.
6263 * testsuite/libgomp.fortran/allocatable1.f90: New test.
6264 * testsuite/libgomp.fortran/allocatable2.f90: New test.
6265 * testsuite/libgomp.fortran/allocatable3.f90: New test.
6266 * testsuite/libgomp.fortran/allocatable4.f90: New test.
6267 * testsuite/libgomp.fortran/collapse1.f90: New test.
6268 * testsuite/libgomp.fortran/collapse2.f90: New test.
6269 * testsuite/libgomp.fortran/collapse3.f90: New test.
6270 * testsuite/libgomp.fortran/collapse4.f90: New test.
6271 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
6272 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
6273 * testsuite/libgomp.fortran/lib4.f90: New test.
6274 * testsuite/libgomp.fortran/lock-1.f90: New test.
6275 * testsuite/libgomp.fortran/lock-2.f90: New test.
6276 * testsuite/libgomp.fortran/nested1.f90: New test.
6277 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
6278 * testsuite/libgomp.fortran/strassen.f90: New test.
6279 * testsuite/libgomp.fortran/tabs1.f90: New test.
6280 * testsuite/libgomp.fortran/tabs2.f: New test.
6281 * testsuite/libgomp.fortran/task1.f90: New test.
6282 * testsuite/libgomp.fortran/task2.f90: New test.
6283 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
6284 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6285 * testsuite/libgomp.c/pr26943-2.c: Likewise.
6286 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6287 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6288
7a0112e7
JJ
62892008-05-23 Jakub Jelinek <jakub@redhat.com>
6290
6291 PR c++/36308
6292 * testsuite/libgomp.c++/ctor-11.C: New test.
6293 * testsuite/libgomp.c++/ctor-12.C: New test.
6294
91a5b394
JJ
62952008-05-15 Janis Johnson <janis187@us.ibm.com>
6296
6297 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
6298
c18c98c0
JJ
62992008-05-07 Jakub Jelinek <jakub@redhat.com>
6300
6301 PR middle-end/36106
6302 * testsuite/libgomp.c/atomic-5.c: New test.
6303 * testsuite/libgomp.c/atomic-6.c: New test.
6304 * testsuite/libgomp.c/autopar-1.c: New test.
6305
6d26724a
RW
63062008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6307
6308 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
6309 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
6310 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
6311 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
6312 * configure: Regenerate.
6313 * Makefile.in, testsuite/Makefile.in: Likewise.
6314
deb984e6
PB
63152008-04-18 Paolo Bonzini <bonzini@gnu.org>
6316
6317 PR bootstrap/35457
6318 * aclocal.m4: Regenerate.
6319 * configure: Regenerate.
6320
9e775963
JJ
63212008-03-18 Jakub Jelinek <jakub@redhat.com>
6322
8119fc93
JJ
6323 PR middle-end/35611
6324 * testsuite/libgomp.c/atomic-4.c: New test.
6325
9e775963
JJ
6326 PR libgomp/35625
6327 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
6328 (gomp_iter_guided_next): Likewise.
6329 * testsuite/libgomp.c/pr35625.c: New test.
6330
38d24731
RW
63312008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6332
6333 * aclocal.m4: Regenerate.
6334 * configure: Likewise.
6335 * Makefile.in: Likewise.
6336 * testsuite/Makefile.in: Likewise.
6337
d0fb20be
JJ
63382008-03-13 Jakub Jelinek <jakub@redhat.com>
6339
6340 PR middle-end/35185
6341 * testsuite/libgomp.c++/pr35185.C: New test.
6342
7c8f7639
JJ
63432008-03-12 Jakub Jelinek <jakub@redhat.com>
6344
6345 PR middle-end/35549
6346 * testsuite/libgomp.c/pr35549.c: New test.
6347
251923f5
JJ
63482008-03-06 Jakub Jelinek <jakub@redhat.com>
6349
6350 * testsuite/libgomp.c/atomic-3.c: New test.
6351
f489fba1
FXC
63522008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6353
6354 PR fortran/33197
251923f5 6355 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
6356 .F08 file suffixes.
6357
a1b25e49
PG
63582008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
6359
6360 PR libgomp/33131
6361 * configure.ac: Add ACX_HEADER_STRING.
6362 * env.c: Include strings.h.
6363 * aclocal.m4: Regenerate.
6364 * config.h.in: Regenerate.
6365 * configure: Regenerate.
6366 * Makefile.in: Regenerate.
6367 * testsuite/Makefile.in: Regenerate.
6368
6837b3b8
JJ
63692008-02-15 Jakub Jelinek <jakub@redhat.com>
6370
ac84c062
JJ
6371 PR middle-end/35196
6372 * testsuite/libgomp.c/pr35196.c: New test.
6373
6837b3b8
JJ
6374 PR middle-end/35130
6375 * testsuite/libgomp.fortran/pr35130.f90: New test.
6376 * testsuite/libgomp.c/pr35130.c: New test.
6377
c256730c
JJ
63782008-01-25 Jakub Jelinek <jakub@redhat.com>
6379
6380 PR middle-end/33880
6381 * testsuite/libgomp.c/pr33880.c: New test.
6382 * testsuite/libgomp.fortran/pr33880.f90: New test.
6383
c8e95542 63842008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
6385
6386 * configure: Regenerate.
6387
0f3e711e
JJ
63882008-01-08 Jakub Jelinek <jakub@redhat.com>
6389
6390 * configure.ac: Move futex checking into ../config/futex.m4.
6391 * configure: Rebuilt.
6392 * aclocal.m4: Rebuilt.
6393 * Makefile.in: Rebuilt.
6394
6395 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
6396 2007-10-15 ../config/tls.m4 change.
6397
5259c813
JJ
63982007-12-19 Jakub Jelinek <jakub@redhat.com>
6399
6400 PR c++/34513
6401 * testsuite/libgomp.c/pr34513.c: New test.
6402 * testsuite/libgomp.c++/pr34513.C: New test.
6403
ae8d8879
JH
64042007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
6405
6406 PR target/32765
6407 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
6408
2b4cf991
JJ
64092007-12-04 Jakub Jelinek <jakub@redhat.com>
6410
6411 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
6412
d2dda7fe
JJ
64132007-12-03 Jakub Jelinek <jakub@redhat.com>
6414
6415 * testsuite/libgomp.c/private-1.c: New test.
6416
d683ec81
PB
64172007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
6418 Paolo Bonzini <bonzini@gnu.org>
6419
6420 * Makefile.am: Use space as vpath separator. Use 'vpath %'
6421 instead of 'VPATH ='.
6422 * Makefile.in: Regenerate.
6423
a7415017
MK
64242007-11-23 Matthias Klose <doko@ubuntu.com>
6425
6426 * configure.ac: Adjust makeinfo version check.
6427 * configure: Regenerate.
6428
78e47463
JJ
64292007-11-10 Jakub Jelinek <jakub@redhat.com>
6430
6431 PR fortran/34020
6432 * testsuite/libgomp.fortran/pr34020.f90: New test.
6433
239371f9
JJ
64342007-11-06 Jakub Jelinek <jakub@redhat.com>
6435
6436 PR c++/33894
6437 * testsuite/libgomp.c++/atomic-1.C: New test.
6438
98a5fa94
JJ
64392007-10-25 Jakub Jelinek <jakub@redhat.com>
6440
6441 PR libgomp/33275
6442 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
6443 Make x and y integers rather than (implicit) reals. Add private (j)
6444 clause to the last omp parallel.
6445
3afcaaf4
MR
64462007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
6447
6448 * configure: Regenerate following changes to ../config/tls.m4.
6449
bd69daef
JJ
64502007-09-28 Jakub Jelinek <jakub@redhat.com>
6451
6452 * testsuite/libgomp.fortran/stack.f90: New test.
6453
1d0bd356
DS
64542007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
6455
6456 * config/mingw32/proc.c: New file.
6457
b3172cab
UB
64582007-09-05 Uros Bizjak <ubizjak@gmail.com>
6459
6460 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
6461 (main): Use __get_cpuid to get i386 target fetaures.
6462 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
6463 (main): Use __get_cpuid to get x86_64 target fetaures.
6464
6da17392
JH
64652007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
6466
6467 PR target/32765
6468 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
6469 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
6470
e1c82219
JJ
64712007-07-12 Jakub Jelinek <jakub@redhat.com>
6472
6473 PR fortran/32550
6474 * testsuite/libgomp.fortran/pr32550.f90: New test.
6475 * testsuite/libgomp.fortran/crayptr2.f90: New test.
6476
12a27363
L
64772007-07-05 H.J. Lu <hongjiu.lu@intel.com>
6478
6479 * aclocal.m4: Regenerated.
6480
5349080d
TB
64812007-07-05 Tobias Burnus <burnus@net-b.de>
6482
6483 PR fortran/32359
6484 * testsuite/libgomp.fortran/pr32359.f90: New.
6485
4f9c450c
JJ
64862007-07-02 Jakub Jelinek <jakub@redhat.com>
6487
6488 PR libgomp/32468
6489 * sections.c (GOMP_parallel_sections_start): Only decrease
6490 number of threads to COUNT if dyn_var is true.
6491 * testsuite/libgomp.c/pr32468.c: New test.
6492
28c67ed7
RO
64932007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6494
6495 PR libgomp/26308
6496 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
6497
64964499
JJ
64982007-06-21 Jakub Jelinek <jakub@redhat.com>
6499
6500 PR middle-end/32362
6501 * testsuite/libgomp.c/pr32362-1.c: New test.
6502 * testsuite/libgomp.c/pr32362-2.c: New test.
6503 * testsuite/libgomp.c/pr32362-3.c: New test.
6504
46d8fbd1
JJ
65052007-06-07 Jakub Jelinek <jakub@redhat.com>
6506
6507 * team.c (gomp_team_start): Fix setting up thread_attr
6508 stack size.
6509
82a6cadf
PB
65102007-06-02 Paolo Bonzini <bonzini@gnu.org>
6511
6512 * configure: Regenerate.
6513
1cf3d07d
SE
65142007-05-23 Steve Ellcey <sje@cup.hp.com>
6515
6516 * Makefile.in: Regenerate.
6517 * configure: Regenerate.
6518 * aclocal.m4: Regenerate.
6519 * testsuite/Makefile.in: Regenerate.
6520
12aac30b
JJ
65212007-05-04 Jakub Jelinek <jakub@redhat.com>
6522
6523 * config/linux/proc.c: New file.
6524
f1028b02
JJ
6525 PR libgomp/28482
6526 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
6527
06785a48
DF
65282007-04-19 Daniel Franke <franke.daniel@gmail.com>
6529
6530 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
6531
b3b08ba0
MK
65322007-04-16 Matthias Klose <doko@debian.org>
6533
6534 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
6535 flags if not building with -m64.
6536 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
6537 flag for i?86-*-* targets, if current target matches -m64.
6538
6b2c5ce0
SE
65392007-04-14 Steve Ellcey <sje@cup.hp.com>
6540
6541 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
6542 * Makefile.in: Regenerate.
6543
dd56fe7c
JDA
65442007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6545
6546 PR testsuite/31369
6547 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
6548 ld_library_path.
6549 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6550
a0884cf0
JJ
65512007-04-04 Jakub Jelinek <jakub@redhat.com>
6552
6553 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
6554 decls.
6555 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
6556 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
6557 (parse_affinity): New function.
6558 (initialize_env): Call it and gomp_init_affinity.
6559 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
6560 create new pthread_attr_t and call gomp_init_thread_affinity
6561 on it for each thread before passing the attribute to pthread_create.
6562 * config/linux/affinity.c: New file.
6563 * config/posix/affinity.c: New file.
6564 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
6565 * configure: Rebuilt.
6566 * config.h.in: Rebuilt.
6567 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
6568 * Makefile.in: Rebuilt.
6569
1850744b
AT
65702007-03-23 Andreas Tobler <a.tobler@schweiz.org>
6571
6572 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
6573 *-*-darwin*.
6574 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
6575 and use it if found.
6576
516f1ed8
UB
65772007-03-18 Uros Bizjak <ubizjak@gmail.com>
6578
6579 * testsuite/config/default.exp: New file.
6580 * testsuite/lib/libgomp.exp: New file.
6581 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
6582 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
6583 load_lib *, load_gcc_lib *): Move to libgomp.exp.
6584 (libgomp_load): Remove.
6585 * testsuite/lib/libgomp.exp (libgomp_init): Compute
6586 always_ld_library_path, not ld_library_path. Set additional_flags
6587 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
6588 (target_compile): Do not call libgomp_init. Append lang_library_path
6589 and lang_link_flags to options.
6590 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
6591 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
6592 here.
6593 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
6594 always_ld_library_path. Set LD_LIBRARY_PATH here.
6595 * testsuite/libgomp.fortran/fortran.exp: Ditto.
6596 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
6597 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
6598 CX8 flag.
6599 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
6600 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
6601 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
6602 * testsuite/libgomp.c/pr29947-1.c: Ditto.
6603 * testsuite/libgomp.c/atomic-10.c: Ditto.
6604
2ada56f5
JJ
66052007-03-21 Jakub Jelinek <jakub@redhat.com>
6606
6607 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
6608 dg-final cleanup-modules line.
6609 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
6610 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
6611 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
6612 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
6613 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
6614 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
6615 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
6616
f210f1cd
AS
66172007-03-18 Andreas Schwab <schwab@suse.de>
6618
6619 * acinclude.m4: Adjust regular expression for ld version
6620 extraction.
6621 * configure: Regenerate.
6622
c4dc950d
BM
66232007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
6624
6625 * Makefile.am: Add install-pdf target as copied from
6626 automake v1.10 rules.
6627 * Makefile.in: Regenerate
6628
e02a048f
JJ
66292007-02-07 Jakub Jelinek <jakub@redhat.com>
6630
78e075d4
JJ
6631 PR libgomp/28486
6632 * configure: Regenerate.
6633
e02a048f
JJ
6634 PR c++/30703
6635 * testsuite/libgomp.c++/pr30703.C: New test.
6636
60def7ed
JJ
66372007-02-02 Jakub Jelinek <jakub@redhat.com>
6638
6639 Revert:
6640 2006-07-05 Eric Christopher <echristo@apple.com>
6641 * configure.ac: Depend addition of -pthread on host OS.
6642 * configure: Regenerate.
6643
f1b0882e
RW
66442007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6645
6646 * libgomp.texi: Fix spacing after abbreviations.
6647
748b9d7c
DF
66482007-01-31 Daniel Franke <franke.daniel@gmail.com>
6649
6650 PR libgomp/30546
6651 * configure.ac: Add check for makeinfo
6652 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
6653 if an appropiate version of makeinfo is found.
6654 * aclocal.m4: Regenerated.
6655 * configure: Regenerated.
6656 * Makefile.in: Regenerated.
6657 * testsuite/Makefile.in: Regenerated.
6658
14734fc7
DF
66592007-01-29 Daniel Franke <franke.daniel@gmail.com>
6660
6661 PR libgomp/30540
6662 * libgomp.texi: More about implementation-dependent settings.
6663
7befd5d2
TB
66642007-01-26 Tobias Burnus <burnus@net-b.de>
6665
6666 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
6667
4288fea2
JJ
66682007-01-24 Jakub Jelinek <jakub@redhat.com>
6669
6670 PR middle-end/30494
6671 * testsuite/libgomp.c/pr30494.c: New test.
6672
627ab4b8
TT
66732007-01-15 Tom Tromey <tromey@redhat.com>
6674
6675 * configure: Rebuilt.
6676 * configure.ac: Fixed comment.
6677
7c2b7f45
DF
66782007-01-14 Daniel Franke <franke.daniel@gmail.com>
6679
6680 * libgomp.texi: Document implementation specific default values of
6681 environment variables.
6682
3721b9e1
DF
66832006-12-21 Daniel Franke <franke.daniel@gmail.com>
6684
6685 PR libgomp/28209
6686 * libgomp.texi: New file.
6687 * configure.ac: Add --enable-generated-files-in-srcdir option.
6688 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
6689 files to srcdir.
6690 * Makefile.in: Regenerated.
6691 * config.h.in: Regenerated.
6692 * testsuite/Makefile.in: Regenerated.
6693 * NOTES: Removed.
6694
62bd6216
DF
66952006-12-04 Daniel Franke <franke.daniel@gmail.com>
6696
6697 PR libgomp/29949
6698 * env.c (omp_set_num_threads): Set illegal thread count to 1.
6699
aad741f4
EB
67002006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6701
6702 * configure: Regenerate.
6703
22568cc6
JJ
67042006-12-04 Jakub Jelinek <jakub@redhat.com>
6705
6706 PR libgomp/29947
6707 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
6708 start if there shouldn't be any loop iterations.
6709 (gomp_loop_ordered_static_start): Remove start == end test.
6710 * testsuite/libgomp.c/pr29947-1.c: New test.
6711 * testsuite/libgomp.c/pr29947-2.c: New test.
6712
a9690009
EB
67132006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
6714
6715 * configure.tgt: Force initial-exec TLS model on Linux only.
6716
597c25e6
DJ
67172006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
6718
6719 * configure: Regenerated.
6720
6acf0b38
UB
67212006-11-09 Uros Bizjak <ubizjak@gmail.com>
6722
6723 * env.c (parse_schedule): Reject out of range values.
6724 (parse_unsigned_long): Reject out of range, negative or zero values.
6725
a7a53ca5
JJ
67262006-10-29 Jakub Jelinek <jakub@redhat.com>
6727
6728 PR fortran/29629
6729 * testsuite/libgomp.fortran/pr29629.f90: New test.
6730
6d4d216a
EB
67312006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
6732
6733 PR libgomp/29494
6734 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
6735 * config/posix95: New directory.
6736 * config/posix95/omp-lock.h: New file.
6737 * config/posix95/lock.c: Likewise.
6738
5b043f08
GK
67392006-10-14 Geoffrey Keating <geoffk@apple.com>
6740
6741 * aclocal.m4: Regenerate.
6742 * configure: Regenerate.
6743
b50019f0
DS
67442006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
6745
6746 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
6747 '<' to '<='.
6748
8887708e
DS
67492006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
6750
6751 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
6752 test.
6753 * configure: Regenerate.
6754 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
6755
9b9e4cd6
JJ
67562006-09-26 Jakub Jelinek <jakub@redhat.com>
6757
a70ad3bb
JJ
6758 PR middle-end/25261
6759 PR middle-end/28790
6760 * testsuite/libgomp.c/nestedfn-4.c: New test.
6761 * testsuite/libgomp.c/nestedfn-5.c: New test.
6762 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
6763
9b9e4cd6
JJ
6764 PR fortran/29097
6765 * testsuite/libgomp.fortran/condinc1.f: New test.
6766 * testsuite/libgomp.fortran/condinc2.f: New test.
6767 * testsuite/libgomp.fortran/condinc3.f90: New test.
6768 * testsuite/libgomp.fortran/condinc4.f90: New test.
6769 * testsuite/libgomp.fortran/condinc1.inc: New file.
6770
2fb31455
TT
67712006-09-18 Tom Tromey <tromey@redhat.com>
6772
6773 * configure: Rebuilt.
6774
c663e301
JM
67752006-09-13 Joseph S. Myers <joseph@codesourcery.com>
6776
6777 PR c/28768
6778 PR preprocessor/14634
6779 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
6780 to AC_DEFINE.
6781 * configure: Regenerate.
6782
38371be9
SK
67832006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
6784
6785 * testsuite/libgomp.fortran/reduction3.f90: Change
6786 -2147483648 to -huge(i)-1 to avoid overflow.
6787 * testsuite/libgomp.fortran/reduction4.f90: Change
6788 Z'ffffffff' to not(0) to avoid overflow.
6789
571d5ac5
JM
67902006-08-26 Joseph S. Myers <joseph@codesourcery.com>
6791
6792 PR libgomp/25938
6793 * Makefile.am (libsubincludedir): New.
6794 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
6795 * Makefile.in: Regenerate.
6796
89b3e3cd
JJ
67972006-08-17 Jakub Jelinek <jakub@redhat.com>
6798
6799 PR libgomp/28725
6800 * env.c: Include ctype.h.
6801 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
6802 leading and/or trailing whitespace and compare strings case
6803 insensitively.
6804
742fae05
JJ
68052006-07-16 Jakub Jelinek <jakub@redhat.com>
6806
6807 PR fortran/28390
6808 * testsuite/libgomp.fortran/pr28390.f: New test.
6809
a1daed2d
EC
68102006-07-05 Eric Christopher <echristo@apple.com>
6811
6812 * configure.ac: Depend addition of -pthread on host OS.
6813 * configure: Regenerate.
6814
5d7b5199
JJ
68152006-06-21 Jakub Jelinek <jakub@redhat.com>
6816
6817 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
6818 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
6819 defined.
6820
fe5568e9
JJ
68212006-06-20 Jakub Jelinek <jakub@redhat.com>
6822
6823 PR libgomp/26175
6824 PR libgomp/26477
6825 * configure.ac: If neither --enable-linux-futex nor
6826 --disable-linux-futex is passed, determine the default by checking
6827 for compiling and/or running against NPTL. With --enable-linux-futex,
6828 check if SYS_gettid and SYS_futex are defined.
6829 * configure: Rebuilt.
6830
c3b11a40
RH
68312006-06-14 Richard Henderson <rth@redhat.com>
6832
6833 PR libgomp/28008
6834 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
6835 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
6836
d0d1b24d
RH
68372006-06-09 Richard Henderson <rth@redhat.com>
6838
6839 * env.c (gomp_nthreads_var): Change to unsigned long.
6840 (gomp_run_sched_chunk): Likewise.
6841 (parse_unsigned_long): Rename from parse_num_threads and generalize.
6842 (initialize_env): Initialize gomp_thread_attr.
6843 * libgomp.h (gomp_nthreads_var): Update decl.
6844 (gomp_run_sched_chunk): Likewise.
6845 (gomp_thread_attr): Declare.
6846 * team.c (gomp_thread_attr): Export.
6847 (initialize_team): Don't initialize it.
6848
cd75853e
JJ
68492006-06-09 Jakub Jelinek <jakub@redhat.com>
6850
6851 PR fortran/27916
6852 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
6853 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
6854
33815e0c
FXC
68552006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6856
6857 * config/mingw32/time.c: New file.
6858 * configure.tgt: Use it.
6859
6667de0d
CD
68602006-05-23 Carlos O'Donell <carlos@codesourcery.com>
6861
6862 * Makefile.am: Add install-html target. Add install-html to .PHONY
6863 * Makefile.in: Regenerate.
6864
e962c46b
JDA
68652006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6866
6867 PR libgomp/27612
6868 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
6869 * testsuite/libgomp.c/critical-1.c: Likewise.
6870 * testsuite/libgomp.c/loop-1.c: Likewise.
6871 * testsuite/libgomp.c/loop-2.c: Likewise.
6872 * testsuite/libgomp.c/single-1.c: Likewise.
6873 * testsuite/libgomp.c/ordered-1.c: Likewise.
6874 * testsuite/libgomp.c/ordered-2.c: Likewise.
6875
eeb1d9e0
JJ
68762006-05-15 Jakub Jelinek <jakub@redhat.com>
6877
6878 PR middle-end/27416
6879 * libgomp.fortran/pr27416-1.f90: New test.
6880
693d710f
JJ
68812006-05-03 Jakub Jelinek <jakub@redhat.com>
6882
6883 PR fortran/27395
6884 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
6885 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
6886
8ca5b2a2
JJ
68872006-05-02 Jakub Jelinek <jakub@redhat.com>
6888
6889 PR c++/26943
6890 * testsuite/libgomp.c/pr26943-1.c: New test.
6891 * testsuite/libgomp.c/pr26943-2.c: New test.
6892 * testsuite/libgomp.c/pr26943-3.c: New test.
6893 * testsuite/libgomp.c/pr26943-4.c: New test.
6894 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
6895 * testsuite/libgomp.c++/pr26943.C: New test.
6896
077b0dfb
JJ
68972006-05-02 Jakub Jelinek <jakub@redhat.com>
6898
6899 PR middle-end/27337
6900 * testsuite/libgomp.c++/pr27337.C: New test.
6901
91b6c26d
JJ
69022006-04-26 Jakub Jelinek <jakub@redhat.com>
6903
6904 PR c/26171
6905 * testsuite/libgomp.c/pr26171.c: New test.
6906
60e1758f
RH
69072006-04-25 Richard Henderson <rth@redhat.com>
6908
6909 PR libgomp/25865
6910 * configure.ac: Use GCC_CHECK_TLS.
6911 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
6912 * Makefile.in, aclocal.m4, configure: Regenerate.
6913
615baed7
MK
69142006-04-10 Matthias Klose <doko@debian.org>
6915
6916 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
6917 directory names containing underscores.
6918
fae2b46b
JJ
69192006-03-21 Jakub Jelinek <jakub@redhat.com>
6920
6921 PR c++/26691
6922 * testsuite/libgomp.c++/pr26691.C: New test.
6923
11a5f608
JJ
69242006-03-13 Jakub Jelinek <jakub@redhat.com>
6925
6926 * testsuite/libgomp.fortran/retval2.f90: New test.
6927
1799e5d5
RH
69282006-03-09 Diego Novillo <dnovillo@redhat.com>
6929
6930 * testsuite/libgomp.c++: New directory.
6931
d349482e
AT
69322006-02-25 Shantonu Sen <ssen@opendarwin.org>
6933
6934 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
6935 * config/posix/sem.c: Implement the above.
6936
69372006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
6938
6939 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
6940 define HAVE_BROKEN_POSIX_SEMAPHORES.
6941 * configure: Rebuilt.
6942 * config.h.in: Rebuilt.
6943
124452c9
FXC
69442006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6945
6946 PR bootstrap/26161
6947 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
6948 for the other pthread check.
6949 * configure: Regenerate.
6950 * config.h.in: Regenerate.
6951
dd8d6dfe
JJ
69522006-02-15 Jakub Jelinek <jakub@redhat.com>
6953
6954 PR libgomp/25938
6955 PR libgomp/25984
6956 * Makefile.am (fincludedir): New variable.
6957 (nodist_include_HEADERS): Remove Fortran files.
6958 (nodist_finclude_HEADERS): New variable.
6959 * Makefile.in: Regenerated.
6960
6c7a4dfd
JJ
69612006-02-13 Jakub Jelinek <jakub@redhat.com>
6962
6963 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
6964 Remove tests for returning assumed character length arrays.
6965
5142e08b
RS
69662006-02-12 Roger Sayle <roger@eyesopen.com>
6967 John David Anglin <dave@hiauly1.hia.nrc.ca>
6968
6969 PR libgomp/25936
6970 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 6971
5821fba8
UW
69722006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
6973
6974 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
6975
cb2bbc67
EB
69762006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
6977
6978 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
6979 part of LD_LIBRARY_PATH manually.
6980
f05ee80c
L
69812006-02-03 H.J. Lu <hongjiu.lu@intel.com>
6982
6983 PR libgomp/25852
6984 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
6985 libgomp_init.
6986
03b8fe49
PB
69872005-01-25 Paolo Bonzini <bonzini@gnu.org>
6988
6989 PR libgomp/25884
f05ee80c
L
6990 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
6991 * configure.ac (PERL): Don't set.
6992 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
6993 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
6994 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
6995 * omp.h.in: Wrap the new configure substitutions with @ characters.
6996 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
6997 * aclocal.m4, configure, Makefile.in: Regenerate.
6998 * mkomp_h.pl: Delete.
03b8fe49 6999
18cbfd85
PB
70002005-01-24 Paolo Bonzini <bonzini@gnu.org>
7001
7002 PR libgomp/25259
7003 * configure.ac: Use GCC_HEADER_STDINT.
7004 * libgomp.h: Include gstdint.h.
7005 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
7006 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
7007
c41303c6
RH
70082006-01-24 Richard Henderson <rth@redhat.com>
7009
7010 PR libgomp/25942
7011 * configure.ac: Add AM_MAINTAINER_MODE.
7012 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
7013
149b9553
DN
70142006-01-24 Diego Novillo <dnovillo@redhat.com>
7015
7016 * Makefile.in: Regenerate.
7017 * testsuite/Makefile.in: Regenerate.
7018 * aclocal.m4: Regenerate.
7019
192a50ad
AT
70202006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
7021
7022 * config/posix/proc.c: Conditional include of sys/loadavg.h for
7023 Solaris.
7024 * configure.ac: Add check for loadavg.h.
7025 (link_gomp): Adjust comment.
7026 * configure: Regenerate.
7027 * config.h.in: Regenerate.
7028
a55b8e18
SE
70292006-01-21 Steve Ellcey <sje@cup.hp.com>
7030
7031 PR libgomp/25877
7032 * configure.ac: Remove check for alloca.h.
7033 * configure: Regenerate.
7034 * config.h.in: Regenerate.
7035 * libgomp.h: define gomp_alloca to be __builtin_alloca.
7036 * team.c: Remove use of alloca.h.
7037 Call gomp_alloca instead of alloca.
7038
692eeb34
SE
70392006-01-20 Steve Ellcey <sje@cup.hp.com>
7040
7041 PR libgomp/25877
7042 * team.c: Add include of alloca.h.
7043 * configure.ac: Add check for alloca.h.
7044 * configure: Regenerate.
7045 * config.h.in: Regenerate.
7046
953ff289
DN
70472006-01-17 Jakub Jelinek <jakub@redhat.com>
7048
7049 PR fortran/25219
7050 * testsuite/libgomp.fortran/pr25219.f90: New test.
7051
70522005-12-05 Uros Bizjak <uros@kss-loka.si>
7053
7054 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
7055 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
7056 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7057 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7058 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
7059 testsuite/libgomp.fortran/threadprivate1.f90,
7060 testsuite/libgomp.fortran/threadprivate2.f90,
7061 testsuite/libgomp.fortran/threadprivate3.f90,
7062 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7063 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7064 testsuite/libgomp.fortran/omp_parse3.f90: Change required
7065 effective-target to TLS runtime.
7066
7067 * testsuite/libgomp.fortran/pr25162.f: Require
7068 effective-target TLS runtime.
7069
70702005-12-01 Jakub Jelinek <jakub@redhat.com>
7071
7072 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
7073 * testsuite/libgomp.c/nestedfn-3.c: New test.
7074
70752005-11-30 Jakub Jelinek <jakub@redhat.com>
7076
7077 PR fortran/25162
7078 * testsuite/libgomp.fortran/pr25162.f: New test.
7079
70802005-11-28 Jakub Jelinek <jakub@redhat.com>
7081
7082 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
7083 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
7084
70852005-11-25 Jakub Jelinek <jakub@redhat.com>
7086
7087 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
7088 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
7089 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
7090 single.c, team.c, work.c, config/linux/alpha/futex.h,
7091 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
7092 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
7093 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
7094 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
7095 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
7096 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
7097 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
7098 FSF address.
7099
71002005-11-18 Jakub Jelinek <jakub@redhat.com>
7101
7102 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
7103 to nodist_noinst_HEADERS.
7104 * Makefile.in: Rebuilt.
7105
7106 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
7107 add integer count field.
7108 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
7109 omp_nest_lock_t type change.
7110 (omp_init_nest_lock): Likewise. Initialize count to 0.
7111 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
7112 Increment count.
7113 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
7114 Decrement count.
7115 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
7116 Increment count if successful and return the new nesting level.
7117 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
7118 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
7119 * testsuite/libgomp.c/lib-1.c: New test.
7120 * testsuite/libgomp.fortran/lib1.f90: New test.
7121 * testsuite/libgomp.fortran/lib2.f: New test.
7122 * testsuite/libgomp.fortran/lib3.f: New test.
7123
71242005-11-17 Richard Henderson <rth@redhat.com>
7125
7126 PR 24845
7127 * Makefile.am (nodist_toolexeclib_HEADERS): New.
7128 * configure.ac (link_gomp): New. Substitute it.
7129 (AC_CONFIG_FILES): Add libgomp.spec.
7130 * libgomp.spec.in: New file.
7131 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
7132 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
7133
71342005-11-18 Jakub Jelinek <jakub@redhat.com>
7135
7136 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
7137 reduction(-:var) behaving the same as reduction(+:var).
7138 * testsuite/libgomp.c/reduction-4.c: New test.
7139
71402005-11-15 Uros Bizjak <uros@kss-loka.si>
7141
7142 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
7143 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
7144 testsuite/libgomp.c/copyin-3.c,
7145 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7146 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7147 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
7148 testsuite/libgomp.c++/pr24455.C,
7149 testsuite/libgomp.fortran/threadprivate1.f90,
7150 testsuite/libgomp.fortran/threadprivate2.f90,
7151 testsuite/libgomp.fortran/threadprivate3.f90,
7152 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7153 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7154 testsuite/libgomp.fortran/omp_parse3.f90: Require
7155 effective-target TLS.
7156
71572005-11-14 Diego Novillo <dnovillo@redhat.com>
7158
7159 * HEADER: Remove.
7160
71612005-11-13 Jakub Jelinek <jakub@redhat.com>
7162
7163 PR libgomp/24797
7164 * team.c (initialize_team): Pass NULL rather than free as
7165 pthread_key_create destructor. Initialize thread specific data
7166 pointer in initial thread to a static local variable rather than
7167 malloced memory.
7168
71692005-11-11 Uros Bizjak <uros@kss-loka.si>
7170
7171 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
7172 its location to ld_library_path.
7173
71742005-11-10 Diego Novillo <dnovillo@redhat.com>
7175
7176 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
7177
71782005-11-10 Diego Novillo <dnovillo@redhat.com>
7179
7180 * testsuite/libgomp.c: Rename from libgomp.dg.
7181
71822005-11-09 Diego Novillo <dnovillo@redhat.com>
7183
7184 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
7185 threadprivate variable 'i'.
7186
71872005-11-09 Jakub Jelinek <jakub@redhat.com>
7188
7189 * config/linux/s390/futex.h: New file.
7190 * configure.tgt: Use it.
7191
7192 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
7193 before the parallel.
7194
71952005-11-08 Jakub Jelinek <jakub@redhat.com>
7196
7197 PR c++/24734
7198 * testsuite/libgomp.c++/master-1.C: New test.
7199
72002005-11-07 Jakub Jelinek <jakub@redhat.com>
7201
7202 * testsuite/libgomp.dg/copyin-3.c: New test.
7203
72042005-11-07 Jakub Jelinek <jakub@redhat.com>
7205
7206 * testsuite/libgomp.fortran/retval1.f90: New test.
7207 * testsuite/libgomp.fortran/vla7.f90: New test.
7208
72092005-11-06 Jakub Jelinek <jakub@redhat.com>
7210
7211 * testsuite/libgomp.fortran/vla2.f90: New test.
7212 * testsuite/libgomp.fortran/vla3.f90: New test.
7213 * testsuite/libgomp.fortran/vla4.f90: New test.
7214 * testsuite/libgomp.fortran/vla5.f90: New test.
7215 * testsuite/libgomp.fortran/vla6.f90: New test.
7216
72172005-11-01 Jakub Jelinek <jakub@redhat.com>
7218
7219 * config/linux/sparc/futex.h: New file.
7220 * configure.tgt: Use it.
7221 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
7222
7223 * critical.c: Include stdlib.h.
7224 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
7225 ignoring return value.
7226 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
7227 LIBGOMP_CHECK_SYNC_BUILTINS check.
7228 * configure: Rebuilt.
7229
72302005-10-31 Jakub Jelinek <jakub@redhat.com>
7231
7232 * testsuite/libgomp.fortran/vla1.f90: New test.
7233
72342005-10-31 Richard Henderson <rth@redhat.com>
7235
7236 * testsuite/libgomp.fortran/character2.f90: Fix race condition
7237 setting 's' in different threads.
7238
72392005-10-31 Jakub Jelinek <jakub@redhat.com>
7240
7241 * libgomp.h (attribute_hidden, ialias): Define.
7242 * config/posix/proc.c (omp_get_num_procs): Add ialias.
7243 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
7244 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
7245 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7246 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7247 omp_test_lock, omp_test_nest_lock): Likewise.
7248 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
7249 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7250 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7251 omp_test_lock, omp_test_nest_lock): Likewise.
7252 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
7253 omp_get_dynamic, omp_get_nested): Likewise.
7254 * parallel.c (omp_get_num_threads, omp_get_max_threads,
7255 omp_get_thread_num, omp_in_parallel): Likewise.
7256 * fortran.c (ialias_redirect): Define.
7257 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
7258 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
7259 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
7260 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
7261 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
7262 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
7263 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
7264 omp_get_wtime): Add ialias_redirect.
7265
72662005-10-30 Jakub Jelinek <jakub@redhat.com>
7267
7268 * fortran.c: Include stdlib.h.
7269
72702005-10-29 Jakub Jelinek <jakub@redhat.com>
7271
7272 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
7273 * Makefile.in: Regenerated.
7274
72752005-10-28 Jakub Jelinek <jakub@redhat.com>
7276
7277 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
7278 * libgomp_f.h.in (omp_check_defines): New function.
7279 * env.c: Include libgomp_f.h.
7280 (initialize_env): Call omp_check_defines.
7281
7282 * testsuite/libgomp.dg/copyin-2.c: New test.
7283 * testsuite/libgomp.c++/copyin-2.C: New test.
7284 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
7285
7286 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
7287 * testsuite/libgomp.fortran/sharing2.f90: New test.
7288
7289 * testsuite/libgomp.dg/copyin-1.c: New test.
7290 * testsuite/libgomp.c++/copyin-1.C: New test.
7291
72922005-10-26 Jakub Jelinek <jakub@redhat.com>
7293
7294 * testsuite/libgomp.fortran/crayptr1.f90: New test.
7295
7296 * testsuite/libgomp.fortran/workshare1.f90: New test.
7297
7298 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
7299 only test.
7300 * libgomp.fortran/sharing1.f90: New test.
7301
73022005-10-24 Jakub Jelinek <jakub@redhat.com>
7303
7304 PR c++/24502
7305 * testsuite/libgomp.c++/loop-7.C: New test.
7306
7307 * testsuite/libgomp.dg/nestedfn-2.c: New test.
7308
7309 * testsuite/libgomp.dg/nestedfn-1.c: New test.
7310 * testsuite/libgomp.fortran/reduction6.f90: New test.
7311 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
7312
73132005-10-23 Richard Henderson <rth@redhat.com>
7314
7315 * testsuite/libgomp.c++/ctor-1.C: New.
7316 * testsuite/libgomp.c++/ctor-2.C: New.
7317 * testsuite/libgomp.c++/ctor-3.C: New.
7318 * testsuite/libgomp.c++/ctor-4.C: New.
7319 * testsuite/libgomp.c++/ctor-5.C: New.
7320 * testsuite/libgomp.c++/ctor-6.C: New.
7321 * testsuite/libgomp.c++/ctor-7.C: New.
7322 * testsuite/libgomp.c++/ctor-8.C: New.
7323 * testsuite/libgomp.c++/ctor-9.C: New.
7324
73252005-10-21 Diego Novillo <dnovillo@redhat.com>
7326
7327 PR 24455
7328 * testsuite/libgomp.c++/pr24455-1.C: New test.
7329 * testsuite/libgomp.c++/pr24455.C: New test.
7330 * testsuite/libgomp.dg/pr24455-1.c: New test.
7331 * testsuite/libgomp.dg/pr24455.c: New test.
7332
73332005-10-20 Richard Henderson <rth@redhat.com>
7334
7335 * testsuite/libgomp.c++/loop-6.C: New.
7336 * testsuite/libgomp.dg/loop-3.c: New.
7337
73382005-10-20 Jakub Jelinek <jakub@redhat.com>
7339
7340 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
7341 explicitly private.
7342 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
7343 explicitly shared.
7344
73452005-10-19 Diego Novillo <dnovillo@redhat.com>
7346
7347 * testsuite/libgomp.fortran/jacobi.f: New test.
7348
73492005-10-19 Richard Henderson <rth@redhat.com>
7350
7351 * configure.tgt (i?86-linux): Default to with_arch instead of
7352 CFLAGS. Add -mtune to match target_cpu.
7353 (x86_64-linux): Tune to i686.
7354
7355 * fortran.c (omp_test_nest_lock_): Fix typo.
7356
73572005-10-19 Jakub Jelinek <jakub@redhat.com>
7358
7359 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7360 gomp_ordered_sync): Do nothing if team->nthreads == 1.
7361 * testsuite/libgomp.dg/ordered-3.c: New test.
7362
7363 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
7364 Remove volatile keyword.
7365
7366 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
7367 in COMMON block to avoid warnings on 64-bit targets.
7368
73692005-10-18 Diego Novillo <dnovillo@redhat.com>
7370
7371 * testsuite/libgomp.dg/shared-3.c: New test.
7372
73732005-10-18 Jakub Jelinek <jakub@redhat.com>
7374
7375 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
7376 * testsuite/libgomp.fortran/reduction5.f90: New test.
7377
73782005-10-18 Jakub Jelinek <jakub@redhat.com>
7379
7380 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
7381 dg-options.
7382 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
7383 flush loop now that __sync_synchronize has proper memory barrier.
7384 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
7385 Add -ffixed-form to dg-options.
7386
73872005-10-17 Diego Novillo <dnovillo@redhat.com>
7388
7389 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
7390 from subdirectories.
7391 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
7392 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
7393 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
7394 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
7395 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
7396 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
7397 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
7398 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
7399 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
7400 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
7401 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
7402 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
7403 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
7404 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
7405 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
7406 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
7407 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
7408 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
7409 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
7410 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
7411 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
7412 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
7413 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
7414 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
7415 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
7416
74172005-10-17 Jakub Jelinek <jakub@redhat.com>
7418
7419 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
7420 lang_library_path exists. Use find instead of glob to gather tests.
7421 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
7422
74232005-10-17 Diego Novillo <dnovillo@redhat.com>
7424
7425 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
7426 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
7427 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
7428 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
7429 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
7430 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
7431 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
7432 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
7433 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
7434 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
7435 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
7436 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
7437 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
7438
74392005-10-15 Jakub Jelinek <jakub@redhat.com>
7440
7441 * testsuite/libgomp.dg/vla-1.c: New test.
7442
7443 * testsuite/libgomp.fortran/reference2.f90: New test.
7444
7445 * testsuite/libgomp.fortran/character2.f90: Remove explicit
7446 declaration of omp_get_thread_num.
7447 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
7448 use omp_lib.
7449
7450 * testsuite/libgomp.fortran/reduction1.f90: New test.
7451 * testsuite/libgomp.fortran/reduction2.f90: New test.
7452 * testsuite/libgomp.fortran/reduction3.f90: New test.
7453 * testsuite/libgomp.fortran/reduction4.f90: New test.
7454
74552005-10-13 Richard Henderson <rth@redhat.com>
7456
7457 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
7458 * Makefile.in: Regenerate.
7459 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
7460 * libgomp.h: Include bar.h.
7461 (struct gomp_barrier): Remove.
7462 (struct gomp_team): Add barrier. Replace master_barrier with
7463 master_release. Replace threads with ordered_release.
7464 (struct gomp_thread): Replace barrier with release.
7465 * ordered.c (gomp_ordered_first): Update for ordered_release change.
7466 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
7467 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
7468 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
7469 (GOMP_single_copy_end): Likewise.
7470 * team.c (gomp_threads_dock): New.
7471 (gomp_barrier_init, gomp_barrier_destroy): Remove.
7472 (gomp_thread_start): Use gomp_barrier_wait.
7473 (new_team, free_team): Update for gomp_team changes.
7474 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
7475 (gomp_team_end): Use gomp_barrier_wait.
7476 (initialize_team): Update for gomp_thread changes.
7477 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
7478 (gomp_work_share_end_nowait): Use atomic ops when available.
7479 * config/linux/bar.c, config/linux/bar.h: New files.
7480 * config/posix/bar.c, config/posix/bar.h: New files.
7481
74822005-10-13 Jakub Jelinek <jakub@redhat.com>
7483
7484 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
7485 * testsuite/libgomp.dg/single-2.c: New test.
7486
7487 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
7488 lang_link_flags): Unset, so that they aren't inherited from previously
7489 sourced *.exp.
7490
7491 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
7492
74932005-10-12 Richard Henderson <rth@redhat.com>
7494
7495 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
7496 (libgomp_init): Use lang_test_file, lang_library_path, and
7497 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
7498
7499 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
7500 (lang_test_file, lang_link_flags): New.
7501 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
7502
7503 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
7504 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
7505 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
7506 testsuite/libgomp.c++/parallel-1.C,
7507 testsuite/libgomp.c++/reduction-1.C,
7508 testsuite/libgomp.c++/reduction-2.C,
7509 testsuite/libgomp.c++/reduction-3.C,
7510 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
7511 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
7512 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
7513 New files, largely cribbed from the C testsuite.
7514
75152005-10-12 Jakub Jelinek <jakub@redhat.com>
7516
7517 * testsuite/libgomp.fortran/character1.f90: New test.
7518 * testsuite/libgomp.fortran/character2.f90: New test.
7519
7520 * testsuite/libgomp.dg/nested-1.c: New test.
7521 * testsuite/libgomp.dg/nested-2.c: New test.
7522 * testsuite/libgomp.fortran/do1.f90: New test.
7523 * testsuite/libgomp.fortran/do2.f90: New test.
7524
7525 * testsuite/libgomp.fortran/reference1.f90: New test.
7526
75272005-10-11 Jakub Jelinek <jakub@redhat.com>
7528
7529 * testsuite/libgomp.dg/reduction-1.c: New test.
7530 * testsuite/libgomp.dg/reduction-2.c: New test.
7531 * testsuite/libgomp.dg/reduction-3.c: New test.
7532
75332005-10-10 Jakub Jelinek <jakub@redhat.com>
7534
7535 * testsuite/libgomp.dg/atomic-1.c: New test.
7536 * testsuite/libgomp.dg/atomic-2.c: New test.
7537
75382005-10-09 Richard Henderson <rth@redhat.com>
7539
7540 * critical.c (atomic_lock): New.
7541 (initialize_critical): Initialize it.
7542 (GOMP_atomic_start, GOMP_atomic_end): New.
7543 * libgomp.map: Export them.
7544 * libgomp_g.h: Declare them.
7545
7546 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
7547
75482005-10-02 Richard Henderson <rth@redhat.com>
7549
7550 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
7551 to XCFLAGS instead of CFLAGS.
7552
75532005-09-30 Richard Henderson <rth@redhat.com>
7554
7555 * configure.ac: Determine whether -pthread or -lpthread is needed.
7556 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
7557 * Makefine.in, configure: Rebuild.
7558
75592005-09-28 Richard Henderson <rth@redhat.com>
7560
7561 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
7562 * testsuite/libgomp.dg/omp-single-3.c: New test.
7563
75642005-09-28 Diego Novillo <dnovillo@redhat.com>
7565
7566 * testsuite/libgomp.dg/omp-single-2.c: New test.
7567 * testsuite/libgomp.dg/shared-2.c: Fix return code.
7568
75692005-09-27 Richard Henderson <rth@redhat.com>
7570
7571 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
7572 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
7573
75742005-09-27 Jakub Jelinek <jakub@redhat.com>
7575
7576 * testsuite/libgomp.dg/omp-loop03.c: New test.
7577
75782005-09-27 Diego Novillo <dnovillo@redhat.com>
7579
7580 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
7581
75822005-09-27 Diego Novillo <dnovillo@redhat.com>
7583
7584 * testsuite/libgomp.dg/omp-single-1.c: New test.
7585 * testsuite/libgomp.dg/shared-1.c: Return 0.
7586 Add prototype for abort.
7587 * testsuite/libgomp.dg/shared-2.c: Likewise.
7588
75892005-09-26 Jakub Jelinek <jakub@redhat.com>
7590
7591 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
7592 constructs.
7593
75942005-09-26 Diego Novillo <dnovillo@redhat.com>
7595
7596 * testsuite/libgomp.dg/shared-1.c: New test.
7597 * testsuite/libgomp.dg/shared-2.c: New test.
7598
75992005-09-24 Richard Henderson <rth@redhat.com>
7600
7601 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
7602
76032005-09-24 Richard Henderson <rth@redhat.com>
7604
7605 * iter.c (gomp_iter_static_next): Round up when computing number
7606 of iterations. Don't bother distributing a remainder equally.
7607
7608 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
7609 Don't call srand. Zero b before testing.
7610 (main): New.
7611
76122005-09-24 Jakub Jelinek <jakub@redhat.com>
7613
7614 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
7615 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
7616
76172005-09-23 Jakub Jelinek <jakub@redhat.com>
7618
7619 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
7620 without !$omp end do, followed immediately by subroutine end.
7621
76222005-09-23 Diego Novillo <dnovillo@redhat.com>
7623
7624 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
7625
76262005-09-22 Richard Henderson <rth@redhat.com>
7627
7628 * critical.c (GOMP_critical_name_start): Change argument to void**.
7629 Reuse the pointer space if the mutex fits.
7630 (GOMP_critical_name_end): Likewise.
7631 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
7632 * libgomp_g.h (GOMP_critical_name_start): Update decl.
7633 (GOMP_critical_name_end): Likewise.
7634 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
7635 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
7636
76372005-09-20 Richard Henderson <rth@redhat.com>
7638
7639 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
7640 (create_lock_lock): New.
7641 (initialize_critical): Initialize it.
7642 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
7643 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
7644
76452005-09-20 Diego Novillo <dnovillo@redhat.com>
7646
7647 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
7648
76492005-09-20 Diego Novillo <dnovillo@redhat.com>
7650
7651 * testsuite/libgomp.dg/omp-loop01.c: New test.
7652 * testsuite/libgomp.dg/omp-loop02.c: New test.
7653
76542005-09-20 Jakub Jelinek <jakub@redhat.com>
7655
7656 * configure.ac (AC_PROG_FC): Add.
7657 (USE_FORTRAN): New automake conditional.
7658 * configure: Rebuilt.
7659 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
7660 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
7661 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
7662 Add rules to build them.
7663 * Makefile.in: Rebuilt.
7664 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
7665 OMP_NEST_LOCK_KIND.
7666 * libgomp.map: Add Fortran wrappers.
7667 * libgomp_f.h.in: New file.
7668 * omp_lib.h.in: New file.
7669 * omp_lib.f90.in: New file.
7670 * fortran.c: New file.
7671 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
7672 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
7673 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
7674 libgfortran has been built.
7675 * testsuite/libgomp.fortran/fortran.exp: New file.
7676 * testsuite/libgomp.fortran/omp_cond1.f: New test.
7677 * testsuite/libgomp.fortran/omp_cond2.f: New test.
7678 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
7679 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
7680 * testsuite/libgomp.fortran/omp_hello.f: New test.
7681 * testsuite/libgomp.fortran/omp_orphan.f: New test.
7682 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
7683 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
7684 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
7685 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
7686 * testsuite/libgomp.fortran/omp_reduction.f: New test.
7687 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
7688 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
7689
76902005-08-30 Richard Henderson <rth@redhat.com>
7691
7692 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
7693 function for when aliases are not usable.
7694 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
7695 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7696 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
7697 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
7698 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
7699 GOMP_loop_ordered_guided_next): Likewise.
7700 * ordered.c (GOMP_ordered_start): Likewise.
7701
77022005-08-01 Diego Novillo <dnovillo@redhat.com>
7703
7704 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
7705 * testsuite/libgomp.dg/omp_hello.c: Fix return code
7706 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
7707 * testsuite/libgomp.dg/omp_orphan.c: Likewise
7708 * testsuite/libgomp.dg/omp_reduction.c: Likewise
7709 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
7710 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
7711 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
7712 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
7713
77142005-07-07 Eric Christopher <echristo@redhat.com>
7715 Diego Novillo <dnovillo@redhat.com>
7716
7717 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
7718 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
7719 up code.
7720 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
7721 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
7722 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
7723 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
7724 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
7725 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
7726 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
7727
77282005-06-13 Diego Novillo <dnovillo@redhat.com>
7729
7730 * TOPLEVEL.patch: Remove.
7731
77322005-05-16 Richard Henderson <rth@redhat.com>
7733
7734 * configure.ac: Test for clock_gettime.
7735 * config.h.in, configure: Rebuild.
7736 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
7737 (omp_get_wtime): Use clock_gettime if available.
7738 (omp_get_wtick): Use clock_getres if available.
7739
77402005-05-11 Richard Henderson <rth@redhat.com>
7741
7742 * config/linux/ia64/futex.h: New file.
7743 * configure.tgt: Use it.
7744
7745 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
7746
77472005-05-07 Richard Henderson <rth@redhat.com>
7748
7749 * config/linux/powerpc/futex.h: New file.
7750 * configure.tgt: Use it.
7751
7752 * config/linux/i486/futex.h: Merge ...
7753 * config/linux/x86_64/futex.h: ... into ...
7754 * config/linux/x86/futex.h: ... here.
7755 * configure.tgt: Update to match.
7756
77572005-05-06 Richard Henderson <rth@redhat.com>
7758
7759 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
7760 * config/linux/i486/futex.h: Likewise.
7761 * config/linux/x86_64/futex.h: Likewise.
7762
7763 * config/linux/lock.c: New file.
7764 * config/linux/omp-lock.h: New file.
7765
7766 * critical.c, env.h: Don't include omp.h
7767 * config/posix/lock.c: Include libgomp.h instead of omp.h.
7768 * config/posix/time.c: Likewise.
7769 * config/posix/omp-lock.h: New file.
7770 * libgomp.h: Include omp-lock.h and omp.h.
7771 * Makefile.am (nodist_include_HEADERS): New.
7772 (omp.h): New rule.
7773 * configure.ac (PERL): New.
7774 * mkomp_h.pl: New file.
7775 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
7776 with templates.
7777 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
7778
7779 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
7780 build directory. Re-add -march=i486 hack.
7781
7782 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
7783 (libgomp_link_flags): Remove.
7784 (libgomp_initialized): Remove.
7785 (libgomp_init): Don't protect from reinitialization. Copy code
7786 from libstdc++ for getting the multilib set correctly.
7787
77882005-05-05 Richard Henderson <rth@redhat.com>
7789
7790 * config/linux/alpha/futex.h: New file.
7791 * configure.tgt (alpha*-*-linux*): Use it.
7792
7793 * config/posix/mutex.c: New file.
7794 * config/posix/sem.c: Use libgomp.h.
7795
7796 * configure.tgt (x86_64-linux): Also test CC for -m32.
7797 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
7798
a1daed2d 7799 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
7800 after $gccpath.
7801
7802 * Makefile.am (SUBDIRS): New.
7803 (libgomp_la_LDFLAGS): Add -lpthread.
7804 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
7805 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
7806
7807 * libgomp_g.h: New file.
7808 * libgomp.h: Split out all public declarations to libgomp_g.h.
7809 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
7810 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
7811 * config/linux/sem.h: Likewise.
7812 * config/posix/sem.h: Likewise.
7813
7814 * Makefile.am (AM_LDFLAGS): New.
7815 (libgomp_version_script): Split out from ...
7816 (libgomp_la_LDFLAGS): ... here.
7817 (libgomp_version_info): New.
7818 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
7819 (LIBGOMP_ENABLE): New.
7820 (LIBGOMP_CHECK_LINKER_FEATURES): New.
7821 (LIBGOMP_ENABLE_SYMVERS): New.
7822 * configure.ac (AC_INIT): Version 1.0.
7823 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
7824 (enable-linux-futex): Likewise. Rename from enable-futex.
7825 (libtool_VERSION): New.
7826 (LIBGOMP_ENABLE_SYMVERS): Use it.
7827 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
7828 * Makefile.in, aclocal.m4, configure: Rebuild.
7829
7830 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
7831 (gomp_mutex_unlock_slow): Fix typo.
7832 * config/linux/sem.c: Similarly.
7833 (gomp_sem_post_slow): Fix typo.
7834 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
7835 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
7836 [__PIC__] (sys_futex0): Don't use tmp output in asm.
7837
7838 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
7839 (libgomp_la_LDFLAGS): Add top_srcdir to path.
7840 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
7841 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
7842 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
7843 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
7844 LDFLAGS. Pull enable_futex check to top-level.
7845 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
7846 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
7847
7848 First attempt at real configury.
7849 * Makefile, config.h: Remove file.
7850 * Makefile.am, Makefile.in: New file.
7851 * acinclude.m4 aclocal.m4: New file.
7852 * configure.ac, configure.tgt, configure: New file.
7853
7854 * config/posix/lock.c: Rename from sys-lock.c.
7855 * config/posix/mutex.h: Rename from sys-mutex.h.
7856 * config/posix/sem.c: Rename from sys-sem.c.
7857 * config/posix/sem.h: Rename from sys-sem.h.
7858 * config/posix/proc.c: Rename from sys-proc.c.
7859 * config/posix/time.c: Rename from sys-proc.c.
7860
7861 * config/linux/mutex.c: New file.
7862 * config/linux/mutex.h: New file.
7863 * config/linux/sem.c: New file.
7864 * config/linux/sem.h: New file.
7865 * config/linux/i486/futex.h: New file.
7866 * config/linux/x86_64/futex.h: New file.
7867
78682005-05-04 Richard Henderson <rth@redhat.com>
7869
7870 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
7871 * libgomp.h: Declare them.
7872 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
7873 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
7874
78752005-05-04 Richard Henderson <rth@redhat.com>
7876
7877 * libgomp-1 code drop
7878
78792005-05-04 Richard Henderson <rth@redhat.com>
7880
7881 * iter.c (gomp_iter_static_next): Return tri-state on 0.
7882 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
7883 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
7884 (gomp_iter_static_next): Update.
7885 (gomp_ordered_static_next): Update.
7886 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
7887 (gomp_loop_ordered_static_start): Likewise. Exit early for a
7888 totally empty range.
7889 (gomp_loop_ordered_static_next): Refine test for calling
7890 gomp_ordered_static_next.
7891 * testsuite/ordered-1.c: Add case for more threads than iterations.
7892
7893 * iter.c (gomp_iter_runtime_next_locked): Remove.
7894 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 7895 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
7896 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7897 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
7898 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
7899 gomp_loop_ordered_guided_next): Downcase name, make static, add
7900 an external alias with the old name.
7901 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7902 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
7903 switch and call one of the above static functions.
7904 * libgomp.h: Update.
7905
7906 * work.c (gomp_work_share_start): Lock the mutex for !first too.
7907 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
7908 GOMP_loop_guided_start, GOMP_loop_runtime_start,
7909 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7910 GOMP_loop_ordered_guided_start): Update to match.
7911 * sections.c (GOMP_sections_start): Likewise.
7912 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
7913
7914 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7915 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
7916 Use bounds check instead of modulus.
7917 (gomp_ordered_sync): Split out of GOMP_ordered_start.
7918 (gomp_ordered_last): Don't sync with ordered_owner here.
7919 (gomp_ordered_next): Likewise.
7920 (gomp_ordered_static_loop_next): Likewise.
7921 * loop.c, libgomp.h: Update to match.
7922
7923 * libgomp.h (GOMP_barrier): Declare.
7924
7925 * testsuite/barrier-1.c: New file.
7926 * testsuite/critical-1.c: New file.
7927 * testsuite/ordered-2.c: New file.
7928 * testsuite/ordered-1.c: New file.
7929 * testsuite/sections-1.c: New file.
7930 * testsuite/single-1.c: New file.
7931 * testsuite/Makefile (TESTS): Add them.
7932
79332005-05-04 Richard Henderson <rth@redhat.com>
7934
7935 * libgomp.h (struct gomp_work_share): Add ordered_owner.
7936 * loop.c (GOMP_loop_static_start): If not the startup thread,
7937 acquire the mutex to wait for initialization complete.
7938 (GOMP_loop_ordered_static_start): Likewise.
7939 (GOMP_loop_ordered_runtime_start): Likewise.
7940 (GOMP_loop_ordered_static_first): Remove.
7941 (GOMP_loop_ordered_dynamic_first): Remove.
7942 (GOMP_loop_ordered_guided_first): Remove.
7943 (GOMP_loop_ordered_runtime_first): Remove.
7944 * ordered.c (gomp_ordered_loop_first): Post to own release when
7945 we're the first thread.
7946 (gomp_ordered_loop_last): Wait on release if not owner.
7947 (gomp_ordered_loop_next): Likewise.
7948 (gomp_ordered_static_loop_init): New.
7949 (gomp_ordered_static_loop_next): Use ordered_owner.
7950 (GOMP_ordered_start): Likewise.
7951 * work.c (gomp_new_work_share): Initialize ordered_owner.
7952
79532005-05-03 Richard Henderson <rth@redhat.com>
7954
7955 * Makefile (OPT): New.
7956 (CFLAGS): Use it.
7957
7958 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
7959 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
7960 * libgomp.h, libgomp.map, NOTES: Update to match.
7961
7962 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
7963 Add initialized and thr members.
7964 (gomp_thread_start): Pause when initially spawned to wait for
7965 the whole team to be created.
7966 (gomp_team_start): Release team members at the end.
7967
7968 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
7969 (f_foo_1): Use GOMP_loop_end.
7970 (f_foo_2): Use GOMP_loop_end_nowait.
7971
7972 * testsuite/loop-2.c: New file.
7973 * testsuite/Makefile (TESTS): Add it.
7974
79752005-05-03 Richard Henderson <rth@redhat.com>
7976
7977 * iter.c (gomp_iter_static_next): Fix overflow check typo.
7978 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
7979 * team.c (new_team): Initialize oldest_live_gen to 1 if no
7980 initial work_share.
7981
7982 * testsuite/Makefile: New file.
7983 * testsuite/loop-1.c: New file.
7984
79852005-05-03 Richard Henderson <rth@redhat.com>
7986
7987 Initial implementation and checkin.
21fa2a29
JJ
7988\f
7989Copyright (C) 2005-2016 Free Software Foundation, Inc.
7990
7991Copying and distribution of this file, with or without modification,
7992are permitted in any medium without royalty provided the copyright
7993notice and this notice are preserved.