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