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