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