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