PR c++/92032 - DR 1601: Promotion of enum with fixed underlying type.
[official-gcc.git] / libgomp / ChangeLog
blob319a19118825298f17f429238b658fc7d202f31c
1 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
3         PR middle-end/92036
4         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5         file.
7 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
9         PR testsuite/91884
10         * testsuite/libgomp.fortran/fortran.exp: Conditionally
11         add -lquadmath.
12         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
14 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
16         PR libgomp/92028
17         * target.c (gomp_map_vars_internal): Readd the previous
18         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
19         though do that just in the !not_found_cnt case.
21 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
23         * gfortran.dg/gomp/target-simd.f90: New.
25 2019-10-02  Julian Brown  <julian@codesourcery.com>
26             Cesar Philippidis  <cesar@codesourcery.com>
28         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
29         * target.c (FIELD_TGT_EMPTY): Define.
30         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
31         as switch instead of list of ifs.
32         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
34 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
36         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
37         include. Replace alloca () with __builtin_alloca ().
38         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
40 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
42         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
43         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
44         * oacc-parallel.c: Don't include "libgomp_g.h".
45         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
46         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
47         * aclocal.m4: Regenerated.
48         * config.h.in: Regenerated.
49         * configure: Regenerated.
50         * Makefile.in: Regenerated.
52 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
54         * libgomp_g.h: Include stdint.h instead of gstdint.h.
56 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
58         * configure: Regenerate.
60 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
62         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
63         string is initialized.
65 2019-09-06  Florian Weimer  <fweimer@redhat.com>
67         * configure: Regenerate.
69 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
71         PR other/79543
72         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
73         scanning to conform to the GNU Coding Standards.
74         * configure: Regenerate.
76 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
78         PR libgomp/91530
79         * testsuite/libgomp.c/scan-21.c: New test.
80         * testsuite/libgomp.c/scan-22.c: New test.
82 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
84         PR libgomp/91530
85         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
86         targets.
87         * testsuite/libgomp.c/scan-12.c: Likewise.
88         * testsuite/libgomp.c/scan-13.c: Likewise.
89         * testsuite/libgomp.c/scan-14.c: Likewise.
90         * testsuite/libgomp.c/scan-15.c: Likewise.
91         * testsuite/libgomp.c/scan-16.c: Likewise.
92         * testsuite/libgomp.c/scan-17.c: Likewise.
93         * testsuite/libgomp.c/scan-18.c: Likewise.
94         * testsuite/libgomp.c/scan-19.c: Likewise.
95         * testsuite/libgomp.c/scan-20.c: Likewise.
96         * testsuite/libgomp.c++/scan-9.C: Likewise.
97         * testsuite/libgomp.c++/scan-10.C: Likewise.
98         * testsuite/libgomp.c++/scan-11.C: Likewise.
99         * testsuite/libgomp.c++/scan-12.C: Likewise.
100         * testsuite/libgomp.c++/scan-14.C: Likewise.
101         * testsuite/libgomp.c++/scan-15.C: Likewise.
102         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
103         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
104         * testsuite/libgomp.c++/scan-16.C: Likewise.
106 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
108         PR fortran/91473
109         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
110         -std=legacy so invalid code in the test case is accepted.
112 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
114         PR fortran/91422
115         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
116         dimension.
118 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
120         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
121         perform the lookup in the first loop only if !not_found_cnt, otherwise
122         perform lookups for it in the second loop guarded with
123         if (not_found_cnt || has_firstprivate).
124         * testsuite/libgomp.c/target-37.c: New test.
125         * testsuite/libgomp.c++/target-22.C: New test.
127 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
129         * testsuite/libgomp.c/target-18.c (struct S): New type.
130         (foo): Use use_device_addr clause instead of use_device_ptr clause
131         where required by OpenMP 5.0, add further tests for both use_device_ptr
132         and use_device_addr clauses.
133         * testsuite/libgomp.c++/target-9.C (struct S): New type.
134         (foo): Use use_device_addr clause instead of use_device_ptr clause
135         where required by OpenMP 5.0, add further tests for both use_device_ptr
136         and use_device_addr clauses.  Add t and u arguments.
137         (main): Adjust caller.
139 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
141         * testsuite/libgomp.c++/loop-13.C: New test.
142         * testsuite/libgomp.c++/loop-14.C: New test.
143         * testsuite/libgomp.c++/loop-15.C: New test.
145 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
147         PR middle-end/91301
148         * testsuite/libgomp.c++/for-27.C: New test.
150 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
152         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
153         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
155 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
157         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
159 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
161         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
162         * testsuite/libgomp.c++/scan-16.C: Likewise.
164 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
166         * testsuite/libgomp.c/scan-19.c: New test.
167         * testsuite/libgomp.c/scan-20.c: New test.
169         * testsuite/libgomp.c/scan-11.c: New test.
170         * testsuite/libgomp.c/scan-12.c: New test.
171         * testsuite/libgomp.c/scan-13.c: New test.
172         * testsuite/libgomp.c/scan-14.c: New test.
173         * testsuite/libgomp.c/scan-15.c: New test.
174         * testsuite/libgomp.c/scan-16.c: New test.
175         * testsuite/libgomp.c/scan-17.c: New test.
176         * testsuite/libgomp.c/scan-18.c: New test.
177         * testsuite/libgomp.c++/scan-9.C: New test.
178         * testsuite/libgomp.c++/scan-10.C: New test.
179         * testsuite/libgomp.c++/scan-11.C: New test.
180         * testsuite/libgomp.c++/scan-12.C: New test.
181         * testsuite/libgomp.c++/scan-13.C: New test.
182         * testsuite/libgomp.c++/scan-14.C: New test.
183         * testsuite/libgomp.c++/scan-15.C: New test.
184         * testsuite/libgomp.c++/scan-16.C: New test.
186 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
188         * testsuite/libgomp.c/scan-9.c: New test.
189         * testsuite/libgomp.c/scan-10.c: New test.
191 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
193         * testsuite/libgomp.c++/scan-1.C: New test.
194         * testsuite/libgomp.c++/scan-2.C: New test.
195         * testsuite/libgomp.c++/scan-3.C: New test.
196         * testsuite/libgomp.c++/scan-4.C: New test.
197         * testsuite/libgomp.c++/scan-5.C: New test.
198         * testsuite/libgomp.c++/scan-6.C: New test.
199         * testsuite/libgomp.c++/scan-7.C: New test.
200         * testsuite/libgomp.c++/scan-8.C: New test.
201         * testsuite/libgomp.c/scan-1.c: New test.
202         * testsuite/libgomp.c/scan-2.c: New test.
203         * testsuite/libgomp.c/scan-3.c: New test.
204         * testsuite/libgomp.c/scan-4.c: New test.
205         * testsuite/libgomp.c/scan-5.c: New test.
206         * testsuite/libgomp.c/scan-6.c: New test.
207         * testsuite/libgomp.c/scan-7.c: New test.
208         * testsuite/libgomp.c/scan-8.c: New test.
210 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
212         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
213         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
214         Likewise.
216         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
217         check.
219 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
221         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
222         file.
224 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
226         PR fortran/90743
227         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
228         case.
229         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
230         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
231         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
232         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
234         PR testsuite/90861
235         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
237         PR middle-end/90862
238         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
240 2019-06-16  Tom de Vries  <tdevries@suse.de>
242         PR tree-optimization/89376
243         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
245 2019-06-15  Tom de Vries  <tdevries@suse.de>
247         PR tree-optimization/89713
248         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
249         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
251 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
253         PR middle-end/90779
254         * testsuite/libgomp.c/pr90779.c: New test.
255         * testsuite/libgomp.fortran/pr90779.f90: New test.
257 2019-06-15  Tom de Vries  <tdevries@suse.de>
259         PR tree-optimization/90009
260         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
262 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
264         PR tree-optimization/89713
265         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
267 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
269         PR target/90811
270         * testsuite/libgomp.c/pr90811.c: New test.
272 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
274         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
275         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
277 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
279         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
280         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
281         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
282         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
284 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
286         * configure.ac: Call AX_COUNT_CPUS.
287         Substitute CPU_COUNT.
288         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
289         count fallback.
290         * aclocal.m4: Regenerate.
291         * configure: Regenerate.
292         * Makefile.in, testsuite/Makefile.in: Regenerate.
294 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
296         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
297         to ...
298         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
299         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
300         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
302 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
304         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
306         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
308         PR libgomp/90641
309         * work.c (gomp_init_work_share): Instead of aligning final ordered
310         value to multiples of long long alignment, align to that the
311         first part (ordered team ids) and if inline_ordered_team_ids
312         is not on a long long alignment boundary within the structure,
313         use __alignof__ (long long) - 1 pad size always.
314         * loop.c (GOMP_loop_start): Fix *mem computation if
315         inline_ordered_team_ids is not aligned on long long alignment boundary
316         within the structure.
317         * loop-ull.c (GOMP_loop_ull_start): Likewise.
318         * sections.c (GOMP_sections2_start): Likewise.
320 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
322         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
323         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
325         PR libgomp/90585
326         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
327         HAVE_INTTYPES_H is defined.
328         (print_uint64_t): New typedef.
329         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
330         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
331         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
332         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
333         before casting to void *.
334         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
335         * oacc-mem.c: Don't include config.h nor stdint.h.
336         * target.c: Don't include config.h.
337         * oacc-cuda.c: Likewise.
338         * oacc-host.c: Don't include stdint.h.
340 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
342         PR libgomp/90527
343         * alloc.c (_GNU_SOURCE): Define.
345 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
347         * acc_prof.h: New file.
348         * oacc-profiling.c: Likewise.
349         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
350         Add these, respectively.
351         * Makefile.in: Regenerate.
352         * env.c (initialize_env): Call goacc_profiling_initialize.
353         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
354         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
355         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
356         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
357         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
358         acc_prof_register, acc_prof_unregister, and acc_register_library.
359         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
360         GOMP_PLUGIN_goacc_thread.
361         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
362         prof_callbacks_enabled members.
363         (goacc_prof_enabled, goacc_profiling_initialize)
364         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
365         (goacc_profiling_dispatch): Declare.
366         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
367         (GOACC_PROFILING_SETUP_P): Define.
368         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
369         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
370         OpenACC Profiling Interface.
371         * oacc-cuda.c (acc_get_current_cuda_device)
372         (acc_get_current_cuda_context, acc_get_cuda_stream)
373         (acc_set_cuda_stream): Likewise.
374         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
375         (acc_init, acc_set_device_type, acc_get_device_type)
376         (acc_get_device_num, goacc_lazy_initialize): Likewise.
377         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
378         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
379         (acc_unmap_data, present_create_copy, delete_copyout)
380         (update_dev_host): Likewise.
381         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
382         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
383         Likewise.
384         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
385         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
386         Likewise.
387         * libgomp.texi: Update.
388         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
389         file.
390         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
391         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
392         Likewise.
393         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
394         Likewise.
395         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
396         Likewise.
397         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
398         Likewise.
400 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
402         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
403         (struct goacc_asyncqueue_list): Likewise.
404         (goacc_aq): Likewise.
405         (goacc_aq_list): Likewise.
406         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
407         (GOMP_OFFLOAD_openacc_async_test): Remove.
408         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
409         (GOMP_OFFLOAD_openacc_async_wait): Remove.
410         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
411         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
412         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
413         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
414         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
415         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
416         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
417         (GOMP_OFFLOAD_openacc_async_exec): Declare.
418         (GOMP_OFFLOAD_openacc_async_construct): Declare.
419         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
420         (GOMP_OFFLOAD_openacc_async_test): Declare.
421         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
422         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
423         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
424         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
425         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
427         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
428         (gomp_acc_insert_pointer): Adjust declaration.
429         (gomp_copy_host2dev): New declaration.
430         (gomp_copy_dev2host): Likewise.
431         (gomp_map_vars_async): Likewise.
432         (gomp_unmap_tgt): Likewise.
433         (gomp_unmap_vars_async): Likewise.
434         (gomp_fini_device): Likewise.
436         * oacc-async.c (get_goacc_thread): New function.
437         (get_goacc_thread_device): New function.
438         (lookup_goacc_asyncqueue): New function.
439         (get_goacc_asyncqueue): New function.
440         (acc_async_test): Adjust code to use new async design.
441         (acc_async_test_all): Likewise.
442         (acc_wait): Likewise.
443         (acc_wait_async): Likewise.
444         (acc_wait_all): Likewise.
445         (acc_wait_all_async): Likewise.
446         (goacc_async_free): New function.
447         (goacc_init_asyncqueues): Likewise.
448         (goacc_fini_asyncqueues): Likewise.
449         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
450         design.
451         (acc_set_cuda_stream): Likewise.
452         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
453         (host_openacc_register_async_cleanup): Remove.
454         (host_openacc_async_exec): New function.
455         (host_openacc_async_test): Adjust parameters.
456         (host_openacc_async_test_all): Remove.
457         (host_openacc_async_wait): Remove.
458         (host_openacc_async_wait_async): Remove.
459         (host_openacc_async_wait_all): Remove.
460         (host_openacc_async_wait_all_async): Remove.
461         (host_openacc_async_set_async): Remove.
462         (host_openacc_async_synchronize): New function.
463         (host_openacc_async_serialize): New function.
464         (host_openacc_async_host2dev): New function.
465         (host_openacc_async_dev2host): New function.
466         (host_openacc_async_queue_callback): New function.
467         (host_openacc_async_construct): New function.
468         (host_openacc_async_destruct): New function.
469         (struct gomp_device_descr host_dispatch): Remove initialization of old
470         interface, add intialization of new async sub-struct.
471         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
472         (goacc_attach_host_thread_to_device): Remove old async code usage.
473         * oacc-int.h (goacc_init_asyncqueues): New declaration.
474         (goacc_fini_asyncqueues): Likewise.
475         (goacc_async_copyout_unmap_vars): Likewise.
476         (goacc_async_free): Likewise.
477         (get_goacc_asyncqueue): Likewise.
478         (lookup_goacc_asyncqueue): Likewise.
479         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
480         design.
481         (present_create_copy): Adjust code to use new async design.
482         (delete_copyout): Likewise.
483         (update_dev_host): Likewise.
484         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
485         async design.
486         (gomp_acc_remove_pointer): Adjust code to use new async design.
487         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
488         design.
489         (GOACC_enter_exit_data): Likewise.
490         (goacc_wait): Likewise.
491         (GOACC_update): Likewise.
492         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
493         when called, warn as obsolete in comment.
494         * target.c (goacc_device_copy_async): New function.
495         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
496         add goacc_device_copy_async case.
497         (gomp_copy_dev2host): Likewise.
498         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
499         (gomp_map_pointer): Likewise.
500         (gomp_map_fields_existing): Likewise.
501         (gomp_map_vars_internal): New always_inline function, renamed from
502         gomp_map_vars.
503         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
504         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
505         passing goacc_asyncqueue argument.
506         (gomp_unmap_tgt): Remove static, add attribute_hidden.
507         (gomp_unref_tgt): New function.
508         (gomp_unmap_vars_internal): New always_inline function, renamed from
509         gomp_unmap_vars.
510         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
511         (gomp_unmap_vars_async): Implement by calling
512         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
513         (gomp_fini_device): New function.
514         (gomp_exit_data): Adjust gomp_copy_dev2host call.
515         (gomp_load_plugin_for_device): Remove old interface, adjust to load
516         new async interface.
517         (gomp_target_fini): Adjust code to call gomp_fini_device.
519         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
520         (struct ptx_stream): Remove.
521         (struct nvptx_thread): Remove current_stream field.
522         (cuda_map_create): Remove.
523         (cuda_map_destroy): Remove.
524         (map_init): Remove.
525         (map_fini): Remove.
526         (map_pop): Remove.
527         (map_push): Remove.
528         (struct goacc_asyncqueue): Define.
529         (struct nvptx_callback): Define.
530         (struct ptx_free_block): Define.
531         (struct ptx_device): Remove null_stream, active_streams, async_streams,
532         stream_lock, and next fields.
533         (enum ptx_event_type): Remove.
534         (struct ptx_event): Remove.
535         (ptx_event_lock): Remove.
536         (ptx_events): Remove.
537         (init_streams_for_device): Remove.
538         (fini_streams_for_device): Remove.
539         (select_stream_for_async): Remove.
540         (nvptx_init): Remove ptx_events and ptx_event_lock references.
541         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
542         case.
543         (nvptx_open_device): Add free_blocks initialization, remove
544         init_streams_for_device call.
545         (nvptx_close_device): Remove fini_streams_for_device call, add
546         free_blocks destruct code.
547         (event_gc): Remove.
548         (event_add): Remove.
549         (nvptx_exec): Adjust parameters and code.
550         (nvptx_free): Likewise.
551         (nvptx_host2dev): Remove.
552         (nvptx_dev2host): Remove.
553         (nvptx_set_async): Remove.
554         (nvptx_async_test): Remove.
555         (nvptx_async_test_all): Remove.
556         (nvptx_wait): Remove.
557         (nvptx_wait_async): Remove.
558         (nvptx_wait_all): Remove.
559         (nvptx_wait_all_async): Remove.
560         (nvptx_get_cuda_stream): Remove.
561         (nvptx_set_cuda_stream): Remove.
562         (GOMP_OFFLOAD_alloc): Adjust code.
563         (GOMP_OFFLOAD_free): Likewise.
564         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
565         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
566         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
567         (GOMP_OFFLOAD_openacc_async_wait): Remove.
568         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
569         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
570         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
571         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
572         (cuda_free_argmem): New function.
573         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
574         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
575         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
576         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
577         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
578         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
579         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
580         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
581         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
582         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
583         (cuda_callback_wrapper): New function.
584         (cuda_memcpy_sanity_check): New function.
585         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
586         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
587         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
588         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
590 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
592         PR target/87835
593         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
595 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
597         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
599 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
601         * team.c (gomp_team_start): Initialize pool->threads[0].
603 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
605         * testsuite/libgomp.oacc-c++/c++.exp: Specify
606         "-foffload=$offload_target".
607         * testsuite/libgomp.oacc-c/c.exp: Likewise.
608         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
609         * testsuite/lib/libgomp.exp
610         (check_effective_target_openacc_nvidia_accel_configured): Remove,
611         as (conceptually) merged into
612         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
613         users.
615         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
616         * testsuite/libgomp-test-support.exp.in: Adjust.
617         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
618         openacc_device_types_s.
619         (offload_target_to_openacc_device_type): New proc.
620         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
621         * testsuite/libgomp.oacc-c/c.exp: Likewise.
622         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
623         * Makefile.in: Regenerate.
624         * configure: Likewise.
625         * testsuite/Makefile.in: Likewise.
627         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
628         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
629         instead of OFFLOAD_TARGETS.
630         * target.c (gomp_target_init): Adjust.
631         * testsuite/libgomp-test-support.exp.in: Likewise.
632         * testsuite/lib/libgomp.exp: Likewise.  Populate
633         openacc_device_types_s instead of offload_targets_s_openacc.
634         (check_effective_target_openacc_nvidia_accel_selected)
635         (check_effective_target_openacc_host_selected): Adjust.
636         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
637         * testsuite/libgomp.oacc-c/c.exp: Likewise.
638         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
639         * Makefile.in: Regenerate.
640         * config.h.in: Likewise.
641         * configure: Likewise.
642         * testsuite/Makefile.in: Likewise.
644         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
645         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
646         "offloading: supported, but hardware not accessible".
647         * testsuite/libgomp.oacc-c/c.exp: Likewise.
648         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
650 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
652         PR c/87924
653         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
654         goacc_wait().
655         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
656         and related adjustment.
658 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
660         PR c++/88988
661         * testsuite/libgomp.c++/pr88988.C: New test.
663 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
665         PR middle-end/89002
666         * testsuite/libgomp.c/pr89002.c: New test.
668 2019-01-28  Richard Biener  <rguenther@suse.de>
670         PR testsuite/89064
671         PR tree-optimization/86865
672         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
674 2019-01-24  Tom de Vries  <tdevries@suse.de>
676         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
677         once instantiated_devices drops to 0.
679 2019-01-23  Tom de Vries  <tdevries@suse.de>
681         PR target/PR88946
682         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
683         cuMemFree.
684         (nvptx_exec): Don't call map_push if mapnum == 0.
685         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
687 2019-01-23  Tom de Vries  <tdevries@suse.de>
689         PR target/88941
690         PR target/88939
691         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
692         (map_fini): Remove "assert (!s->map->active)".
693         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
695 2019-01-23  Tom de Vries  <tdevries@suse.de>
697         PR target/87835
698         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
699         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
701 2019-01-15  Tom de Vries  <tdevries@suse.de>
703         PR target/80547
704         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
705         New test.
707 2019-01-12  Tom de Vries  <tdevries@suse.de>
709         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
710         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
711         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
712         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
714 2019-01-12  Tom de Vries  <tdevries@suse.de>
716         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
718 2019-01-12  Tom de Vries  <tdevries@suse.de>
720         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
721         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
722         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
724 2019-01-12  Tom de Vries  <tdevries@suse.de>
726         PR target/85486
727         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
728         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
730 2019-01-12  Tom de Vries  <tdevries@suse.de>
732         PR target/85381
733         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
734         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
736 2019-01-12  Tom de Vries  <tdevries@suse.de>
738         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
739         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
740         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
742 2019-01-12  Tom de Vries  <tdevries@suse.de>
744         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
745         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
746         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
748 2019-01-12  Tom de Vries  <tdevries@suse.de>
750         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
751         resources diagnostic.
753 2019-01-12  Tom de Vries  <tdevries@suse.de>
755         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
756         vector length to be 128.
757         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
758         length 2097152 to be reduced to 1024 instead of 32.
760 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
761             James Norris  <jnorris@codesourcery.com>
763         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
764         Library Routines", and "Environment Variables".
766 2019-01-11  Tom de Vries  <tdevries@suse.de>
768         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
769         num_workers 16.
771 2019-01-11  Tom de Vries  <tdevries@suse.de>
773         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
774         -foffload=-w.
775         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
776         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
777         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
778         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
780 2019-01-11  Tom de Vries  <tdevries@suse.de>
782         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
783         test.
785 2019-01-10  Nathan Sidwell  <nathan@acm.org>
786             Julian Brown  <julian@codesourcery.com>
788         PR lto/71959
789         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
790         * testsuite/libgomp.oacc-c++/pr71959.C: New.
792 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
794         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
795         and paste code.
797 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
799         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
800         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
801         write.
803 2019-01-09  Tom de Vries  <tdevries@suse.de>
805         PR target/88756
806         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
807         #define instead of "const int".
808         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
809         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
810         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
811         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
813 2019-01-09  Tom de Vries  <tdevries@suse.de>
815         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
816         one worker.
818 2019-01-07  Tom de Vries  <tdevries@suse.de>
820         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
821         GOMP_OPENACC_DIM argument.
823 2019-01-03  Tom de Vries  <tdevries@suse.de>
825         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
826         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
828 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
830         Update copyright years.
832 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
834         * libgomp.texi: Bump @copying's copyright year.
836 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
838         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
839         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
840         (GOACC_declare): Redefine the "device" argument to "flags".
842 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
843             Cesar Philippidis  <cesar@codesourcery.com>
845         * target.c (struct gomp_coalesce_chunk): New structure.
846         (struct gomp_coalesce_buf): Update the chunks member to use that
847         type.  Adjust all users.
849 2018-12-19  Tom de Vries  <tdevries@suse.de>
851         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
852         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
853         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
855 2018-12-19  Tom de Vries  <tdevries@suse.de>
857         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
858         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
859         gcc/testsuite/gcc.dg/goacc.
860         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
862 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
863             Chung-Lin Tang  <cltang@codesourcery.com>
865         * oacc-mem.c (acc_present_or_create): Remove definition and change
866         to alias of acc_create.
867         (acc_present_or_copyin): Remove definition and change to alias of
868         acc_copyin.
869         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
870         of acc_present_or_create.
871         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
872         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
873         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
874         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
875         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
876         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
877         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
878         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
879         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
880         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
881         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
882         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
883         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
884         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
885         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
886         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
888 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
890         PR libgomp/88495
891         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
892         "identical parameters".
893         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
894         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
896         PR libgomp/88484
897         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
898         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
900         PR libgomp/88407
901         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
902         (nvptx_wait_async): Unseen async-argument is a no-op.
903         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
904         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
905         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
906         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
907         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
908         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
909         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
910         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
911         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
913         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
914         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
916 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
918         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
919         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
920         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
922 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
924         PR libgomp/88370
925         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
926         (acc_set_cuda_stream): Clarify.
927         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
928         "async_valid_p".
929         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
930         acc_async_sync".
931         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
932         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
933         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
934         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
936 2018-12-14  Tom de Vries  <tdevries@suse.de>
938         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
939         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
940         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
941         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
942         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
944 2018-12-13  Tom de Vries  <tdevries@suse.de>
946         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
947         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
948         * fortran.c (omp_display_affinity_): ... here.
949         * libgomp.h (gomp_print_string): Declare.
950         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
951         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
952         write.
954 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
956         PR libgomp/88460
957         * testsuite/libgomp.c++/for-24.C (results): Include it in
958         omp declare target region.
959         (main): Use map (always, tofrom: results) instead of
960         map (tofrom: results).
962 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
964         PR fortran/88463
965         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
966         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
968         * testsuite/libgomp.c-c++-common/for-16.c: New test.
970 2018-12-12  Andreas Schwab  <schwab@suse.de>
972         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
973         clobbered.
975 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
977         PR fortran/88411
978         * testsuite/libgomp.fortran/async_io_8.f90: New test.
980 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
981             Jakub Jelinek  <jakub@redhat.com>
983         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
984         devicep->host2dev_func.
986 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
988         PR libgomp/87995
989         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
990         tls_runtime effective target.
991         (t): New threadprivate variable.
992         (main): Set t in threads which execute iterations of the worksharing
993         loop.  Propagate that to the task after the loop and don't abort
994         if the current taskgroup hasn't been cancelled.
996 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
998         * testsuite/libgomp.c/task-reduction-3.c: New test.
1000         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1002 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
1004         PR libgomp/88288
1005         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1006         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1008 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
1010         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1012 2018-10-19  Richard Biener  <rguenther@suse.de>
1014         PR tree-optimization/88182
1015         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1017 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
1019         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1020         (RUNTEST): Don't define.
1021         (RUNTESTDEFAULTFLAGS): Add.
1022         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1023         (distclean-am): Depend on distclean-DEJAGNU.
1024         (check-am): If -j% option is present in MFLAGS and if
1025         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1026         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1027         * testsuite/Makefile.in: Regenerated.
1029 2018-11-26  Richard Biener  <rguenther@suse.de>
1031         PR tree-optimization/88182
1032         * testsuite/libgomp.c++/pr88182.C: New testcase.
1034 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
1036         PR bootstrap/88106
1037         * config/mingw32/affinity-fmt.c: New file.
1039 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
1041         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1042         (gomp_display_affinity): Use __builtin_choose_expr to handle
1043         properly handle argument having integral, or pointer or some other
1044         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
1045         with uint64_t type instead of %llx and unsigned long long.
1047         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1048         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1050 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1052         * affinity.c: Include <string.h>, <stdio.h>.
1053         (gomp_display_affinity_place): Remove cpusetp.
1054         * teams.c: Include <limits.h>.
1056 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
1058         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1059         in_reduction clause for s[0].
1061         * affinity.c (gomp_display_affinity_place): New function.
1062         * affinity-fmt.c: New file.
1063         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1064         * config/linux/affinity.c (gomp_display_affinity_place): New function.
1065         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1066         Move these functions to ...
1067         * config/nvptx/teams.c: ... here.  New file.
1068         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1069         New functions.
1070         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1071         functions.
1072         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1073         and _aligned_malloc.
1074         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1075         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1076         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1077         gomp_affinity_format_len): New variables.
1078         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1079         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
1080         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1081         modifiers.  Display (non-default) chunk sizes.  Print
1082         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1083         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
1084         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1085         * fortran.c: Include stdio.h and string.h.
1086         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1087         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1088         (omp_set_affinity_format_, omp_get_affinity_format_,
1089         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1090         omp_pause_resource_all_): New functions.
1091         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1092         switch.
1093         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1094         functions to ...
1095         * teams.c: ... here.  New file.
1096         * libgomp_g.h: Include gstdint.h.
1097         (GOMP_loop_nonmonotonic_runtime_start,
1098         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1099         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1100         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1101         GOMP_parallel_loop_nonmonotonic_runtime,
1102         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1103         GOMP_loop_ull_nonmonotonic_runtime_start,
1104         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1105         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1106         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1107         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1108         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1109         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1110         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1111         GOMP_teams_reg): Declare.
1112         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1113         gomp_aligned_alloc uses fallback implementation.
1114         (gomp_aligned_alloc, gomp_aligned_free): Declare.
1115         (enum gomp_schedule_type): Add GFS_MONOTONIC.
1116         (struct gomp_doacross_work_share): Add extra field.
1117         (struct gomp_work_share): Add task_reductions field.
1118         (struct gomp_taskgroup): Add workshare and reductions fields.
1119         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1120         (gomp_thread_handle): New typedef.
1121         (gomp_display_affinity_place, gomp_set_affinity_format,
1122         gomp_display_string, gomp_display_affinity,
1123         gomp_display_affinity_thread): Declare.
1124         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1125         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1126         gomp_workshare_task_reduction_register): Declare.
1127         (gomp_team_start): Add taskgroup argument.
1128         (gomp_pause_host): Declare.
1129         (gomp_init_work_share, gomp_work_share_start): Change bool argument
1130         to size_t.
1131         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1132         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1133         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1134         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1135         GOMP_loop_ull_doacross_start,
1136         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1137         GOMP_loop_maybe_nonmonotonic_runtime_next,
1138         GOMP_loop_maybe_nonmonotonic_runtime_start,
1139         GOMP_loop_nonmonotonic_runtime_next,
1140         GOMP_loop_nonmonotonic_runtime_start,
1141         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1142         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1143         GOMP_loop_ull_nonmonotonic_runtime_next,
1144         GOMP_loop_ull_nonmonotonic_runtime_start,
1145         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1146         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1147         GOMP_taskgroup_reduction_register,
1148         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1149         GOMP_teams_reg and GOMP_taskwait_depend.
1150         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1151         omp_{capture,display}_affinity{,_}, and
1152         omp_[gs]et_affinity_format{,_}.
1153         * loop.c: Include string.h.
1154         (GOMP_loop_runtime_next): Add ialias.
1155         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1156         (gomp_loop_static_start, gomp_loop_dynamic_start,
1157         gomp_loop_guided_start, gomp_loop_ordered_static_start,
1158         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1159         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1160         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1161         or gomp_doacross_init callers.
1162         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1163         GOMP_loop_doacross_start): New functions.
1164         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1165         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1166         Mask off GFS_MONOTONIC bit.
1167         (GOMP_loop_maybe_nonmonotonic_runtime_next,
1168         GOMP_loop_maybe_nonmonotonic_runtime_start,
1169         GOMP_loop_nonmonotonic_runtime_next,
1170         GOMP_loop_nonmonotonic_runtime_start,
1171         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1172         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1173         functions.
1174         (gomp_parallel_loop_start): Pass NULL as taskgroup to
1175         gomp_team_start.
1176         * loop_ull.c: Include string.h.
1177         (GOMP_loop_ull_runtime_next): Add ialias.
1178         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1179         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1180         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1181         gomp_loop_ull_ordered_dynamic_start,
1182         gomp_loop_ull_ordered_guided_start,
1183         gomp_loop_ull_doacross_static_start,
1184         gomp_loop_ull_doacross_dynamic_start,
1185         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1186         and gomp_doacross_ull_init callers.
1187         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1188         GOMP_loop_ull_doacross_start): New functions.
1189         (GOMP_loop_ull_runtime_start,
1190         GOMP_loop_ull_ordered_runtime_start,
1191         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1192         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1193         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1194         GOMP_loop_ull_nonmonotonic_runtime_next,
1195         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1196         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1197         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1198         (omp_pause_resource_t, omp_depend_t): New typedefs.
1199         (enum omp_lock_hint_t): Renamed to ...
1200         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
1201         enumerators using numbers and omp_lock_hint_* as their aliases.
1202         (omp_lock_hint_t): New typedef.  Rename to ...
1203         (omp_sync_hint_t): ... this.
1204         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1205         omp_sync_hint_t instead of omp_lock_hint_t.
1206         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1207         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1208         Declare.
1209         (omp_target_is_present, omp_target_disassociate_ptr):
1210         Change first argument from void * to const void *.
1211         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1212         from void * to const void *.
1213         (omp_target_associate_ptr): Change first and second arguments from
1214         void * to const void *.
1215         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1216         omp_pause_hard): New parameters.
1217         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1218         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1219         New interfaces.
1220         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1221         omp_pause_hard): New parameters.
1222         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1223         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1224         New externals.
1225         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1226         EXTRA argument.  If not needed to prepare array, if extra is 0,
1227         clear ws->doacross, otherwise allocate just doacross structure and
1228         extra payload.  If array is needed, allocate also extra payload.
1229         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1230         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1231         doacross == NULL.
1232         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1233         gomp_team_start.
1234         (GOMP_parallel): Likewise.  Formatting fix.
1235         (GOMP_parallel_reductions): New function.
1236         (GOMP_cancellation_point): If taskgroup has workshare
1237         flag set, check cancelled of prev taskgroup if any.
1238         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1239         on prev taskgroup if any.
1240         * sections.c: Include string.h.
1241         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1242         (GOMP_sections_start): Adjust gomp_work_share_start caller.
1243         (GOMP_sections2_start): New function.
1244         (GOMP_parallel_sections_start, GOMP_parallel_sections):
1245         Pass NULL as taskgroup to gomp_team_start.
1246         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1247         gomp_work_share_start callers.
1248         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1249         If taskgroup has workshare flag set, check cancelled on prev
1250         taskgroup if any.  Guard all cancellation tests with
1251         gomp_cancel_var test.
1252         (omp_target_is_present, omp_target_disassociate_ptr):
1253         Change ptr argument from void * to const void *.
1254         (omp_target_memcpy): Change src argument from void * to const void *.
1255         (omp_target_memcpy_rect): Likewise.
1256         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
1257         instead of char * where needed.
1258         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1259         from void * to const void *.
1260         (omp_pause_resource, omp_pause_resource_all): New functions.
1261         * task.c (gomp_task_handle_depend): Handle new depend array format
1262         in addition to the old.  Handle mutexinoutset kinds the same as
1263         inout for now, handle unspecified kinds.
1264         (gomp_create_target_task): If taskgroup has workshare flag set, check
1265         cancelled on prev taskgroup if any.  Guard all cancellation tests with
1266         gomp_cancel_var test.  Handle new depend array format count in
1267         addition to the old.
1268         (GOMP_task): Likewise.  Adjust function comment.
1269         (gomp_task_run_pre): If taskgroup has workshare flag set, check
1270         cancelled on prev taskgroup if any.  Guard all cancellation tests with
1271         gomp_cancel_var test.
1272         (GOMP_taskwait_depend): New function.
1273         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1274         format in addition to the old.  Handle mutexinoutset kinds the same as
1275         inout for now, handle unspecified kinds.  Fix a function comment typo.
1276         (gomp_taskgroup_init): New function.
1277         (GOMP_taskgroup_start): Use it.
1278         (gomp_reduction_register, gomp_create_artificial_team,
1279         GOMP_taskgroup_reduction_register,
1280         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1281         gomp_parallel_reduction_register,
1282         gomp_workshare_task_reduction_register,
1283         gomp_workshare_taskgroup_start,
1284         GOMP_workshare_task_reduction_unregister): New functions.
1285         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1286         check cancelled on prev taskgroup if any.  Guard all cancellation
1287         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
1288         by calling GOMP_taskgroup_reduction_register.
1289         * team.c (gomp_thread_attr): Remove comment.
1290         (struct gomp_thread_start_data): Add handle field.
1291         (gomp_thread_start): Call pthread_detach.
1292         (gomp_new_team): Adjust gomp_init_work_share caller.
1293         (gomp_free_pool_helper): Call pthread_detach.
1294         (gomp_team_start): Add taskgroup argument, initialize implicit
1295         tasks' taskgroup field to that.  Don't call
1296         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
1297         (gomp_team_end): Determine nesting by thr->ts.level != 0
1298         rather than thr->ts.team != NULL.
1299         (gomp_pause_pool_helper, gomp_pause_host): New functions.
1300         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1301         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1302         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1303         if more than 1 allocate also extra payload at the end of array.  Never
1304         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1305         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1306         return true instead of ws.
1307         * Makefile.in: Regenerated.
1308         * configure: Regenerated.
1309         * config.h.in: Regenerated.
1310         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1311         in some cases.
1312         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1313         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1314         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1315         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1316         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1317         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1318         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1319         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1320         * testsuite/libgomp.c-c++-common/for-10.c: New test.
1321         * testsuite/libgomp.c-c++-common/for-11.c: New test.
1322         * testsuite/libgomp.c-c++-common/for-12.c: New test.
1323         * testsuite/libgomp.c-c++-common/for-13.c: New test.
1324         * testsuite/libgomp.c-c++-common/for-14.c: New test.
1325         * testsuite/libgomp.c-c++-common/for-15.c: New test.
1326         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1327         define a different N(test), don't define N(f0) to N(f14), but instead
1328         define N(f20) to N(f34) using != comparisons.
1329         * testsuite/libgomp.c-c++-common/for-7.c: New test.
1330         * testsuite/libgomp.c-c++-common/for-8.c: New test.
1331         * testsuite/libgomp.c-c++-common/for-9.c: New test.
1332         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1333         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1334         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1335         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1336         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1337         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1338         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1339         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1340         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1341         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1342         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1343         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1344         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1345         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1346         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1347         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1348         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1349         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1350         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1351         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1352         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1353         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1354         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1355         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1356         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1357         * testsuite/libgomp.c++/depend-1.C: New test.
1358         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1359         * testsuite/libgomp.c++/depobj-1.C: New test.
1360         * testsuite/libgomp.c++/for-16.C: New test.
1361         * testsuite/libgomp.c++/for-21.C: New test.
1362         * testsuite/libgomp.c++/for-22.C: New test.
1363         * testsuite/libgomp.c++/for-23.C: New test.
1364         * testsuite/libgomp.c++/for-24.C: New test.
1365         * testsuite/libgomp.c++/for-25.C: New test.
1366         * testsuite/libgomp.c++/for-26.C: New test.
1367         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1368         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1369         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1370         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1371         * testsuite/libgomp.c++/task-reduction-10.C: New test.
1372         * testsuite/libgomp.c++/task-reduction-11.C: New test.
1373         * testsuite/libgomp.c++/task-reduction-12.C: New test.
1374         * testsuite/libgomp.c++/task-reduction-13.C: New test.
1375         * testsuite/libgomp.c++/task-reduction-14.C: New test.
1376         * testsuite/libgomp.c++/task-reduction-15.C: New test.
1377         * testsuite/libgomp.c++/task-reduction-16.C: New test.
1378         * testsuite/libgomp.c++/task-reduction-17.C: New test.
1379         * testsuite/libgomp.c++/task-reduction-18.C: New test.
1380         * testsuite/libgomp.c++/task-reduction-19.C: New test.
1381         * testsuite/libgomp.c/task-reduction-1.c: New test.
1382         * testsuite/libgomp.c++/task-reduction-1.C: New test.
1383         * testsuite/libgomp.c/task-reduction-2.c: New test.
1384         * testsuite/libgomp.c++/task-reduction-2.C: New test.
1385         * testsuite/libgomp.c++/task-reduction-3.C: New test.
1386         * testsuite/libgomp.c++/task-reduction-4.C: New test.
1387         * testsuite/libgomp.c++/task-reduction-5.C: New test.
1388         * testsuite/libgomp.c++/task-reduction-6.C: New test.
1389         * testsuite/libgomp.c++/task-reduction-7.C: New test.
1390         * testsuite/libgomp.c++/task-reduction-8.C: New test.
1391         * testsuite/libgomp.c++/task-reduction-9.C: New test.
1392         * testsuite/libgomp.c/teams-1.c: New test.
1393         * testsuite/libgomp.c/teams-2.c: New test.
1394         * testsuite/libgomp.c/thread-limit-4.c: New test.
1395         * testsuite/libgomp.c/thread-limit-5.c: New test.
1396         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1398 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
1400         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1401         acc_memcpy_to/from_device functions, now with async parameter.
1402         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1403         (acc_memcpy_from_device): Likewise.
1404         (acc_memcpy_to_device_async): New API function.
1405         (acc_memcpy_from_device_async): Likewise.
1406         (present_create_copy): Add async parameter and async setting/unsetting.
1407         (acc_create): Adjust present_create_copy call.
1408         (acc_copyin): Likewise.
1409         (acc_present_or_create): Likewise.
1410         (acc_present_or_copyin): Likewise.
1411         (acc_create_async): New API function.
1412         (acc_copyin_async): New API function.
1413         (delete_copyout): Add async parameter and async setting/unsetting.
1414         (acc_delete): Adjust delete_copyout call.
1415         (acc_copyout): Likewise.
1416         (acc_delete_async): New API function.
1417         (acc_copyout_async): Likewise.
1418         (update_dev_host): Add async parameter and async setting/unsetting.
1419         (acc_update_device): Adjust update_dev_host call.
1420         (acc_update_self): Likewise.
1421         (acc_update_device_async): New API function.
1422         (acc_update_self_async): Likewise.
1423         * openacc.h (acc_copyin_async): Declare new API function.
1424         (acc_create_async): Likewise.
1425         (acc_copyout_async): Likewise.
1426         (acc_delete_async): Likewise.
1427         (acc_update_device_async): Likewise.
1428         (acc_update_self_async): Likewise.
1429         (acc_memcpy_to_device_async): Likewise.
1430         (acc_memcpy_from_device_async): Likewise.
1431         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1432         (acc_copyin_async_64_h): New subroutine.
1433         (acc_copyin_async_array_h): New subroutine.
1434         (acc_create_async_32_h): New subroutine.
1435         (acc_create_async_64_h): New subroutine.
1436         (acc_create_async_array_h): New subroutine.
1437         (acc_copyout_async_32_h): New subroutine.
1438         (acc_copyout_async_64_h): New subroutine.
1439         (acc_copyout_async_array_h): New subroutine.
1440         (acc_delete_async_32_h): New subroutine.
1441         (acc_delete_async_64_h): New subroutine.
1442         (acc_delete_async_array_h): New subroutine.
1443         (acc_update_device_async_32_h): New subroutine.
1444         (acc_update_device_async_64_h): New subroutine.
1445         (acc_update_device_async_array_h): New subroutine.
1446         (acc_update_self_async_32_h): New subroutine.
1447         (acc_update_self_async_64_h): New subroutine.
1448         (acc_update_self_async_array_h): New subroutine.
1449         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1450         (acc_copyin_async_64_h): New subroutine.
1451         (acc_copyin_async_array_h): New subroutine.
1452         (acc_create_async_32_h): New subroutine.
1453         (acc_create_async_64_h): New subroutine.
1454         (acc_create_async_array_h): New subroutine.
1455         (acc_copyout_async_32_h): New subroutine.
1456         (acc_copyout_async_64_h): New subroutine.
1457         (acc_copyout_async_array_h): New subroutine.
1458         (acc_delete_async_32_h): New subroutine.
1459         (acc_delete_async_64_h): New subroutine.
1460         (acc_delete_async_array_h): New subroutine.
1461         (acc_update_device_async_32_h): New subroutine.
1462         (acc_update_device_async_64_h): New subroutine.
1463         (acc_update_device_async_array_h): New subroutine.
1464         (acc_update_self_async_32_h): New subroutine.
1465         (acc_update_self_async_64_h): New subroutine.
1466         (acc_update_self_async_array_h): New subroutine.
1467         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1468         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1469         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1470         acc_memcpy_to_device_async*, acc_update_device_async*, and
1471         acc_update_self_async* entries.
1472         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1473         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1474         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1476 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
1478         PR bootstrap/82856
1479         * Makefile.am: Include multilib.am
1480         (AUTOMAKE_OPTIONS): Add info-in-builddir.
1481         (CLEANFILES): Remove libgomp.info.
1482         * configure.ac: Remove AC_PREREQ.
1483         * testsuite/Makefile.am (RUNTEST): Remove quotes.
1484         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1485         Regenerate.
1487 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
1488             Julian Brown  <julian@codesourcery.com>
1490         * testsuite/libgomp.oacc-c++/this.C: New.
1492 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
1494         * plugin/plugin-nvptx.c (struct cuda_map): New.
1495         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1496         h_tail with (cuda_map *) map.
1497         (cuda_map_create): New function.
1498         (cuda_map_destroy): New function.
1499         (map_init): Update to use a linked list of cuda_map objects.
1500         (map_fini): Likewise.
1501         (map_pop): Likewise.
1502         (map_push): Likewise.  Return CUdeviceptr instead of void.
1503         (init_streams_for_device): Remove stales references to ptx_stream
1504         members.
1505         (select_stream_for_async): Likewise.
1506         (nvptx_exec): Update call to map_init.
1508 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
1509             Julian Brown  <julian@codesourcery.com>
1511         PR middle-end/86336
1512         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1514 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
1515         Thomas Koenig <tkoenig@gcc.gnu.org>
1517         PR fortran/25829
1518         * testsuite/libgomp.fortran/async_io_1.f90: New test.
1519         * testsuite/libgomp.fortran/async_io_2.f90: New test.
1520         * testsuite/libgomp.fortran/async_io_3.f90: New test.
1521         * testsuite/libgomp.fortran/async_io_4.f90: New test.
1522         * testsuite/libgomp.fortran/async_io_5.f90: New test.
1523         * testsuite/libgomp.fortran/async_io_6.f90: New test.
1524         * testsuite/libgomp.fortran/async_io_7.f90: New test.
1526 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
1527             Tom de Vries  <tdevries@suse.de>
1529         PR target/85590
1530         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
1531         (cuOccupancyMaxPotentialBlockSize): Declare.
1532         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
1533         CUDA_ONE_CALL_MAYBE_NULL.
1534         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
1535         CUoccupancyB2DSize and declare
1536         cuOccupancyMaxPotentialBlockSize.
1537         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
1538         default num_gangs and num_workers when the driver supports it.
1540 2018-08-08  Tom de Vries  <tdevries@suse.de>
1542         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
1543         CUDA_ONE_CALL_MAYBE_NULL.
1544         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
1545         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
1546         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
1547         are not found.
1549 2018-08-08  Tom de Vries  <tdevries@suse.de>
1551         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
1552         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
1553         present.
1555 2018-08-08  Tom de Vries  <tdevries@suse.de>
1557         * plugin/plugin-nvptx.c
1558         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
1559         (nvptx_open_device): Use
1560         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
1562 2018-08-08  Tom de Vries  <tdevries@suse.de>
1564         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
1565         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
1567 2018-08-07  Tom de Vries  <tdevries@suse.de>
1569         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
1570         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
1571         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
1572         corresponding call in CUDA_ONE_CALL.  Add def/undef of
1573         CUDA_ONE_CALL_MAYBE_NULL.
1574         (CUDA_CALL_EXISTS): Define.
1576 2018-08-07  Tom de Vries  <tdevries@suse.de>
1578         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
1579         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
1580         corresponding undefs right after.
1582 2018-08-04  Tom de Vries  <tdevries@suse.de>
1584         * plugin/configfrag.ac: For --without-cuda-driver, set
1585         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
1586         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
1587         * configure: Regenerate.
1589 2018-08-02  Tom de Vries  <tdevries@suse.de>
1591         PR target/86660
1592         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
1593         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1594         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1595         Same.
1596         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1597         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1598         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1600 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
1601             Thomas Schwinge <thomas@codesourcery.com>
1603         * config/nvptx/oacc-parallel.c: Truncate.
1605 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
1606             James Norris <jnorris@codesourcery.com>
1608         * plugin/plugin-nvptx.c (struct map): Removed.
1609         (map_init, map_pop): Remove use of struct map.
1610         (map_push): Likewise and change argument list.
1611         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1613 2018-08-01  Tom de Vries  <tdevries@suse.de>
1615         * plugin/cuda-lib.def: New file.  Factor out of ...
1616         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1617         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1618         using CUDA_CALLS.
1620 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1622         Revert 'AsyncI/O patch committed'.
1623         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
1624                 Thomas Koenig <tkoenig@gcc.gnu.org>
1626         PR fortran/25829
1627         * testsuite/libgomp.fortran/async_io_1.f90: New test.
1628         * testsuite/libgomp.fortran/async_io_2.f90: New test.
1629         * testsuite/libgomp.fortran/async_io_3.f90: New test.
1630         * testsuite/libgomp.fortran/async_io_4.f90: New test.
1631         * testsuite/libgomp.fortran/async_io_5.f90: New test.
1632         * testsuite/libgomp.fortran/async_io_6.f90: New test.
1633         * testsuite/libgomp.fortran/async_io_7.f90: New test.
1635 2018-07-30  Tom de Vries  <tdevries@suse.de>
1637         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1638         (nvptx_exec): Ensure worker and vector default dims don't exceed
1639         targ_fn->max_threads_per_block.
1641 2018-07-30  Tom de Vries  <tdevries@suse.de>
1643         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1644         (nvptx_open_device): Init default_dims for device.
1645         (nvptx_exec): Use default_dims from device.
1647 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
1649         PR testsuite/86660
1650         * testsuite/libgomp.c++/for-15.C (results): Include it in
1651         omp declare target region.
1652         (main): Use map (always, tofrom: results) instead of
1653         map (tofrom: results).
1655         PR middle-end/86660
1656         * testsuite/libgomp.c/pr86660.c: New test.
1658 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
1659             Tom de Vries  <tdevries@suse.de>
1661         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1662         sufficient resources to launch a kernel, and give a hint on how to fix
1663         it.
1665 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
1666             Tom de Vries  <tdevries@suse.de>
1668         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1669         max_threads_per_block and max_threads_per_multiprocessor fields.
1670         (nvptx_open_device): Initialize new fields.
1671         (nvptx_exec): Use num_sms, and new fields.
1673 2018-07-26  Tom de Vries  <tdevries@suse.de>
1675         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1676         to correct locations.  Remove xfail.
1678 2018-07-26  Tom de Vries  <tdevries@suse.de>
1680         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1681         acc_wait.  Move acc_async_test calls to correct locations.  Remove
1682         xfail.
1684 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
1685         Thomas Koenig <tkoenig@gcc.gnu.org>
1687         PR fortran/25829
1688         * testsuite/libgomp.fortran/async_io_1.f90: New test.
1689         * testsuite/libgomp.fortran/async_io_2.f90: New test.
1690         * testsuite/libgomp.fortran/async_io_3.f90: New test.
1691         * testsuite/libgomp.fortran/async_io_4.f90: New test.
1692         * testsuite/libgomp.fortran/async_io_5.f90: New test.
1693         * testsuite/libgomp.fortran/async_io_6.f90: New test.
1694         * testsuite/libgomp.fortran/async_io_7.f90: New test.
1696 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
1698         PR middle-end/86542
1699         * testsuite/libgomp.c++/pr86542.C: New test.
1701         PR middle-end/86539
1702         * testsuite/libgomp.c++/pr86539.C: New test.
1704 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
1706         PR c++/86443
1707         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1708         (results): Make sure the variable is not inside declare target region.
1709         (qux): Remove unused function.
1711 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
1713         PR c++/86443
1714         * testsuite/libgomp.c++/for-15.C: New test.
1716 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
1718         PR c++/86291
1719         * testsuite/libgomp.c++/pr86291.C: New test.
1721 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
1723         * libgomp.texi (Top): Move www.openmp.org to https.
1724         (Enabling OpenMP): Ditto.
1725         (omp_get_active_level): Ditto.
1726         (omp_get_ancestor_thread_num): Ditto.
1727         (omp_get_cancellation): Ditto.
1728         (omp_get_default_device): Ditto.
1729         (omp_get_dynamic): Ditto.
1730         (omp_get_level): Ditto.
1731         (omp_get_max_active_levels): Ditto.
1732         (omp_get_max_task_priority): Ditto.
1733         (omp_get_max_threads): Ditto.
1734         (omp_get_nested): Ditto.
1735         (omp_get_num_devices): Ditto.
1736         (omp_get_num_procs): Ditto.
1737         (omp_get_num_teams): Ditto.
1738         (omp_get_num_threads): Ditto.
1739         (omp_get_proc_bind): Ditto.
1740         (omp_get_schedule): Ditto.
1741         (omp_get_team_num): Ditto.
1742         (omp_get_team_size): Ditto.
1743         (omp_get_thread_limit): Ditto.
1744         (omp_get_thread_num): Ditto.
1745         (omp_in_parallel): Ditto.
1746         (omp_in_final): Ditto.
1747         (omp_is_initial_device): Ditto.
1748         (omp_set_default_device): Ditto.
1749         (omp_set_dynamic): Ditto.
1750         (omp_set_max_active_levels): Ditto.
1751         (omp_set_nested): Ditto.
1752         (omp_set_num_threads): Ditto.
1753         (omp_set_schedule): Ditto.
1754         (omp_init_lock): Ditto.
1755         (omp_set_lock): Ditto.
1756         (omp_test_lock): Ditto.
1757         (omp_unset_lock): Ditto.
1758         (omp_destroy_lock): Ditto.
1759         (omp_init_nest_lock): Ditto.
1760         (omp_set_nest_lock): Ditto.
1761         (omp_test_nest_lock): Ditto.
1762         (omp_unset_nest_lock): Ditto.
1763         (omp_destroy_nest_lock): Ditto.
1764         (omp_get_wtick): Ditto.
1765         (omp_get_wtime): Ditto.
1766         (OMP_CANCELLATION): Ditto.
1767         (OMP_DISPLAY_ENV): Ditto.
1768         (OMP_DEFAULT_DEVICE): Ditto.
1769         (OMP_DYNAMIC): Ditto.
1770         (OMP_MAX_ACTIVE_LEVELS): Ditto.
1771         (OMP_MAX_TASK_PRIORITY): Ditto.
1772         (OMP_NESTED): Ditto.
1773         (OMP_NUM_THREADS): Ditto.
1774         (OMP_PROC_BIND): Ditto.
1775         (OMP_PLACES): Ditto.
1776         (OMP_STACKSIZE): Ditto.
1777         (OMP_SCHEDULE): Ditto.
1778         (OMP_THREAD_LIMIT): Ditto.
1779         (OMP_WAIT_POLICY): Ditto.
1781 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
1782             James Norris  <jnorris@codesourcery.com>
1783             Julian Brown  <julian@codesourcery.com>
1784             Thomas Schwinge  <thomas@codesourcery.com>
1785             Tom de Vries  <tom@codesourcery.com>
1787         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1788         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1789         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1790         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1791         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1792         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1793         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1794         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1795         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1796         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1797         Likewise.
1798         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1799         Likewise.
1800         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1801         Likewise.
1802         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1803         Likewise.
1804         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1805         Likewise.
1806         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1807         Likewise.
1808         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1809         Likewise.
1810         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1811         Likewise.
1812         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1813         Likewise.
1814         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1815         Likewise.
1816         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1817         Likewise.
1818         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1819         Likewise.
1820         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1821         Likewise.
1822         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1823         Likewise.
1824         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1825         Likewise.
1826         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1827         Likewise.
1828         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1829         Likewise.
1830         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1831         Likewise.
1832         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1833         Likewise.
1834         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1835         Likewise.
1836         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1837         Likewise.
1838         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1839         Likewise.
1840         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1841         Likewise.
1842         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1843         Likewise.
1844         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1845         Likewise.
1846         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1847         Likewise.
1848         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1849         Likewise.
1850         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1851         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1852         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1853         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1854         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1855         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1856         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1857         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1858         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1859         Likewise.
1860         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1861         Likewise.
1862         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1863         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1864         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1865         Likewise.
1866         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1867         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1868         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1869         Likewise.
1870         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1871         Likewise.
1872         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1873         Likewise.
1874         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1875         Likewise.
1876         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1877         Likewise.
1878         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1879         Likewise.
1880         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1881         Likewise.
1882         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1883         Likewise.
1884         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1885         Likewise.
1886         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1887         Likewise.
1888         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1889         Likewise.
1890         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1891         Likewise.
1892         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1893         Likewise.
1894         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1895         Likewise.
1896         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1897         Likewise.
1898         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1899         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1900         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1901         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1902         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1903         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1904         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1906 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
1907             Thomas Schwinge <thomas@codesourcery.com>
1908             Cesar Philippidis  <cesar@codesourcery.com>
1910         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1911         (gomp_acc_remove_pointer): Update declaration.
1912         (gomp_acc_declare_allocate): Declare.
1913         (gomp_remove_var): Declare.
1914         * libgomp.map (OACC_2.5): Define.
1915         * oacc-mem.c (acc_map_data): Update refcount.
1916         (acc_unmap_data): Likewise.
1917         (present_create_copy): Likewise.
1918         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1919         (acc_copyin): Likewise.
1920         (FLAG_FINALIZE): Define.
1921         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1922         (acc_delete_finalize): New function.
1923         (acc_delete_finalize_async): New function.
1924         (acc_copyout_finalize): New function.
1925         (acc_copyout_finalize_async): New function.
1926         (gomp_acc_insert_pointer): Update refcounts.
1927         (gomp_acc_remove_pointer): Return if data is not present on the
1928         accelerator.
1929         * oacc-parallel.c (find_pset): Rename to find_pointer.
1930         (find_pointer): Add support for GOMP_MAP_POINTER.
1931         (handle_ftn_pointers): New function.
1932         (GOACC_parallel_keyed): Update refcounts of variables.
1933         (GOACC_enter_exit_data): Add support for finalized data mappings.
1934         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1935         of fortran arrays.
1936         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1937         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1938         for GOMP_MAP_FORCE_FROM.
1939         * openacc.f90 (module openacc_internal): Add
1940         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1941         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1942         acc_copyout_finalize and acc_delete_finalize.
1943         (acc_copyout_finalize_32_h): New subroutine.
1944         (acc_copyout_finalize_64_h): New subroutine.
1945         (acc_copyout_finalize_array_h): New subroutine.
1946         (acc_delete_finalize_32_h): New subroutine.
1947         (acc_delete_finalize_64_h): New subroutine.
1948         (acc_delete_finalize_array_h): New subroutine.
1949         * openacc.h (acc_copyout_finalize): Declare.
1950         (acc_copyout_finalize_async): Declare.
1951         (acc_delete_finalize): Declare.
1952         (acc_delete_finalize_async): Declare.
1953         * openacc_lib.h (acc_copyout_finalize): New interface.
1954         (acc_delete_finalize): New interface.
1955         * target.c (gomp_map_vars): Update dynamic_refcount.
1956         (gomp_remove_var): New function.
1957         (gomp_unmap_vars): Use it.
1958         (gomp_unload_image_from_device): Likewise.
1959         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1960         case to utilize OpenACC 2.5 data clause semantics.
1961         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1962         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1963         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1964         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1965         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1966         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1967         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1968         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1969         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1970         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1971         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1972         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1973         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1974         utilize OpenACC 2.5 data clause semantics.
1975         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1976         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1977         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1978         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1979         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1980         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1981         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1982         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1983         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1985 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
1987         PR fortran/85841
1988         PR testsuite/85865
1989         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1990         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1991         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1992         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1993         * testsuite/libgomp.fortran/task2.f90: Ditto.
1994         * testsuite/libgomp.fortran/vla1.f90: Ditto.
1995         * testsuite/libgomp.fortran/vla2.f90: Ditto.
1996         * testsuite/libgomp.fortran/vla3.f90: Ditto.
1997         * testsuite/libgomp.fortran/vla4.f90: Ditto.
1998         * testsuite/libgomp.fortran/vla5.f90: Ditto.
1999         * testsuite/libgomp.fortran/vla6.f90: Ditto.
2000         * testsuite/libgomp.fortran/vla8.f90: Ditto.
2001         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2002         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2004 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
2006         PR c++/85782
2007         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2009 2018-05-09  Tom de Vries  <tom@codesourcery.com>
2011         PR libgomp/82901
2012         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2013         to GOACC_enter_exit_data.
2015 2018-05-09  Tom de Vries  <tom@codesourcery.com>
2017         PR libgomp/83792
2018         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2019         (async_synchronous_p): New function.
2020         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2021         async_valid_p.
2022         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2023         async_valid_stream_id_p.
2024         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2025         * oacc-parallel.c (GOACC_parallel_keyed): Same.
2027 2018-05-07  Tom de Vries  <tom@codesourcery.com>
2029         PR testsuite/85677
2030         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2031         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2033 2018-05-03  Tom de Vries  <tom@codesourcery.com>
2035         PR testsuite/85106
2036         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2037         extra_tool_flags if it contains an -foffload=-fdump-* flag.
2038         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2039         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2041 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2043         PR libgomp/85411
2044         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2045         GOMP_OPENACC_DIM ...
2046         * env.c (parse_gomp_openacc_dim): ... here.  New function.
2047         (initialize_env): Call parse_gomp_openacc_dim.
2048         (goacc_default_dims): Define.
2049         * libgomp.h (goacc_default_dims): Declare.
2050         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2051         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2052         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2053         GOMP_PLUGIN_acc_default_dim.
2054         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2055         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2057 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2059         PR testsuite/83791
2060         * testsuite/libgomp.c++/udr-9.C: Update.
2061         * testsuite/libgomp.c++/atomic-16.C: Remove.
2062         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2063         * testsuite/libgomp.c++/loop-13.C: Remove.
2064         * testsuite/libgomp.c++/loop-14.C: Remove.
2065         * testsuite/libgomp.c++/loop-15.C: Remove.
2066         * testsuite/libgomp.c++/monotonic-1.C: Remove.
2067         * testsuite/libgomp.c++/monotonic-2.C: Remove.
2068         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2069         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2070         * testsuite/libgomp.c++/ordered-1.C: Remove.
2071         * testsuite/libgomp.c++/pr45784.C: Remove.
2072         * testsuite/libgomp.c++/pr64824.C: Remove.
2073         * testsuite/libgomp.c++/pr64868.C: Remove.
2074         * testsuite/libgomp.c++/pr66199-1.C: Remove.
2075         * testsuite/libgomp.c++/pr66199-2.C: Remove.
2076         * testsuite/libgomp.c++/pr66199-3.C: Remove.
2077         * testsuite/libgomp.c++/pr66199-4.C: Remove.
2078         * testsuite/libgomp.c++/pr66199-5.C: Remove.
2079         * testsuite/libgomp.c++/pr66199-6.C: Remove.
2080         * testsuite/libgomp.c++/pr66199-7.C: Remove.
2081         * testsuite/libgomp.c++/pr66199-8.C: Remove.
2082         * testsuite/libgomp.c++/pr66199-9.C: Remove.
2083         * testsuite/libgomp.c++/pr69389.C: Remove.
2084         * testsuite/libgomp.c++/simd10.C: Remove.
2085         * testsuite/libgomp.c++/simd11.C: Remove.
2086         * testsuite/libgomp.c++/simd12.C: Remove.
2087         * testsuite/libgomp.c++/simd13.C: Remove.
2088         * testsuite/libgomp.c++/target-1.C: Remove.
2089         * testsuite/libgomp.c++/target-3.C: Remove.
2090         * testsuite/libgomp.c++/target-4.C: Remove.
2091         * testsuite/libgomp.c++/target-5.C: Remove.
2092         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2093         * testsuite/libgomp.c++/taskloop-1.C: Remove.
2094         * testsuite/libgomp.c++/taskloop-2.C: Remove.
2095         * testsuite/libgomp.c++/taskloop-3.C: Remove.
2096         * testsuite/libgomp.c++/taskloop-4.C: Remove.
2097         * testsuite/libgomp.c++/udr-9.C: Remove.
2098         * testsuite/libgomp.c++/for-10.C: Remove.
2099         * testsuite/libgomp.c++/for-11.C: Remove.
2100         * testsuite/libgomp.c++/for-12.C: Remove.
2101         * testsuite/libgomp.c++/for-13.C: Remove.
2102         * testsuite/libgomp.c++/for-14.C: Remove.
2103         * testsuite/libgomp.c++/for-9.C: Remove.
2104         * testsuite/libgomp.c/atomic-18.c: Move ...
2105         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2106         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2107         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2108         * testsuite/libgomp.c/loop-13.c: Move ...
2109         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2110         * testsuite/libgomp.c/loop-14.c: Move ...
2111         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2112         * testsuite/libgomp.c/loop-15.c: Remove.
2113         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2114         * testsuite/libgomp.c/monotonic-1.c: Move ...
2115         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2116         * testsuite/libgomp.c/monotonic-2.c: Move ...
2117         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2118         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2119         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2120         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2121         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2122         * testsuite/libgomp.c/ordered-4.c: Move ...
2123         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2124         * testsuite/libgomp.c/pr45784.c: Move ...
2125         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2126         * testsuite/libgomp.c/pr64824.c: Move ...
2127         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2128         * testsuite/libgomp.c/pr64868.c: Move ...
2129         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2130         * testsuite/libgomp.c/pr66199-1.c: Move ...
2131         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2132         * testsuite/libgomp.c/pr66199-2.c: Move ...
2133         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2134         * testsuite/libgomp.c/pr66199-3.c: Move ...
2135         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2136         * testsuite/libgomp.c/pr66199-4.c: Move ...
2137         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2138         * testsuite/libgomp.c/pr66199-5.c: Move ...
2139         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2140         * testsuite/libgomp.c/pr66199-6.c: Move ...
2141         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2142         * testsuite/libgomp.c/pr66199-7.c: Move ...
2143         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2144         * testsuite/libgomp.c/pr66199-8.c: Move ...
2145         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2146         * testsuite/libgomp.c/pr66199-9.c: Move ...
2147         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2148         * testsuite/libgomp.c/pr69389.c: Move ...
2149         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2150         * testsuite/libgomp.c/simd-14.c: Move ...
2151         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2152         * testsuite/libgomp.c/simd-15.c: Move ...
2153         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2154         * testsuite/libgomp.c/simd-16.c: Move ...
2155         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2156         * testsuite/libgomp.c/simd-17.c: Move ...
2157         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2158         * testsuite/libgomp.c/target-1.c: Move ...
2159         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2160         * testsuite/libgomp.c/target-10.c: Move ...
2161         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2162         * testsuite/libgomp.c/target-13.c: Move ...
2163         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2164         * testsuite/libgomp.c/target-2.c: Move ...
2165         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2166         * testsuite/libgomp.c/taskgroup-1.c: Move ...
2167         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2168         * testsuite/libgomp.c/taskloop-1.c: Move ...
2169         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2170         * testsuite/libgomp.c/taskloop-2.c: Move ...
2171         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2172         * testsuite/libgomp.c/taskloop-3.c: Move ...
2173         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2174         * testsuite/libgomp.c/taskloop-4.c: Move ...
2175         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2176         * testsuite/libgomp.c/udr-1.c: Move ...
2177         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2178         * testsuite/libgomp.c/for-1.c: Move ...
2179         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2180         * testsuite/libgomp.c/for-1.h: Move ...
2181         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2182         * testsuite/libgomp.c/for-2.c: Move ...
2183         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2184         * testsuite/libgomp.c/for-2.h: Move ...
2185         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2186         * testsuite/libgomp.c/for-3.c: Move ...
2187         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2188         * testsuite/libgomp.c/for-4.c: Move ...
2189         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2190         * testsuite/libgomp.c/for-5.c: Move ...
2191         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2192         * testsuite/libgomp.c/for-6.c: Move ...
2193         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2195 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2197         PR libgomp/82428
2198         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2199         __builtin_goacc_parlevel_{id,size}.
2200         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2201         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2202         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2203         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2204         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2205         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2206         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2207         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2208         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2209         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2210         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2211         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2212         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2213         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2214         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2215         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2216         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2217         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2218         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2219         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2220         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2221         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2222         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2224 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2226         PR testsuite/85106
2227         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2229 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2231         PR testsuite/85106
2232         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2234 2018-04-29  Julian Brown  <julian@codesourcery.com>
2235             Tom de Vries  <tom@codesourcery.com>
2237         PR testsuite/85527
2238         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2239         arbitrary order for iterations of atomic subtract check.
2241 2018-04-28  Tom de Vries  <tom@codesourcery.com>
2243         PR testsuite/85527
2244         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2245         atomic capture results obtained in parallel loop to an array, instead of
2246         to a scalar.
2248 2018-04-26  Tom de Vries  <tom@codesourcery.com>
2250         PR libgomp/84020
2251         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2252         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2253         (process_GOMP_NVPTX_JIT): New function.
2254         (link_ptx): Use process_GOMP_NVPTX_JIT.
2256 2018-04-26  Richard Biener <rguenther@suse.de>
2257             Tom de Vries  <tom@codesourcery.com>
2259         PR lto/85422
2260         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2262 2018-04-26  Tom de Vries  <tom@codesourcery.com>
2264         PR target/85519
2265         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2266         recursion depth from 25 to 23.
2267         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2269 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
2271         * configure: Regenerated.
2273 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
2274             Tom de Vries  <tom@codesourcery.com>
2276         PR target/85445
2277         * testsuite/libgomp.oacc-c++/ref-1.C: New.
2279 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
2281         PR libgomp/85463
2282         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2283         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2284         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2285         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2286         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2287         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2289         PR libfortran/85166
2290         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2291         abort".
2292         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2294 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
2296         * configure: Regenerated.
2298 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
2300         PR jit/85384
2301         * configure: Regenerate.
2303 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
2304             Tom de Vries  <tom@codesourcery.com>
2306         PR middle-end/84955
2307         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2308         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2310 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2312         PR fortran/83064
2313         PR testsuite/85346
2314         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2315         test from gfortran.dg to here.
2317 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
2319         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2320         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2322 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
2324         PR middle-end/84955
2325         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2326         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2328 2018-04-05  Tom de Vries  <tom@codesourcery.com>
2330         PR target/85204
2331         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2333 2018-03-26  Tom de Vries  <tom@codesourcery.com>
2335         PR tree-optimization/85063
2336         * testsuite/libgomp.c/switch-conversion-2.c: New test.
2337         * testsuite/libgomp.c/switch-conversion.c: New test.
2338         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2339         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2341 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
2343         PR fortran/84381
2344         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2345         call abort by STOP n.
2346         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2347         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2348         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2349         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2350         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2351         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2352         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2353         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2354         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2355         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2356         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2357         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2358         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2359         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2360         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2361         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2362         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2363         * testsuite/libgomp.fortran/associate1.f90: Likewise.
2364         * testsuite/libgomp.fortran/associate2.f90: Likewise.
2365         * testsuite/libgomp.fortran/associate3.f90: Likewise.
2366         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2367         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2368         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2369         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2370         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2371         * testsuite/libgomp.fortran/character1.f90: Likewise.
2372         * testsuite/libgomp.fortran/character2.f90: Likewise.
2373         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2374         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2375         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2376         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2377         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2378         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2379         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2380         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2381         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2382         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2383         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2384         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2385         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2386         * testsuite/libgomp.fortran/do1.f90: Likewise.
2387         * testsuite/libgomp.fortran/do2.f90: Likewise.
2388         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2389         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2390         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2391         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2392         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2393         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2394         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2395         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2396         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2397         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2398         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2399         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2400         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2401         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2402         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2403         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2404         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2405         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2406         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2407         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2408         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2409         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2410         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2411         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2412         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2413         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2414         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2415         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2416         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2417         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2418         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2419         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2420         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2421         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2422         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2423         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2424         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2425         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2426         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2427         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2428         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2429         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2430         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2431         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2432         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2433         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2434         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2435         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2436         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2437         * testsuite/libgomp.fortran/lib1.f90: Likewise.
2438         * testsuite/libgomp.fortran/lib2.f: Likewise.
2439         * testsuite/libgomp.fortran/lib3.f: Likewise.
2440         * testsuite/libgomp.fortran/lib4.f90: Likewise.
2441         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2442         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2443         * testsuite/libgomp.fortran/nested1.f90: Likewise.
2444         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2445         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2446         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2447         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2448         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2449         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2450         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2451         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2452         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2453         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2454         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2455         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2456         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2457         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2458         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2459         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2460         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2461         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2462         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2463         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2464         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2465         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2466         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2467         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2468         * testsuite/libgomp.fortran/pr25162.f: Likewise.
2469         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2470         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2471         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2472         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2473         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2474         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2475         * testsuite/libgomp.fortran/pr28390.f: Likewise.
2476         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2477         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2478         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2479         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2480         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2481         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2482         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2483         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2484         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2485         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2486         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2487         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2488         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2489         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2490         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2491         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2492         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2493         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2494         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2495         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2496         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2497         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2498         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2499         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2500         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2501         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2502         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2503         * testsuite/libgomp.fortran/reference1.f90: Likewise.
2504         * testsuite/libgomp.fortran/reference2.f90: Likewise.
2505         * testsuite/libgomp.fortran/retval1.f90: Likewise.
2506         * testsuite/libgomp.fortran/retval2.f90: Likewise.
2507         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2508         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2509         * testsuite/libgomp.fortran/simd1.f90: Likewise.
2510         * testsuite/libgomp.fortran/simd2.f90: Likewise.
2511         * testsuite/libgomp.fortran/simd3.f90: Likewise.
2512         * testsuite/libgomp.fortran/simd4.f90: Likewise.
2513         * testsuite/libgomp.fortran/simd5.f90: Likewise.
2514         * testsuite/libgomp.fortran/simd6.f90: Likewise.
2515         * testsuite/libgomp.fortran/simd7.f90: Likewise.
2516         * testsuite/libgomp.fortran/stack.f90: Likewise.
2517         * testsuite/libgomp.fortran/strassen.f90: Likewise.
2518         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2519         * testsuite/libgomp.fortran/tabs2.f: Likewise.
2520         * testsuite/libgomp.fortran/target1.f90: Likewise.
2521         * testsuite/libgomp.fortran/target2.f90: Likewise.
2522         * testsuite/libgomp.fortran/target3.f90: Likewise.
2523         * testsuite/libgomp.fortran/target4.f90: Likewise.
2524         * testsuite/libgomp.fortran/target5.f90: Likewise.
2525         * testsuite/libgomp.fortran/target6.f90: Likewise.
2526         * testsuite/libgomp.fortran/target7.f90: Likewise.
2527         * testsuite/libgomp.fortran/target8.f90: Likewise.
2528         * testsuite/libgomp.fortran/task1.f90: Likewise.
2529         * testsuite/libgomp.fortran/task2.f90: Likewise.
2530         * testsuite/libgomp.fortran/task3.f90: Likewise.
2531         * testsuite/libgomp.fortran/task4.f90: Likewise.
2532         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
2533         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
2534         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
2535         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
2536         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
2537         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2538         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2539         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2540         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
2541         * testsuite/libgomp.fortran/udr1.f90: Likewise.
2542         * testsuite/libgomp.fortran/udr10.f90: Likewise.
2543         * testsuite/libgomp.fortran/udr11.f90: Likewise.
2544         * testsuite/libgomp.fortran/udr12.f90: Likewise.
2545         * testsuite/libgomp.fortran/udr13.f90: Likewise.
2546         * testsuite/libgomp.fortran/udr14.f90: Likewise.
2547         * testsuite/libgomp.fortran/udr15.f90: Likewise.
2548         * testsuite/libgomp.fortran/udr2.f90: Likewise.
2549         * testsuite/libgomp.fortran/udr3.f90: Likewise.
2550         * testsuite/libgomp.fortran/udr4.f90: Likewise.
2551         * testsuite/libgomp.fortran/udr5.f90: Likewise.
2552         * testsuite/libgomp.fortran/udr6.f90: Likewise.
2553         * testsuite/libgomp.fortran/udr7.f90: Likewise.
2554         * testsuite/libgomp.fortran/udr8.f90: Likewise.
2555         * testsuite/libgomp.fortran/udr9.f90: Likewise.
2556         * testsuite/libgomp.fortran/vla1.f90: Likewise.
2557         * testsuite/libgomp.fortran/vla2.f90: Likewise.
2558         * testsuite/libgomp.fortran/vla3.f90: Likewise.
2559         * testsuite/libgomp.fortran/vla4.f90: Likewise.
2560         * testsuite/libgomp.fortran/vla5.f90: Likewise.
2561         * testsuite/libgomp.fortran/vla6.f90: Likewise.
2562         * testsuite/libgomp.fortran/vla7.f90: Likewise.
2563         * testsuite/libgomp.fortran/vla8.f90: Likewise.
2564         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
2565         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
2566         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2567         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2568         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2569         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2570         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2571         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2572         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2573         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2574         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2575         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
2576         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2577         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
2578         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2579         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2580         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2581         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2582         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2583         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2584         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2585         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2586         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2587         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
2588         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
2589         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2590         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2591         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2592         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2593         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2594         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2595         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2596         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2597         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2598         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2599         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2600         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2601         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2602         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2603         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2604         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2605         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2606         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2607         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2608         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2609         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2610         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2611         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2612         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2613         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2614         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2615         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2616         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2617         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2618         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2619         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2620         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2621         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2622         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2623         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2624         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2625         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2626         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2627         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2628         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2629         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2630         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2631         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2632         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2633         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2634         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2635         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2636         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2637         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2638         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2639         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2640         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2641         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2642         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2643         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2644         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2645         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2646         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2647         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2648         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2649         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2650         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2651         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2652         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2653         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2654         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2655         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2656         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2657         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2659 2018-03-20  Richard Biener  <rguenther@suse.de>
2661         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2662         parallelizable loop.
2664 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2666         PR target/84148
2667         * configure: Regenerate.
2669 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
2671         PR fortran/84418
2672         * libgomp.fortran/pr84418-1.f90: New test.
2673         * libgomp.fortran/pr84418-2.f90: New test.
2675 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
2677         PR fortran/84313
2678         * testsuite/libgomp.fortran/threadprivate4.f90: Add
2679         -std=f2003 -fall-intrinsics into dg-additional-options.
2681 2018-02-08  Martin Jambor  <mjambor@suse.cz>
2683         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2684         clonable.
2686 2018-02-08  Martin Jambor  <mjambor@suse.cz>
2688         * testsuite/libgomp.hsa.c/staticvar.c: New test.
2690 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2692         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2693         [__cplusplus]: Declare extern "C".
2695 2018-02-07  Tom de Vries  <tom@codesourcery.com>
2697         PR libgomp/84217
2698         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2700 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
2701             Jakub Jelinek  <jakub@redhat.com>
2703         PR libgomp/84096
2704         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2705         instead of omp_lock_t.
2707 2018-01-25  Tom de Vries  <tom@codesourcery.com>
2709         PR target/84028
2710         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2712 2018-01-24  Tom de Vries  <tom@codesourcery.com>
2714         PR target/83589
2715         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2717 2018-01-24  Tom de Vries  <tom@codesourcery.com>
2719         PR target/81352
2720         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2722 2018-01-19  Tom de Vries  <tom@codesourcery.com>
2723             Cesar Philippidis  <cesar@codesourcery.com>
2725         PR target/83920
2726         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2727         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2729 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
2731         Update copyright years.
2733         * libgomp.texi: Bump @copying's copyright year.
2735 2017-12-30  Tom de Vries  <tom@codesourcery.com>
2737         PR libgomp/83046
2738         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2739         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2741 2017-12-27  Tom de Vries  <tom@codesourcery.com>
2743         PR c++/83046
2744         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2745         (test_nonstatic): Fix return type to workaround PR83046.
2747 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
2749         PR testsuite/83281
2750         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2751         j suffix instead of i.
2752         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2753         Likewise.
2755 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
2757         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2758         call to acc_wait (1).
2760 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
2762         PR fortran/81304
2763         * testsuite/libgomp.fortran/pr81304.f90: New test.
2765 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
2767         PR fortran/81841
2768         * libgomp.fortran/pr81841.f90: New test.
2770 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
2772         PR libgomp/83106
2773         * target.c (gomp_target_init): Compute lengths just once and
2774         use them in both malloc size and subsequent copying.
2776 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2778         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2779         * acinclude.m4: Add cet.m4.
2780         * configure: Regenerate.
2781         * Makefile.in: Likewise.
2782         * testsuite/Makefile.in: Likewise.
2784 2017-11-15  Tom de Vries  <tom@codesourcery.com>
2786         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2787         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
2788         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2789         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
2790         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2791         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
2793 2017-11-14  Tom de Vries  <tom@codesourcery.com>
2795         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2796         non-nvidia devices.
2798 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
2800         PR c++/82835
2801         * testsuite/libgomp.c++/pr82835.C: New test.
2803 2017-11-06  Martin Liska  <mliska@suse.cz>
2805         * testsuite/libgomp.c++/loop-2.C: Return a value
2806         for functions with non-void return type, or change type to void,
2807         or add -Wno-return-type for test.
2808         * testsuite/libgomp.c++/loop-4.C: Likewise.
2809         * testsuite/libgomp.c++/parallel-1.C: Likewise.
2810         * testsuite/libgomp.c++/shared-1.C: Likewise.
2811         * testsuite/libgomp.c++/single-1.C: Likewise.
2812         * testsuite/libgomp.c++/single-2.C: Likewise.
2814 2017-10-31  Tom de Vries  <tom@codesourcery.com>
2816         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2817         "do {} while (false)".
2818         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2819         after HSA_DEBUG call.
2821 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
2823         * target.c (struct gomp_coalesce_buf): New type.
2824         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2825         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2826         (gomp_copy_host2dev): Add CBUF argument, if copying into
2827         the cached ranges, memcpy into buffer instead of copying
2828         into device.
2829         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2830         Add CBUF argument, pass it through to other calls.
2831         (gomp_map_vars): Aggregate copies from host to device if small enough
2832         and with small enough gaps in between into memcpy into a buffer and
2833         fewer host to device copies from the buffer.
2834         (gomp_update): Adjust gomp_copy_host2dev caller.
2836 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
2838         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2839         run" directive.
2840         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2841         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2842         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2843         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2845 2017-10-16  Tom de Vries  <tom@codesourcery.com>
2847         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2848         openacc_nvidia_accel_selected.
2849         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2850         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2851         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2852         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2853         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2854         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2855         openacc_nvidia_accel_selected. Skip for shared memory device.
2856         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2857         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2859 2017-10-09  Martin Jambor  <mjambor@suse.cz>
2861         PR hsa/82416
2862         * testsuite/libgomp.hsa.c/pr82416.c: New test.
2864 2017-10-07  Tom de Vries  <tom@codesourcery.com>
2866         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2867         Remove acc_device_nvidia references.
2868         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2869         Same.
2871 2017-10-05  Tom de Vries  <tom@codesourcery.com>
2873         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2874         vector_length(32) clause from acc parallel directive.
2875         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2877 2017-10-04  Tom de Vries  <tom@codesourcery.com>
2879         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2880         (main): Reduce sum of arr elements.  Assert that hres is exactly
2881         representable in 32-bit floating point.
2882         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2883         (main): Reduce sum of arr elements.  Assert that hres and hmres are
2884         exactly representable in 32-bit floating point.
2885         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2887 2017-09-28  Tom de Vries  <tom@codesourcery.com>
2889         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2890         setting.
2891         * testsuite/libgomp.c++/pr69393.C: Same.
2892         * testsuite/libgomp.c++/taskloop-1.C: Same.
2893         * testsuite/libgomp.c++/taskloop-3.C: Same.
2894         * testsuite/libgomp.c++/taskloop-4.C: Same.
2895         * testsuite/libgomp.c/for-4.c: Same.
2896         * testsuite/libgomp.c/pr66199-3.c: Same.
2897         * testsuite/libgomp.c/pr66199-4.c: Same.
2898         * testsuite/libgomp.c/pr66199-6.c: Same.
2899         * testsuite/libgomp.c/taskloop-1.c: Same.
2900         * testsuite/libgomp.c/taskloop-3.c: Same.
2901         * testsuite/libgomp.c/taskloop-4.c: Same.
2902         * testsuite/libgomp.fortran/aligned1.f03: Same.
2903         * testsuite/libgomp.fortran/condinc1.f: Same.
2904         * testsuite/libgomp.fortran/condinc3.f90: Same.
2905         * testsuite/libgomp.fortran/crayptr1.f90: Same.
2906         * testsuite/libgomp.fortran/crayptr2.f90: Same.
2907         * testsuite/libgomp.fortran/crayptr3.f90: Same.
2908         * testsuite/libgomp.fortran/omp_cond1.f: Same.
2909         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2910         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2911         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2912         * testsuite/libgomp.fortran/recursion1.f90: Same.
2913         * testsuite/libgomp.fortran/target2.f90: Same.
2914         * testsuite/libgomp.fortran/target5.f90: Same.
2915         * testsuite/libgomp.fortran/task3.f90: Same.
2917 2017-09-28  Tom de Vries  <tom@codesourcery.com>
2919         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2920         vector_length(32) clause from acc parallel directive.
2921         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2923 2017-09-27  Tom de Vries  <tom@codesourcery.com>
2925         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2926         Remove acc_device_nvidia references.
2928 2017-09-16  Tom de Vries  <tom@codesourcery.com>
2930         PR c/81875
2931         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2933 2017-09-14  Tom de Vries  <tom@codesourcery.com>
2935         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2936         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2937         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2938         * testsuite/libgomp.c/c.exp: Include test-cases from
2939         libgomp.c-c++-common.
2940         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
2941         files.
2943 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
2945         PR c++/81314
2946         * testsuite/libgomp.c++/pr81314.C: New test.
2948 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
2950         * libgomp.texi (Top): www.openacc.org now uses https.
2951         (Enabling OpenACC): Ditto.
2952         (acc_get_num_devices): Ditto.
2953         (acc_set_device_type): Ditto.
2954         (acc_get_device_type): Ditto.
2955         (acc_set_device_num): Ditto.
2956         (acc_get_device_num): Ditto.
2957         (acc_async_test): Ditto.
2958         (acc_async_test_all): Ditto.
2959         (acc_wait): Ditto.
2960         (acc_wait_all): Ditto.
2961         (acc_wait_all_async): Ditto.
2962         (acc_wait_async): Ditto.
2963         (acc_init): Ditto.
2964         (acc_shutdown): Ditto.
2965         (acc_on_device): Ditto.
2966         (acc_malloc): Ditto.
2967         (acc_free): Ditto.
2968         (acc_copyin): Ditto.
2969         (acc_present_or_copyin): Ditto.
2970         (acc_create): Ditto.
2971         (acc_present_or_create): Ditto.
2972         (acc_copyout): Ditto.
2973         (acc_delete): Ditto.
2974         (acc_update_device): Ditto.
2975         (acc_update_self): Ditto.
2976         (acc_map_data): Ditto.
2977         (acc_unmap_data): Ditto.
2978         (acc_deviceptr): Ditto.
2979         (acc_hostptr): Ditto.
2980         (acc_is_present): Ditto.
2981         (acc_memcpy_to_device): Ditto.
2982         (acc_memcpy_from_device): Ditto.
2983         (acc_get_current_cuda_device): Ditto.
2984         (acc_get_current_cuda_context): Ditto.
2985         (acc_get_cuda_stream): Ditto.
2986         (acc_set_cuda_stream): Ditto.
2987         (ACC_DEVICE_TYPE): Ditto.
2988         (ACC_DEVICE_NUM): Ditto.
2989         (OpenACC Library Interoperability): Ditto.
2991 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
2993         PR c/81687
2994         * testsuite/libgomp.c/pr81687-1.c: New test.
2995         * testsuite/libgomp.c/pr81687-2.c: New test.
2997 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
2999         PR c/69389
3000         * testsuite/libgomp.c/pr69389.c: New test.
3001         * testsuite/libgomp.c++/pr69389.C: New test.
3003 2017-08-07  Tom de Vries  <tom@codesourcery.com>
3005         PR middle-end/78266
3006         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3007         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3009 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
3011         PR c/45784
3012         * testsuite/libgomp.c/pr45784.c: New test.
3013         * testsuite/libgomp.c++/pr45784.C: New test.
3015 2017-07-19  Tom de Vries  <tom@codesourcery.com>
3017         * testsuite/libgomp.oacc-c/vec.c: New test.
3019 2017-07-03  Tom de Vries  <tom@codesourcery.com>
3021         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3023 2017-06-27  Tom de Vries  <tom@codesourcery.com>
3025         * plugin/plugin-nvptx.c (notify_var): New function.
3026         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3028 2017-06-27  Tom de Vries  <tom@codesourcery.com>
3030         * env.c (parse_unsigned_long_1): Factor out of ...
3031         (parse_unsigned_long): ... here.
3032         (parse_int_1): Factor out of ...
3033         (parse_int): ... here.
3034         (parse_int_secure): New function.
3035         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3036         * secure_getenv.h: Factor out of ...
3037         * plugin/plugin-hsa.c: ... here.
3038         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3040 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
3042         PR c++/81130
3043         * testsuite/libgomp.c++/pr81130.C: New test.
3045 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3047         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3048         default args.
3049         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3050         dg-xfail-run-if default args.
3052 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3054         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3055         * testsuite/libgomp.c/pr39591-3.c: Likewise.
3057 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
3059         PR libgomp/80822
3060         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3061         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
3062         sibling lists, depending on level just pick up what CPUs to put
3063         together into a place vs. whether add multiple ordered places.
3065 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
3067         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3068         * libgomp.map (OACC_2.0.1): Add these.
3069         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3070         for "acc_wait", and "acc_wait_all", respectively.
3071         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3072         for "acc_wait", and "acc_wait_all", respectively.
3073         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3074         * libgomp.texi (acc_wait, acc_wait_all): Update.
3075         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3076         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3077         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3079         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3080         acc_present_or_copyin and acc_present_or_create procedures,
3081         respectively.
3082         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3083         generally different variants of OpenACC Runtime Library functions.
3084         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3086         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3087         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3089         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3090         of preprocessor definitions.
3091         * libgomp.h (strong_alias): Guard by "#ifdef
3092         HAVE_ATTRIBUTE_ALIAS".
3093         * oacc-mem.c: Provide "acc_pcreate" as alias for
3094         "acc_present_or_create", and "acc_pcopyin" as alias for
3095         "acc_present_or_copyin".
3096         * libgomp.map: New version "OACC_2.0.1".
3097         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3098         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3099         its content into...
3100         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3101         Extend testing.
3103         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3104         when disabling nvptx offloading.
3106 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
3108         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3109         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3110         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3112         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3113         * testsuite/lib/libgomp.exp
3114         (check_effective_target_openacc_nvidia_accel_configured): New
3115         proc.
3116         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3117         (check_effective_target_c++): New procs.
3118         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3119         (check_effective_target_c++): Likewise.
3121 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
3123         PR middle-end/80809
3124         * testsuite/libgomp.c/pr80809-2.c: New test.
3125         * testsuite/libgomp.c/pr80809-3.c: New test.
3127         PR middle-end/80809
3128         * testsuite/libgomp.c/pr80809-1.c: New test.
3130         PR middle-end/80853
3131         * testsuite/libgomp.c/pr80853.c: New test.
3133 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
3135         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3136         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3137         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3138         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3139         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3141         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3142         Debug output for failure.
3144 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3146         * testsuite/lib/libgomp.exp: Load scanlang.exp.
3148 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
3150         PR bootstrap/80531
3151         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3152         bootstrap compare failures.
3154 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
3156         * testsuite/libgomp.c/target-36.c: New testcase.
3158 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
3160         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3161         instead of char.
3163 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
3165         PR libgomp/80394
3166         * testsuite/libgomp.c/pr80394.c: New test.
3168 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
3170         PR libgomp/79876
3171         * config/posix/thread-stacksize.h: New file.
3172         * config/darwin/thread-stacksize.h: New file.
3173         * config/nvptx/thread-stacksize.h: New file.
3174         * env.c: Include thread-stacksize.h.
3175         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3176         instead of 0.  Call pthread_attr_setstacksize even if
3177         GOMP_DEFAULT_STACKSIZE is non-zero.
3179 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
3181         * env.c (initialize_env): Initialize stacksize to 0.
3183 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
3185         PR c++/80029
3186         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3188 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
3190         PR c/79940
3191         * testsuite/libgomp.c/pr79940.c: New test.
3193 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3195         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3196         targets.
3197         Add __float128 options.
3199 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
3201         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3202         hppa*-*-* dg-skip-if directive.
3204 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
3206         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3207         dg-skip-if directive into a comment.
3209 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
3210             Chung-Lin Tang  <cltang@codesourcery.com>
3212         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3213         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3214         add additional case.
3215         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3216         "openacc_nvidia_accel_selected".
3217         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3218         Add num_workers(8) clause.
3220 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
3222         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3223         hppa*-*-*.
3224         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3225         include complex.h on hppa*-*-hpux*.
3226         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3228 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
3230         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3232         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3233         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
3234         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3235         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
3236         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3237         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
3238         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3239         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
3240         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3241         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
3243 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
3245         * libgomp-plugin.h: #include <stdbool.h>.
3246         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3247         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3248         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3249         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3250         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3251         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3252         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3253         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3254         (GOMP_OFFLOAD_openacc_register_async_cleanup)
3255         (GOMP_OFFLOAD_openacc_async_test)
3256         (GOMP_OFFLOAD_openacc_async_test_all)
3257         (GOMP_OFFLOAD_openacc_async_wait)
3258         (GOMP_OFFLOAD_openacc_async_wait_async)
3259         (GOMP_OFFLOAD_openacc_async_wait_all)
3260         (GOMP_OFFLOAD_openacc_async_wait_all_async)
3261         (GOMP_OFFLOAD_openacc_async_set_async)
3262         (GOMP_OFFLOAD_openacc_create_thread_data)
3263         (GOMP_OFFLOAD_openacc_destroy_thread_data)
3264         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3265         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3266         (GOMP_OFFLOAD_openacc_get_cuda_stream)
3267         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3268         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3269         these.
3270         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3271         (GOMP_OFFLOAD_unload_image): Fix argument types.
3273 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
3275         * testsuite/lib/libgomp.exp
3276         (check_effective_target_hsa_offloading_selected_nocache): Fix up
3277         check_compile invocation.  Fix up removal of executable.  Drop
3278         bogus "2>&1" argument.
3280         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3281         directive.
3283 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
3284             Martin Jambor  <mjambor@suse.cz>
3286         * plugin/hsa.h: Moved to top level include.
3287         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3289 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
3291         PR other/79046
3292         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3293         of cat to get version from BASE-VER file.
3294         * testsuite/Makefile.in: Regenerated.
3296 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
3298         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3299         for _WIN64.
3301 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
3303         * plugin/hsa.h: Add GCC runtime library exception.
3304         * plugin/hsa_ext_finalize.h: Likewise.
3306         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3307         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
3308         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3309         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3310         plugin/include/cuda as include dir and -ldl instead of -lcuda as
3311         library to link ptx plugin against.
3312         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3313         (CUDA_CALLS): Define.
3314         (cuda_lib, cuda_lib_inited): New variables.
3315         (init_cuda_lib): New function.
3316         (CUDA_CALL_PREFIX): Define.
3317         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3318         (CUDA_CALL): Use FN instead of (FN).
3319         (CUDA_CALL_NOCHECK): Define.
3320         (cuda_error, fini_streams_for_device, select_stream_for_async,
3321         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3322         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3323         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3324         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3325         CUDA_CALL_NOCHECK.
3326         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
3327         CUDA_CALL_NOCHECK.
3328         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3329         Use CUDA_CALL_NOCHECK.
3330         * plugin/cuda/cuda.h: New file.
3331         * config.h.in: Regenerated.
3332         * configure: Regenerated.
3334         PR other/79046
3335         * configure.ac: Add GCC_BASE_VER.
3336         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3337         get version from BASE-VER file.
3338         * testsuite/Makefile.in: Regenerated.
3339         * configure: Regenerated.
3340         * Makefile.in: Regenerated.
3342 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3344         PR libgomp/60670
3345         * Makefile.am: Make fincludedir multilib-aware.
3346         * Makefile.in: Regenerate.
3348 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
3350         Update copyright years.
3352         * libgomp.texi: Bump @copying's copyright year.
3354 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3356         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3357         pthread_spinlock_t instead of gomp_mutex_t lock.
3358         (gomp_get_thread_pool): Likewise.
3359         (gomp_release_thread_pool): Likewise.
3360         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3361         Likewise.
3363 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3365         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3366         thread pool in case nthreads == 1.
3368 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3370         * config/nvptx/env.c: Delete.
3371         * icv.c: Move definitions of ICV variables back ...
3372         * env.c: ...here.  Do not compile environment-related functionality if
3373         LIBGOMP_OFFLOADED_ONLY is set.
3375 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3377         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3378         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3379         * configure: Regenerate.
3380         * config.h.in: Likewise.
3382 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3384         * Makefile.in: Regenerate with automake-1.11.6.
3385         * aclocal.m4: Likewise.
3386         * configure: Likewise.
3387         * testsuite/Makefile.in: Likewise.
3389 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
3391         * config/nvptx/critical.c: Delete to use generic implementation.
3393 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
3395         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3396         ../../affinity.c as fallback.
3397         * config/nvptx/affinity.c: Delete to use fallback implementation.
3399 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
3400             Jakub Jelinek  <jakub@redhat.com>
3401             Dmitry Melnik  <dm@ispras.ru>
3403         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3404         * Makefile.in. Regenerate.
3405         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3406         (LIBGOMP_USE_PTHREADS): ...here; new define.
3407         * configure: Regenerate.
3408         * config.h.in: Likewise.
3409         * config/posix/affinity.c: Move to...
3410         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
3411         interface by LIBGOMP_USE_PTHREADS. 
3412         * critical.c: Split out GOMP_atomic_{start,end} into...
3413         * atomic.c: ...here (new file).
3414         * env.c: Split out ICV definitions into...
3415         * icv.c: ...here (new file) and...
3416         * icv-device.c: ...here. New file.
3417         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3418         (gomp_destroy_lock_30): Ditto.
3419         (gomp_set_lock_30): Ditto.
3420         (gomp_unset_lock_30): Ditto.
3421         (gomp_test_lock_30): Ditto.
3422         (gomp_init_nest_lock_30): Ditto.
3423         (gomp_destroy_nest_lock_30): Ditto.
3424         (gomp_set_nest_lock_30): Ditto.
3425         (gomp_unset_nest_lock_30): Ditto.
3426         (gomp_test_nest_lock_30): Ditto.
3427         * lock.c: New.
3428         * config/nvptx/lock.c: New.
3429         * config/nvptx/bar.c: New.
3430         * config/nvptx/bar.h: New.
3431         * config/nvptx/doacross.h: New.
3432         * config/nvptx/error.c: New.
3433         * config/nvptx/icv-device.c: New.
3434         * config/nvptx/mutex.h: New.
3435         * config/nvptx/pool.h: New.
3436         * config/nvptx/proc.c: New.
3437         * config/nvptx/ptrlock.h: New.
3438         * config/nvptx/sem.h: New.
3439         * config/nvptx/simple-bar.h: New.
3440         * config/nvptx/target.c: New.
3441         * config/nvptx/task.c: New.
3442         * config/nvptx/team.c: New.
3443         * config/nvptx/time.c: New.
3444         * config/posix/simple-bar.h: New.
3445         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
3446         (gomp_num_teams_var): Declare.
3447         (struct gomp_thread_pool): Change threads_dock member to
3448         gomp_simple_barrier_t.
3449         [__nvptx__] (gomp_thread): New implementation.
3450         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3451         (gomp_thread_destructor): Ditto.
3452         (gomp_init_thread_affinity): Ditto.
3453         * team.c: Guard uses of Pthreads-specific interfaces by
3454         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
3455         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3456         * config/nvptx/alloc.c: Delete.
3457         * config/nvptx/barrier.c: Ditto.
3458         * config/nvptx/fortran.c: Ditto.
3459         * config/nvptx/iter.c: Ditto.
3460         * config/nvptx/iter_ull.c: Ditto.
3461         * config/nvptx/loop.c: Ditto.
3462         * config/nvptx/loop_ull.c: Ditto.
3463         * config/nvptx/ordered.c: Ditto.
3464         * config/nvptx/parallel.c: Ditto.
3465         * config/nvptx/priority_queue.c: Ditto.
3466         * config/nvptx/sections.c: Ditto.
3467         * config/nvptx/single.c: Ditto.
3468         * config/nvptx/splay-tree.c: Ditto.
3469         * config/nvptx/work.c: Ditto.
3470         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3471         -foffload=-lgfortran in addition to -lgfortran.
3472         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3473         * plugin/plugin-nvptx.c: Include <limits.h>.
3474         (struct targ_fn_descriptor): Add new fields.
3475         (struct ptx_device): Ditto.  Set them...
3476         (nvptx_open_device): ...here.
3477         (nvptx_adjust_launch_bounds): New.
3478         (nvptx_host2dev): Allow NULL 'nvthd'.
3479         (nvptx_dev2host): Ditto.
3480         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3481         (link_ptx): Adjust log sizes.
3482         (nvptx_host2dev): Allow NULL 'nvthd'.
3483         (nvptx_dev2host): Ditto.
3484         (nvptx_set_clocktick): New.  Use it...
3485         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
3486         fields.
3487         (GOMP_OFFLOAD_dev2dev): New.
3488         (nvptx_adjust_launch_bounds): New.
3489         (nvptx_stacks_size): New.
3490         (nvptx_stacks_alloc): New.
3491         (nvptx_stacks_free): New.
3492         (GOMP_OFFLOAD_run): New.
3493         (GOMP_OFFLOAD_async_run): New (stub).
3495 2016-11-23  Martin Jambor  <mjambor@suse.cz>
3497         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3498         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3499         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3501 2016-11-23  Martin Liska  <mliska@suse.cz>
3502             Martin Jambor  <mjambor@suse.cz>
3504         * plugin/hsa.h: New file.
3505         * plugin/hsa_ext_finalize.h: New file.
3506         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
3507         header file unistd.h, and functions secure_getenv, __secure_getenv,
3508         getuid, geteuid, getgid and getegid.
3509         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3510         -D_GNU_SOURCE.
3511         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3512         Handle various cases of secure_getenv presence, add an implementation
3513         when we can test effective UID and GID.
3514         (struct hsa_runtime_fn_info): New structure.
3515         (hsa_runtime_fn_info hsa_fns): New variable.
3516         (hsa_runtime_lib): Likewise.
3517         (support_cpu_devices): Likewise.
3518         (init_enviroment_variables): Load newly introduced ENV
3519         variables.
3520         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
3521         (hsa_fatal): Likewise.
3522         (DLSYM_FN): New macro.
3523         (init_hsa_runtime_functions): New function.
3524         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
3525         structure.  Depending on environment, also allow CPU devices.
3526         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
3527         (get_kernarg_memory_region): Likewise.
3528         (GOMP_OFFLOAD_init_device): Likewise.
3529         (destroy_hsa_program): Likewise.
3530         (init_basic_kernel_info): New function.
3531         (GOMP_OFFLOAD_load_image): Use it.
3532         (create_and_finalize_hsa_program): Call hsa run-time functions via
3533         hsa_fns structure.
3534         (create_single_kernel_dispatch): Likewise.
3535         (release_kernel_dispatch): Likewise.
3536         (init_single_kernel): Likewise.
3537         (parse_target_attributes): Allow up multiple HSA grid dimensions.
3538         (get_group_size): New function.
3539         (run_kernel): Likewise.
3540         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
3541         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
3542         structure.
3543         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
3544         * testsuite/libgomp-test-support.exp.in: Likewise.
3545         * Makefile.in: Regenerated.
3546         * aclocal.m4: Likewise.
3547         * config.h.in: Likewise.
3548         * configure: Likewise.
3549         * testsuite/Makefile.in: Likewise.
3551 2016-11-15  Martin Jambor  <mjambor@suse.cz>
3552             Alexander Monakov  <amonakov@ispras.ru>
3554         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
3555         mapping clauses to target constructs.
3556         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
3558 2016-11-15  Matthias Klose  <doko@ubuntu.com>
3560         * configure: Regenerate.
3562 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
3564         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
3565         * omp_lib.h.in (openmp_version): Likewise.
3566         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
3567         of 201307.
3568         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3570         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
3571         (fib_wrapper): Add map(from: x) clause.
3572         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
3573         (e_53_2): Likewise.
3574         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
3575         (accum): Add map(tmp) clause.
3576         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
3577         (accum): Add map(tofrom: tmp) clause.
3578         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
3579         (gramSchmidt): Likewise.
3580         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
3581         map(tofrom: sum) clause.
3582         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
3583         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
3584         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
3585         only allowed on the loop iterator.
3586         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
3587         * testsuite/libgomp.fortran/taskloop2.f90: New test.
3588         * testsuite/libgomp.fortran/taskloop4.f90: New test.
3589         * testsuite/libgomp.fortran/doacross1.f90: New test.
3590         * testsuite/libgomp.fortran/doacross3.f90: New test.
3591         * testsuite/libgomp.fortran/taskloop1.f90: New test.
3592         * testsuite/libgomp.fortran/taskloop3.f90: New test.
3593         * testsuite/libgomp.fortran/doacross2.f90: New test.
3594         * testsuite/libgomp.c/doacross-1.c (main): Add missing
3595         #pragma omp atomic read.
3596         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3597         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
3599 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
3600             Nathan Sidwell  <nathan@acm.org>
3602         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3603         to determine default geometry.
3604         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3605         dimension.
3607 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
3609         * hashtab.h: Use standard GPLv3 with runtime exception
3610         boilerplate.
3612 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
3614         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3615         size when allocating new thread.
3617 2016-09-14  Marek Polacek  <polacek@redhat.com>
3619         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3621 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
3623         PR fortran/71014
3624         * testsuite/libgomp.fortran/pr71014.f90: New test.
3626 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
3628         PR middle-end/70895
3629         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3630         firstprivate clauses.
3631         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3632         copy clauses.
3633         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3634         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3635         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3636         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3637         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3638         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3639         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3640         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3641         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3642         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3643         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3644         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3646 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
3648         PR fortran/70598
3649         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3651 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
3653         PR c++/58706
3654         * testsuite/libgomp.c++/pr58706.C: New test.
3656 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
3658         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3659         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3660         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3661         Likewise.
3662         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3663         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3664         Likewise.
3665         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3667         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3668         test, and don't hardcode -O0.
3670 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
3672         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3674 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
3676         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3677         test.
3679 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
3681         PR middle-end/71734
3682         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3683         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3685 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
3687         PR fortran/71717
3688         * testsuite/libgomp.fortran/associate3.f90: New test.
3690 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
3692         * testsuite/libgomp.c++/target-21.C: New test.
3694 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
3696         * testsuite/libgomp.c++/target-20.C: New test.
3698 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3699             Cesar Philippidis  <cesar@codesourcery.com>
3701         PR middle-end/71373
3702         * libgomp.oacc-c/nested-function-1.c: New file.
3703         * libgomp.oacc-c/nested-function-2.c: Likewise.
3704         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3705         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3706         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3708 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3710         PR c/71381
3711         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3712         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3713         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3715 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
3717         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3718         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3720 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
3722         PR c/70688
3723         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3725 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
3727         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3728         instead of invalid schedule(static, 0).
3729         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3731 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
3733         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3734         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3735         parameter, use to set async stream around call to gomp_unmap_vars,
3736         call gomp_unmap_vars() with 'do_copyfrom' set to true.
3737         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3738         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3739         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3740         (event_add): Add int parameter, initialize 'val' field when
3741         adding new ptx_event struct.
3742         (nvptx_evec): Adjust event_add() call arguments.
3743         (nvptx_host2dev): Likewise.
3744         (nvptx_dev2host): Likewise.
3745         (nvptx_wait_async): Likewise.
3746         (nvptx_wait_all_async): Likewise.
3747         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3748         pass to event_add() call.
3749         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3750         parameter.
3751         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3752         call openacc.register_async_cleanup_func() hook.
3753         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3754         * target.c (gomp_copy_from_async): Delete function.
3755         (gomp_map_vars): Remove async_refcount.
3756         (gomp_unmap_vars): Likewise.
3757         (gomp_load_image_to_device): Likewise.
3758         (omp_target_associate_ptr): Likewise.
3759         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3760         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3761         (gomp_copy_from_async): Remove.
3763 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
3765         * target.c (gomp_device_copy): New function.
3766         (gomp_copy_host2dev): Likewise.
3767         (gomp_copy_dev2host): Likewise.
3768         (gomp_free_device_memory): Likewise.
3769         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3770         (gomp_map_pointer): Likewise.
3771         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3772         NULL value from alloc_func plugin hook.
3773         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3774         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3775         (gomp_unmap_vars): Likewise.
3776         (gomp_update): Adjust to call gomp_copy_dev2host and
3777         gomp_copy_host2dev functions.
3778         (gomp_unload_image_from_device): Handle false value from
3779         unload_image_func plugin hook.
3780         (gomp_init_device): Handle false value from init_device_func
3781         plugin hook.
3782         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3783         (omp_target_free): Adjust to call gomp_free_device_memory.
3784         (omp_target_memcpy): Handle return values from host2dev_func,
3785         dev2host_func, and dev2dev_func plugin hooks.
3786         (omp_target_memcpy_rect_worker): Likewise.
3787         (gomp_target_fini): Handle false value from fini_device_func
3788         plugin hook.
3789         * libgomp.h (struct gomp_device_descr): Adjust return type of
3790         init_device_func, fini_device_func, unload_image_func, free_func,
3791         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3792         * oacc-init.c (acc_shutdown_1): Handle false value from
3793         fini_device_func plugin hook.
3794         * oacc-host.c (host_init_device): Change return type to bool.
3795         (host_fini_device): Likewise.
3796         (host_unload_image): Likewise.
3797         (host_free): Likewise.
3798         (host_dev2host): Likewise.
3799         (host_host2dev): Likewise.
3800         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3801         (acc_memcpy_to_device): Likewise.
3802         (acc_memcpy_from_device): Likewise.
3803         (delete_copyout): Add libfnname parameter, handle free_func
3804         hook fatal error case.
3805         (acc_delete): Adjust delete_copyout call.
3806         (acc_copyout): Likewise.
3807         (update_dev_host): Move gomp_mutex_unlock to after
3808         host2dev/dev2host hook calls.
3810         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3811         to 'hsa_error_msg', for clarity.
3812         (hsa_fatal): Likewise.
3813         (hsa_error): New function.
3814         (init_hsa_context): Change return type to bool, adjust to return
3815         false on error.
3816         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3817         return value.
3818         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3819         return false on error.
3820         (get_agent_info): Adjust to return NULL on error.
3821         (destroy_hsa_program): Change return type to bool, adjust to
3822         return false on error.
3823         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3824         (destroy_module): Change return type to bool, adjust to
3825         return false on error.
3826         (GOMP_OFFLOAD_unload_image): Likewise.
3827         (GOMP_OFFLOAD_fini_device): Likewise.
3828         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3829         (GOMP_OFFLOAD_free): Change to return false when called.
3830         (GOMP_OFFLOAD_dev2host): Likewise.
3831         (GOMP_OFFLOAD_host2dev): Likewise.
3832         (GOMP_OFFLOAD_dev2dev): Likewise.
3834         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3835         (CUDA_CALL): Likewise.
3836         (CUDA_CALL_ASSERT): Likewise.
3837         (map_init): Change return type to bool, use CUDA_CALL* macros.
3838         (map_fini): Likewise.
3839         (init_streams_for_device): Change return type to bool, adjust
3840         call to map_init.
3841         (fini_streams_for_device): Change return type to bool, adjust
3842         call to map_fini.
3843         (select_stream_for_async): Release stream_lock before calls to
3844         GOMP_PLUGIN_fatal, adjust call to map_init.
3845         (nvptx_init): Use CUDA_CALL* macros.
3846         (nvptx_attach_host_thread_to_device): Change return type to bool,
3847         use CUDA_CALL* macros.
3848         (nvptx_open_device): Use CUDA_CALL* macros.
3849         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3850         macros.
3851         (nvptx_get_num_devices): Use CUDA_CALL* macros.
3852         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3853         (nvptx_exec): Use CUDA_CALL* macros.
3854         (nvptx_alloc): Use CUDA_CALL* macros.
3855         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3856         (nvptx_host2dev): Likewise.
3857         (nvptx_dev2host): Likewise.
3858         (nvptx_wait): Use CUDA_CALL* macros.
3859         (nvptx_wait_async): Likewise.
3860         (nvptx_wait_all): Likewise.
3861         (nvptx_wait_all_async): Likewise.
3862         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3863         use CUDA_CALL* macros, adjust call to map_fini.
3864         (GOMP_OFFLOAD_init_device): Change return type to bool,
3865         adjust code accordingly.
3866         (GOMP_OFFLOAD_fini_device): Likewise.
3867         (GOMP_OFFLOAD_load_image): Adjust calls to
3868         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3869         use CUDA_CALL* macros.
3870         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3871         return code.
3872         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3873         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3874         handle error return.
3875         (GOMP_OFFLOAD_dev2host): Likewise.
3876         (GOMP_OFFLOAD_host2dev): Likewise.
3877         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3878         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3880 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
3882         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3883         (acc_free): Likewise.
3884         (acc_memcpy_to_device): Likewise.
3885         (acc_memcpy_from_device): Likewise.
3886         (acc_deviceptr): Likewise.
3887         (acc_hostptr): Likewise.
3888         (acc_is_present): Likewise.
3889         (acc_map_data): Likewise.
3890         (acc_unmap_data): Likewise.
3891         (present_create_copy): Likewise.
3892         (delete_copyout): Likewise.
3893         (update_dev_host): Likewise.
3894         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3895         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3896         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3897         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3898         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3899         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3900         it only runs on nvptx targets.
3901         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3902         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3903         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3904         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3905         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3906         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3907         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3908         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3909         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3910         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3911         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3912         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3913         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3914         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3915         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3916         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3917         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3918         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3919         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3920         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3921         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3922         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3923         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3925 2016-05-23  Martin Jambor  <mjambor@suse.cz>
3927         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3929 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
3931         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3932         to gomp_init_targets_once.
3933         (acc_set_device_type): Remove !cached_base_dev condition on call to
3934         gomp_init_targets_once, move call to before acc_device_lock acquire,
3935         to avoid deadlock.
3936         (acc_get_device_num): Remove !cached_base_dev condition on call to
3937         gomp_init_targets_once.
3938         (acc_set_device_num): Likewise.
3940 2016-05-16  Martin Jambor  <mjambor@suse.cz>
3942         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
3944 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
3946         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3947         expected partitioning.
3949 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
3951         PR middle-end/70626
3952         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3953         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3954         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3956 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
3958         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3959         non-fatal.
3961 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
3963         PR middle-end/70680
3964         * testsuite/libgomp.c/pr70680-1.c: New test.
3965         * testsuite/libgomp.c/pr70680-2.c: New test.
3967 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
3969         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3970         pass parameter variables to subroutines.
3972 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
3974         PR middle-end/70643
3975         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3977 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
3979         PR testsuite/68242
3980         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3981         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3983 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
3985         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3986         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3987         GOACC_declare prototype.
3989         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3990         Merge this file, and...
3991         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3992         ... this file, and...
3993         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3994         ... this file, and...
3995         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3996         ... this file, and...
3997         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3998         ... this file, and...
3999         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4000         ... this file, and...
4001         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4002         ... this file, and...
4003         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4004         ... this file, and...
4005         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4006         ... this file, and...
4007         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4008         ... this file, and...
4009         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4010         ... this file, and...
4011         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4012         ... this file, and...
4013         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4014         ... this file into...
4015         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4016         file.
4018         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4019         Make failure observable.
4021 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
4023         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4024         field.
4025         * target.c (gomp_target_fallback_firstprivate,
4026         gomp_target_unshare_firstprivate): Removed.
4027         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4028         before waiting for dependencies.
4029         (gomp_target_task_fn): Don't copy firstprivate vars here.
4030         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4031         firstprivate_copies here.
4032         (gomp_create_target_task): Don't initialize firstprivate_copies field.
4033         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4034         explicit/implicit firstprivate.
4036 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
4038         PR lto/70289
4039         PR ipa/70348
4040         PR tree-optimization/70373
4041         PR middle-end/70533
4042         PR middle-end/70534
4043         PR middle-end/70535
4044         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4045         test.
4046         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4047         test.
4048         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4049         test.
4050         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4051         test.
4052         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4053         test.
4054         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4055         test.
4056         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4057         test.
4058         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4059         test.
4060         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4061         test.
4062         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4063         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4064         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4065         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4066         test.
4067         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4068         test.
4069         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4070         test.
4071         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4072         test.
4073         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4074         coverage.
4075         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4076         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4077         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4078         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4079         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4080         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4081         coverage.
4082         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4083         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4084         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4085         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4086         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4087         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4088         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4089         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4090         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4091         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4092         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4093         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4094         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4095         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4096         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4098 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
4099             James Norris  <jnorris@codesourcery.com>
4100             Nathan Sidwell  <nathan@codesourcery.com>
4101             Julian Brown  <julian@codesourcery.com>
4102             Cesar Philippidis  <cesar@codesourcery.com>
4103             Chung-Lin Tang  <cltang@codesourcery.com>
4104             Tom de Vries  <tom@codesourcery.com>
4106         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4107         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4108         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4109         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4110         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4111         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4112         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4113         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4114         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4115         XFAIL.
4116         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4117         Incorporate...
4118         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4119         file.
4120         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4121         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4122         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4123         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4124         Likewise.
4125         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4126         Likewise.
4127         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4128         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4129         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4130         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4131         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4132         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4133         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4134         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4135         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4136         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4137         Likewise.
4138         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4139         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4140         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4141         file...
4142         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4143         file into...
4144         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4145         file.  Update.
4146         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4147         file.
4148         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4149         Likewise.
4150         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4151         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4152         ... this new file.  Update.
4153         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4154         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4155         ... this new file.  Update.
4156         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4157         file.  Incorporate...
4158         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4159         file, and...
4160         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4161         file, and...
4162         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4163         file.
4164         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4166 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
4168         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4169         set-torture-options.
4171 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
4173         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4174         gcc-dg-runtest.
4175         * testsuite/libgomp.oacc-c/c.exp: Likewise.
4176         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4177         -fno-builtin-acc_on_device instead of -O0.
4178         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4179         -O0.
4180         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4181         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4182         Likewise.
4183         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4184         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4185         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4186         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4187         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4188         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4189         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4190         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4191         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4192         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4193         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4194         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4195         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4196         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4197         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4198         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4199         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4200         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4201         Don't specify -O2.
4202         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4203         Likewise.
4204         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4205         Likewise.
4207 2016-03-24  Martin Liska  <mliska@suse.cz>
4209         * plugin/plugin-hsa.c (packet_store_release): New function
4210         that is taken from the HSA runtime manual.
4211         (GOMP_OFFLOAD_run): Use the function.
4213 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
4215         PR c++/70376
4216         * testsuite/libgomp.c++/pr70376.C: New test.
4218 2016-03-23  Tom de Vries  <tom@codesourcery.com>
4220         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4221         initialization of lresult and lvresult.
4222         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4224 2016-03-23  James Norris  <jnorris@codesourcery.com>
4225             Daichi Fukuoka <dc-fukuoka@sgi.com>
4227         PR libgomp/69414
4228         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4229         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4230         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4231         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4233 2016-03-23  Martin Liska  <mliska@suse.cz>
4235         PR hsa/70337
4236         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4237         argument just in case a dispatched kernel uses that argument.
4239 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
4241         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4242         -ftree-parallelize-loops/-fopenacc changes.
4243         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4244         Likewise.
4245         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4246         Likewise.
4247         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4248         Likewise.
4249         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4250         Likewise.
4251         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4252         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4254 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
4256         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4257         always_ld_library_path the path to libgcc_s.
4259 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
4261         PR testsuite/70009
4262         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4264 2016-03-09  Tom de Vries  <tom@codesourcery.com>
4266         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4267         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4268         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4269         Same.
4270         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4271         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4272         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4273         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4275 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4277         * testsuite/lib/libgomp.exp
4278         (check_effective_target_hsa_offloading_selected_nocache): New.
4279         (check_effective_target_hsa_offloading_selected): Likewise.
4280         * testsuite/libgomp.hsa.c/c.exp: Likewise.
4281         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4282         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4283         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4284         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4285         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4286         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4287         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4288         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4289         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4290         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4291         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4292         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4293         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4294         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4295         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4296         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4298 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4300         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4301         non-shared memory accelerators.
4302         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4303         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4304         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4305         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4306         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4307         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4308         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4309         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4310         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4312 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4314         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4315         ALWAYS_CFLAGS.
4317 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
4319         PR libgomp/69555
4320         * testsuite/libgomp.c++/pr69555-1.C: New test.
4321         * testsuite/libgomp.c++/pr69555-2.C: New test.
4323 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
4324             Martin Jambor  <mjambor@suse.cz>
4326         * testsuite/lib/libgomp.exp
4327         (check_effective_target_offload_device_shared_as): New proc.
4328         * testsuite/libgomp.c++/declare_target-1.C: New test.
4330 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
4332         PR driver/68463
4333         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4335 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
4337         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4338         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4339         dims.
4340         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4341         -ftree-parallelize-loops/-fopenacc changes.
4342         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4343         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4344         Likewise.
4345         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4346         Likewise.
4347         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4348         Likewise.
4349         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4350         Likewise.
4351         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4352         Likewise.
4353         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4354         Likewise.
4355         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4356         Likewise.
4357         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4358         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4359         Likewise.
4360         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4361         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4362         Likewise.
4363         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4364         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4365         Likewise.
4367 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
4369         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4371 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
4373         PR driver/69805
4374         * testsuite/libgomp.c/pr69805.c: New test.
4376 2016-02-16  Tom de Vries  <tom@codesourcery.com>
4378         PR lto/67709
4379         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4381 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4383         PR tree-optimization/69599
4384         * testsuite/libgomp.c/omp-nested-3.c: New test.
4385         * testsuite/libgomp.c/pr46032-2.c: New test.
4386         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4387         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4389 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4391         PR lto/69707
4392         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4394 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
4396         * testsuite/libgomp.c/target-31.c: Fix testcase.
4398 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
4400         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4401         clause.
4402         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4403         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4404         reduction and map clauses.
4405         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4407 2016-02-02  James Norris  <jnorris@codesourcery.com>
4409         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4411 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
4413         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4414         * oacc-parallel.c (GOACC_host_data): Remove function definition.
4416         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4417         cases.
4419         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4420         variables.
4421         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4422         (hsa_kmt_lib): Set variables.
4423         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4424         always_ld_library_path.
4425         * Makefile.in: Regenerate.
4426         * configure: Likewise.
4427         * testsuite/Makefile.in: Likewise.
4429         * plugin/configfrag.ac (offload_additional_options)
4430         (offload_additional_lib_paths): Don't amend for hsa offloading.
4431         * configure: Regenerate.
4433         * plugin/configfrag.ac: Don't configure for offloading target if
4434         we don't build the corresponding plugin.
4435         * configure: Regenerate.
4437 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
4439         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4440         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4442 2016-01-26  Tom de Vries  <tom@codesourcery.com>
4444         PR tree-optimization/69110
4445         * testsuite/libgomp.c/pr69110.c: New test.
4447 2016-01-25  Richard Biener  <rguenther@suse.de>
4449         PR lto/69393
4450         * testsuite/libgomp.c++/pr69393.C: New testcase.
4452 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
4454         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4455         function wasn't mapped to the device with non-shared memory.
4457 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
4459         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4461 2016-01-19  Martin Jambor  <mjambor@suse.cz>
4462             Martin Liska  <mliska@suse.cz>
4464         * plugin/Makefrag.am: Add HSA plugin requirements.
4465         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4466         (HSA_RUNTIME_LIB): Likewise.
4467         (HSA_RUNTIME_CPPFLAGS): Likewise.
4468         (HSA_RUNTIME_INCLUDE): New substitution.
4469         (HSA_RUNTIME_LIB): Likewise.
4470         (HSA_RUNTIME_LDFLAGS): Likewise.
4471         (hsa-runtime): New configure option.
4472         (hsa-runtime-include): Likewise.
4473         (hsa-runtime-lib): Likewise.
4474         (PLUGIN_HSA): New substitution variable.
4475         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4476         configure options.
4477         (PLUGIN_HSA_CPPFLAGS): Likewise.
4478         (PLUGIN_HSA_LDFLAGS): Likewise.
4479         (PLUGIN_HSA_LIBS): Likewise.
4480         Check that we have access to HSA run-time.
4481         * libgomp-plugin.h (offload_target_type): New element
4482         OFFLOAD_TARGET_TYPE_HSA.
4483         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4484         args.
4485         (bool gomp_create_target_task): Updated.
4486         (gomp_device_descr): Extra parameter of run_func and async_run_func,
4487         new field can_run_func.
4488         * libgomp_g.h (GOMP_target_ext): Update prototype.
4489         * oacc-host.c (host_run): Added a new parameter args.
4490         * target.c (calculate_firstprivate_requirements): New function.
4491         (copy_firstprivate_data): Likewise.
4492         (gomp_target_fallback_firstprivate): Use them.
4493         (gomp_target_unshare_firstprivate): New function.
4494         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4495         devices.
4496         (GOMP_target): Do host fallback for all shared memory devices.  Do not
4497         pass any args to plugins.
4498         (GOMP_target_ext): Introduce device-specific argument parameter args.
4499         Allow host fallback if device shares memory.  Do not remap data if
4500         device has shared memory.
4501         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
4502         like host fallback for mappings.
4503         (GOMP_target_data): Treat shared memory devices like host fallback.
4504         (GOMP_target_data_ext): Likewise.
4505         (GOMP_target_update): Likewise.
4506         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
4507         gomp_create_target_task.
4508         (GOMP_target_enter_exit_data): Likewise.
4509         (omp_target_alloc): Treat shared memory devices like host fallback.
4510         (omp_target_free): Likewise.
4511         (omp_target_is_present): Likewise.
4512         (omp_target_memcpy): Likewise.
4513         (omp_target_memcpy_rect): Likewise.
4514         (omp_target_associate_ptr): Likewise.
4515         (gomp_load_plugin_for_device): Also load can_run.
4516         * task.c (GOMP_PLUGIN_target_task_completion): Free
4517         firstprivate_copies.
4518         (gomp_create_target_task): Accept new argument args and store it to
4519         ttask.
4520         * plugin/plugin-hsa.c: New file.
4522 2016-01-18  Tom de Vries  <tom@codesourcery.com>
4524         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
4525         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
4526         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
4527         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
4528         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
4529         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
4530         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
4531         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
4532         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
4533         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
4534         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4535         Same.
4536         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4537         Same.
4538         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
4539         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
4540         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
4541         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
4542         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
4543         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
4544         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
4545         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4546         Same.
4547         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
4549 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
4551         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
4553 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
4555         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
4557 2016-01-12  James Norris  <jnorris@codesourcery.com>
4559         * libgomp.texi: Updates for OpenACC.
4561 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
4563         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
4565 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
4567         PR fortran/66680
4568         * testsuite/libgomp.fortran/pr66680.f90: New test.
4570 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
4572         PR middle-end/68960
4573         * testsuite/libgomp.c/pr68960.c: New test.
4575 2016-01-06  Nathan Sidwell  <nathan@acm.org>
4577         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
4578         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
4580 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
4582         Update copyright years.
4584         * libgomp.texi: Bump @copying's copyright year.
4586 2015-12-31  Nathan Sidwell  <nathan@acm.org>
4588         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
4589         dg-additional-options syntax.
4590         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4591         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4592         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4593         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4594         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4595         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4596         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4597         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4598         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4599         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4600         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4601         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4602         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4603         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4604         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4605         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4606         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4607         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4609 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
4611         * libgomp.h (REFCOUNT_LINK): Define.
4612         (struct splay_tree_key_s): Add link_key.
4613         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4614         Replace target address of the pointer with target address of newly
4615         mapped object in the splay tree.  Set link pointer on target to the
4616         device address of the mapped object.
4617         (gomp_unmap_vars): Restore target address of the pointer in the splay
4618         tree for REFCOUNT_LINK objects after unmapping.
4619         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4620         declare target link" objects.
4621         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
4622         "omp declare target link" objects, which were mapped for the image.
4623         (gomp_exit_data): Restore target address of the pointer in the splay
4624         tree for REFCOUNT_LINK objects after unmapping.
4625         * testsuite/libgomp.c/target-link-1.c: New file.
4627 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
4629         * libgomp.h (gomp_device_state): New enum.
4630         (struct gomp_device_descr): Replace is_initialized with state.
4631         (gomp_fini_device): Remove declaration.
4632         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4633         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4634         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
4635         (acc_set_device_type): Use state instead of is_initialized.
4636         (acc_set_device_num): Likewise.
4637         * target.c (resolve_device): Use state instead of is_initialized.
4638         Do not initialize finalized device.
4639         (gomp_map_vars): Do nothing if device is finalized.
4640         (gomp_unmap_vars): Likewise.
4641         (gomp_update): Likewise.
4642         (GOMP_offload_register_ver): Use state instead of is_initialized.
4643         (GOMP_offload_unregister_ver): Likewise.
4644         (gomp_init_device): Likewise.
4645         (gomp_unload_device): Likewise.
4646         (gomp_fini_device): Remove.
4647         (gomp_get_target_fn_addr): Do nothing if device is finalized.
4648         (GOMP_target): Go to host fallback if device is finalized.
4649         (GOMP_target_ext): Likewise.
4650         (gomp_exit_data): Do nothing if device is finalized.
4651         (gomp_target_task_fn): Go to host fallback if device is finalized.
4652         (gomp_target_fini): New static function.
4653         (gomp_target_init): Use state instead of is_initialized.
4654         Call gomp_target_fini at exit.
4656 2015-12-09  Tom de Vries  <tom@codesourcery.com>
4658         PR tree-optimization/68716
4659         * testsuite/libgomp.c/omp-nested-2.c: New test.
4661 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
4663         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4664         target openacc_nvidia_accel_selected.
4665         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4666         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4667         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4668         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4670 2015-12-01  Julian Brown  <julian@codesourcery.com>
4671             James Norris  <James_Norris@mentor.com>
4673         * oacc-parallel.c (GOACC_host_data): New function.
4674         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4675         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4676         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4677         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4678         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4679         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4680         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4682 2015-11-30  James Norris  <jnorris@codesourcery.com>
4683             Cesar Philippidis  <cesar@codesourcery.com>
4685         libgomp/
4686         * libgomp.oacc-fortran/routine-5.f90: New test.
4687         * libgomp.oacc-fortran/routine-7.f90: New test.
4688         * libgomp.oacc-fortran/routine-9.f90: New test.
4690 2015-11-30  Tom de Vries  <tom@codesourcery.com>
4692         PR tree-optimization/46032
4693         * testsuite/libgomp.c/pr46032.c: New test.
4695 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
4697         PR libgomp/68579
4698         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4699         (gomp_create_target_task): Call it before freeing
4700         GOMP_TARGET_TASK_DATA tasks.
4702         PR c/63326
4703         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4704         in between case label and OpenMP standalone directives.
4705         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4707 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
4709         * configure: Regenerate.
4711 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
4713         * testsuite/libgomp.c/target-35.c: New test.
4715 2015-11-22  James Norris  <jnorris@codesourcery.com>
4716             Cesar Philippidis  <cesar@codesourcery.com>
4718         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4719         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4720         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4721         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4722         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4724 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
4726         PR middle-end/68221
4727         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4728         * testsuite/libgomp.c/reduction-12.c: Likewise.
4729         * testsuite/libgomp.c++/reduction-11.C: Likewise.
4730         * testsuite/libgomp.c++/reduction-12.C: Likewise.
4732 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
4734         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4735         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4736         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4737         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4738         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4739         and fix.
4740         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4741         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4743 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
4745         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4746         worker & gang cases.
4747         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4749 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
4751         * config/nvptx/priority_queue.c: New file.
4753 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
4755         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4756         sections.
4758 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
4759             Aldy Hernandez  <aldyh@redhat.com>
4760             Ilya Verbin  <ilya.verbin@intel.com>
4762         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4763         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4764         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4765         iterators or IV by chunk size.
4766         * parallel.c (gomp_resolve_num_threads): Don't assume that
4767         if thr->ts.team is non-NULL, then pool must be non-NULL.
4768         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4769         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4770         GOMP_PLUGIN_target_task_completion.
4771         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4772         * Makefile.in: Regenerate.
4773         * libgomp.h: Shuffle prototypes and forward definitions around so
4774         priority queues can be defined.
4775         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4776         (enum gomp_target_task_state): New enum.
4777         (struct gomp_target_task): Add state, tgt, task and team fields.
4778         (gomp_create_target_task): Change return type to bool, add
4779         state argument.
4780         (gomp_target_task_fn): Change return type to bool.
4781         (struct gomp_device_descr): Add async_run_func.
4782         (struct gomp_task): Remove children, next_child, prev_child,
4783         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4784         Add pnode field.
4785         (struct gomp_taskgroup): Remove children.
4786         Add taskgroup_queue.
4787         (struct gomp_team): Change task_queue type to a priority queue.
4788         (splay_compare): Define inline.
4789         (priority_queue_offset): New.
4790         (priority_node_to_task): New.
4791         (task_to_priority_node): New.
4792         * oacc-mem.c: Do not include splay-tree.h.
4793         * priority_queue.c: New file.
4794         * priority_queue.h: New file.
4795         * splay-tree.c: Do not include splay-tree.h.
4796         (splay_tree_foreach_internal): New.
4797         (splay_tree_foreach): New.
4798         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4799         (splay_tree_callback): Define typedef.
4800         * target.c (splay_compare): Move to libgomp.h.
4801         (GOMP_target): Don't adjust *thr in any way around running offloaded
4802         task.
4803         (GOMP_target_ext): Likewise.  Handle target nowait.
4804         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4805         return value from gomp_create_target_task, if false, fallthrough
4806         as if no dependencies exist.
4807         (gomp_target_task_fn): Change return type to bool, return true
4808         if the task should have another part scheduled later.  Handle
4809         target nowait.
4810         (gomp_load_plugin_for_device): Initialize async_run.
4811         * task.c (gomp_init_task): Initialize children_queue.
4812         (gomp_clear_parent_in_list): New.
4813         (gomp_clear_parent_in_tree): New.
4814         (gomp_clear_parent): Handle priorities.
4815         (GOMP_task): Likewise.
4816         (priority_queue_move_task_first,
4817         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4818         New functions.
4819         (gomp_create_target_task): Use priority queues.  Change return type
4820         to bool, add state argument, return false if for async
4821         {{enter,exit} data,update} constructs no dependencies need to be
4822         waited for, handle target nowait.  Set task->fn to NULL instead of
4823         gomp_target_task_fn.
4824         (verify_children_queue): Remove.
4825         (priority_list_upgrade_task): New.
4826         (priority_queue_upgrade_task): New.
4827         (verify_task_queue): Remove.
4828         (priority_list_downgrade_task): New.
4829         (priority_queue_downgrade_task): New.
4830         (gomp_task_run_pre): Use priority queues.
4831         Abstract code out to priority_queue_downgrade_task.
4832         (gomp_task_run_post_handle_dependers): Use priority queues.
4833         (gomp_task_run_post_remove_parent): Likewise.
4834         (gomp_task_run_post_remove_taskgroup): Likewise.
4835         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
4836         tasks specially.
4837         (GOMP_taskwait): Likewise.
4838         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
4839         priority-queue_upgrade_task.
4840         (GOMP_taskgroup_start): Use priority queues.
4841         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
4842         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
4843         barrier.
4844         * taskloop.c (GOMP_taskloop): Handle priorities.
4845         * team.c (gomp_new_team): Call priority_queue_init.
4846         (free_team): Call priority_queue_free.
4847         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4848         team created for target nowait in implicit parallel region.
4849         (gomp_team_start): For nested check, test thr->ts.level instead of
4850         thr->ts.team != NULL.
4851         * testsuite/libgomp.c/doacross-3.c: New test.
4852         * testsuite/libgomp.c/ordered-5.c: New test.
4853         * testsuite/libgomp.c/priority.c: New test.
4854         * testsuite/libgomp.c/target-31.c: New test.
4855         * testsuite/libgomp.c/target-32.c: New test.
4856         * testsuite/libgomp.c/target-33.c: New test.
4857         * testsuite/libgomp.c/target-34.c: New test.
4859 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
4861         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4863         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4864         loop is sequential.
4866 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
4868         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4869         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4871 2015-11-12  James Norris  <jnorris@codesourcery.com>
4872             Joseph Myers  <joseph@codesourcery.com>
4874         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4875         * oacc-parallel.c (GOACC_declare): New function.
4876         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4877         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4878         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4879         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4880         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4882 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
4884         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4886 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
4888         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4889         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4891 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
4893         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4894         inadvertent commit.
4896 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
4898         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4899         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4900         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4901         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4902         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4904 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
4906         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4907         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4909 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
4910             Ilya Verbin  <ilya.verbin@intel.com>
4912         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4913         GOMP_loop_nonmonotonic_dynamic_start,
4914         GOMP_loop_nonmonotonic_guided_next,
4915         GOMP_loop_nonmonotonic_guided_start,
4916         GOMP_loop_ull_nonmonotonic_dynamic_next,
4917         GOMP_loop_ull_nonmonotonic_dynamic_start,
4918         GOMP_loop_ull_nonmonotonic_guided_next,
4919         GOMP_loop_ull_nonmonotonic_guided_start,
4920         GOMP_parallel_loop_nonmonotonic_dynamic,
4921         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4922         (GOMP_target_41): Renamed to ...
4923         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
4924         arguments.
4925         (GOMP_target_data_41): Renamed to ...
4926         (GOMP_target_data_ext): ... this.
4927         (GOMP_target_update_41): Renamed to ...
4928         (GOMP_target_update_ext): ... this.
4929         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4930         GOMP_target_data_ext and GOMP_target_update_ext instead of
4931         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4932         Export GOMP_loop_nonmonotonic_dynamic_next,
4933         GOMP_loop_nonmonotonic_dynamic_start,
4934         GOMP_loop_nonmonotonic_guided_next,
4935         GOMP_loop_nonmonotonic_guided_start,
4936         GOMP_loop_ull_nonmonotonic_dynamic_next,
4937         GOMP_loop_ull_nonmonotonic_dynamic_start,
4938         GOMP_loop_ull_nonmonotonic_guided_next,
4939         GOMP_loop_ull_nonmonotonic_guided_start,
4940         GOMP_parallel_loop_nonmonotonic_dynamic and
4941         GOMP_parallel_loop_nonmonotonic_guided.
4942         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4943         GOMP_parallel_loop_nonmonotonic_guided,
4944         GOMP_loop_nonmonotonic_dynamic_start,
4945         GOMP_loop_nonmonotonic_guided_start,
4946         GOMP_loop_nonmonotonic_dynamic_next,
4947         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4948         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4949         GOMP_loop_ull_nonmonotonic_guided_start,
4950         GOMP_loop_ull_nonmonotonic_dynamic_next,
4951         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4952         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4953         functions.
4954         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
4955         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4956         Use gomp_map_val function.
4957         (gomp_target_fallback_firstprivate): New static function.
4958         (GOMP_target_41): Renamed to ...
4959         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
4960         arguments.  Move firstprivate fallback handling into a new
4961         function.
4962         (GOMP_target_data_41): Renamed to ...
4963         (GOMP_target_data_ext): ... this.
4964         (GOMP_target_update_41): Renamed to ...
4965         (GOMP_target_update_ext): ... this.
4966         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4967         gomp_map_0len_lookup instead of gomp_map_lookup.
4968         (omp_target_is_present): Use gomp_map_0len_lookup instead of
4969         gomp_map_lookup.
4970         * testsuite/libgomp.c/target-28.c: Likewise.
4971         * testsuite/libgomp.c/monotonic-1.c: New test.
4972         * testsuite/libgomp.c/monotonic-2.c: New test.
4973         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4974         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4975         * testsuite/libgomp.c/pr66199-5.c: New test.
4976         * testsuite/libgomp.c/pr66199-6.c: New test.
4977         * testsuite/libgomp.c/pr66199-7.c: New test.
4978         * testsuite/libgomp.c/pr66199-8.c: New test.
4979         * testsuite/libgomp.c/pr66199-9.c: New test.
4980         * testsuite/libgomp.c/reduction-11.c: New test.
4981         * testsuite/libgomp.c/reduction-12.c: New test.
4982         * testsuite/libgomp.c/reduction-13.c: New test.
4983         * testsuite/libgomp.c/reduction-14.c: New test.
4984         * testsuite/libgomp.c/reduction-15.c: New test.
4985         * testsuite/libgomp.c/target-12.c (main): Adjust for
4986         omp_target_is_present change for one-past-last element.
4987         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4988         the same var is both mapped and privatized.
4989         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4990         handling of zero-length array sections.
4991         * testsuite/libgomp.c/target-28.c: New test.
4992         * testsuite/libgomp.c/target-29.c: New test.
4993         * testsuite/libgomp.c/target-30.c: New test.
4994         * testsuite/libgomp.c/target-teams-1.c: New test.
4995         * testsuite/libgomp.c++/member-6.C: New test.
4996         * testsuite/libgomp.c++/member-7.C: New test.
4997         * testsuite/libgomp.c++/monotonic-1.C: New test.
4998         * testsuite/libgomp.c++/monotonic-2.C: New test.
4999         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5000         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5001         * testsuite/libgomp.c++/pr66199-3.C: New test.
5002         * testsuite/libgomp.c++/pr66199-4.C: New test.
5003         * testsuite/libgomp.c++/pr66199-5.C: New test.
5004         * testsuite/libgomp.c++/pr66199-6.C: New test.
5005         * testsuite/libgomp.c++/pr66199-7.C: New test.
5006         * testsuite/libgomp.c++/pr66199-8.C: New test.
5007         * testsuite/libgomp.c++/pr66199-9.C: New test.
5008         * testsuite/libgomp.c++/reduction-11.C: New test.
5009         * testsuite/libgomp.c++/reduction-12.C: New test.
5010         * testsuite/libgomp.c++/target-13.C: New test.
5011         * testsuite/libgomp.c++/target-14.C: New test.
5012         * testsuite/libgomp.c++/target-15.C: New test.
5013         * testsuite/libgomp.c++/target-16.C: New test.
5014         * testsuite/libgomp.c++/target-17.C: New test.
5015         * testsuite/libgomp.c++/target-18.C: New test.
5016         * testsuite/libgomp.c++/target-19.C: New test.
5018 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
5020         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5021         and reduction copy.
5022         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5023         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5024         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5025         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5026         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5027         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5028         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5029         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5030         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5031         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5032         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5033         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5034         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5035         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5037 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
5039         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5040         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5041         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5042         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5043         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5044         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5045         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5046         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5048 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
5050         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5051         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5052         (GOMP_OFFLOAD_openacc_parallel): Likewise.
5053         * oacc-host.c (host_openacc_exec): Likewise.
5054         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5056 2015-11-03  Julian Brown  <julian@codesourcery.com>
5057             Thomas Schwinge  <thomas@codesourcery.com>
5059         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5060         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5061         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5062         Likewise.
5063         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5064         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5066 2015-11-03  James Norris  <jnorris@codesourcery.com>
5068         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5069         file.
5070         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5071         Likewise.
5072         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5073         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5074         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5075         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5076         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5078 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
5080         * openacc.h (enum acc_device_t): Reformat. Ensure layout
5081         compatibility.
5082         (enum acc_async_t): Reformat.
5083         (acc_on_device): Declare compatible with builtin and provide C++
5084         wrapper.
5085         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5087 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
5088             Cesar Philippidis  <cesar@codesourcery.com>
5090         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5091         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5092         ... this.  Add a description of the test at the top of the file.
5093         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5094         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5095         ... this.  Add a description of the test at the top of the file.
5097 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
5099         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5100         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5101         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5102         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5103         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5104         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5106 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
5108         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5109         dimensions.
5111 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
5113         PR testsuite/68063
5114         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5116 2015-10-27  James Norris  <jnorris@codesourcery.com>
5118         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5119         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5121 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
5123         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5124         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5126         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5127         acc_device_nvidia usage.
5128         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5129         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5130         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5132         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5133         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5135         PR libgomp/66518
5136         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5138         PR libgomp/65437
5139         PR libgomp/66518
5140         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5141         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5143 2015-10-23  Tom de Vries  <tom@codesourcery.com>
5145         PR testsuite/68063
5146         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5148 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
5150         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5151         vector_length.
5152         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5154 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
5155             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
5157         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5158         to 0 when mapnum is 0.
5160 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5162         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5163         Cast to int from int32_t.
5165 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
5166             Aldy Hernandez  <aldyh@redhat.com>
5167             Ilya Verbin  <ilya.verbin@intel.com>
5169         * config/linux/affinity.c (omp_get_place_num_procs,
5170         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5171         * config/linux/doacross.h: New file.
5172         * config/posix/affinity.c (omp_get_place_num_procs,
5173         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5174         * config/posix/doacross.h: New file.
5175         * env.c: Include gomp-constants.h.
5176         (struct gomp_task_icv): Rename run_sched_modifier to
5177         run_sched_chunk_size.
5178         (gomp_max_task_priority_var): New variable.
5179         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5180         (handle_omp_display_env): Change _OPENMP value from 201307 to
5181         201511.  Print OMP_MAX_TASK_PRIORITY.
5182         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5183         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5184         chunk_size and run_sched_modifier to run_sched_chunk_size.
5185         (omp_get_max_task_priority, omp_get_initial_device,
5186         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5187         omp_get_partition_place_nums): New functions.
5188         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5189         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5190         to chunk_size.
5191         (omp_get_num_places_, omp_get_place_num_procs_,
5192         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5193         omp_get_place_proc_ids_8_, omp_get_place_num_,
5194         omp_get_partition_num_places_, omp_get_partition_place_nums_,
5195         omp_get_partition_place_nums_8_, omp_get_initial_device_,
5196         omp_get_max_task_priority_): New functions.
5197         * libgomp_g.h (GOMP_loop_doacross_static_start,
5198         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5199         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5200         GOMP_loop_ull_doacross_dynamic_start,
5201         GOMP_loop_ull_doacross_guided_start,
5202         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5203         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5204         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5205         GOMP_target_data_41, GOMP_target_update_41,
5206         GOMP_target_enter_exit_data): New prototypes.
5207         (GOMP_task): Add prototype argument.
5208         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5209         (struct gomp_doacross_work_share): New type.
5210         (struct gomp_work_share): Add doacross field.
5211         (struct gomp_task_icv): Rename run_sched_modifier to
5212         run_sched_chunk_size.
5213         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5214         GOMP_TASK_UNDEFERRED.  Add comments.
5215         (struct gomp_task_depend_entry): Add comments.
5216         (struct gomp_task): Likewise.
5217         (struct gomp_taskgroup): Likewise.
5218         (struct gomp_target_task): New type.
5219         (struct gomp_team): Add comment.
5220         (gomp_get_place_proc_ids_8, gomp_doacross_init,
5221         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5222         gomp_create_target_task, gomp_target_task_fn): New prototypes.
5223         (struct target_var_desc): New type.
5224         (struct target_mem_desc): Adjust comment.  Use struct
5225         target_var_desc instead of splay_tree_key for list.
5226         (REFCOUNT_INFINITY): Define.
5227         (struct splay_tree_key_s): Remove copy_from field.
5228         (struct gomp_device_descr): Add dev2dev_func field.
5229         (enum gomp_map_vars_kind): New enum.
5230         (gomp_map_vars): Add one argument.
5231         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5232         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5233         omp_get_place_num_procs, omp_get_place_num_procs_,
5234         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5235         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5236         omp_get_place_num_, omp_get_partition_num_places,
5237         omp_get_partition_num_places_, omp_get_partition_place_nums,
5238         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5239         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5240         omp_target_free, omp_target_is_present, omp_target_memcpy,
5241         omp_target_memcpy_rect, omp_target_associate_ptr and
5242         omp_target_disassociate_ptr.
5243         (GOMP_4.0.2): Renamed to ...
5244         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
5245         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5246         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5247         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5248         GOMP_loop_doacross_static_start, GOMP_doacross_post,
5249         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5250         GOMP_loop_ull_doacross_guided_start,
5251         GOMP_loop_ull_doacross_runtime_start,
5252         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5253         GOMP_doacross_ull_wait.
5254         * libgomp.texi: Document omp_get_max_task_priority.
5255         Rename modifier argument to chunk_size for omp_set_schedule and
5256         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
5257         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5258         to run_sched_chunk_size renaming.
5259         (GOMP_loop_ordered_runtime_start): Likewise.
5260         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5261         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5262         GOMP_parallel_loop_runtime_start): New functions.
5263         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5264         to run_sched_chunk_size renaming.
5265         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5266         GOMP_loop_doacross_guided_start): New functions or aliases.
5267         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5268         run_sched_modifier to run_sched_chunk_size renaming.
5269         (GOMP_loop_ull_ordered_runtime_start): Likewise.
5270         (gomp_loop_ull_doacross_static_start,
5271         gomp_loop_ull_doacross_dynamic_start,
5272         gomp_loop_ull_doacross_guided_start,
5273         GOMP_loop_ull_doacross_runtime_start): New functions.
5274         (GOMP_loop_ull_doacross_static_start,
5275         GOMP_loop_ull_doacross_dynamic_start,
5276         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5277         * oacc-mem.c (acc_map_data, present_create_copy,
5278         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5279         to gomp_map_vars.
5280         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5281         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5282         instead of false to gomp_map_vars.
5283         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
5284         * omp.h.in (omp_lock_hint_t): New type.
5285         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5286         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5287         omp_get_place_num, omp_get_partition_num_places,
5288         omp_get_partition_place_nums, omp_get_initial_device,
5289         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5290         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5291         omp_target_associate_ptr, omp_target_disassociate_ptr): New
5292         prototypes.
5293         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5294         (omp_lock_hint_none, omp_lock_hint_uncontended,
5295         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5296         omp_lock_hint_speculative): New parameters.
5297         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5298         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5299         omp_get_place_num, omp_get_partition_num_places,
5300         omp_get_partition_place_nums, omp_get_initial_device,
5301         omp_get_max_task_priority): New interfaces.
5302         (omp_set_schedule, omp_get_schedule): Rename modifier argument
5303         to chunk_size.
5304         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5305         (omp_lock_hint_none, omp_lock_hint_uncontended,
5306         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5307         omp_lock_hint_speculative): New parameters.
5308         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5309         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5310         omp_get_place_num, omp_get_partition_num_places,
5311         omp_get_partition_place_nums, omp_get_initial_device,
5312         omp_get_max_task_priority): New functions and subroutines.
5313         * ordered.c: Include stdarg.h and string.h.
5314         (MAX_COLLAPSED_BITS): Define.
5315         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5316         gomp_doacross_ull_init, GOMP_doacross_ull_post,
5317         GOMP_doacross_ull_wait): New functions.
5318         * target.c: Include errno.h.
5319         (resolve_device): If device is not initialized, call
5320         gomp_init_device on it.
5321         (gomp_map_lookup): New function.
5322         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5323         Don't bump refcount if REFCOUNT_INFINITY.  Handle
5324         GOMP_MAP_ALWAYS_TO_P.
5325         (get_kind): Rename is_openacc argument to short_mapkind.
5326         (gomp_map_pointer): Use gomp_map_lookup.
5327         (gomp_map_fields_existing): New function.
5328         (gomp_map_vars): Rename is_openacc argument to short_mapkind
5329         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
5330         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5331         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5332         Adjust for tgt->list changed type and copy_from living in there.
5333         (gomp_copy_from_async): Adjust for tgt->list changed type and
5334         copy_from living in there.
5335         (gomp_unmap_vars): Likewise.
5336         (gomp_update): Likewise.  Rename is_openacc argument to
5337         short_mapkind.  Don't fail if object is not mapped.
5338         (gomp_load_image_to_device): Initialize refcount to
5339         REFCOUNT_INFINITY.
5340         (gomp_target_fallback): New function.
5341         (gomp_get_target_fn_addr): Likewise.
5342         (GOMP_target): Adjust gomp_map_vars caller, use
5343         gomp_get_target_fn_addr and gomp_target_fallback.
5344         (GOMP_target_41): New function.
5345         (gomp_target_data_fallback): New function.
5346         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5347         (GOMP_target_data_41): New function.
5348         (GOMP_target_update): Adjust gomp_update caller.
5349         (GOMP_target_update_41): New function.
5350         (gomp_exit_data, GOMP_target_enter_exit_data,
5351         gomp_target_task_fn, omp_target_alloc, omp_target_free,
5352         omp_target_is_present, omp_target_memcpy,
5353         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5354         omp_target_associate_ptr, omp_target_disassociate_ptr,
5355         gomp_load_plugin_for_device): New functions.
5356         * task.c: Include gomp-constants.h.  Include taskloop.c
5357         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5358         (gomp_task_handle_depend): New function.
5359         (GOMP_task): Use it.  Add priority argument.  Use
5360         gomp-constant.h constants instead of hardcoded numbers.
5361         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5362         (gomp_create_target_task): New function.
5363         (verify_children_queue, verify_taskgroup_queue,
5364         verify_task_queue): New functions.
5365         (gomp_task_run_pre): Call verify_*_queue functions.
5366         If an upcoming tied task is about to leave the sibling or
5367         taskgroup queues in an invalid state, adjust appropriately.
5368         Remove taskgroup argument.  Add comments.
5369         (gomp_task_run_post_handle_dependers): Add comments.
5370         (gomp_task_run_post_remove_parent): Likewise.
5371         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5372         (GOMP_taskwait): Likewise.  Add comments.
5373         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5374         problem such that the first non parent_depends_on task does not
5375         end up at the end of the children queue.
5376         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5377         GOMP_TASK_UNDEFERRED.
5378         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5379         * taskloop.c: New file.
5380         * testsuite/lib/libgomp.exp
5381         (check_effective_target_offload_device_nonshared_as): New proc.
5382         * testsuite/libgomp.c/affinity-2.c: New test.
5383         * testsuite/libgomp.c/doacross-1.c: New test.
5384         * testsuite/libgomp.c/doacross-2.c: New test.
5385         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5386         Add map clause to target.
5387         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5388         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5389         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5390         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5391         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5392         Likewise.
5393         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5394         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5395         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5396         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5397         not defined.  Use those where needed.
5398         * testsuite/libgomp.c/for-4.c: New test.
5399         * testsuite/libgomp.c/for-5.c: New test.
5400         * testsuite/libgomp.c/for-6.c: New test.
5401         * testsuite/libgomp.c/linear-1.c: New test.
5402         * testsuite/libgomp.c/ordered-4.c: New test.
5403         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5404         only allowed on the loop iterator.
5405         * testsuite/libgomp.c/pr66199-3.c: New test.
5406         * testsuite/libgomp.c/pr66199-4.c: New test.
5407         * testsuite/libgomp.c/reduction-7.c: New test.
5408         * testsuite/libgomp.c/reduction-8.c: New test.
5409         * testsuite/libgomp.c/reduction-9.c: New test.
5410         * testsuite/libgomp.c/reduction-10.c: New test.
5411         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5412         map(tofrom:s).
5413         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5414         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5415         * testsuite/libgomp.c/target-11.c: New test.
5416         * testsuite/libgomp.c/target-12.c: New test.
5417         * testsuite/libgomp.c/target-13.c: New test.
5418         * testsuite/libgomp.c/target-14.c: New test.
5419         * testsuite/libgomp.c/target-15.c: New test.
5420         * testsuite/libgomp.c/target-16.c: New test.
5421         * testsuite/libgomp.c/target-17.c: New test.
5422         * testsuite/libgomp.c/target-18.c: New test.
5423         * testsuite/libgomp.c/target-19.c: New test.
5424         * testsuite/libgomp.c/target-20.c: New test.
5425         * testsuite/libgomp.c/target-21.c: New test.
5426         * testsuite/libgomp.c/target-22.c: New test.
5427         * testsuite/libgomp.c/target-23.c: New test.
5428         * testsuite/libgomp.c/target-24.c: New test.
5429         * testsuite/libgomp.c/target-25.c: New test.
5430         * testsuite/libgomp.c/target-26.c: New test.
5431         * testsuite/libgomp.c/target-27.c: New test.
5432         * testsuite/libgomp.c/taskloop-1.c: New test.
5433         * testsuite/libgomp.c/taskloop-2.c: New test.
5434         * testsuite/libgomp.c/taskloop-3.c: New test.
5435         * testsuite/libgomp.c/taskloop-4.c: New test.
5436         * testsuite/libgomp.c++/ctor-13.C: New test.
5437         * testsuite/libgomp.c++/doacross-1.C: New test.
5438         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5439         Replace offload_device with offload_device_nonshared_as.
5440         * testsuite/libgomp.c++/for-12.C: New test.
5441         * testsuite/libgomp.c++/for-13.C: New test.
5442         * testsuite/libgomp.c++/for-14.C: New test.
5443         * testsuite/libgomp.c++/linear-1.C: New test.
5444         * testsuite/libgomp.c++/member-1.C: New test.
5445         * testsuite/libgomp.c++/member-2.C: New test.
5446         * testsuite/libgomp.c++/member-3.C: New test.
5447         * testsuite/libgomp.c++/member-4.C: New test.
5448         * testsuite/libgomp.c++/member-5.C: New test.
5449         * testsuite/libgomp.c++/ordered-1.C: New test.
5450         * testsuite/libgomp.c++/reduction-5.C: New test.
5451         * testsuite/libgomp.c++/reduction-6.C: New test.
5452         * testsuite/libgomp.c++/reduction-7.C: New test.
5453         * testsuite/libgomp.c++/reduction-8.C: New test.
5454         * testsuite/libgomp.c++/reduction-9.C: New test.
5455         * testsuite/libgomp.c++/reduction-10.C: New test.
5456         * testsuite/libgomp.c++/reference-1.C: New test.
5457         * testsuite/libgomp.c++/simd14.C: New test.
5458         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5459         * testsuite/libgomp.c++/target-5.C: New test.
5460         * testsuite/libgomp.c++/target-6.C: New test.
5461         * testsuite/libgomp.c++/target-7.C: New test.
5462         * testsuite/libgomp.c++/target-8.C: New test.
5463         * testsuite/libgomp.c++/target-9.C: New test.
5464         * testsuite/libgomp.c++/target-10.C: New test.
5465         * testsuite/libgomp.c++/target-11.C: New test.
5466         * testsuite/libgomp.c++/target-12.C: New test.
5467         * testsuite/libgomp.c++/taskloop-1.C: New test.
5468         * testsuite/libgomp.c++/taskloop-2.C: New test.
5469         * testsuite/libgomp.c++/taskloop-3.C: New test.
5470         * testsuite/libgomp.c++/taskloop-4.C: New test.
5471         * testsuite/libgomp.c++/taskloop-5.C: New test.
5472         * testsuite/libgomp.c++/taskloop-6.C: New test.
5473         * testsuite/libgomp.c++/taskloop-7.C: New test.
5474         * testsuite/libgomp.c++/taskloop-8.C: New test.
5475         * testsuite/libgomp.c++/taskloop-9.C: New test.
5476         * testsuite/libgomp.fortran/affinity1.f90: New test.
5477         * testsuite/libgomp.fortran/affinity2.f90: New test.
5479 2015-10-13  Tom de Vries  <tom@codesourcery.com>
5481         PR tree-optimization/67476
5482         * testsuite/libgomp.c/autopar-3.c: New test.
5483         * testsuite/libgomp.c/autopar-4.c: New test.
5484         * testsuite/libgomp.c/autopar-5.c: New test.
5485         * testsuite/libgomp.c/autopar-6.c: New test.
5486         * testsuite/libgomp.c/autopar-7.c: New test.
5487         * testsuite/libgomp.c/autopar-8.c: New test.
5489 2015-10-12  James Norris  <jnorris@codesourcery.com>
5491         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5492         initializer.
5494 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
5496         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5497         using load_gcc_lib.
5499 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
5501         * oacc-ptx.h: Remove file, moving its content into...
5502         * config/nvptx/fortran.c: ... here...
5503         * config/nvptx/oacc-init.c: ..., here...
5504         * config/nvptx/oacc-parallel.c: ..., and here.
5505         * config/nvptx/openacc.f90: New file.
5506         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5507         (link_ptx): Don't link in predefined bits of PTX code.
5509 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
5510             Bernd Schmidt <bernds@codesourcery.com>
5512         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5513         (struct targ_ptx_obj): New.
5514         (nvptx_tdata): Move earlier, change data format.
5515         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
5516         objects.
5517         (GOMP_OFFLOAD_load_image): Adjust.
5519 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
5521         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
5522         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5523         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
5524         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5525         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5526         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5527         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5528         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5529         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5530         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5531         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5532         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5533         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5534         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5535         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5536         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5537         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5538         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5539         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5540         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5541         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5542         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5543         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5544         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5545         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5546         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5547         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5548         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5549         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5550         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5551         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5552         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5553         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5554         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5555         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5556         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5557         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5558         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5559         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5560         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5561         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5562         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5563         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5564         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5565         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5566         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5567         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5568         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5569         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5570         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5571         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5572         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5573         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5574         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5575         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5576         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5577         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5578         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5579         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5580         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5581         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5582         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5583         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5585 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
5587         * oacc-init.c (acc_on_device): Force optimization level.
5589 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
5591         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
5592         (cuda_errlist): Delete.
5593         (cuda_error): Reimplement.
5595 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
5597         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
5598         array.
5599         * libgomp.map (GOACC_parallel_keyed): New.
5600         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
5601         all callers.
5602         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
5603         and take keyed varargs list.  Adjust call to exec_func.
5604         (GOACC_parallel): Force host fallback.
5605         * libgomp_g.h (GOACC_parallel): Remove.
5606         (GOACC_parallel_keyed): Declare.
5607         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5608         (stuct targ_gn_descriptor): Replace name field with launch field.
5609         (nvptx_exec): Lose separate geometry args, take array.  Process
5610         dynamic dimensions and adjust.
5611         (struct nvptx_tdata): Replace fn_names field with fn_descs.
5612         (GOMP_OFFLOAD_load_image): Adjust for change in function table
5613         data.
5614         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5615         passing.
5616         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
5617         passing.
5619 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
5621         PR libgomp/67141
5622         * oacc-int.h (goacc_host_init): Add declaration.
5623         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5624         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5626 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
5627             Sebastian Pop  <s.pop@samsung.com>
5629         * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5630         match o/p.
5631         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5632         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5633         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5634         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5635         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5637 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
5639         * configure.tgt: Add missing ;; in between nvptx and rtems
5640         snippets.
5642 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5644         * config/posix/pool.h (gomp_adjust_thread_attr): New.
5645         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5646         (gomp_thread_pool_reservoir): Add priority member.
5647         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5648         priority.
5649         (parse_thread_pools): Likewise.
5650         * team.c (gomp_team_start): Call configuration provided
5651         gomp_adjust_thread_attr(). Destroy thread attributes if
5652         necessary.
5653         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5655 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5657         * config/posix/pool.h: New.
5658         * config/rtems/pool.h: Likewise.
5659         * config/rtems/proc.c: Likewise.
5660         * libgomp.h (gomp_thread_destructor): Declare.
5661         * team.c: Include configuration provided "pool.h".
5662         (gomp_get_thread_pool): Define in configuration.
5663         (gomp_team_end): Call configuration defined
5664         gomp_release_thread_pool().
5666 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5668         * config/rtems/bar.c: New.
5669         * config/rtems/bar.h: Likewise.
5670         * config/rtems/mutex.c: Likewise.
5671         * config/rtems/mutex.h: Likewise.
5672         * config/rtems/sem.c: Likewise.
5673         * config/rtems/sem.h: Likewise.
5674         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5675         <sys/lock.h> header file.
5676         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5677         supported by Newlib.
5678         * configure: Regenerate.
5680 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5682         * team.c (gomp_new_thread_pool): Delete and move content to ...
5683         (gomp_get_thread_pool): ... new function.  Allocate and
5684         initialize thread pool on demand.
5685         (get_last_team): Use gomp_get_thread_pool().
5686         (gomp_team_start): Delete thread pool initialization.
5688 2015-09-03  Tom de Vries  <tom@codesourcery.com>
5690         PR tree-optimization/65637
5691         * testsuite/libgomp.c/autopar-2.c: New test.
5693 2015-08-29  Tom de Vries  <tom@codesourcery.com>
5695         PR tree-optimization/46193
5696         * testsuite/libgomp.c/pr46193.c: New test.
5698 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
5700         libgomp/
5701         * libgomp.map: Add 4.0.2 version.
5702         * target.c (offload_image_descr): Add version field.
5703         (gomp_load_image_to_device): Add version argument.  Adjust plugin
5704         call.  Improve load mismatch diagnostic.
5705         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
5706         call.
5707         (GOMP_offload_regster): Make stub function, move bulk to ...
5708         (GOMP_offload_register_ver): ... here.  Process version argument.
5709         (GOMP_offload_unregister): Make stub function, move bulk to ...
5710         (GOMP_offload_unregister_ver): ... here.  Process version argument.
5711         (gomp_init_device): Process version field.
5712         (gomp_unload_device): Process version field.
5713         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5714         macros.  Check plugin version.
5715         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
5716         loader and unloader types.
5717         * oacc-host.c: Include gomp-constants.h.
5718         (host_version): New.
5719         (host_load_image, host_unload_image): Adjust.
5720         (host_dispatch): Add host_version.
5721         * plugin/plugin-nvptx.c: Include gomp-constants.h.
5722         (GOMP_OFFLOAD_version): New.
5723         (GOMP_OFFLOAD_load_image): Add version arg and check it.
5724         (GOMP_OFFLOAD_unload_image): Likewise.
5725         * plugin/plugin-host.c: Include gomp-constants.h.
5726         (GOMP_OFFLOAD_version): New.
5727         (GOMP_OFFLOAD_load_image): Add version arg.
5728         (GOMP_OFFLOAD_unload_image): Likewise.
5730 2015-08-24  Tom de Vries  <tom@codesourcery.com>
5732         PR tree-optimization/65468
5733         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5735 2015-08-24  Tom de Vries  <tom@codesourcery.com>
5737         PR tree-optimization/65468
5738         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5740 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
5742         PR libgomp/66761
5743         PR libgomp/67303
5744         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5745         (gomp_iter_guided_next): Idem.
5746         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5747         (gomp_iter_ull_guided_next): Idem.
5748         * config/linux/wait.h (do_spin): Idem.
5750 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5752         * libgomp-plugin.h (enum offload_target_type): Remove
5753         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5754         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5755         * openacc.h (enum acc_device_t): Likewise.
5756         * openacc_lib.h: Likewise.
5757         * oacc-init.c (name_of_acc_device_t): Don't handle it.
5758         (acc_on_device): Just use __builtin_acc_on_device.
5759         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5760         of acc_on_device builtin.
5761         * plugin/plugin-host.h: Remove file.
5762         * plugin/plugin-host.c: Likewise, but salvage some content into...
5763         * oacc-host.c: ... this file.
5764         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5765         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5766         * Makefile.in: Regenerate.
5767         * configure: Likewise.
5768         * testsuite/lib/libgomp.exp
5769         (check_effective_target_openacc_host_nonshm_selected): Remove.
5770         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5771         ACC_DEVICE_TYPE=host_nonshm.
5772         * testsuite/libgomp.oacc-c/c.exp: Likewise.
5773         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5774         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5775         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5776         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5777         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5779 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5780             Jakub Jelinek  <jakub@redhat.com>
5782         * config/nvptx/affinity.c: New file.
5783         * config/nvptx/alloc.c: Likewise.
5784         * config/nvptx/bar.c: Likewise.
5785         * config/nvptx/barrier.c: Likewise.
5786         * config/nvptx/critical.c: Likewise.
5787         * config/nvptx/env.c: Likewise.
5788         * config/nvptx/error.c: Likewise.
5789         * config/nvptx/fortran.c: Likewise.
5790         * config/nvptx/iter.c: Likewise.
5791         * config/nvptx/iter_ull.c: Likewise.
5792         * config/nvptx/libgomp-plugin.c: Likewise.
5793         * config/nvptx/lock.c: Likewise.
5794         * config/nvptx/loop.c: Likewise.
5795         * config/nvptx/loop_ull.c: Likewise.
5796         * config/nvptx/mutex.c: Likewise.
5797         * config/nvptx/oacc-async.c: Likewise.
5798         * config/nvptx/oacc-cuda.c: Likewise.
5799         * config/nvptx/oacc-host.c: Likewise.
5800         * config/nvptx/oacc-init.c: Likewise.
5801         * config/nvptx/oacc-mem.c: Likewise.
5802         * config/nvptx/oacc-parallel.c: Likewise.
5803         * config/nvptx/oacc-plugin.c: Likewise.
5804         * config/nvptx/omp-lock.h: Likewise.
5805         * config/nvptx/ordered.c: Likewise.
5806         * config/nvptx/parallel.c: Likewise.
5807         * config/nvptx/proc.c: Likewise.
5808         * config/nvptx/ptrlock.c: Likewise.
5809         * config/nvptx/sections.c: Likewise.
5810         * config/nvptx/sem.c: Likewise.
5811         * config/nvptx/single.c: Likewise.
5812         * config/nvptx/splay-tree.c: Likewise.
5813         * config/nvptx/target.c: Likewise.
5814         * config/nvptx/task.c: Likewise.
5815         * config/nvptx/team.c: Likewise.
5816         * config/nvptx/time.c: Likewise.
5817         * config/nvptx/work.c: Likewise.
5818         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5819         * configure: Regenerate.
5820         * configure.tgt (config_path): Set to "nvptx" for target
5821         nvptx*-*-*.
5823 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5825         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5827 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
5829         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5830         (cuda_errlist): Constify.
5831         (errmsg):  Move into ...
5832         (cuda_error): ... here.  Make smaller.
5833         (_XSTR, _STR): Delete.
5834         (cuda_synames): Delete.
5835         (verify_device_library): Delete.
5836         (nvptx_init): Don't call it.
5838 2015-07-28  Tom de Vries  <tom@codesourcery.com>
5840         * testsuite/libgomp.c/uns-outer-4.c: New test.
5842 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
5844         * testsuite/libgomp.c/pr66714.c: New test.
5846 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5848         PR libgomp/66950
5849         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5850         (fib_ref): New function.
5851         (fib): Correct corner cases in the recursion.
5852         (main): Replace the non-simd loop with fib_ref call.
5853         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5854         subroutine.
5855         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
5856         for the last array element value.  Replace the non-simd loop with
5857         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
5858         of the last array element with according Fibonacci sequence element.
5859         (fib): Correct corner cases in the recursion.
5861 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
5863         * target.c (gomp_offload_image_to_device): Rename to ...
5864         (gomp_load_image_to_device): ... here.
5865         (GOMP_offload_register): Adjust call.
5866         (gomp_init_device): Likewise.
5867         (gomp_unload_image_from_device): New.  Broken out of ...
5868         (GOMP_offload_unregister): ... here.  Call it.
5869         (gomp_unload_device): New.
5870         * libgomp.h (gomp_unload_device): Declare.
5871         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5872         mem maps.
5874 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
5876         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5877         wait=-specific if.
5878         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5879         !=0 condition.
5880         (goacc_waits): Move !num_waits handling to ...
5881         (GOACC_wait): ... here, the only caller that might have zero waits.
5883         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5884         (struct ptx_image_data): Move earlier, add fns field.
5885         (struct ptx_device): Add images and image_lock fields.
5886         (ptx_images, ptx_image_lock): Delete.
5887         (nvptx_open_device): Initialize images and image_lock fields.
5888         (nvptx_close_device): Destroy image_lock.
5889         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5890         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5891         fields.
5893 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
5895         * target.c (GOMP_offload_register): Use int for device type arg.
5896         (GOMP_offload_unregister): Likewise.
5898         * target.c (struct_offload_image_descr): Constify host_table.
5899         (gomp_offload_image_to_device): Likewise.
5900         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5902         * libgomp.h (gomp_device_descr): Constify target data arguments.
5903         * target.c (struct offload_image_descr): Constify target_data.
5904         (gomp_offload_image_to_device): Likewise.
5905         (GOMP_offload_register): Likewise.
5906         (GOMP_offload_unrefister): Likewise.
5907         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5908         GOMP_OFFLOAD_unload_image): Constify target data.
5909         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5910         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5912 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
5914         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5915         Workaround driver library const error.
5916         (struct nvptx_tdata, nvptx_tdata_t): New.
5917         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5918         type.
5920 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5922         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5923         of EPS parameter from integer to real.
5924         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5925         type of EPS parameter from integer to real.
5927 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5929         * team.c (get_last_team): New.
5930         (gomp_new_team): Recycle last non-nested team if possible.
5931         (gomp_team_end): Move team work share list free lock destruction
5932         to ...
5933         (free_team): ... here.
5935 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5937         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5938         and ref from int to double.  Replaced their comparison with
5939         an inequality of their difference and EPS.
5940         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5941         comparison of pri and a reference number with an inequality of their
5942         difference and EPS.
5943         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5944         the comparison of sum and sum_ref with an inequality of their
5945         difference and EPS.
5946         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5947         the comparison of pri and a reference number with an inequality of
5948         their difference and EPS.
5950 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5952         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5953         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5954         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5955         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5956         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5957         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5958         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5959         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5960         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5961         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5962         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5963         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5964         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5965         variables.
5966         (vec_mult): Likewise.  Add #pragma omp taskwait.
5967         (main): Adjust caller.
5968         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5969         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5970         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5971         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5972         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5973         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5974         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5975         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5976         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5977         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5978         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5979         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5980         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5981         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5982         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5983         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5984         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5985         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5986         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5987         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5988         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5989         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5990         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5991         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5992         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5993         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5994         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5995         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5996         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5997         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5998         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5999         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6000         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6001         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6002         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6003         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6004         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6005         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6006         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6007         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6008         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6009         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6010         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6011         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6012         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6013         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6014         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6015         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6016         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6017         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6018         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6019         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6020         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6021         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6022         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6023         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6024         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6025         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6026         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6027         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6028         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6029         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6030         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6031         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6032         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6033         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6034         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6035         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6036         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6037         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6038         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6039         (vec_mult): Add !$omp taskwait.
6040         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6041         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6042         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6043         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6044         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6045         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6046         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6047         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6048         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6049         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6050         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6051         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6052         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6053         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6054         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6055         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6056         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6057         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6058         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6059         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6060         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6061         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6062         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6063         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6064         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6065         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6066         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6067         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6068         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6069         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6070         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6071         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6072         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6073         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6074         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6075         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6076         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6077         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6078         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6079         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6080         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6081         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6082         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6083         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6084         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6085         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6086         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6087         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6088         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6089         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6090         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6091         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6092         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6093         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6094         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6095         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6096         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6097         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6098         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6099         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6100         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6101         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6102         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6103         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6104         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6105         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6106         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6108 2015-07-10  Tom de Vries  <tom@codesourcery.com>
6110         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6111         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6113 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
6115         PR libgomp/65099
6116         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6117         in a 64-bit configuration.
6118         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6119         offloading testing if no such device is available.
6120         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6121         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6123 2015-07-08  Tom de Vries  <tom@codesourcery.com>
6125         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6126         second call to f.
6127         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6129 2015-07-07  Tom de Vries  <tom@codesourcery.com>
6131         PR tree-optimization/66642
6132         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6133         iteration count case.
6134         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6135         function, factor out of ...
6136         (main): ... here.  Test low iteration count case.
6138 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6140         * libgomp.h (gomp_thread_pool): Comment last_team field.
6142 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
6144         * testsuite/libgomp.c++/pr66702-1.C: Require
6145         vect_simd_clones effective target.
6146         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6148 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6150         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6151         already set.  Use DEFAULT_CFLAGS in dg-runtest.
6152         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6153         "-O2".
6155 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6157         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6158         already set.  Use DEFAULT_CFLAGS in dg-runtest.
6159         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6160         * testsuite/libgomp.c++/pr64824.C: Same.
6161         * testsuite/libgomp.c++/pr64868.C: Same.
6162         * testsuite/libgomp.c++/pr66199-1.C: Same.
6163         * testsuite/libgomp.c++/pr66199-2.C: Same.
6164         * testsuite/libgomp.c++/target-2.C: Same.
6165         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6166         -std=<standard> option.
6167         * testsuite/libgomp.c++/udr-11.C: Same.
6168         * testsuite/libgomp.c++/udr-12.C: Same.
6169         * testsuite/libgomp.c++/udr-13.C: Same.
6170         * testsuite/libgomp.c++/udr-14.C: Same.
6171         * testsuite/libgomp.c++/udr-15.C: Same.
6172         * testsuite/libgomp.c++/udr-16.C: Same.
6173         * testsuite/libgomp.c++/udr-17.C: Same.
6174         * testsuite/libgomp.c++/udr-18.C: Same.
6175         * testsuite/libgomp.c++/udr-19.C: Same.
6176         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6177         * testsuite/libgomp.c++/simd-1.C: Same.
6178         * testsuite/libgomp.c++/simd-2.C: Same.
6179         * testsuite/libgomp.c++/simd-3.C: Same.
6180         * testsuite/libgomp.c++/simd-4.C: Same.
6181         * testsuite/libgomp.c++/simd-5.C: Same.
6182         * testsuite/libgomp.c++/simd-6.C: Same.
6183         * testsuite/libgomp.c++/simd-7.C: Same.
6184         * testsuite/libgomp.c++/simd-8.C: Same.
6185         * testsuite/libgomp.c++/simd-9.C: Same.
6186         * testsuite/libgomp.c++/simd10.C: Same.
6187         * testsuite/libgomp.c++/simd11.C: Same.
6188         * testsuite/libgomp.c++/simd12.C: Same.
6189         * testsuite/libgomp.c++/simd13.C: Same.
6191 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
6193         PR middle-end/66702
6194         * testsuite/libgomp.c++/pr66702-1.C: New test.
6195         * testsuite/libgomp.c++/pr66702-2.C: New test.
6197 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6199         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6200         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6201         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6202         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6204 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6206         PR tree-optimization/66652
6207         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6208         using restrict pointers.
6209         (main): Add arguments to calls to f.
6210         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6212 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
6214         * configure.ac: Fix check for header <sys/sysctl.h>.
6215         * configure: Regenerate.
6216         * config.h.in: Likewise.
6218 2015-06-23  Tom de Vries  <tom@codesourcery.com>
6220         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6221         abort.
6222         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6224 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
6226         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6227         acc_device_nvidia.
6229         PR libgomp/66518
6230         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6231         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6233 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6235         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
6236         dg-additional-options for any remaining options.
6237         * testsuite/libgomp.c/atomic-2.c: Same.
6238         * testsuite/libgomp.c/atomic-4.c: Same.
6239         * testsuite/libgomp.c/atomic-5.c: Same.
6240         * testsuite/libgomp.c/atomic-6.c: Same.
6241         * testsuite/libgomp.c/autopar-1.c: Same.
6242         * testsuite/libgomp.c/copyin-1.c: Same.
6243         * testsuite/libgomp.c/copyin-2.c: Same.
6244         * testsuite/libgomp.c/copyin-3.c: Same.
6245         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6246         * testsuite/libgomp.c/nestedfn-5.c: Same.
6247         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6248         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6249         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6250         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6251         * testsuite/libgomp.c/pr32362-1.c: Same.
6252         * testsuite/libgomp.c/pr32362-2.c: Same.
6253         * testsuite/libgomp.c/pr32362-3.c: Same.
6254         * testsuite/libgomp.c/pr39591-1.c: Same.
6255         * testsuite/libgomp.c/pr39591-2.c: Same.
6256         * testsuite/libgomp.c/pr39591-3.c: Same.
6257         * testsuite/libgomp.c/pr58392.c: Same.
6258         * testsuite/libgomp.c/pr58756.c: Same.
6259         * testsuite/libgomp.c/simd-1.c: Same.
6260         * testsuite/libgomp.c/simd-10.c: Same.
6261         * testsuite/libgomp.c/simd-11.c: Same.
6262         * testsuite/libgomp.c/simd-12.c: Same.
6263         * testsuite/libgomp.c/simd-13.c: Same.
6264         * testsuite/libgomp.c/simd-14.c: Same.
6265         * testsuite/libgomp.c/simd-15.c: Same.
6266         * testsuite/libgomp.c/simd-2.c: Same.
6267         * testsuite/libgomp.c/simd-3.c: Same.
6268         * testsuite/libgomp.c/simd-4.c: Same.
6269         * testsuite/libgomp.c/simd-5.c: Same.
6270         * testsuite/libgomp.c/simd-6.c: Same.
6271         * testsuite/libgomp.c/simd-7.c: Same.
6272         * testsuite/libgomp.c/simd-8.c: Same.
6273         * testsuite/libgomp.c/simd-9.c: Same.
6275 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6277         * testsuite/libgomp.c/pr35625.c: Fix typo.
6279 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6281         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6282         in dg-options.
6283         * testsuite/libgomp.c/atomic-3.c: Same.
6284         * testsuite/libgomp.c/debug-1.c: Same.
6285         * testsuite/libgomp.c/nqueens-1.c: Same.
6286         * testsuite/libgomp.c/pr26171.c: Same.
6287         * testsuite/libgomp.c/pr48591.c: Same.
6288         * testsuite/libgomp.c/pr64824.c: Same.
6289         * testsuite/libgomp.c/pr64868.c: Same.
6290         * testsuite/libgomp.c/pr66133.c: Same.
6291         * testsuite/libgomp.c/pr66199-1.c: Same.
6292         * testsuite/libgomp.c/pr66199-2.c: Same.
6293         * testsuite/libgomp.c/target-8.c: Same.
6295 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6297         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6298         -std={gnu99,c99}.
6299         * testsuite/libgomp.c/for-1.c: Same.
6300         * testsuite/libgomp.c/for-2.c: Same.
6301         * testsuite/libgomp.c/for-3.c: Same.
6302         * testsuite/libgomp.c/pr35625.c: Same.
6303         * testsuite/libgomp.c/pr39154.c: Same.
6304         * testsuite/libgomp.c/simd-16.c: Same.
6305         * testsuite/libgomp.c/simd-17.c: Same.
6307 2015-06-13  Tom de Vries  <tom@codesourcery.com>
6309         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6311 2015-06-13  Tom de Vries  <tom@codesourcery.com>
6313         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6314         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6315         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6316         (N): Define.
6317         (main): Use N instead of hardcoded constants.
6319 2015-06-05  Tom de Vries  <tom@codesourcery.com>
6321         merge from gomp4 branch:
6322         2015-05-28  Tom de Vries  <tom@codesourcery.com>
6324         PR tree-optimization/65443
6325         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6326         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6327         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6329 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
6331         * testsuite/libgomp.graphite/bounds.c: Adjust for
6332         cleanup-tree-dump removal.
6333         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6334         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6335         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6336         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6337         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6338         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6339         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6340         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6341         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6342         * testsuite/libgomp.graphite/pr41118.c: Likewise.
6344 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
6346         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6347         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6348         (futex_wake) [!__x86_64__]: Ditto.
6350 2015-05-28  Julian Brown  <julian@codesourcery.com>
6352         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6353         function comment. Only call gomp_fatal if new argument is true.
6354         (acc_dev_num_out_of_range): New function.
6355         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6356         acc_dev_num_out_of_range as appropriate.
6357         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6358         (acc_get_device_num, acc_set_device_num): Update calls to
6359         resolve_device.
6360         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6361         output.
6363 2015-05-28  Julian Brown  <julian@codesourcery.com>
6365         PR libgomp/65742
6366         * oacc-init.c (plugin/plugin-host.h): Include.
6367         (acc_on_device): Check whether we're in an offloaded region for
6368         host_nonshm
6369         plugin. Don't use __builtin_acc_on_device.
6370         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6371         nonshm_exec flag in thread-local data.
6372         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6373         data for host_nonshm plugin.
6374         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6375         for host_nonshm plugin.
6376         * plugin/plugin-host.h: New.
6378 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6380         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6382 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6384         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6385         Declare as int.
6386         (FUTEX_PRIVATE_FLAG): Remove L suffix.
6387         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6388         Declare as int.
6390 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6392         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
6394 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
6396         * target.c (gomp_map_pointer): New function abstracting out
6397         GOMP_MAP_POINTER handling.
6398         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6399         gomp_map_pointer().
6401 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
6403         PR middle-end/66199
6404         * testsuite/libgomp.c/pr66199-1.c: New test.
6405         * testsuite/libgomp.c/pr66199-2.c: New test.
6406         * testsuite/libgomp.c++/pr66199-1.C: New test.
6407         * testsuite/libgomp.c++/pr66199-2.C: New test.
6408         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6409         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6411 2015-05-19  Julian Brown  <julian@codesourcery.com>
6413         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6414         on cuInit failure.
6416 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
6418         PR middle-end/66133
6419         * testsuite/libgomp.c/pr66133.c: New test.
6421 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
6423         * Makefile.in: Regenerated with automake-1.11.6.
6424         * aclocal.m4: Likewise.
6425         * config.h.in: Likewise.
6426         * configure: Likewise.
6427         * testsuite/Makefile.in: Likewise.
6429 2015-05-08  Jason Merrill  <jason@redhat.com>
6431         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6432         _Complex.
6434         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6436 2015-05-06  Julian Brown  <julian@codesourcery.com>
6438         * oacc-init.c (acc_device_lock): Add explanatory comment.
6439         (resolve_device): Add comment about locking requirement.
6440         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6441         gomp_init_device and gomp_fini_device calls.
6442         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6443         (acc_get_device_num, acc_set_device_num): Add locking around
6444         resolve_device and gomp_init_device calls.
6446 2015-05-06  Julian Brown  <julian@codesourcery.com>
6448         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6449         goacc_thread_lock on error paths.
6450         * oacc-mem.c (lookup_host): Remove locking from function. Note
6451         locking requirement for caller in function comment.
6452         (lookup_dev): Likewise.
6453         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6454         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6455         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6456         Add locking.
6458 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
6460         PR testsuite/65205
6461         PR libgomp/65993
6462         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6463         don't expect "0x" prefix for "%p" format specifier, don't expect
6464         "(nil)" for NULL pointer.
6465         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6466         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6467         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6468         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6469         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6470         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6471         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6472         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6473         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6474         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6475         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6476         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6477         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6478         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6479         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6480         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6481         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6482         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6483         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6484         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6485         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6486         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6487         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6488         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6489         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6490         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6491         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6492         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6493         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6494         accurately specify what we're looking for.
6495         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6496         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6497         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6498         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6499         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6501 2015-04-30  James Norris  <jnorris@codesourcery.com>
6503         PR testsuite/65205
6504         * testsuite/lib/libgomp.exp
6505         (check_effective_target_openacc_host_selected)
6506         (check_effective_target_openacc_host_nonshm_selected): New
6507         procedures.
6508         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6509         dg-shouldfail.
6510         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6511         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6512         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6513         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6514         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6515         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6516         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6517         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6518         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6519         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6520         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6521         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6522         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6523         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6524         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6525         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6526         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6527         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6528         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6529         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6530         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6531         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6532         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6533         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6534         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6535         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6536         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6537         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6538         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6539         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6540         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6541         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6542         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6543         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6544         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6545         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6546         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6547         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6548         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6549         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6550         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6551         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6552         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6554 2015-04-08  Julian Brown  <julian@codesourcery.com>
6556         * libgomp.h (target_mem_desc: Remove mem_map field.
6557         (acc_dispatch_t): Remove open_device_func, close_device_func,
6558         get_device_num_func, set_device_num_func, target_data members.
6559         Change create_thread_data_func argument to device number instead of
6560         generic pointer.
6561         * oacc-async.c (assert.h): Include.
6562         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
6563         (acc_wait_all, acc_wait_all_async): Use current host thread's
6564         active device, not base_dev.
6565         * oacc-cuda.c (acc_get_current_cuda_device)
6566         (acc_get_current_cuda_context, acc_get_cuda_stream)
6567         (acc_set_cuda_stream): Likewise.
6568         * oacc-host.c (host_dispatch): Don't set open_device_func,
6569         close_device_func, get_device_num_func or set_device_num_func.
6570         * oacc-init.c (base_dev, init_key): Remove.
6571         (cached_base_dev): New.
6572         (name_of_acc_device_t): New.
6573         (acc_init_1): Initialise default-numbered device, not zeroth.
6574         (acc_shutdown_1): Close all devices of a given type.
6575         (goacc_destroy_thread): Don't use base_dev.
6576         (lazy_open, lazy_init, lazy_init_and_open): Remove.
6577         (goacc_attach_host_thread_to_device): New.
6578         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
6579         (acc_get_num_devices): Don't use base_dev.
6580         (acc_set_device_type): Reimplement.
6581         (acc_get_device_type): Don't use base_dev.
6582         (acc_get_device_num): Tweak logic.
6583         (acc_set_device_num): Likewise.
6584         (acc_on_device): Use acc_get_device_type.
6585         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
6586         (goacc_lazy_initialize): Reimplement with acc_init and
6587         goacc_attach_host_thread_to_device.
6588         * oacc-int.h (goacc_thread): Add base_dev field.
6589         (base_dev): Remove extern declaration.
6590         (goacc_attach_host_thread_to_device): Add prototype.
6591         * oacc-mem.c (acc_malloc): Use current thread's device instead of
6592         base_dev.
6593         (acc_free): Likewise.
6594         (acc_memcpy_to_device): Likewise.
6595         (acc_memcpy_from_device): Likewise.
6596         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
6597         goacc_lazy_initialize (throughout).
6598         (GOACC_parallel): Use tgt_offset to locate target functions.
6599         * target.c (gomp_map_vars): Don't set tgt->mem_map.
6600         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6601         (gomp_load_plugin_for_device): Remove open_device, close_device,
6602         get_device_num, set_device_num openacc hook initialisation. Don't set
6603         openacc.target_data.
6604         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6605         (GOMP_OFFLOAD_openacc_close_device)
6606         (GOMP_OFFLOAD_openacc_get_device_num)
6607         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
6608         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6609         to int.
6610         * plugin/plugin-nvptx.c (ptx_inited): Remove.
6611         (instantiated_devices, ptx_dev_lock): New.
6612         (struct ptx_image_data): New.
6613         (ptx_devices, ptx_images, ptx_image_lock): New.
6614         (fini_streams_for_device): Reorder cuStreamDestroy call.
6615         (nvptx_get_num_devices): Remove forward declaration.
6616         (nvptx_init): Change return type to bool.
6617         (nvptx_fini): Remove.
6618         (nvptx_attach_host_thread_to_device): New.
6619         (nvptx_open_device): Return struct ptx_device* instead of void*.
6620         (nvptx_close_device): Change argument type to struct ptx_device*,
6621         return type to void.
6622         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6623         (kernel_target_data, kernel_host_table): Remove static globals.
6624         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6625         (GOMP_OFFLOAD_init_device): Reimplement.
6626         (GOMP_OFFLOAD_fini_device): Likewise.
6627         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6628         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6629         (GOMP_OFFLOAD_host2dev): Use ORD argument.
6630         (GOMP_OFFLOAD_openacc_open_device)
6631         (GOMP_OFFLOAD_openacc_close_device)
6632         (GOMP_OFFLOAD_openacc_set_device_num)
6633         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6634         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6635         (device number).
6637         testsuite/
6638         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6640 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
6642         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6643         * libgomp.h (struct gomp_memory_mapping): Remove.
6644         (struct target_mem_desc): Change type of mem_map from
6645         gomp_memory_mapping * to splay_tree_s *.
6646         (struct gomp_device_descr): Remove register_image_func, get_table_func.
6647         Add load_image_func, unload_image_func.
6648         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6649         Remove offload_regions_registered.
6650         (gomp_init_tables): Remove.
6651         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6652         to splay_tree_s *.
6653         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6654         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6655         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6656         offload_regions_registered.
6657         Initialize load_image_func, unload_image_func, mem_map.root.
6658         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6659         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6660         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6661         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6662         gomp_memory_mapping *.  Use dev's lock and splay_tree.
6663         (lookup_dev): Use dev's lock.
6664         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6665         (acc_is_present): Likewise.
6666         (acc_map_data): Likewise.
6667         (acc_unmap_data): Likewise.  Use dev's lock.
6668         (present_create_copy): Likewise.
6669         (delete_copyout): Pass dev to lookup_host instead of mem_map.
6670         (update_dev_host): Likewise.
6671         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
6672         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6673         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6674         (GOMP_OFFLOAD_get_table): Remove
6675         (GOMP_OFFLOAD_load_image): New function.
6676         (GOMP_OFFLOAD_unload_image): New function.
6677         * target.c (register_lock): New mutex for offload image registration.
6678         (num_devices): Do not guard with PLUGIN_SUPPORT.
6679         (gomp_realloc_unlock): New static function.
6680         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
6681         before gomp_fatal.
6682         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6683         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
6684         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6685         mem_map's.
6686         (gomp_unmap_vars): Likewise.
6687         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
6688         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
6689         (gomp_offload_image_to_device): New static function.
6690         (GOMP_offload_register): Add mutex lock.
6691         Call gomp_offload_image_to_device for all initialized devices.
6692         Replace gomp_realloc with gomp_realloc_unlock.
6693         (GOMP_offload_unregister): New function.
6694         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
6695         get_table_func from the plugin with calls to init_device_func and
6696         gomp_offload_image_to_device.
6697         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6698         to splay_tree_s *.
6699         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
6700         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
6701         (GOMP_target_data): Do not call gomp_init_tables.
6702         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
6703         (gomp_load_plugin_for_device): Replace register_image and get_table
6704         with load_image and unload_image in DLSYM ().
6705         (gomp_register_images_for_device): Remove function.
6706         (gomp_target_init): Do not initialize current_device.mem_map.*,
6707         current_device.offload_regions_registered.
6708         Remove call to gomp_register_images_for_device.
6709         Do not free offload_images and num_offload_images.
6711 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
6713         PR fortran/65597
6714         * testsuite/libgomp.fortran/pr65597.f90: New test.
6716 2015-03-27  Tom de Vries  <tom@codesourcery.com>
6718         PR testsuite/65594
6719         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6720         (init, check): New function.
6721         (foo): Change return type to void.
6722         (main): Call init and check.
6724 2015-03-27  Tom de Vries  <tom@codesourcery.com>
6726         PR testsuite/65594
6727         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6728         (foo): Use M for non-inner loops to scale down test-case.
6730 2015-03-25  Kai Tietz  <ktietz@redhat.com>
6732         PR libgomp/64972
6733         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6734         (GOACC_data_start): Likewise.
6735         * target.c (gomp_map_vars): Likewise.
6737 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
6739         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6740         hppa*-*-hpux*.
6742 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
6744         * testsuite/libgomp.c/target-10.c: New test.
6745         * testsuite/libgomp.c++/target-4.C: New test.
6747 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
6749         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6750         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6752 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6754         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6755         * configure.ac (*-*-rtems*): Assume Pthread is supported.
6756         (pthread.h): Check for this header file.
6757         * configure: Regenerate.
6759 2015-02-25  Tom de Vries  <tom@codesourcery.com>
6761         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6762         (check_reduction_op, check_reduction_macro, max, min):
6763         Declare.
6764         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6765         function.
6766         (main): Use new functions.
6768 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
6770         * target.c (gomp_load_plugin_for_device): Use const char * instead of
6771         char * for variables holding dlerror return values.
6772         (DLSYM_OPT): Ditto.
6774 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
6776         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6778 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
6779             Cesar Philippidis  <cesar@codesourcery.com>
6781         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6782         GOACC_ctaid, and GOACC_nctaid routines.
6784 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
6786         PR c/64824
6787         * testsuite/libgomp.c/atomic-18.c: New test.
6788         * testsuite/libgomp.c++/atomic-16.C: New test.
6790 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
6792         PR c/64824
6793         PR c/64868
6794         * testsuite/libgomp.c/pr64824.c: New test.
6795         * testsuite/libgomp.c/pr64868.c: New test.
6796         * testsuite/libgomp.c++/pr64824.C: New test.
6797         * testsuite/libgomp.c++/pr64868.C: New test.
6799 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
6801         PR libgomp/64635
6802         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6803         Link with -lpthread.
6804         * config/aix/plugin-suffix.h: Delete.
6806 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
6808         PR libgomp/64635
6809         * configure.tgt (*-*-aix*): Use config_path "aix posix".
6810         (*-*-darwin*): Use config_path "bsd darwin posix".
6811         (*-*-hpux*): Use config_path "hpux posix".
6812         * target.c: Add include of plugin-suffix.h and use
6813         SONAME_SUFFIX macro.
6814         * config/aix/plugin-suffix.h: New file.
6815         * config/darwin/plugin-suffix.h: New file.
6816         * config/hpux/plugin-suffix.h: New file.
6817         * config/posix/plugin-suffix.h: New file.
6819 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
6821         PR middle-end/64734
6822         * libgomp.c/pr64734.c: New test.
6824 2015-01-23  Tom de Vries  <tom@codesourcery.com>
6826         PR libgomp/64672
6827         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6829 2015-01-23  Tom de Vries  <tom@codesourcery.com>
6831         PR libgomp/64707
6832         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6833         dg-options.
6835 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
6837         PR libgomp/64625
6838         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6839         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6840         formal parameter.  Update all users.
6841         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6842         Document unused formal parameter.
6844 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
6846         * oacc-parallel.c: Don't include <alloca.h>.
6847         (GOACC_parallel): Use gomp_alloca instead of alloca.
6849 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
6851         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6853 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
6854             James Norris  <jnorris@codesourcery.com>
6855             Tom de Vries  <tom@codesourcery.com>
6856             Julian Brown  <julian@codesourcery.com>
6857             Cesar Philippidis  <cesar@codesourcery.com>
6858             Nathan Sidwell  <nathan@codesourcery.com>
6859             Tobias Burnus  <burnus@net-b.de>
6861         * Makefile.am (search_path): Add $(top_srcdir)/../include.
6862         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6863         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6864         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6865         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6866         Include $(top_srcdir)/plugin/Makefrag.am.
6867         (nodist_libsubinclude_HEADERS): Add openacc.h.
6868         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6869         openacc.f90, openacc.mod, openacc_kinds.mod.
6870         (omp_lib.mod): Generalize into...
6871         (%.mod): ... this new rule.
6872         (openacc_kinds.mod, openacc.mod): New rules.
6873         * plugin/configfrag.ac: New file.
6874         * configure.ac: Move plugin/offloading support into it.  Include
6875         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
6876         * plugin/Makefrag.am: New file.
6877         * testsuite/Makefile.am (OFFLOAD_TARGETS)
6878         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6879         export.
6880         (libgomp-test-support.exp): New rule.
6881         (all-local): Depend on it.
6882         * Makefile.in: Regenerate.
6883         * testsuite/Makefile.in: Regenerate.
6884         * config.h.in: Likewise.
6885         * configure: Likewise.
6886         * configure.tgt: Harden shell syntax.
6887         * env.c: Include "oacc-int.h".
6888         (parse_acc_device_type): New function.
6889         (gomp_debug_var, goacc_device_type, goacc_device_num): New
6890         variables.
6891         (initialize_env): Initialize those.  Call
6892         goacc_runtime_initialize.
6893         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6894         (gomp_fatal): Call gomp_vfatal.
6895         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6896         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6897         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6898         (splay_tree_node, splay_tree, splay_tree_key)
6899         (struct target_mem_desc, struct splay_tree_key_s)
6900         (struct gomp_memory_mapping, struct acc_dispatch_t)
6901         (struct gomp_device_descr, gomp_acc_insert_pointer)
6902         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6903         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6904         (gomp_free_memmap, gomp_fini_device): New declarations.
6905         (gomp_vdebug, gomp_debug): New macros.
6906         Include "splay-tree.h".
6907         * libgomp.map (OACC_2.0): New symbol version.  Use for
6908         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6909         acc_set_device_type_h_, acc_get_device_type,
6910         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6911         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6912         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6913         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6914         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6915         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6916         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6917         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6918         acc_copyin_array_h_, acc_present_or_copyin,
6919         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6920         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6921         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6922         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6923         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6924         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6925         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6926         acc_update_device, acc_update_device_32_h_,
6927         acc_update_device_64_h_, acc_update_device_array_h_,
6928         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6929         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6930         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6931         acc_is_present_64_h_, acc_is_present_array_h_,
6932         acc_memcpy_to_device, acc_memcpy_from_device,
6933         acc_get_current_cuda_device, acc_get_current_cuda_context,
6934         acc_get_cuda_stream, acc_set_cuda_stream.
6935         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
6936         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6937         GOACC_update, GOACC_wait, GOACC_get_thread_num,
6938         GOACC_get_num_threads.
6939         (GOMP_PLUGIN_1.0): New symbol version.  Use for
6940         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6941         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6942         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6943         GOMP_PLUGIN_acc_thread.
6944         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6945         environment variable.
6946         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6947         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6948         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6949         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6950         (splay_tree_remove): New declarations.
6951         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6952         (splay_tree_remove, splay_tree_lookup): Move into...
6953         * splay-tree.c: ... this new file.
6954         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6955         (splay_tree_node, splay_tree, splay_tree_key)
6956         (struct target_mem_desc, struct splay_tree_key_s)
6957         (struct gomp_device_descr): Don't declare.
6958         (num_devices_openmp): New variable.
6959         (gomp_get_num_devices ): Use it.
6960         (gomp_init_targets_once): New function.
6961         (gomp_get_num_devices ): Use it.
6962         (get_kind, gomp_copy_from_async, gomp_free_memmap)
6963         (gomp_fini_device, gomp_register_image_for_device): New functions.
6964         (gomp_map_vars): Add devaddrs parameter.
6965         (gomp_update): Add mm parameter.
6966         (gomp_init_device): Move most of it into...
6967         (gomp_init_tables): ... this new function.
6968         (gomp_register_images_for_device): Remove function.
6969         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6970         Make them hidden instead of static.
6971         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6972         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6973         (GOMP_target_end_data, GOMP_target_update)
6974         (gomp_load_plugin_for_device, gomp_target_init): Update for
6975         OpenACC changes.
6976         * oacc-async.c: New file.
6977         * oacc-cuda.c: Likewise.
6978         * oacc-host.c: Likewise.
6979         * oacc-init.c: Likewise.
6980         * oacc-int.h: Likewise.
6981         * oacc-mem.c: Likewise.
6982         * oacc-parallel.c: Likewise.
6983         * oacc-plugin.c: Likewise.
6984         * oacc-plugin.h: Likewise.
6985         * oacc-ptx.h: Likewise.
6986         * openacc.f90: Likewise.
6987         * openacc.h: Likewise.
6988         * openacc_lib.h: Likewise.
6989         * plugin/plugin-host.c: Likewise.
6990         * plugin/plugin-nvptx.c: Likewise.
6991         * libgomp-plugin.c: Likewise.
6992         * libgomp-plugin.h: Likewise.
6993         * libgomp_target.h: Remove file after merging content into the
6994         former file.  Update all users.
6995         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6996         (offload_targets_s, offload_targets_s_openacc): New variables.
6997         (check_effective_target_openacc_nvidia_accel_present)
6998         (check_effective_target_openacc_nvidia_accel_selected): New
6999         procedures.
7000         (libgomp_init): Update for OpenACC changes.
7001         * testsuite/libgomp-test-support.exp.in: New file.
7002         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7003         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7004         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7005         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7006         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7007         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7008         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7009         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7010         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7011         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7012         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7013         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7014         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7015         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7016         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7017         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7018         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7019         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7020         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7021         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7022         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7023         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7024         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7025         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7026         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7027         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7028         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7029         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7030         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7031         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7032         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7033         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7034         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7035         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7036         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7037         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7038         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7039         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7040         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7041         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7042         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7043         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7044         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7045         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7046         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7047         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7048         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7049         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7050         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7051         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7052         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7053         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7054         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7055         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7056         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7057         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7058         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7059         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7060         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7061         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7062         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7063         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7064         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7065         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7066         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7067         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7068         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7069         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7070         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7071         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7072         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7073         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7074         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7075         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7076         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7077         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7078         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7079         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7080         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7081         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7082         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7083         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7084         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7085         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7086         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7087         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7088         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7089         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7090         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7091         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7092         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7093         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7094         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7095         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7096         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7097         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7098         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7099         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7100         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7101         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7102         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7103         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7104         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7105         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7106         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7107         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7108         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7109         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7110         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7111         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7112         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7113         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7114         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7115         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7116         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7117         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7118         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7119         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7120         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7121         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7122         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7123         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7124         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7125         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7126         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7127         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7128         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7129         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7130         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7131         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7132         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7133         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7134         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7135         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7136         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7137         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7138         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7139         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7140         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7141         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7142         Likewise.
7143         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7144         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7145         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7146         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7147         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7148         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7149         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7150         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7151         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7152         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7153         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7154         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7155         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7156         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7157         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7158         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7159         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7160         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7161         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7162         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7163         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7164         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7165         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7166         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7167         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7168         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7169         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7170         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7171         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7172         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7173         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7174         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7175         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7176         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7177         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7178         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7179         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7180         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7181         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7182         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7183         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7184         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7185         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7186         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7187         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7188         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7189         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7190         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7191         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7192         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7193         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7194         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7195         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7196         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7197         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7198         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7199         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7200         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7201         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7202         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7204 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
7205             Julian Brown  <julian@codesourcery.com>
7206             David Malcolm  <dmalcolm@redhat.com>
7208         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7209         to "GNU Offloading and Multi Processing Runtime Library".  Change
7210         all users.
7211         * configure: Regenerate.
7212         * libgomp.texi: Update.
7214 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
7216         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7217         "$tgt_dir/lib32".
7218         * configure: Regenerate.
7220         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7221         "intelmic" in $offload_targets.
7223 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
7225         Update copyright years.
7227         * libgomp.texi: Bump @copying's copyright year.
7229 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7231         * testsuite/lib/libgomp.exp: Load target-utils.exp.
7232         Move load of target-supportes.exp earlier.
7234 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
7236         * testsuite/libgomp.c/target-9.c: New test.
7238 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
7240         * config.h.in: Regenerate.
7241         * configure: Regenerate.
7242         * configure.ac: Add GCC_CHECK_EMUTLS.
7243         * libgomp.h: Add check for USE_EMUTLS: this case
7244         is equal to HAVE_TLS.
7245         * team.c: Likewise.
7247 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
7249         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7251 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7252             Ilya Verbin  <ilya.verbin@intel.com>
7254         * testsuite/libgomp.c/target-critical-1.c: New test.
7256 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
7258         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
7259         to dg-options unless expensive testing is on.
7260         (TESTITERS): Define to N if not defined.
7261         (main): Use TESTITERS instead of N.
7262         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7263         dg-additional-options depending on whether expensive testing is on.
7264         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7265         Decrease N to 100000 and CHUNKSZ to 10000.
7267 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
7269         PR fortran/63938
7270         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7271         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
7273 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
7275         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7277 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
7279         PR bootstrap/63784
7280         * configure: Regenerated.
7282 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
7284         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7285         vect_simd_clones effective target.
7286         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7288 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
7290         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7291         of 32 as block_size.
7292         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7293         instead of 32 as block_size.
7295 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7296             Ilya Verbin  <ilya.verbin@intel.com>
7298         * Makefile.in: Regenerate.
7299         * configure: Regenerate.
7300         * configure.ac: Set up offload_additional_options,
7301         offload_additional_lib_paths and offload_targets.
7302         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7303         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7304         * testsuite/Makefile.in: Regenerate.
7305         * testsuite/lib/libgomp.exp (libgomp_init): Append
7306         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
7307         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
7308         build directory to LD_LIBRARY_PATH for intelmic offload targets.
7310 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7311             Ilya Verbin  <ilya.verbin@intel.com>
7312             Kirill Yukhin  <kirill.yukhin@intel.com>
7313             Ilya Tocar  <ilya.tocar@intel.com>
7315         * testsuite/lib/libgomp.exp
7316         (check_effective_target_offload_device): New.
7317         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7318         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7319         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7320         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7321         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7322         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7323         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7324         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7325         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7326         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7327         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7328         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7329         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7330         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7331         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7332         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7333         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7334         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7335         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7336         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7337         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7338         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7339         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7340         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7341         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7342         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7343         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7344         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7345         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7346         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7347         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7348         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7349         * testsuite/libgomp.c/target-7.c: Fix test.
7350         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7351         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7352         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7353         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7354         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7355         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7356         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7357         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7358         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7359         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7360         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7361         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7362         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7363         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7364         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7365         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7366         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7367         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7368         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7369         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7370         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7371         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7372         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7373         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7374         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7375         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7376         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7377         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7378         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7379         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7380         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7382 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
7383             Ilya Verbin  <ilya.verbin@intel.com>
7384             Thomas Schwinge  <thomas@codesourcery.com>
7385             Andrey Turetskiy  <andrey.turetskiy@intel.com>
7387         * libgomp.map (GOMP_4.0.1): New symbol version.
7388         Add GOMP_offload_register.
7389         * libgomp_target.h: New file.
7390         * splay-tree.h: New file.
7391         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7392         (gomp_target_init): New forward declaration.
7393         (gomp_is_initialized): New static variable.
7394         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7395         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7396         New structures.
7397         (offload_images, num_offload_images, devices, num_devices): New static
7398         variables.
7399         (splay_compare): New static function.
7400         (struct gomp_device_descr): New structure.
7401         (gomp_get_num_devices): Call gomp_target_init.
7402         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7403         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7404         (GOMP_offload_register): New function.
7405         (GOMP_target): Arrange for host callback to be performed in a separate
7406         initial thread and contention group, inheriting ICVs from
7407         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
7408         Add device initialization and lookup for target function in splay tree.
7409         (GOMP_target_data): Add device initialization and call gomp_map_vars.
7410         (GOMP_target_end_data): Call gomp_unmap_vars.
7411         (GOMP_target_update): Add device initialization and call gomp_update.
7412         (gomp_load_plugin_for_device, gomp_register_images_for_device)
7413         (gomp_target_init): New static functions.
7415 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
7416             Thomas Schwinge  <thomas@codesourcery.com>
7417             Ilya Verbin  <ilya.verbin@intel.com>
7418             Andrey Turetskiy  <andrey.turetskiy@intel.com>
7420         * config.h.in: Regenerate.
7421         * configure: Regenerate.
7422         * configure.ac: Check for libdl, required for plugin support.
7423         (PLUGIN_SUPPORT): Define if plugins are supported.
7424         (enable_offload_targets): Support Intel MIC targets.
7425         (OFFLOAD_TARGETS): List of target names suitable for offloading.
7427 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
7429         PR target/63610
7430         * configure: Regenerate.
7432 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7434         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7436 2014-10-06  Marek Polacek  <polacek@redhat.com>
7438         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7439         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7440         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7441         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7443 2014-10-06  Marek Polacek  <polacek@redhat.com>
7445         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7446         * testsuite/libgomp.c/nqueens-1.c: Likewise.
7447         * testsuite/libgomp.c/pr26943-3.c: Likewise.
7448         * testsuite/libgomp.c/pr26943-4.c: Likewise.
7449         * testsuite/libgomp.c/pr36802-2.c: Likewise.
7450         * testsuite/libgomp.c/pr36802-3.c: Likewise.
7451         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7452         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7453         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7454         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7455         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7456         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7457         * testsuite/libgomp.c/omp-single-1.c: Likewise.
7458         * testsuite/libgomp.c/omp-single-2.c: Likewise.
7459         * testsuite/libgomp.c/omp_matvec.c: Likewise.
7460         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7461         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7462         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
7463         declarations.
7465 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
7467         PR libgomp/61200
7468         * testsuite/libgomp.c/pr61200.c: New test.
7470 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
7472         PR c++/63248
7473         * testsuite/libgomp.c++/pr63248.C: New test.
7475 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
7477         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7478         is not zero, but taskgroup->children is NULL and there are
7479         any task->children, schedule those instead of waiting.
7480         * testsuite/libgomp.c/depend-6.c: New test.
7481         * testsuite/libgomp.c/depend-7.c: New test.
7482         * testsuite/libgomp.c/depend-8.c: New test.
7483         * testsuite/libgomp.c/depend-9.c: New test.
7484         * testsuite/libgomp.c/depend-10.c: New test.
7486 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
7488         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7489         (struct gomp_taskwait): New type.
7490         (struct gomp_task): Add taskwait and parent_depends_on, remove
7491         in_taskwait and taskwait_sem fields.
7492         (gomp_finish_task): Don't destroy taskwait_sem.
7493         * task.c (gomp_init_task): Don't init in_taskwait, instead init
7494         taskwait and parent_depends_on.
7495         (GOMP_task): For if (0) tasks with depend clause that depend on
7496         earlier tasks don't defer them, instead call
7497         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7498         Initialize redundant_out field, for redundant out entries just
7499         move them at the end of linked list instead of removing them
7500         completely, and set redundant_out flag instead of redundant.
7501         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7502         that task.
7503         (gomp_task_run_post_handle_dependers): If parent is in
7504         gomp_task_maybe_wait_for_dependencies and newly runnable task
7505         is not parent_depends_on, queue it in parent->children linked
7506         list after all runnable tasks with parent_depends_on set.
7507         Adjust for addition of taskwait indirection.
7508         (gomp_task_run_post_remove_parent): If parent is in
7509         gomp_task_maybe_wait_for_dependencies and task to be removed
7510         is parent_depends_on, decrement n_depend and if needed awake
7511         parent.  Adjust for addition of taskwait indirection.
7512         (GOMP_taskwait): Adjust for addition of taskwait indirection.
7513         (gomp_task_maybe_wait_for_dependencies): New function.
7514         * testsuite/libgomp.c/depend-5.c: New test.
7516 2014-07-13  Tobias Burnus  <burnus@net-b.de>
7518         * testsuite/libgomp.fortran/pr34020.f90: Make compile
7519         with TS 18508/Fortran 2015.
7521 2014-07-06  Marek Polacek  <polacek@redhat.com>
7523         PR c/6940
7524         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
7526 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
7528         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
7529         matches regex $lang_source_re, add $lang_include_flags to options.
7530         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
7531         * testsuite/libgomp.c++/c++.exp: Likewise.
7532         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
7533         and lang_include_flags instead of adding -fintrinsic-modules-path= to
7534         ALWAYS_CFLAGS.
7535         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
7537 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7539         * testsuite/libgomp.fortran/fortran.exp: Explain
7540         gfortran-dg-runtest usage.
7542 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
7544         * testsuite/libgomp.fortran/simd5.f90: New test.
7545         * testsuite/libgomp.fortran/simd6.f90: New test.
7546         * testsuite/libgomp.fortran/simd7.f90: New test.
7548 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
7550         * testsuite/libgomp.c/for-2.c: Define SC to static for
7551         #pragma omp for simd testing.
7552         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
7553         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
7554         SC macro.
7555         * testsuite/libgomp.c/simd-14.c: New test.
7556         * testsuite/libgomp.c/simd-15.c: New test.
7557         * testsuite/libgomp.c/simd-16.c: New test.
7558         * testsuite/libgomp.c/simd-17.c: New test.
7559         * testsuite/libgomp.c++/for-10.C: Define SC to static for
7560         #pragma omp for simd testing.
7561         * testsuite/libgomp.c++/simd10.C: New test.
7562         * testsuite/libgomp.c++/simd11.C: New test.
7563         * testsuite/libgomp.c++/simd12.C: New test.
7564         * testsuite/libgomp.c++/simd13.C: New test.
7566         * testsuite/libgomp.fortran/aligned1.f03: New test.
7567         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
7568         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
7569         tasks with !$omp parallel !$omp single.
7570         * testsuite/libgomp.fortran/target8.f90: New test.
7571         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
7572         not to use trim in the combiner, instead call elemental function.
7573         (fn): New elemental function.
7574         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
7575         Make elemental.
7576         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
7577         omp_in): Likewise.
7578         * testsuite/libgomp.fortran/udr12.f90: New test.
7579         * testsuite/libgomp.fortran/udr13.f90: New test.
7580         * testsuite/libgomp.fortran/udr14.f90: New test.
7581         * testsuite/libgomp.fortran/udr15.f90: New test.
7583 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
7585         * omp_lib.f90.in (openmp_version): Set to 201307.
7586         * omp_lib.h.in (openmp_version): Likewise.
7587         * testsuite/libgomp.c/target-8.c: New test.
7588         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
7589         and inbranch clauses.
7590         * testsuite/libgomp.fortran/depend-3.f90: New test.
7591         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
7592         openmp_version.
7593         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7594         * testsuite/libgomp.fortran/target1.f90: New test.
7595         * testsuite/libgomp.fortran/target2.f90: New test.
7596         * testsuite/libgomp.fortran/target3.f90: New test.
7597         * testsuite/libgomp.fortran/target4.f90: New test.
7598         * testsuite/libgomp.fortran/target5.f90: New test.
7599         * testsuite/libgomp.fortran/target6.f90: New test.
7600         * testsuite/libgomp.fortran/target7.f90: New test.
7602 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
7604         PR fortran/60928
7605         * testsuite/libgomp.fortran/allocatable9.f90: New test.
7606         * testsuite/libgomp.fortran/allocatable10.f90: New test.
7607         * testsuite/libgomp.fortran/allocatable11.f90: New test.
7608         * testsuite/libgomp.fortran/allocatable12.f90: New test.
7609         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7610         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7611         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7612         * testsuite/libgomp.fortran/associate1.f90: New test.
7613         * testsuite/libgomp.fortran/associate2.f90: New test.
7614         * testsuite/libgomp.fortran/procptr1.f90: New test.
7616 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
7618         * testsuite/libgomp.fortran/simd1.f90: New test.
7619         * testsuite/libgomp.fortran/udr1.f90: New test.
7620         * testsuite/libgomp.fortran/udr2.f90: New test.
7621         * testsuite/libgomp.fortran/udr3.f90: New test.
7622         * testsuite/libgomp.fortran/udr4.f90: New test.
7623         * testsuite/libgomp.fortran/udr5.f90: New test.
7624         * testsuite/libgomp.fortran/udr6.f90: New test.
7625         * testsuite/libgomp.fortran/udr7.f90: New test.
7626         * testsuite/libgomp.fortran/udr8.f90: New test.
7627         * testsuite/libgomp.fortran/udr9.f90: New test.
7628         * testsuite/libgomp.fortran/udr10.f90: New test.
7629         * testsuite/libgomp.fortran/udr11.f90: New test.
7631 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
7633         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7634         vect_simd_clones effective target.
7635         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7637 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
7639         PR middle-end/61252
7640         * testsuite/libgomp.c++/simd-9.C: New test.
7642 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
7644         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7645         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7646         texts according to their @menu entry positions.
7648 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
7650         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7651         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7652         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7653         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7654         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7655         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7656         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7657         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7658         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7659         * testsuite/libgomp.fortran/depend-1.f90: New test.
7660         * testsuite/libgomp.fortran/depend-2.f90: New test.
7661         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7662         * testsuite/libgomp.fortran/simd1.f90: New test.
7663         * testsuite/libgomp.fortran/simd2.f90: New test.
7664         * testsuite/libgomp.fortran/simd3.f90: New test.
7665         * testsuite/libgomp.fortran/simd4.f90: New test.
7666         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7668 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
7670         * testsuite/libgomp.c/simd-10.c: New test.
7671         * testsuite/libgomp.c/simd-11.c: New test.
7672         * testsuite/libgomp.c/simd-12.c: New test.
7673         * testsuite/libgomp.c/simd-13.c: New test.
7675 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
7677         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7678         atomic type clauses in any order and optional comma in between.
7679         * testsuite/libgomp.c++/atomic-15.C: Likewise.
7680         * testsuite/libgomp.c/atomic-17.c: Likewise.
7682         * testsuite/libgomp.c/simd-7.c: New test.
7683         * testsuite/libgomp.c/simd-8.c: New test.
7684         * testsuite/libgomp.c/simd-9.c: New test.
7685         * testsuite/libgomp.c/loop-16.c: New test.
7687 2014-04-02  Richard Henderson  <rth@redhat.com>
7689         * config/linux/futex.h (futex_wait): Get error value from errno.
7690         (futex_wake): Likewise.
7692 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
7694         PR c++/60331
7695         * testsuite/libgomp.c++/udr-11.C: New test.
7696         * testsuite/libgomp.c++/udr-12.C: New test.
7697         * testsuite/libgomp.c++/udr-13.C: New test.
7698         * testsuite/libgomp.c++/udr-14.C: New test.
7699         * testsuite/libgomp.c++/udr-15.C: New test.
7700         * testsuite/libgomp.c++/udr-16.C: New test.
7701         * testsuite/libgomp.c++/udr-17.C: New test.
7702         * testsuite/libgomp.c++/udr-18.C: New test.
7703         * testsuite/libgomp.c++/udr-19.C: New test.
7705 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7707         Update copyright years
7709 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7711         * hashtab.h: Use the standard form for the copyright notice.
7713 2014-01-02  Tobias Burnus  <burnus@net-b.de>
7715         * libgomp.texi: Bump @copying's copyright year.
7717 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
7719         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7720         alloca () with __builtin_alloca ().
7721         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7722         * testsuite/libgomp.c/lock-3.c: Likewise.
7723         * testsuite/libgomp.c/pr48591.c: Likewise.
7725 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
7727         PR testsuite/59534
7728         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7729         comparisons.
7731 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
7733         PR libgomp/58756
7734         * testsuite/libgomp.c/pr58756.c: New test.
7736 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
7738         PR libgomp/59467
7739         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7740         !$omp parallel.
7742 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
7744         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7745         ALWAYS_CFLAGS.
7746         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7747         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7748         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7749         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7750         Likewise.
7752         * libgomp_g.h: Include <stddef.h> for size_t.
7754         * libgomp.spec.in: Update comment about libgomp's dependencies.
7755         * configure.ac: Likewise.
7756         * configure: Regenerate.
7758 2013-10-16  Tobias Burnus  <burnus@net-b.de>
7760         * libgomp.texi: (Runtime Library Routines): Update references for
7761         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7762         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7763         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7764         (Environment Variables): Update references for OpenMP 4.0. Add
7765         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7766         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7767         order.
7769 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
7771         * env.c (parse_bind_var): Initialize value to avoid
7772         (false positive) warning.
7774 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
7776         PR libgomp/58691
7777         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7778         to check variable.
7779         (gomp_init_num_threads): Move i variable declaration into
7780         #ifdef CPU_ALLOC_SIZE block.
7781         * config/linux/affinity.c (gomp_affinity_init_level): Test
7782         gomp_places_list_len == 0 rather than gomp_places_list == 0
7783         when checking for topology reading error.
7784         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7785         * env.c (parse_affinity): Add ignore argument, if true, don't populate
7786         gomp_places_list, only parse env var and always return false.
7787         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
7788         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7789         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7790         and either of these variables were parsed correctly into a places
7791         list.
7793 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
7794             Jakub Jelinek  <jakub@redhat.com>
7796         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7797         of 5 loopfn matches.
7798         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7799         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7800         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7801         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7802         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7803         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7804         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7805         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7807 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
7809         * Makefile.am (omp_lib.mod): Streamline rule.
7810         * Makefile.in: Regenerate.
7812         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7813         exceptions.
7815         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7816         * testsuite/libgomp.fortran/lib1.f90: Likewise.
7817         * testsuite/libgomp.fortran/lib2.f: Likewise.
7818         * testsuite/libgomp.fortran/lib3.f: Likewise.
7820         * configure.ac: Typo fix.
7821         * configure: Regenerate.
7823         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7824         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7826         * omp.h.in: Don't touch the user's namespace.
7828 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
7829             Tobias Burnus  <burnus@net-b.de>
7830             Richard Henderson  <rth@redhat.com>
7832         * target.c: New file.
7833         * Makefile.am (libgomp_la_SOURCES): Add target.c.
7834         * Makefile.in: Regenerated.
7835         * libgomp_g.h (GOMP_task): Add depend argument.
7836         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7837         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7838         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7839         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7840         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7841         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7842         GOMP_taskgroup_start, GOMP_taskgroup_end,
7843         GOMP_parallel_sections): New prototypes.
7844         * fortran.c (omp_is_initial_device): Add ialias_redirect.
7845         (omp_is_initial_device_): New function.
7846         (ULP, STR1, STR2, ialias_redirect): Removed.
7847         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7848         omp_set_default_device_8_, omp_get_default_device_,
7849         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7850         functions.
7851         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7852         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7853         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7854         @@GOMP_4.0.
7855         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7856         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7857         omp_set_default_device, omp_set_default_device_,
7858         omp_set_default_device_8_, omp_get_default_device,
7859         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7860         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7861         omp_get_team_num_): Export @@OMP_4.0.
7862         * team.c (struct gomp_thread_start_data): Add place field.
7863         (gomp_thread_start): Clear thr->thread_pool and
7864         thr->task before returning.  Use gomp_team_barrier_wait_final
7865         instead of gomp_team_barrier_wait.  Initialize thr->place.
7866         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7867         team_cancelled and task_queued_count fields.
7868         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7869         before calling pthread_exit.
7870         (gomp_free_thread): No longer static.  Use
7871         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7872         (gomp_team_start): Add flags argument.  Set
7873         thr->thread_pool->threads_busy to nthreads immediately after creating
7874         new pool.  Use gomp_managed_threads_lock instead of
7875         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
7876         (gomp_team_end): Use gomp_managed_threads_lock instead of
7877         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
7878         of gomp_team_barrier_wait.  If team->team_cancelled, call
7879         gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7880         rather than thr->ts.work_share.
7881         (initialize_team): Don't call gomp_sem_init here.
7882         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7883         caller.
7884         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7885         * env.c (gomp_global_icv): Add default_device_var, target_data and
7886         bind_var initializers.
7887         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7888         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7889         gomp_places_list_len): New variables.
7890         (parse_bind_var, parse_one_place, parse_places_var): New functions.
7891         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7892         sized places.
7893         (gomp_cancel_var): New global variable.
7894         (parse_int): New function.
7895         (handle_omp_display_env): New function.
7896         (initialize_env): Use it.  Initialize default_device_var.
7897         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
7898         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
7899         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
7900         been successfully parsed (and call gomp_init_affinity in that case).
7901         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7902         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7903         omp_get_team_num, omp_is_initial_device): New functions.
7904         * libgomp.h: Include stdlib.h.
7905         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7906         Define.
7907         (struct target_mem_desc): Forward declare.
7908         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7909         and thread_limit_var fields.
7910         (gomp_get_num_devices): New prototype.
7911         (gomp_cancel_var): New extern decl.
7912         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7913         team_cancelled and task_queued_count fields.  Add comments about
7914         task_{,queued_,running_}count.
7915         (gomp_cancel_kind): New enum.
7916         (gomp_work_share_end_cancel): New prototype.
7917         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7918         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7919         and depend fields.
7920         (struct gomp_taskgroup): New type.
7921         (struct gomp_task_depend_entry,
7922         struct gomp_dependers_vec): New types.
7923         (gomp_finish_task): Free depend_hash if non-NULL.
7924         (struct gomp_team_state): Add place_partition_off
7925         and place_partition_len fields.
7926         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7927         gomp_places_list_len): New extern decls.
7928         (struct gomp_thread): Add place field.
7929         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7930         (gomp_init_thread_affinity): Add place argument.
7931         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7932         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7933         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7934         gomp_affinity_init_level, gomp_affinity_print_place): New
7935         prototypes.
7936         (gomp_team_start): Add flags argument.
7937         (gomp_thread_limit_var, gomp_remaining_threads_count,
7938         gomp_remaining_threads_lock): Remove.
7939         (gomp_managed_threads_lock): New variable.
7940         (struct gomp_thread_pool): Add threads_busy field.
7941         (gomp_free_thread): New prototype.
7942         * task.c: Include hashtab.h.
7943         (hash_entry_type): New typedef.
7944         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7945         (gomp_init_task): Clear dependers, depend_hash, depend_count,
7946         copy_ctors_done and taskgroup fields.
7947         (GOMP_task): Add depend argument, handle depend clauses.  If
7948         gomp_team_barrier_cancelled or if it's taskgroup has been
7949         cancelled, don't queue or start new tasks.  Set copy_ctors_done
7950         field if needed.  Initialize taskgroup field.  If copy_ctors_done
7951         and already cancelled, don't discard the task.  If taskgroup is
7952         non-NULL, enqueue the task into taskgroup queue.  Increment
7953         num_children field in taskgroup.  Increment task_queued_count.
7954         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7955         gomp_task_run_post_remove_taskgroup): New inline functions.
7956         (gomp_task_run_post_handle_depend_hash,
7957         gomp_task_run_post_handle_dependers,
7958         gomp_task_run_post_handle_depend): New functions.
7959         (GOMP_taskwait): Use them.  If more than one new tasks
7960         have been queued, wake other threads if needed.
7961         (gomp_barrier_handle_tasks): Likewise.  If
7962         gomp_team_barrier_cancelled, don't start any new tasks, just free
7963         all tasks.
7964         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7965         * omp_lib.f90.in
7966         (omp_proc_bind_kind, omp_proc_bind_false,
7967         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7968         omp_proc_bind_spread): New params.
7969         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7970         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7971         omp_get_team_num, omp_is_initial_device): New interfaces.
7972         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7973         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7974         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7975         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7976         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7977         useless use omp_lib_kinds.
7978         * omp.h.in (omp_proc_bind_t): New typedef.
7979         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7980         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7981         omp_get_team_num, omp_is_initial_device): New prototypes.
7982         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7983         through to gomp_team_start.
7984         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7985         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7986         Adjust gomp_parallel_loop_start callers.
7987         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7988         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7989         GOMP_loop_end_cancel): New functions.
7990         (GOMP_parallel_end): Add ialias_redirect.
7991         * hashtab.h: New file.
7992         * libgomp.texi (Environment Variables): Minor cleanup,
7993         update section refs to OpenMP 4.0rc2.
7994         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7995         environment variables.
7996         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7997         team->work_shares_to_free to thr->ts.work_share before calling
7998         free_work_share.
7999         (gomp_work_share_end_cancel): New function.
8000         * config/linux/proc.c: Include errno.h.
8001         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8002         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8003         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
8004         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
8005         gomp_cpuset_size is sizeof (cpu_set_t).
8006         (gomp_init_num_threads): Initialize gomp_cpuset_size,
8007         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8008         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8009         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
8010         contain any logical CPUs.
8011         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8012         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
8013         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8014         pthread_getaffinity_np.  Check gomp_places_list instead of
8015         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
8016         * config/linux/bar.c (gomp_barrier_wait_end,
8017         gomp_barrier_wait_last): Use BAR_* defines.
8018         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
8019         from state where needed.  Set work_share_cancelled to 0 on last
8020         thread.
8021         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8022         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8023         functions.
8024         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8025         Add cpusetsize argument.
8026         (gomp_cpuset_size, gomp_cpusetp): Declare.
8027         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8028         (affinity_counter): Remove.
8029         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8030         if CPU_ALLOC_SIZE isn't defined.
8031         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8032         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8033         bind current thread to the first place.
8034         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
8035         pthread_setaffinity_np to gomp_places_list[place].
8036         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8037         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8038         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8039         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8040         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8041         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8042         (gomp_barrier_t): Add awaited_final field.
8043         (gomp_barrier_init): Initialize awaited_final field.
8044         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8045         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8046         prototypes.
8047         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
8048         defines.
8049         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8050         gomp_team_barrier_cancelled): New inline functions.
8051         (gomp_barrier_last_thread,
8052         gomp_team_barrier_set_task_pending,
8053         gomp_team_barrier_clear_task_pending,
8054         gomp_team_barrier_set_waiting_for_tasks,
8055         gomp_team_barrier_waiting_for_tasks,
8056         gomp_team_barrier_done): Use BAR_* defines.
8057         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8058         (gomp_barrier_wait_end): Use BAR_* defines.
8059         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8060         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8061         Use BAR_* defines.
8062         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8063         gomp_team_barrier_cancel): New functions.
8064         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8065         argument.
8066         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8067         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8068         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8069         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8070         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8071         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8072         (gomp_barrier_t): Add cancellable field.
8073         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8074         gomp_team_barrier_cancel): New prototypes.
8075         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8076         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8077         gomp_team_barrier_cancelled): New inline functions.
8078         (gomp_barrier_wait_start, gomp_barrier_last_thread,
8079         gomp_team_barrier_set_task_pending,
8080         gomp_team_barrier_clear_task_pending,
8081         gomp_team_barrier_set_waiting_for_tasks,
8082         gomp_team_barrier_waiting_for_tasks,
8083         gomp_team_barrier_done): Use BAR_* defines.
8084         * barrier.c (GOMP_barrier_cancel): New function.
8085         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8086         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8087         omp_proc_bind_spread): New params.
8088         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8089         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8090         omp_get_team_num, omp_is_initial_device): New externals.
8091         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8092         New functions.
8093         (gomp_resolve_num_threads): Adjust for thread_limit now being in
8094         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
8095         infinity.  If not nested, just return minimum of max_num_threads
8096         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8097         to the returned value.  Otherwise, don't update atomically
8098         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8099         (GOMP_parallel_end): Adjust for thread_limit now being in
8100         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
8101         infinity.  Adjust threads_busy in the pool rather than
8102         gomp_remaining_threads_count.  Remember team->nthreads and call
8103         gomp_team_end before adjusting threads_busy, if not nested
8104         afterwards, just set it to 1 non-atomically.  Add ialias.
8105         (GOMP_parallel_start): Adjust gomp_team_start caller.
8106         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8107         * testsuite/libgomp.c/affinity-1.c: New test.
8108         * testsuite/libgomp.c/atomic-15.c: New test.
8109         * testsuite/libgomp.c/atomic-16.c: New test.
8110         * testsuite/libgomp.c/atomic-17.c: New test.
8111         * testsuite/libgomp.c/cancel-for-1.c: New test.
8112         * testsuite/libgomp.c/cancel-for-2.c: New test.
8113         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8114         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8115         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8116         * testsuite/libgomp.c/cancel-sections-1.c: New test.
8117         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8118         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8119         * testsuite/libgomp.c/depend-1.c: New test.
8120         * testsuite/libgomp.c/depend-2.c: New test.
8121         * testsuite/libgomp.c/depend-3.c: New test.
8122         * testsuite/libgomp.c/depend-4.c: New test.
8123         * testsuite/libgomp.c/for-1.c: New test.
8124         * testsuite/libgomp.c/for-1.h: New file.
8125         * testsuite/libgomp.c/for-2.c: New test.
8126         * testsuite/libgomp.c/for-2.h: New file.
8127         * testsuite/libgomp.c/for-3.c: New test.
8128         * testsuite/libgomp.c/pr58392.c: New test.
8129         * testsuite/libgomp.c/simd-1.c: New test.
8130         * testsuite/libgomp.c/simd-2.c: New test.
8131         * testsuite/libgomp.c/simd-3.c: New test.
8132         * testsuite/libgomp.c/simd-4.c: New test.
8133         * testsuite/libgomp.c/simd-5.c: New test.
8134         * testsuite/libgomp.c/simd-6.c: New test.
8135         * testsuite/libgomp.c/target-1.c: New test.
8136         * testsuite/libgomp.c/target-2.c: New test.
8137         * testsuite/libgomp.c/target-3.c: New test.
8138         * testsuite/libgomp.c/target-4.c: New test.
8139         * testsuite/libgomp.c/target-5.c: New test.
8140         * testsuite/libgomp.c/target-6.c: New test.
8141         * testsuite/libgomp.c/target-7.c: New test.
8142         * testsuite/libgomp.c/taskgroup-1.c: New test.
8143         * testsuite/libgomp.c/thread-limit-1.c: New test.
8144         * testsuite/libgomp.c/thread-limit-2.c: New test.
8145         * testsuite/libgomp.c/thread-limit-3.c: New test.
8146         * testsuite/libgomp.c/udr-1.c: New test.
8147         * testsuite/libgomp.c/udr-2.c: New test.
8148         * testsuite/libgomp.c/udr-3.c: New test.
8149         * testsuite/libgomp.c++/affinity-1.C: New test.
8150         * testsuite/libgomp.c++/atomic-10.C: New test.
8151         * testsuite/libgomp.c++/atomic-11.C: New test.
8152         * testsuite/libgomp.c++/atomic-12.C: New test.
8153         * testsuite/libgomp.c++/atomic-13.C: New test.
8154         * testsuite/libgomp.c++/atomic-14.C: New test.
8155         * testsuite/libgomp.c++/atomic-15.C: New test.
8156         * testsuite/libgomp.c++/cancel-for-1.C: New test.
8157         * testsuite/libgomp.c++/cancel-for-2.C: New test.
8158         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8159         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8160         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8161         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8162         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8163         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8164         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8165         * testsuite/libgomp.c++/cancel-test.h: New file.
8166         * testsuite/libgomp.c++/for-9.C: New test.
8167         * testsuite/libgomp.c++/for-10.C: New test.
8168         * testsuite/libgomp.c++/for-11.C: New test.
8169         * testsuite/libgomp.c++/simd-1.C: New test.
8170         * testsuite/libgomp.c++/simd-2.C: New test.
8171         * testsuite/libgomp.c++/simd-3.C: New test.
8172         * testsuite/libgomp.c++/simd-4.C: New test.
8173         * testsuite/libgomp.c++/simd-5.C: New test.
8174         * testsuite/libgomp.c++/simd-6.C: New test.
8175         * testsuite/libgomp.c++/simd-7.C: New test.
8176         * testsuite/libgomp.c++/simd-8.C: New test.
8177         * testsuite/libgomp.c++/target-1.C: New test.
8178         * testsuite/libgomp.c++/target-2.C: New test.
8179         * testsuite/libgomp.c++/target-2-aux.cc: New file.
8180         * testsuite/libgomp.c++/target-3.C: New test.
8181         * testsuite/libgomp.c++/taskgroup-1.C: New test.
8182         * testsuite/libgomp.c++/udr-1.C: New test.
8183         * testsuite/libgomp.c++/udr-2.C: New test.
8184         * testsuite/libgomp.c++/udr-3.C: New test.
8185         * testsuite/libgomp.c++/udr-4.C: New test.
8186         * testsuite/libgomp.c++/udr-5.C: New test.
8187         * testsuite/libgomp.c++/udr-6.C: New test.
8188         * testsuite/libgomp.c++/udr-7.C: New test.
8189         * testsuite/libgomp.c++/udr-8.C: New test.
8190         * testsuite/libgomp.c++/udr-9.C: New test.
8192 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
8194         PR testsuite/57605
8195         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8196         ALWAYS_CFLAGS.
8198 2013-09-20  Alan Modra  <amodra@gmail.com>
8200         * configure: Regenerate.
8202 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
8204         * testsuite/libgomp.c/sections-2.c: New test.
8206 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8208         * testsuite/libgomp.fortran/strassen.f90:
8209         Add dg-skip-if aarch64_tiny.
8211 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
8212             Cesar Philippidis  <cesar@codesourcery.com>
8214         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8215         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8216         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8217         * testsuite/libgomp.fortran/fortran.exp: Likewise.
8218         * testsuite/libgomp.graphite/graphite.exp: Likewise.
8219         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8220         Use dg-runtest rather than gfortran-dg-runtest.
8222 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
8224         * testsuite/libgomp.c/icv-2.c: Extend current handling of
8225         Linux-based x86 systems to cover all GNU systems.
8226         * testsuite/libgomp.c/lock-3.c: Likewise.
8227         * testsuite/libgomp.c/pr48591.c: Likewise.
8229 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
8231         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8232         GNU/Hurd, as done for Linux-based systems.
8234         * config/posix/ptrlock.h: Fix comment.
8236 2013-05-27  Tobias Burnus  <burnus@net-b.de>
8238         PR fortran/57423
8239         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8240         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8241         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8242         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8243         omp_destroy_nest_lock): Correct arguments to match the one in
8244         the OpenMP spec.
8245         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8246         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8247         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8248         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8250 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
8252         * testsuite/libgomp.c/loop-13.c: New test.
8253         * testsuite/libgomp.c/loop-14.c: New test.
8254         * testsuite/libgomp.c/loop-15.c: New test.
8255         * testsuite/libgomp.c++/loop-13.C: New test.
8256         * testsuite/libgomp.c++/loop-14.C: New test.
8257         * testsuite/libgomp.c++/loop-15.C: New test.
8259 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
8261         PR middle-end/56217
8262         * testsuite/libgomp.c++/pr56217.C: New test.
8264 2013-02-01  Alan Modra  <amodra@gmail.com>
8266         * task.c (GOMP_task, GOMP_taskwait): Comment.
8268 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
8269             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
8271         PR libgomp/55561
8272         * config/linux/wait.h (do_spin): Use atomic load for addr.
8273         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8274         for intptr and ptrlock.
8275         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8276         for ptrlock.
8278 2013-01-22  Alan Modra  <amodra@gmail.com>
8280         PR libgomp/51376
8281         PR libgomp/56073
8282         * task.c (GOMP_task): Revert 2011-12-09 change.
8283         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
8284         barrier to read task->children..
8285         (gomp_barrier_handle_tasks): ..and matching atomic store with
8286         release barrier here when setting parent->children to NULL.
8288 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
8289             Tobias Burnus  <burnus@net-b.de>
8291         PR driver/55884
8292         * testsuite/libgomp.fortran/fortran.exp: Use
8293         -fintrinsic-modules-path= instead of
8294         -fintrinsic-modules-path.
8296 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
8298         Update copyright years.
8300 2012-12-19  Tobias Burnus  <burnus@net-b.de>
8302         * testsuite/libgomp.fortran/fortran.exp: Set
8303         -fintrinsic-modules-path.
8305 2012-12-19  Tobias Burnus  <burnus@net-b.de>
8307         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8308         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8310 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
8312         PR libgomp/55411
8313         * team.c (gomp_free_thread): Decrease gomp_managed_threads
8314         if pool had any threads_used.
8316 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
8318         * testsuite/libgomp.c++/pr24455.C: Use
8319         -Wl,-undefined,dynamic_lookup on darwin.
8321 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
8323         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8325 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
8327         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8329 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
8330             Jim MacArthur  <jim.macarthur@arm.com>
8331             Marcus Shawcroft  <marcus.shawcroft@arm.com>
8332             Nigel Stephens  <nigel.stephens@arm.com>
8333             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8334             Richard Earnshaw  <rearnsha@arm.com>
8335             Sofiane Naci  <sofiane.naci@arm.com>
8336             Stephen Thomas  <stephen.thomas@arm.com>
8337             Tejas Belagod  <tejas.belagod@arm.com>
8338             Yufeng Zhang  <yufeng.zhang@arm.com>
8340         * configure.tgt: Add AArch64.
8342 2012-10-04  Jason Merrill  <jason@redhat.com>
8344         * testsuite/libgomp.c++/tls-init1.C: New.
8346 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
8348         * configure: Regenerated.
8350 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
8352         * config/linux/mips/futex.h (sys_futex0): Change to static
8353         function with noinline, nomips16 attributes under MIPS16. Adjust
8354         asm statement to place 'li v0,SYS_futex' immediately before
8355         syscall insn.
8357 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
8359         * libgomp.texi (Library Index): Renamed from "Index" to prevent
8360         conflict with index.html on case-insensitive file systems.
8362 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
8364         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8365         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8367 2012-07-02  Richard Guenther  <rguenther@suse.de>
8368             Michael Matz  <matz@suse.de>
8369             Tobias Grosser <tobias@grosser.es>
8370             Sebastian Pop <sebpop@gmail.com>
8372         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8373         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8374         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8375         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8377 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
8379         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8381 2012-06-22  Richard Guenther  <rguenther@suse.de>
8383         Merge from graphite branch
8384         2012-01-13  Tobias Grosser  <tobias@grosser.es>
8386         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8387         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8389 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
8391         PR middle-end/53580
8392         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8393         use GOMP_barrier () call instead.
8394         * testsuite/libgomp.c/pr26943-3.c: Likewise.
8395         * testsuite/libgomp.c/pr26943-4.c: Likewise.
8396         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8397         call GOMP_barrier instead.
8398         * testsuite/libgomp.fortran/vla5.f90: Likewise.
8400 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
8402         PR libgomp/52993
8403         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8404         argument to memset call.
8406 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
8408         * configure: Regenerated.
8410 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8412         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8414 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
8416         PR bootstrap/52812
8417         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8419 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
8421         PR middle-end/52547
8422         * testsuite/libgomp.c/pr52547.c: New test.
8424 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8426         * testsuite/lib/libgomp.exp: load fortran-modules.exp
8428 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8430         * configure.tgt (mips-sgi-irix6*): Remove.
8432 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8434         * configure.tgt (alpha*-dec-osf*): Remove.
8436         * config/osf/sem.h: Remove.
8437         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8439 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
8441         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8443 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8445         PR libstdc++/52188
8446         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8447         Remove ENABLE_SYMVERS_SOL2.
8448         * configure: Regenerate.
8449         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8450         (PREPROCESS): New variable.
8451         (libgomp.ver): New target.
8452         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8453         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8454         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8455         Use libgomp.ver.
8456         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8457         * Makefile.in: Regenerate.
8459 2012-02-14  Walter Lee  <walt@tilera.com>
8461         * configure.tgt: Handle tilegx and tilepro.
8462         * config/linux/tile/futex.h: New file.
8464 2012-02-08  Richard Guenther  <rguenther@suse.de>
8466         PR tree-optimization/46886
8467         * testsuite/libgomp.c/pr46886.c: New testcase.
8469 2012-01-25  Matthias Klose  <doko@ubuntu.com>
8471         * config/linux/arm: Remove empty directory.
8472         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8474 2011-12-09  Alan Modra  <amodra@gmail.com>
8476         PR libgomp/51376
8477         * task.c (GOMP_taskwait): Don't access task->children outside of
8478         task_lock mutex region.
8479         (GOMP_task): Likewise.
8481 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
8483         PR libgomp/51132
8484         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8485         to file scope.
8486         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8487         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8488         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8489         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8490         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8492 2011-12-02  Alan Modra  <amodra@gmail.com>
8494         * config/linux/affinity.c: Use atomic rather than sync builtin.
8495         * config/linux/lock.c: Likewise.
8496         * config/linux/ptrlock.h: Likewise.
8497         * config/linux/ptrlock.c: Likewise.
8498         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8499         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8500         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8501         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8502         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8503         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8504         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8505         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8506         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8507         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8509 2011-11-30  Alan Modra  <amodra@gmail.com>
8511         PR libgomp/51298
8512         * config/linux/bar.h: Use atomic rather than sync builtins.
8513         * config/linux/bar.c: Likewise.  Add missing acquire
8514         synchronisation on generation field.
8515         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8516         double unlock.
8518 2011-11-30  Alan Modra  <amodra@gmail.com>
8520         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
8521         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
8522         * config/linux/mutex.h: Use atomic rather than sync builtins.
8523         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
8524         * config/linux/omp-lock.h: Comment fix.
8525         * config/linux/arm/mutex.h: Delete.
8526         * config/linux/powerpc/mutex.h: Delete.
8527         * config/linux/ia64/mutex.h: Delete.
8528         * config/linux/mips/mutex.h: Delete.
8530 2011-11-30  Alan Modra  <amodra@gmail.com>
8532         PR libgomp/51249
8533         * config/linux/sem.h: Rewrite.
8534         * config/linux/sem.c: Rewrite.
8536 2011-11-28  Richard Henderson  <rth@redhat.com>
8538         * libgomp.h (enum memmodel): New.
8540 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
8542         * configure: Regenerate.
8544 2011-10-10  Matthias Klose  <doko@ubuntu.com>
8546         * config/posix95: Remove empty directory.
8548 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
8550         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
8552 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
8554         PR fortran/49792
8555         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
8556         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
8558 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8560         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
8562 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8564         PR libgomp/49965
8565         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
8567 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
8569         * config/linux/proc.h: New.
8570         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
8571         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
8572         (gomp_init_num_threads): Update call to cpuset_popcount.
8573         (get_num_procs): Ditto.
8574         * config/linux/affinity.c (gomp_init_affinity): Call
8575         gomp_cpuset_popcount.
8577 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
8579         PR fortran/42041
8580         PR fortran/46752
8581         * omp.h.in (omp_in_final): New prototype.
8582         * omp_lib.f90.in (omp_in_final): New interface.
8583         (omp_integer_kind, omp_logical_kind): Remove
8584         and replace all its uses in the module with 4.
8585         (openmp_version): Change to 201107.
8586         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
8587         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
8588         kind for the parameters.
8589         (omp_in_final): New external.
8590         (openmp_version): Change to 201107.
8591         * task.c (omp_in_final): New function.
8592         (gomp_init_task): Initialize final_task.
8593         (GOMP_task): Remove unused attribute from flags.  Handle final
8594         tasks.
8595         (GOMP_taskyield): New function.
8596         (omp_in_final): Return true if if (false) or final (true) task
8597         or descendant of final (true).
8598         * fortran.c (omp_in_final_): New function.
8599         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8600         (GOMP_3.0): Export GOMP_taskyield.
8601         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8602         variables.
8603         (parse_unsigned_long_list): New function.
8604         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
8605         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
8606         even if parse_affinity returned false.
8607         * config/linux/affinity.c (gomp_init_affinity): Handle
8608         gomp_cpu_affinity_len == 0.
8609         * libgomp_g.h (GOMP_taskyield): New prototype.
8610         * libgomp.h (struct gomp_task): Add final_task field.
8611         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8612         * team.c (gomp_team_start): Override new task's nthreads_var icv
8613         if list form OMP_NUM_THREADS has been used and it has value for
8614         the new nesting level.
8616         * testsuite/libgomp.c/atomic-11.c: New test.
8617         * testsuite/libgomp.c/atomic-12.c: New test.
8618         * testsuite/libgomp.c/atomic-13.c: New test.
8619         * testsuite/libgomp.c/atomic-14.c: New test.
8620         * testsuite/libgomp.c/reduction-6.c: New test.
8621         * testsuite/libgomp.c/task-5.c: New test.
8622         * testsuite/libgomp.c++/atomic-2.C: New test.
8623         * testsuite/libgomp.c++/atomic-3.C: New test.
8624         * testsuite/libgomp.c++/atomic-4.C: New test.
8625         * testsuite/libgomp.c++/atomic-5.C: New test.
8626         * testsuite/libgomp.c++/atomic-6.C: New test.
8627         * testsuite/libgomp.c++/atomic-7.C: New test.
8628         * testsuite/libgomp.c++/atomic-8.C: New test.
8629         * testsuite/libgomp.c++/atomic-9.C: New test.
8630         * testsuite/libgomp.c++/task-8.C: New test.
8631         * testsuite/libgomp.c++/reduction-4.C: New test.
8632         * testsuite/libgomp.fortran/allocatable7.f90: New test.
8633         * testsuite/libgomp.fortran/allocatable8.f90: New test.
8634         * testsuite/libgomp.fortran/crayptr3.f90: New test.
8635         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8636         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8637         * testsuite/libgomp.fortran/pointer1.f90: New test.
8638         * testsuite/libgomp.fortran/pointer2.f90: New test.
8639         * testsuite/libgomp.fortran/task4.f90: New test.
8641 2011-08-02  Tobias Burnus  <burnus@net-b.de>
8643         * libgomp.texi: Update OpenMP spec references to 3.1.
8644         (omp_in_final,OMP_PROC_BIND): New sections.
8645         (OMP_NUM_THREADS): Document that the value can be now a list.
8646         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8648 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
8650         * config/linux/x86/futex.h: Check __x86_64__ instead of
8651         __LP64__.
8653 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
8655         PR middle-end/49897
8656         PR middle-end/49898
8657         * testsuite/libgomp.c/pr49897-1.c: New test.
8658         * testsuite/libgomp.c/pr49897-2.c: New test.
8659         * testsuite/libgomp.c/pr49898-1.c: New test.
8660         * testsuite/libgomp.c/pr49898-2.c: New test.
8662 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
8664         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8665         for ia32 instead of ilp32.
8667         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8668         * testsuite/libgomp.c/atomic-6.c: Likewise.
8670 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
8672         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8673         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8675 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8677         PR libgomp/45351
8678         * config/osf/sem.h: New file.
8679         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8681 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8683         PR target/49541
8684         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8685         ldflags.
8687 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
8689         * config/linux/wait.h (do_spin): New inline, largely copied
8690         from do_wait, just don't do futex_wait here, instead return true if
8691         it should be done.
8692         (do_wait): Implement using do_spin.
8693         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8694         to prototype.
8695         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8696         __sync_bool_compare_and_swap, pass the oldval to
8697         gomp_mutex_lock_slow.
8698         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8699         If all mutex contenders are just spinning and not sleeping, don't
8700         change state to 2 unnecessarily.  Optimize the loop when state has
8701         already become 2 to use just one atomic operation per loop instead
8702         of two.
8703         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8704         to prototype.
8705         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8706         __sync_bool_compare_and_swap, pass the oldval to
8707         gomp_mutex_lock_slow.
8709 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
8711         PR libgomp/49490
8712         * iter.c (gomp_iter_static_next): For chunk size 0
8713         only use n ceil/ nthreads size for the first
8714         n % nthreads threads in the team instead of
8715         all threads except for the last few ones which
8716         get less work or none at all.
8717         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8718         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8719         chunk argument, set run_sched_modifier to 0 for static
8720         resp. 1 for other kinds.  If chunk argument is 0
8721         and not static, set value to 1.
8723 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
8725         PR c++/49043
8726         * testsuite/libgomp.c++/pr49043.C: New test.
8728         PR c++/48869
8729         * testsuite/libgomp.c++/pr48869.C: New test.
8731 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
8733         PR fortran/48894
8734         * fortran.c: Include limits.h.
8735         (TO_INT): Define.
8736         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8737         *set.
8738         (omp_set_num_threads_8_, omp_set_schedule_8_,
8739         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8740         omp_get_team_size_8_): Use TO_INT macro.
8741         * testsuite/libgomp.fortran/pr48894.f90: New test.
8743 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
8745         PR middle-end/48591
8746         * testsuite/libgomp.c/pr48591.c: New test.
8748 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8750         PR bootstrap/48135
8751         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8752         * configure: Regenerate.
8754 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
8756         PR fortran/47886
8757         * testsuite/libgomp.fortran/task3.f90: New test.
8759 2011-02-24  Tobias Burnus  <burnus@net-b.de>
8761         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8763 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
8765         PR libgomp/47854
8766         * libgomp.texi (omp_get_wtime): Don't say time in the past
8767         must be Unix Epoch.
8769 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
8771         PR libgomp/47804
8772         * testsuite/libgomp.fortran/fortran.exp: Check for both
8773         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
8774         but $blddir != "", still append ${blddir}/${lang_library_path}
8775         to ld_library_path.
8777 2011-02-16  Tobias Burnus  <burnus@net-b.de>
8779         PR libgomp/47758
8780         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8781         of libquadmath.a before adding its libpath to ldflags.
8783 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
8785         PR libgomp/47731
8786         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8787         to FUTEX_WAIT futex syscall.
8788         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8790 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8792         * configure: Regenerate.
8794 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
8796         PR libstdc++/36104
8797         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8799 2011-01-16  Gerald Pfeifer
8801         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8803 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
8805         PR fortran/46874
8806         * libgomp.fortran/allocatable6.f90: New test.
8808 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8810         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8811         * configure: Regenerate.
8813 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
8815         PR target/40125
8816         PR lto/46695
8817         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8818         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8819         * aclocal.m4: Regenerate.
8820         * configure: Regenerate.
8821         * Makefile.in: Regenerate.
8822         * testsuite/Makefile.in: Regenerate.
8824 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
8826         PR fortran/46753
8827         * libgomp.fortran/pr46753.f90: New test.
8829         PR libgomp/43706
8830         * env.c (initialize_env): Default to spin count 300000
8831         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8832         is specified.
8834         PR libgomp/45240
8835         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8836         at the end if sync builtins aren't supported.
8838 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8840         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8842 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8844         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8846 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
8848         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8850 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
8851             Tobias Burnus  <burnus@net-b.de>
8853         PR fortran/32049
8854         * configure.ac:
8855         * configure: Regenerate.
8857 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8859         * config/linux/futex.h: New.
8860         * config/linux/arm/mutex.h: New.
8861         * configure.tgt (arm*-*-linux*): Add config path.
8863 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
8865         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8867 2010-09-23  Tobias Burnus  <burnus@net-b.de>
8869         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8870         Change Fortran datatype to LOGICAL.
8871         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8872         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8874 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8876         * configure: Regenerate.
8878 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
8880         * libgomp.texi: Add function keyword to a couple of Fortran
8881         interfaces, use integer instead of int for Fortran.
8883 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
8885         * libgomp.texi: Fix spelling and pasto problems throughout.
8886         Adjust prototypes to match code.
8888 2010-07-24  Tobias Burnus  <burnus@net-b.de>
8890         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8891         silence -fwhole-file warning.
8893 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8895         * configure.tgt (*-*-solaris2.[56]*): Removed.
8897 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8899         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8900         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8901         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8902         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8903         targetting solaris2*.
8904         * configure: Regenerate.
8905         * config.h.in: Regenerate.
8907         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8908         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8909         Add libgomp_version_dep.
8910         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8911         versioning.
8912         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8913         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8914         * Makefile.in: Regenerate.
8916         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8917         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8918         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8919         to common block, protected by
8920         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8922 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
8924         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
8926 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
8928         PR bootstrap/43170
8929         * configure: Regenerate.
8931 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8933         PR other/43620
8934         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8935         * configure: Regenerate.
8936         * Makefile.in: Regenerate.
8937         * testsuite/Makefile.in: Regenerate.
8939 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
8941         PR c/43893
8942         * testsuite/libgomp.c/pr43893.c: New test.
8943         * testsuite/libgomp.c++/pr43893.C: New test.
8945 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
8947         PR middle-end/43570
8948         * testsuite/libgomp.fortran/vla8.f90: New test.
8950 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
8952         PR libgomp/43706
8953         * config/linux/affinity.c (gomp_init_affinity): Decrease
8954         gomp_available_cpus if affinity mask confines the process to fewer
8955         CPUs.
8956         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8957         non-NULL, just return gomp_available_cpus.
8959         PR libgomp/43569
8960         * sections.c (gomp_sections_init): Initialize ws->mode.
8962 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
8964         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8965         not unused bar variable.
8966         * configure: Regenerate.
8968 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8970         * Makefile.in: Regenerate.
8971         * aclocal.m4: Regenerate.
8972         * testsuite/Makefile.in: Regenerate.
8974 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
8976         PR libgomp/42942
8977         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8978         (initialize_env): Adjust callers.
8979         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8980         when the argument is 0.
8982         * testsuite/libgomp.c/pr42942.c: New test.
8984 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
8986         PR middle-end/42644
8987         PR middle-end/42130
8988         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8989         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8991 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8993         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8994         * testsuite/libgomp.c++/task-6.C: Likewise.
8996 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
8998         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9000 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
9002         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9003         * configure: Regenerate.
9005 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
9007         PR fortran/42866
9008         * testsuite/libgomp.fortran/allocatable5.f90: New test.
9010 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
9012         * configure.ac: Test for executability of GFORTRAN.
9013         * configure: Regenerate.
9015 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9017         * configure: Regenerate.
9019 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
9021         PR libgomp/42602
9022         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9024 2010-01-03  Richard Guenther  <rguenther@suse.de>
9026         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9028 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
9030         * testsuite/libgomp.graphite/pr4118.c: New.
9032 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9034         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9035         for darwin, protect the test with require-effective-target tls_runtime.
9036         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9038 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9040         PR target/41605
9041         * testsuite/lib/libgomp.exp: Provide -B options to allow for
9042         link spec %s substitutions for static libraries.
9044 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
9046         PR testsuite/42135
9047         * libgomp.graphite/force-parallel-2.c: Reduce array size.
9049 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9051         * Makefile.in: Regenerate.
9052         * configure: Regenerate.
9053         * testsuite/Makefile.in: Regenerate.
9055 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
9057         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9058         settings for LC_ALL and LANG.
9060 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
9062         PR fortran/42162
9063         * testsuite/libgomp.fortran/pr42162.f90: New test.
9065 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
9067         PR middle-end/42029
9068         * testsuite/libgomp.c/pr42029.c: New test.
9070 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
9072         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9073         *s.  Accept ld version without text in ()s.
9074         * configure: Regenerated.
9076 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
9078         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9080 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9082         PR libgomp/41418
9083         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9084         or a hyphen (happens with fortran language disabled).
9085         * configure: Regenerate.
9087 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9089         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9090         use sed script portable to Solaris /bin/sed for extracting ld
9091         version.
9092         * configure: Regenerate.
9094 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
9096         * testsuite/libgomp.graphite/bounds.c: New test.
9098 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9100         * Makefile.am (libgomp_la_LINK): New.
9101         * Makefile.in: Regenerate.
9103 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9105         * configure.ac (AC_PREREQ): Bump to 2.64.
9107 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9109         * Makefile.am (install-html, install-pdf): Remove.
9110         * Makefile.in: Regenerate.
9112         * Makefile.in: Regenerate.
9113         * aclocal.m4: Regenerate.
9114         * config.h.in: Regenerate.
9115         * configure: Regenerate.
9116         * testsuite/Makefile.in: Regenerate.
9118 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9120         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9121         * Makefile.in: Regenerate.
9123 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
9125         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9126         * Makefile.in: Regenerate.
9128 2009-08-19  Tobias Burnus  <burnus@net-b.de>
9130         PR fortran/41102
9131         omp_lib.h.in: Fix -std=f95 errors.
9133 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
9135         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9136         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9137         * testsuite/libgomp.graphite/graphite.exp: New.
9139 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
9141         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9142         only build.
9144 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
9146         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9147         needed memory barrier semantics.
9148         * config/linux/mips/mutex.h: New file.
9150 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9152         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9154 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
9156         * configure: Regenerate.
9158 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
9160         PR testsuite/40699
9161         PR testsuite/40707
9162         PR testsuite/40709
9163         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9164         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9165         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9167 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
9169         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9170         options when choosing a multilib.
9172 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
9174         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9175         ld_library_path.  Use add_path.  Add just find_libgcc_s to
9176         ld_library_path, not every libgcc multilib directory.
9177         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9178         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9179         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9180         Use add_path.
9181         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9183 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
9185         * Makefile.am (LTLDFLAGS): Define.
9186         (LINK): Define.
9187         * Makefile.in: Regenerate.
9189 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
9191         PR fortran/39718
9192         * testsuite/libgomp.fortran/fortran.exp: Don't link with
9193         libgfortranbegin, check existence of libgfortran.a instead of
9194         libgfortranbegin.a.
9196 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
9198         PR libgomp/40174
9199         * team.c (gomp_thread_start): Destroy thr->release semaphore.
9200         (gomp_free_pool_helper): Likewise.
9202 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
9203             Jakub Jelinek  <jakub@redhat.com>
9205         PR fortran/35423
9206         * testsuite/libgomp.fortran/workshare2.f90: New test.
9208 2009-04-09  Nick Clifton  <nickc@redhat.com>
9210         * iter.c: Change copyright header to refer to version 3 of the
9211         GNU General Public License with version 3.1 of the GCC Runtime
9212         Library Exception and to point readers at the COPYING3 and
9213         COPYING3.RUNTIME files and the FSF's license web page.
9214         * alloc.c: Likewise.
9215         * barrier.c: Likewise.
9216         * config/bsd/proc.c: Likewise.
9217         * config/linux/affinity.c: Likewise.
9218         * config/linux/alpha/futex.h: Likewise.
9219         * config/linux/bar.c: Likewise.
9220         * config/linux/bar.h: Likewise.
9221         * config/linux/ia64/futex.h: Likewise.
9222         * config/linux/ia64/mutex.h: Likewise.
9223         * config/linux/lock.c: Likewise.
9224         * config/linux/mips/futex.h: Likewise.
9225         * config/linux/mutex.c: Likewise.
9226         * config/linux/mutex.h: Likewise.
9227         * config/linux/powerpc/futex.h: Likewise.
9228         * config/linux/proc.c: Likewise.
9229         * config/linux/ptrlock.c: Likewise.
9230         * config/linux/ptrlock.h: Likewise.
9231         * config/linux/s390/futex.h: Likewise.
9232         * config/linux/sem.c: Likewise.
9233         * config/linux/sem.h: Likewise.
9234         * config/linux/sparc/futex.h: Likewise.
9235         * config/linux/wait.h: Likewise.
9236         * config/linux/x86/futex.h: Likewise.
9237         * config/mingw32/proc.c: Likewise.
9238         * config/mingw32/time.c: Likewise.
9239         * config/posix/affinity.c: Likewise.
9240         * config/posix/bar.c: Likewise.
9241         * config/posix/bar.h: Likewise.
9242         * config/posix/lock.c: Likewise.
9243         * config/posix/mutex.h: Likewise.
9244         * config/posix/proc.c: Likewise.
9245         * config/posix/ptrlock.h: Likewise.
9246         * config/posix/sem.c: Likewise.
9247         * config/posix/sem.h: Likewise.
9248         * config/posix/time.c: Likewise.
9249         * config/posix95/lock.c: Likewise.
9250         * critical.c: Likewise.
9251         * env.c: Likewise.
9252         * error.c: Likewise.
9253         * fortran.c: Likewise.
9254         * iter_ull.c: Likewise.
9255         * libgomp.h: Likewise.
9256         * libgomp_f.h.in: Likewise.
9257         * libgomp_g.h: Likewise.
9258         * loop.c: Likewise.
9259         * loop_ull.c: Likewise.
9260         * omp.h.in: Likewise.
9261         * omp_lib.f90.in: Likewise.
9262         * omp_lib.h.in: Likewise.
9263         * ordered.c: Likewise.
9264         * parallel.c: Likewise.
9265         * sections.c: Likewise.
9266         * single.c: Likewise.
9267         * task.c: Likewise.
9268         * team.c: Likewise.
9269         * work.c: Likewise.
9271 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
9273         * testsuite/config/default.exp: Change copyright header to refer to
9274         version 3 of the GNU General Public License and to point readers
9275         at the COPYING3 file and the FSF's license web page.
9277 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
9279         PR middle-end/39573
9280         * libgomp.c++/pr39573.C: New test.
9282 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
9284         PR other/39591
9285         * testsuite/libgomp.c/pr39591-1.c: New test.
9286         * testsuite/libgomp.c/pr39591-2.c: New test.
9287         * testsuite/libgomp.c/pr39591-3.c: New test.
9289 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
9291         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9292         * testsuite/libgomp.c/atomic-6.c: Ditto.
9294 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
9296         PR c/39495
9297         * testsuite/libgomp.c/loop-12.c: New test.
9298         * testsuite/libgomp.c/loop-11.c: New test.
9299         * testsuite/libgomp.c++/loop-11.C: New test.
9300         * testsuite/libgomp.c++/loop-12.C: New test.
9301         * testsuite/libgomp.c++/for-8.C: New test.
9303 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9305         * configure: Regenerate.
9307 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
9309         PR middle-end/39154
9310         * testsuite/libgomp.c/pr39154.c: New test.
9312 2009-01-30  Ian Lance Taylor  <iant@google.com>
9314         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9315         libgomp_ld_is_gold.  Get gold version number.
9316         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9317         * configure: Rebuild.
9319 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9321         * testsuite/lib/libgomp.exp: Add -B option for targets that
9322         use libgfortran.a%s in their specs.
9324 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
9326         PR libgomp/38086
9327         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9328         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9329         HAVE_AS_SYMVER_DIRECTIVE is not defined.
9330         * configure: Regenerated.
9331         * config.h.in: Likewise.
9333 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
9335         PR c++/38650
9336         * testsuite/libgomp.c/pr38650.c: New test.
9337         * testsuite/libgomp.c++/pr38650.C: New test.
9339 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
9341         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9343 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
9345         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9347 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9349         * configure: Regenerate.
9351 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
9353         PR middle-end/36802
9354         * testsuite/libgomp.c/pr36802-1.c: New test.
9355         * testsuite/libgomp.c/pr36802-2.c: New test.
9356         * testsuite/libgomp.c/pr36802-3.c: New test.
9358 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
9360         PR libgomp/38270
9361         * config/linux/powerpc/mutex.h: New.
9363 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
9365         PR c++/38257
9366         * testsuite/libgomp.c++/for-7.C: New test.
9368         PR c++/38348
9369         * testsuite/libgomp.c++/for-6.C: New test.
9371 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
9373         PR testsuite/28870
9374         * testsuite/lib/libgomp.exp: Include new timeout library files.
9375         (libgomp_target_compile): Set timeout value from new proc.
9377 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
9379         PR libgomp/37938
9380         * config/linux/ia64/mutex.h: New.
9382 2008-11-04  Tobias Burnus  <burnus@net-b.de>
9384         PR libgomp/37935
9385         * libgomp.texi (Runtime library routines, environment variables):
9386         Update for OpenMP version 3.0.
9388 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
9389             Steve Ellcey  <sje@cup.hp.com>
9391         * configure: Regenerate for new libtool.
9392         * Makefile.in: Ditto.
9393         * testsuite/Makefile.in: Ditto.
9395 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
9396             Andreas Tobler  <a.tobler@schweiz.org>
9398         * config/bsd/proc.c: New file.
9399         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
9400         * configure.ac: Check for header <sys/sysctl.h>
9401         * configure: Regenerate.
9402         * config.h.in: Likewise.
9404 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
9406         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9408 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
9410         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9411         * Makefile.in: Regenerated.
9412         * testsuite/Makefile.in: Regenerated.
9414 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
9416         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
9417         depend on blddir if blddir exists.
9418         (libgomp_target_compile): Likewise.
9419         * testsuite/libgomp.c++/c++.exp: Likewise.
9420         * testsuite/libgomp.fortran/fortran.exp: Likewise.
9422 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9424         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
9425         Do not list GPL as Invariant Section.
9427 2008-07-28  Ilie Garbacea  <ilie@mips.com>
9428             Chao-ying Fu  <fu@mips.com>
9430         * configure.tgt: Enable futex for MIPS.
9431         * config/linux/mips/futex.h: New file.
9433 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
9435         * team.c (gomp_team_end): Free team immediately if it has
9436         just one thread.
9438 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
9440         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9441         * testsuite/libgomp.fortran/fortran.exp: Same.
9442         * testsuite/libgomp.c/c.exp: Same.
9443         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9444         directory to library path first.
9446 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
9448         * env.c (parse_stacksize): Add cast to avoid warning.
9449         (parse_spincount): Likewise.
9451 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
9453         * testsuite/libgomp.c/loop-10.c: New test.
9454         * libgomp.c/loop-3.c (main): Add lastprivate clause.
9455         * libgomp.c++/loop-6.C (main): Likewise.
9457         PR debug/36617
9458         * testsuite/libgomp.c/debug-1.c: New test.
9460 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
9462         * testsuite/libgomp.c/nqueens-1.c: New test.
9464         PR c++/36523
9465         * testsuite/libgomp.c++/task-7.C: New function.
9467 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9469         * configure: Regenerate.
9471 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9473         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9474         mutex when HAVE_SYNC_BUILTINS isn't defined.
9476 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9478         * libgomp.texi (omp_test_lock): Fix typo.
9480 2008-06-12  Tobias Burnus  <burnus@net-b.de>
9482         * omp_lib.f90.in: Add "implicit none".
9484 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
9486         PR middle-end/36506
9487         * testsuite/libgomp.c/reduction-5.c: New test.
9489 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
9491         * libgomp.h (struct gomp_task): Add in_tied_task field.
9492         * task.c (gomp_init_task): Initialize it.
9493         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
9494         unconditionally.  Don't call gomp_team_barrier_wake if
9495         current task is implicit or if(0) from implicit and number of
9496         running tasks is equal to nthreads - 1.
9498         PR libgomp/36471
9499         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9500         omp_get_team_size_8): Fix pastos.
9502         PR libgomp/36469
9503         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9504         * configure: Regenerated.
9505         * config.h.in: Regenerated.
9506         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9507         defined.
9509 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
9511         PR bootstrap/36452
9512         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9513         (GOMP_loop_ull_dynamic_start): Likewise.
9514         (GOMP_loop_ull_guided_start): Likewise.
9515         (GOMP_loop_ull_ordered_static_start): Likewise.
9516         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9517         (GOMP_loop_ull_ordered_guided_start): Likewise.
9519 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
9520             Richard Henderson  <rth@redhat.com>
9521             Ulrich Drepper  <drepper@redhat.com>
9522             Jakob Blomer  <jakob.blomer@ira.uka.de>
9524         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
9525         Substitute also OMP_*LOCK_25*.
9526         * configure: Regenerated.
9527         * config.h.in: Regenerated.
9528         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
9529         ptrlock.c and task.c.
9530         * Makefile.in: Regenerated.
9531         * testsuite/Makefile.in: Regenerated.
9532         * task.c: New file.
9533         * loop_ull.c: New file.
9534         * iter_ull.c: New file.
9535         * libgomp.h: Include ptrlock.h.
9536         (enum gomp_task_kind): New type.
9537         (struct gomp_team): Add task_lock, task_queue, task_count,
9538         task_running_count, single_count fields.  Add
9539         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
9540         Remove work_share_lock, generation_mask,
9541         oldest_live_gen, num_live_gen and init_work_shares fields, add
9542         work work_share_list_alloc, work_share_list_free and work_share_chunk
9543         fields.  Change work_shares from pointer to pointers into an array.
9544         Change ordered_release field into gomp_sem_t ** from flexible array
9545         member.  Add implicit_task and initial_work_shares fields.
9546         Move close to the end of the struct.
9547         (struct gomp_team_state): Add single_count, last_work_share,
9548         active_level and level fields, remove work_share_generation.
9549         (gomp_barrier_handle_tasks): New prototype.
9550         (gomp_finish_task): New inline function.
9551         (struct gomp_work_share): Move chunk_size, end, incr into
9552         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
9553         next_ll fields.  Reshuffle fields.  Add next_alloc,
9554         next_ws, next_free and inline_ordered_team_ids fields, change
9555         ordered_team_ids into pointer from flexible array member.
9556         Add mode field.  Put lock and next into a different cache line
9557         from most of the write-once fields.
9558         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
9559         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
9560         gomp_iter_ull_guided_next): New prototypes.
9561         (gomp_new_icv): New prototype.
9562         (struct gomp_thread): Add thread_pool and task fields.
9563         (struct gomp_thread_pool): New type.
9564         (gomp_new_team): New prototype.
9565         (gomp_team_start): Change type of last argument.
9566         (gomp_new_work_share): Removed.
9567         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
9568         (gomp_work_share_init_done): New static inline.
9569         (gomp_throttled_spin_count_var, gomp_available_cpus,
9570         gomp_managed_threads): New extern decls.
9571         (gomp_init_task): New prototype.
9572         (gomp_spin_count_var): New extern var decl.
9573         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
9574         or no alias support, or if not PIC.
9575         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
9576         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
9577         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
9578         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
9579         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
9580         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
9581         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
9582         gomp_test_nest_lock_25): New prototypes.
9583         (omp_lock_symver, strong_alias): Define.
9584         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
9585         decls.
9586         (gomp_end_task): New.
9587         (struct gomp_task_icv, gomp_global_icv): New.
9588         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
9589         (struct gomp_task): New.
9590         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9591         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9592         (gomp_icv): New.
9593         (gomp_schedule_type): Reorder enum to match
9594         omp_sched_t.
9595         * team.c (struct gomp_thread_start_data): Add thread_pool and task
9596         fields.
9597         (gomp_thread_start): Add gomp_team_barrier_wait call.
9598         For non-nested case remove clearing of docked thread thr fields.
9599         Use pool fields instead of global gomp_* variables.  Use
9600         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
9601         Create tasks for each member thread.
9602         (free_team): Only destroy team barrier, task_lock here and free it.
9603         (gomp_free_thread): Free last_team if non-NULL.
9604         (gomp_team_end): Call gomp_team_barrier_wait instead of
9605         gomp_barrier_wait.  For nested case call one extra
9606         gomp_barrier_wait.  Move here some destruction from free_team.
9607         Call free_team on pool->last_team if any, rather than freeing
9608         current team.  Destroy work_share_list_free_lock ifndef
9609         HAVE_SYNC_BUILTINS.
9610         (gomp_new_icv): New function.
9611         (gomp_threads, gomp_threads_size, gomp_threads_used,
9612         gomp_threads_dock): Removed.
9613         (gomp_thread_destructor): New variable.
9614         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9615         functions.
9616         (gomp_team_start): Create new pool if current thread doesn't have
9617         one.  Use pool fields instead of global gomp_* variables.
9618         Initialize thread_pool field for new threads.  Clear single_count.
9619         Change last argument from ws to team, don't create
9620         new team, set ts.work_share to &team->work_shares[0] and clear
9621         ts.last_work_share.  Don't clear ts.work_share_generation.
9622         If number of threads changed, adjust atomically gomp_managed_threads.
9623         Use gomp_init_task instead of gomp_new_task,
9624         set thr->task to the corresponding implicit_task array entry.
9625         Create tasks for each member thread.  Initialize ts.level.
9626         (initialize_team): Call pthread_key_create on
9627         gomp_thread_destructor.
9628         (team_destructor): New function.
9629         (new_team): Removed.
9630         (gomp_new_team): New function.
9631         (free_team): Free gomp_work_share blocks chained through next_alloc,
9632         instead of freeing work_shares and destroying work_share_lock.
9633         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
9634         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
9635         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9636         of gomp_barrier_wait.
9637         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9638         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
9639         if gomp_work_share_start returned true.  Don't unlock ws->lock.
9640         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9641         of gomp_barrier_wait.
9642         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
9643         gomp_work_share_init_done if gomp_work_share_start returned true.
9644         Don't unlock ws->lock.
9645         * work.c: Include stddef.h.
9646         (free_work_share): Use work_share_list_free_lock instead
9647         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
9648         Call gomp_fini_work_share and then either free ws if orphaned, or
9649         put it into work_share_list_free list of the current team.
9650         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9651         functions.
9652         (gomp_work_share_start, gomp_work_share_end,
9653         gomp_work_share_end_nowait): Rewritten.
9654         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9655         (openmp_version): Set to 200805.
9656         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9657         omp_sched_guided, omp_sched_auto): New parameters.
9658         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9659         omp_set_max_active_levels, omp_get_max_active_levels,
9660         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9661         omp_get_active_level): New interfaces.
9662         * omp_lib.h.in (openmp_version): Set to 200805.
9663         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9664         omp_sched_guided, omp_sched_auto): New parameters.
9665         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9666         omp_set_max_active_levels, omp_get_max_active_levels,
9667         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9668         omp_get_active_level): New externals.
9669         * loop.c: Include limits.h.
9670         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9671         GFS_AUTO.
9672         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9673         Likewise.  Use gomp_icv.
9674         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9675         ts.static_trip here.
9676         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9677         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
9678         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9679         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
9680         don't unlock ws->lock, otherwise lock it.
9681         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9682         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
9683         (gomp_parallel_loop_start): Call gomp_new_team instead of
9684         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
9685         Adjust gomp_team_start caller.  Pass 0 as second argument to
9686         gomp_resolve_num_threads.
9687         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9688         If adding ws->chunk_size nthreads + 1 times after end won't
9689         overflow, set ws->mode to 1.
9690         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9691         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9692         GOMP_loop_ull_ordered_static_start,
9693         GOMP_loop_ull_ordered_dynamic_start,
9694         GOMP_loop_ull_ordered_guided_start,
9695         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9696         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9697         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9698         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9699         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9700         prototypes.
9701         * libgomp.map: Export lock routines also @@OMP_2.0.
9702         (GOMP_loop_ordered_dynamic_first,
9703         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9704         GOMP_loop_ordered_static_first): Remove.
9705         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9706         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9707         GOMP_loop_ull_ordered_dynamic_next,
9708         GOMP_loop_ull_ordered_dynamic_start,
9709         GOMP_loop_ull_ordered_guided_next,
9710         GOMP_loop_ull_ordered_guided_start,
9711         GOMP_loop_ull_ordered_runtime_next,
9712         GOMP_loop_ull_ordered_runtime_start,
9713         GOMP_loop_ull_ordered_static_next,
9714         GOMP_loop_ull_ordered_static_start,
9715         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9716         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9717         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9718         (omp_set_schedule, omp_get_schedule,
9719         omp_get_thread_limit, omp_set_max_active_levels,
9720         omp_get_max_active_levels, omp_get_level,
9721         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9722         omp_set_schedule_, omp_set_schedule_8_,
9723         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9724         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9725         omp_get_max_active_levels_, omp_get_level_,
9726         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9727         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9728         New exports @@OMP_3.0.
9729         * omp.h.in (omp_sched_t): New type.
9730         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9731         omp_set_max_active_levels, omp_get_max_active_levels,
9732         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9733         omp_get_active_level): New prototypes.
9734         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9735         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9736         gomp_thread_limit_var, gomp_remaining_threads_count,
9737         gomp_remaining_threads_lock): New variables.
9738         (parse_spincount): New function.
9739         (initialize_env): Call gomp_init_num_threads unconditionally.
9740         Initialize gomp_available_cpus.  Call parse_spincount,
9741         initialize gomp_{,throttled_}spin_count_var
9742         depending on presence and value of OMP_WAIT_POLICY and
9743         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
9744         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9745         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
9746         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
9747         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
9748         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9749         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9750         (gomp_global_icv): New.
9751         (parse_schedule): Use it.  Parse "auto".
9752         (omp_set_num_threads): Use gomp_icv.
9753         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9754         Likewise.
9755         (omp_get_max_threads): Move from parallel.c.
9756         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9757         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9758         add ialias.
9759         (parse_stacksize, parse_wait_policy): New functions.
9760         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9761         both wrappers for compatibility and new locks.
9762         (omp_set_schedule, omp_get_schedule,
9763         omp_get_thread_limit, omp_set_max_active_levels,
9764         omp_get_max_active_levels, omp_get_level,
9765         omp_get_ancestor_thread_num, omp_get_team_size,
9766         omp_get_active_level): New ialias_redirect.
9767         (omp_set_schedule_, omp_set_schedule_8_,
9768         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9769         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9770         omp_get_max_active_levels_, omp_get_level_,
9771         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9772         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9773         New functions.
9774         * parallel.c: Include limits.h.
9775         (gomp_resolve_num_threads): Add count argument.  Rewritten.
9776         (GOMP_parallel_start): Call gomp_new_team and pass that as last
9777         argument to gomp_team_start.  Pass 0 as second argument to
9778         gomp_resolve_num_threads.
9779         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9780         if gomp_thread_limit_var != ULONG_MAX.
9781         (omp_in_parallel): Implement using ts.active_level.
9782         (omp_get_max_threads): Move to env.c.
9783         (omp_get_level, omp_get_ancestor_thread_num,
9784         omp_get_team_size, omp_get_active_level): New functions,
9785         add ialias.
9786         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9787         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
9788         gomp_iter_dynamic_next instead of the _locked variant and don't take
9789         lock around it, otherwise acquire it before calling
9790         gomp_iter_dynamic_next_locked.
9791         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9792         gomp_iter_dynamic_next instead of the _locked variant and don't take
9793         lock around it.
9794         (GOMP_parallel_sections_start): Call gomp_new_team instead of
9795         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
9796         Adjust gomp_team_start caller.  Pass count as second argument to
9797         gomp_resolve_num_threads, don't adjust num_threads after the call.
9798         Use gomp_icv.
9799         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9800         ws->chunk_size by incr.
9801         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
9802         code.
9803         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9804         types.
9805         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9806         (omp_check_defines): Check even the compat defines.
9807         * config/linux/ptrlock.c: New file.
9808         * config/linux/ptrlock.h: New file.
9809         * config/linux/wait.h: New file.
9810         * config/posix/ptrlock.c: New file.
9811         * config/posix/ptrlock.h: New file.
9812         * config/linux/bar.h (gomp_team_barrier_wait,
9813         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9814         (gomp_team_barrier_set_task_pending,
9815         gomp_team_barrier_clear_task_pending,
9816         gomp_team_barrier_set_waiting_for_tasks,
9817         gomp_team_barrier_waiting_for_tasks,
9818         gomp_team_barrier_done): New inlines.
9819         (gomp_barrier_t): Rewritten.
9820         (gomp_barrier_state_t): New typedef.
9821         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9822         gomp_barrier_wait_start): Rewritten.
9823         (gomp_barrier_wait_end): Change second argument to
9824         gomp_barrier_state_t.
9825         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9826         inlines.
9827         * config/linux/bar.c: Include wait.h instead of libgomp.h and
9828         futex.h.
9829         (gomp_barrier_wait_end): Rewritten.
9830         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9831         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9832         * config/posix/bar.h (gomp_barrier_t): Add generation field.
9833         (gomp_barrier_state_t): New typedef.
9834         (gomp_team_barrier_wait,
9835         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9836         (gomp_barrier_wait_start): Or all but low 2 bits from generation
9837         into the return value.  Return gomp_barrier_state_t.
9838         (gomp_team_barrier_set_task_pending,
9839         gomp_team_barrier_clear_task_pending,
9840         gomp_team_barrier_set_waiting_for_tasks,
9841         gomp_team_barrier_waiting_for_tasks,
9842         gomp_team_barrier_done): New inlines.
9843         (gomp_barrier_wait_end): Change second argument to
9844         gomp_barrier_state_t.
9845         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9846         inlines.
9847         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9848         (gomp_barrier_wait_end): Change second argument to
9849         gomp_barrier_state_t.
9850         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9851         gomp_team_barrier_wake): New functions.
9852         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9853         futex.h.
9854         (gomp_futex_wake, gomp_futex_wait): New variables.
9855         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9856         * config/linux/lock.c: Rewrite to make locks task owned,
9857         for backwards compatibility provide the old entrypoints
9858         if symbol versioning.  Include wait.h instead of libgomp.h and
9859         futex.h.
9860         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9861         * config/posix95/lock.c: Rewrite to make locks task owned,
9862         for backwards compatibility provide the old entrypoints
9863         if symbol versioning.
9864         * config/posix/lock.c: Rewrite to make locks task owned,
9865         for backwards compatibility provide the old entrypoints
9866         if symbol versioning.
9867         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9868         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9869         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9870         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9871         (sys_futex0): Return error code.
9872         (futex_wake, futex_wait): If ENOSYS was returned, clear
9873         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9874         (cpu_relax, atomic_write_barrier): New static inlines.
9875         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9876         (futex_wake, futex_wait): If ENOSYS was returned, clear
9877         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9878         (cpu_relax, atomic_write_barrier): New static inlines.
9879         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9880         (sys_futex0): Return error code.
9881         (futex_wake, futex_wait): If ENOSYS was returned, clear
9882         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9883         (cpu_relax, atomic_write_barrier): New static inlines.
9884         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9885         (sys_futex0): Return error code.
9886         (futex_wake, futex_wait): If ENOSYS was returned, clear
9887         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9888         (cpu_relax, atomic_write_barrier): New static inlines.
9889         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9890         (sys_futex0): Return error code.
9891         (futex_wake, futex_wait): If ENOSYS was returned, clear
9892         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9893         (cpu_relax, atomic_write_barrier): New static inlines.
9894         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9895         (sys_futex0): Return error code.
9896         (futex_wake, futex_wait): If ENOSYS was returned, clear
9897         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9898         (cpu_relax, atomic_write_barrier): New static inlines.
9899         * config/linux/sem.c: Include wait.h instead of libgomp.h and
9900         futex.h.
9901         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9902         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9903         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9904         types.
9905         (omp_nest_lock_t): Change owner into void *, add lock field.
9906         * config/posix95/omp-lock.h: Include semaphore.h.
9907         (omp_lock_25_t, omp_nest_lock_25_t): New types.
9908         (omp_lock_t): Use sem_t instead of mutex if semaphores
9909         aren't broken.
9910         (omp_nest_lock_t): Likewise.  Change owner to void *.
9911         * config/posix/omp-lock.h: Include semaphore.h.
9912         (omp_lock_25_t, omp_nest_lock_25_t): New types.
9913         (omp_lock_t): Use sem_t instead of mutex if semaphores
9914         aren't broken.
9915         (omp_nest_lock_t): Likewise.  Add owner field.
9917 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
9919         * testsuite/libgomp.c/collapse-1.c: New test.
9920         * testsuite/libgomp.c/collapse-2.c: New test.
9921         * testsuite/libgomp.c/collapse-3.c: New test.
9922         * testsuite/libgomp.c/icv-1.c: New test.
9923         * testsuite/libgomp.c/icv-2.c: New test.
9924         * testsuite/libgomp.c/lib-2.c: New test.
9925         * testsuite/libgomp.c/lock-1.c: New test.
9926         * testsuite/libgomp.c/lock-2.c: New test.
9927         * testsuite/libgomp.c/lock-3.c: New test.
9928         * testsuite/libgomp.c/loop-4.c: New test.
9929         * testsuite/libgomp.c/loop-5.c: New test.
9930         * testsuite/libgomp.c/loop-6.c: New test.
9931         * testsuite/libgomp.c/loop-7.c: New test.
9932         * testsuite/libgomp.c/loop-8.c: New test.
9933         * testsuite/libgomp.c/loop-9.c: New test.
9934         * testsuite/libgomp.c/nested-3.c: New test.
9935         * testsuite/libgomp.c/nestedfn-6.c: New test.
9936         * testsuite/libgomp.c/sort-1.c: New test.
9937         * testsuite/libgomp.c/task-1.c: New test.
9938         * testsuite/libgomp.c/task-2.c: New test.
9939         * testsuite/libgomp.c/task-3.c: New test.
9940         * testsuite/libgomp.c/task-4.c: New test.
9941         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9942         to C++ testsuite default compiler options.
9943         * testsuite/libgomp.c++/collapse-1.C: New test.
9944         * testsuite/libgomp.c++/collapse-2.C: New test.
9945         * testsuite/libgomp.c++/ctor-10.C: New test.
9946         * testsuite/libgomp.c++/for-1.C: New test.
9947         * testsuite/libgomp.c++/for-2.C: New test.
9948         * testsuite/libgomp.c++/for-3.C: New test.
9949         * testsuite/libgomp.c++/for-4.C: New test.
9950         * testsuite/libgomp.c++/for-5.C: New test.
9951         * testsuite/libgomp.c++/loop-8.C: New test.
9952         * testsuite/libgomp.c++/loop-9.C: New test.
9953         * testsuite/libgomp.c++/loop-10.C: New test.
9954         * testsuite/libgomp.c++/task-1.C: New test.
9955         * testsuite/libgomp.c++/task-2.C: New test.
9956         * testsuite/libgomp.c++/task-3.C: New test.
9957         * testsuite/libgomp.c++/task-4.C: New test.
9958         * testsuite/libgomp.c++/task-5.C: New test.
9959         * testsuite/libgomp.c++/task-6.C: New test.
9960         * testsuite/libgomp.fortran/allocatable1.f90: New test.
9961         * testsuite/libgomp.fortran/allocatable2.f90: New test.
9962         * testsuite/libgomp.fortran/allocatable3.f90: New test.
9963         * testsuite/libgomp.fortran/allocatable4.f90: New test.
9964         * testsuite/libgomp.fortran/collapse1.f90: New test.
9965         * testsuite/libgomp.fortran/collapse2.f90: New test.
9966         * testsuite/libgomp.fortran/collapse3.f90: New test.
9967         * testsuite/libgomp.fortran/collapse4.f90: New test.
9968         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9969         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9970         * testsuite/libgomp.fortran/lib4.f90: New test.
9971         * testsuite/libgomp.fortran/lock-1.f90: New test.
9972         * testsuite/libgomp.fortran/lock-2.f90: New test.
9973         * testsuite/libgomp.fortran/nested1.f90: New test.
9974         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9975         * testsuite/libgomp.fortran/strassen.f90: New test.
9976         * testsuite/libgomp.fortran/tabs1.f90: New test.
9977         * testsuite/libgomp.fortran/tabs2.f: New test.
9978         * testsuite/libgomp.fortran/task1.f90: New test.
9979         * testsuite/libgomp.fortran/task2.f90: New test.
9980         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9981         * testsuite/libgomp.fortran/vla5.f90: Likewise.
9982         * testsuite/libgomp.c/pr26943-2.c: Likewise.
9983         * testsuite/libgomp.c/pr26943-3.c: Likewise.
9984         * testsuite/libgomp.c/pr26943-4.c: Likewise.
9986 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
9988         PR c++/36308
9989         * testsuite/libgomp.c++/ctor-11.C: New test.
9990         * testsuite/libgomp.c++/ctor-12.C: New test.
9992 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
9994         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9996 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
9998         PR middle-end/36106
9999         * testsuite/libgomp.c/atomic-5.c: New test.
10000         * testsuite/libgomp.c/atomic-6.c: New test.
10001         * testsuite/libgomp.c/autopar-1.c: New test.
10003 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10005         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10006         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10007         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10008         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10009         * configure: Regenerate.
10010         * Makefile.in, testsuite/Makefile.in: Likewise.
10012 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
10014         PR bootstrap/35457
10015         * aclocal.m4: Regenerate.
10016         * configure: Regenerate.
10018 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
10020         PR middle-end/35611
10021         * testsuite/libgomp.c/atomic-4.c: New test.
10023         PR libgomp/35625
10024         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10025         (gomp_iter_guided_next): Likewise.
10026         * testsuite/libgomp.c/pr35625.c: New test.
10028 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10030         * aclocal.m4: Regenerate.
10031         * configure: Likewise.
10032         * Makefile.in: Likewise.
10033         * testsuite/Makefile.in: Likewise.
10035 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
10037         PR middle-end/35185
10038         * testsuite/libgomp.c++/pr35185.C: New test.
10040 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
10042         PR middle-end/35549
10043         * testsuite/libgomp.c/pr35549.c: New test.
10045 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
10047         * testsuite/libgomp.c/atomic-3.c: New test.
10049 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
10051         PR fortran/33197
10052         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
10053         .F08 file suffixes.
10055 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
10057         PR libgomp/33131
10058         * configure.ac: Add ACX_HEADER_STRING.
10059         * env.c: Include strings.h.
10060         * aclocal.m4: Regenerate.
10061         * config.h.in: Regenerate.
10062         * configure: Regenerate.
10063         * Makefile.in: Regenerate.
10064         * testsuite/Makefile.in: Regenerate.
10066 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
10068         PR middle-end/35196
10069         * testsuite/libgomp.c/pr35196.c: New test.
10071         PR middle-end/35130
10072         * testsuite/libgomp.fortran/pr35130.f90: New test.
10073         * testsuite/libgomp.c/pr35130.c: New test.
10075 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
10077         PR middle-end/33880
10078         * testsuite/libgomp.c/pr33880.c: New test.
10079         * testsuite/libgomp.fortran/pr33880.f90: New test.
10081 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
10083         * configure: Regenerate.
10085 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
10087         * configure.ac: Move futex checking into ../config/futex.m4.
10088         * configure: Rebuilt.
10089         * aclocal.m4: Rebuilt.
10090         * Makefile.in: Rebuilt.
10092         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10093         2007-10-15 ../config/tls.m4 change.
10095 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
10097         PR c++/34513
10098         * testsuite/libgomp.c/pr34513.c: New test.
10099         * testsuite/libgomp.c++/pr34513.C: New test.
10101 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
10103         PR target/32765
10104         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10106 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
10108         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
10110 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
10112         * testsuite/libgomp.c/private-1.c: New test.
10114 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
10115             Paolo Bonzini  <bonzini@gnu.org>
10117         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
10118         instead of 'VPATH ='.
10119         * Makefile.in: Regenerate.
10121 2007-11-23  Matthias Klose  <doko@ubuntu.com>
10123         * configure.ac: Adjust makeinfo version check.
10124         * configure: Regenerate.
10126 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
10128         PR fortran/34020
10129         * testsuite/libgomp.fortran/pr34020.f90: New test.
10131 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
10133         PR c++/33894
10134         * testsuite/libgomp.c++/atomic-1.C: New test.
10136 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
10138         PR libgomp/33275
10139         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10140         Make x and y integers rather than (implicit) reals.  Add private (j)
10141         clause to the last omp parallel.
10143 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
10145         * configure: Regenerate following changes to ../config/tls.m4.
10147 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
10149         * testsuite/libgomp.fortran/stack.f90: New test.
10151 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
10153         * config/mingw32/proc.c: New file.
10155 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
10157         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10158         (main): Use __get_cpuid to get i386 target fetaures.
10159         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10160         (main): Use __get_cpuid to get x86_64 target fetaures.
10162 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
10164         PR target/32765
10165         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10166         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10168 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
10170         PR fortran/32550
10171         * testsuite/libgomp.fortran/pr32550.f90: New test.
10172         * testsuite/libgomp.fortran/crayptr2.f90: New test.
10174 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
10176         * aclocal.m4: Regenerated.
10178 2007-07-05  Tobias Burnus  <burnus@net-b.de>
10180         PR fortran/32359
10181         * testsuite/libgomp.fortran/pr32359.f90: New.
10183 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
10185         PR libgomp/32468
10186         * sections.c (GOMP_parallel_sections_start): Only decrease
10187         number of threads to COUNT if dyn_var is true.
10188         * testsuite/libgomp.c/pr32468.c: New test.
10190 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10192         PR libgomp/26308
10193         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10195 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
10197         PR middle-end/32362
10198         * testsuite/libgomp.c/pr32362-1.c: New test.
10199         * testsuite/libgomp.c/pr32362-2.c: New test.
10200         * testsuite/libgomp.c/pr32362-3.c: New test.
10202 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
10204         * team.c (gomp_team_start): Fix setting up thread_attr
10205         stack size.
10207 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
10209         * configure: Regenerate.
10211 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
10213         * Makefile.in: Regenerate.
10214         * configure: Regenerate.
10215         * aclocal.m4: Regenerate.
10216         * testsuite/Makefile.in: Regenerate.
10218 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
10220         * config/linux/proc.c: New file.
10222         PR libgomp/28482
10223         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10225 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
10227         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10229 2007-04-16  Matthias Klose  <doko@debian.org>
10231         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10232         flags if not building with -m64.
10233         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10234         flag for i?86-*-* targets, if current target matches -m64.
10236 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
10238         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10239         * Makefile.in: Regenerate.
10241 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10243         PR testsuite/31369
10244         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10245         ld_library_path.
10246         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10248 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
10250         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10251         decls.
10252         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10253         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10254         (parse_affinity): New function.
10255         (initialize_env): Call it and gomp_init_affinity.
10256         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10257         create new pthread_attr_t and call gomp_init_thread_affinity
10258         on it for each thread before passing the attribute to pthread_create.
10259         * config/linux/affinity.c: New file.
10260         * config/posix/affinity.c: New file.
10261         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10262         * configure: Rebuilt.
10263         * config.h.in: Rebuilt.
10264         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10265         * Makefile.in: Rebuilt.
10267 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
10269         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10270         *-*-darwin*.
10271         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10272         and use it if found.
10274 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
10276         * testsuite/config/default.exp: New file.
10277         * testsuite/lib/libgomp.exp: New file.
10278         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10279         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10280         load_lib *, load_gcc_lib *): Move to libgomp.exp.
10281         (libgomp_load): Remove.
10282         * testsuite/lib/libgomp.exp (libgomp_init): Compute
10283         always_ld_library_path, not ld_library_path.  Set additional_flags
10284         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10285         (target_compile): Do not call libgomp_init.  Append lang_library_path
10286         and lang_link_flags to options.
10287         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
10288         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
10289         here.
10290         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10291         always_ld_library_path.  Set LD_LIBRARY_PATH here.
10292         * testsuite/libgomp.fortran/fortran.exp: Ditto.
10293         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10294         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10295         CX8 flag.
10296         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10297         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10298         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10299         * testsuite/libgomp.c/pr29947-1.c: Ditto.
10300         * testsuite/libgomp.c/atomic-10.c: Ditto.
10302 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
10304         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10305         dg-final cleanup-modules line.
10306         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10307         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10308         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10309         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10310         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10311         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10312         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10314 2007-03-18  Andreas Schwab  <schwab@suse.de>
10316         * acinclude.m4: Adjust regular expression for ld version
10317         extraction.
10318         * configure: Regenerate.
10320 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
10322         * Makefile.am: Add install-pdf target as copied from
10323         automake v1.10 rules.
10324         * Makefile.in: Regenerate
10326 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
10328         PR libgomp/28486
10329         * configure: Regenerate.
10331         PR c++/30703
10332         * testsuite/libgomp.c++/pr30703.C: New test.
10334 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
10336         Revert:
10337         2006-07-05  Eric Christopher  <echristo@apple.com>
10338         * configure.ac: Depend addition of -pthread on host OS.
10339         * configure: Regenerate.
10341 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10343         * libgomp.texi: Fix spacing after abbreviations.
10345 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
10347         PR libgomp/30546
10348         * configure.ac: Add check for makeinfo
10349         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10350         if an appropiate version of makeinfo is found.
10351         * aclocal.m4: Regenerated.
10352         * configure: Regenerated.
10353         * Makefile.in: Regenerated.
10354         * testsuite/Makefile.in: Regenerated.
10356 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
10358         PR libgomp/30540
10359         * libgomp.texi: More about implementation-dependent settings.
10361 2007-01-26  Tobias Burnus  <burnus@net-b.de>
10363         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10365 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
10367         PR middle-end/30494
10368         * testsuite/libgomp.c/pr30494.c: New test.
10370 2007-01-15  Tom Tromey  <tromey@redhat.com>
10372         * configure: Rebuilt.
10373         * configure.ac: Fixed comment.
10375 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
10377         * libgomp.texi: Document implementation specific default values of
10378         environment variables.
10380 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
10382         PR libgomp/28209
10383         * libgomp.texi: New file.
10384         * configure.ac: Add --enable-generated-files-in-srcdir option.
10385         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10386         files to srcdir.
10387         * Makefile.in: Regenerated.
10388         * config.h.in: Regenerated.
10389         * testsuite/Makefile.in: Regenerated.
10390         * NOTES: Removed.
10392 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
10394         PR libgomp/29949
10395         * env.c (omp_set_num_threads): Set illegal thread count to 1.
10397 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
10399         * configure: Regenerate.
10401 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
10403         PR libgomp/29947
10404         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
10405         start if there shouldn't be any loop iterations.
10406         (gomp_loop_ordered_static_start): Remove start == end test.
10407         * testsuite/libgomp.c/pr29947-1.c: New test.
10408         * testsuite/libgomp.c/pr29947-2.c: New test.
10410 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
10412         * configure.tgt: Force initial-exec TLS model on Linux only.
10414 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
10416         * configure: Regenerated.
10418 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
10420         * env.c (parse_schedule): Reject out of range values.
10421         (parse_unsigned_long): Reject out of range, negative or zero values.
10423 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
10425         PR fortran/29629
10426         * testsuite/libgomp.fortran/pr29629.f90: New test.
10428 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
10430         PR libgomp/29494
10431         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10432         * config/posix95: New directory.
10433         * config/posix95/omp-lock.h: New file.
10434         * config/posix95/lock.c: Likewise.
10436 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
10438         * aclocal.m4: Regenerate.
10439         * configure: Regenerate.
10441 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
10443         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10444         '<' to '<='.
10446 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
10448         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10449         test.
10450         * configure: Regenerate.
10451         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10453 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
10455         PR middle-end/25261
10456         PR middle-end/28790
10457         * testsuite/libgomp.c/nestedfn-4.c: New test.
10458         * testsuite/libgomp.c/nestedfn-5.c: New test.
10459         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10461         PR fortran/29097
10462         * testsuite/libgomp.fortran/condinc1.f: New test.
10463         * testsuite/libgomp.fortran/condinc2.f: New test.
10464         * testsuite/libgomp.fortran/condinc3.f90: New test.
10465         * testsuite/libgomp.fortran/condinc4.f90: New test.
10466         * testsuite/libgomp.fortran/condinc1.inc: New file.
10468 2006-09-18  Tom Tromey  <tromey@redhat.com>
10470         * configure: Rebuilt.
10472 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
10474         PR c/28768
10475         PR preprocessor/14634
10476         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10477         to AC_DEFINE.
10478         * configure: Regenerate.
10480 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
10482         * testsuite/libgomp.fortran/reduction3.f90: Change
10483         -2147483648 to -huge(i)-1 to avoid overflow.
10484         * testsuite/libgomp.fortran/reduction4.f90: Change
10485         Z'ffffffff' to not(0) to avoid overflow.
10487 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
10489         PR libgomp/25938
10490         * Makefile.am (libsubincludedir): New.
10491         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10492         * Makefile.in: Regenerate.
10494 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
10496         PR libgomp/28725
10497         * env.c: Include ctype.h.
10498         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10499         leading and/or trailing whitespace and compare strings case
10500         insensitively.
10502 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
10504         PR fortran/28390
10505         * testsuite/libgomp.fortran/pr28390.f: New test.
10507 2006-07-05  Eric Christopher  <echristo@apple.com>
10509         * configure.ac: Depend addition of -pthread on host OS.
10510         * configure: Regenerate.
10512 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
10514         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10515         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10516         defined.
10518 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
10520         PR libgomp/26175
10521         PR libgomp/26477
10522         * configure.ac: If neither --enable-linux-futex nor
10523         --disable-linux-futex is passed, determine the default by checking
10524         for compiling and/or running against NPTL.  With --enable-linux-futex,
10525         check if SYS_gettid and SYS_futex are defined.
10526         * configure: Rebuilt.
10528 2006-06-14  Richard Henderson  <rth@redhat.com>
10530         PR libgomp/28008
10531         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
10532         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
10534 2006-06-09  Richard Henderson  <rth@redhat.com>
10536         * env.c (gomp_nthreads_var): Change to unsigned long.
10537         (gomp_run_sched_chunk): Likewise.
10538         (parse_unsigned_long): Rename from parse_num_threads and generalize.
10539         (initialize_env): Initialize gomp_thread_attr.
10540         * libgomp.h (gomp_nthreads_var): Update decl.
10541         (gomp_run_sched_chunk): Likewise.
10542         (gomp_thread_attr): Declare.
10543         * team.c (gomp_thread_attr): Export.
10544         (initialize_team): Don't initialize it.
10546 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
10548         PR fortran/27916
10549         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
10550         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
10552 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
10554         * config/mingw32/time.c: New file.
10555         * configure.tgt: Use it.
10557 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
10559         * Makefile.am: Add install-html target. Add install-html to .PHONY
10560         * Makefile.in: Regenerate.
10562 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10564         PR libgomp/27612
10565         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
10566         * testsuite/libgomp.c/critical-1.c: Likewise.
10567         * testsuite/libgomp.c/loop-1.c: Likewise.
10568         * testsuite/libgomp.c/loop-2.c: Likewise.
10569         * testsuite/libgomp.c/single-1.c: Likewise.
10570         * testsuite/libgomp.c/ordered-1.c: Likewise.
10571         * testsuite/libgomp.c/ordered-2.c: Likewise.
10573 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
10575         PR middle-end/27416
10576         * libgomp.fortran/pr27416-1.f90: New test.
10578 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
10580         PR fortran/27395
10581         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
10582         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
10584 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
10586         PR c++/26943
10587         * testsuite/libgomp.c/pr26943-1.c: New test.
10588         * testsuite/libgomp.c/pr26943-2.c: New test.
10589         * testsuite/libgomp.c/pr26943-3.c: New test.
10590         * testsuite/libgomp.c/pr26943-4.c: New test.
10591         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
10592         * testsuite/libgomp.c++/pr26943.C: New test.
10594 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
10596         PR middle-end/27337
10597         * testsuite/libgomp.c++/pr27337.C: New test.
10599 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
10601         PR c/26171
10602         * testsuite/libgomp.c/pr26171.c: New test.
10604 2006-04-25  Richard Henderson  <rth@redhat.com>
10606         PR libgomp/25865
10607         * configure.ac: Use GCC_CHECK_TLS.
10608         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10609         * Makefile.in, aclocal.m4, configure: Regenerate.
10611 2006-04-10  Matthias Klose  <doko@debian.org>
10613         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10614         directory names containing underscores.
10616 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
10618         PR c++/26691
10619         * testsuite/libgomp.c++/pr26691.C: New test.
10621 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
10623         * testsuite/libgomp.fortran/retval2.f90: New test.
10625 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
10627         * testsuite/libgomp.c++: New directory.
10629 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
10631         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10632         * config/posix/sem.c: Implement the above.
10634 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
10636         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10637         define HAVE_BROKEN_POSIX_SEMAPHORES.
10638         * configure: Rebuilt.
10639         * config.h.in: Rebuilt.
10641 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
10643         PR bootstrap/26161
10644         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10645         for the other pthread check.
10646         * configure: Regenerate.
10647         * config.h.in: Regenerate.
10649 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
10651         PR libgomp/25938
10652         PR libgomp/25984
10653         * Makefile.am (fincludedir): New variable.
10654         (nodist_include_HEADERS): Remove Fortran files.
10655         (nodist_finclude_HEADERS): New variable.
10656         * Makefile.in: Regenerated.
10658 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
10660         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10661         Remove tests for returning assumed character length arrays.
10663 2006-02-12  Roger Sayle  <roger@eyesopen.com>
10664             John David Anglin  <dave@hiauly1.hia.nrc.ca>
10666         PR libgomp/25936
10667         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
10669 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
10671         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10673 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
10675         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10676         part of LD_LIBRARY_PATH manually.
10678 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
10680         PR libgomp/25852
10681         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10682         libgomp_init.
10684 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
10686         PR libgomp/25884
10687         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10688         * configure.ac (PERL): Don't set.
10689         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10690         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10691         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10692         * omp.h.in: Wrap the new configure substitutions with @ characters.
10693         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10694         * aclocal.m4, configure, Makefile.in: Regenerate.
10695         * mkomp_h.pl: Delete.
10697 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
10699         PR libgomp/25259
10700         * configure.ac: Use GCC_HEADER_STDINT.
10701         * libgomp.h: Include gstdint.h.
10702         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10703         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10705 2006-01-24  Richard Henderson  <rth@redhat.com>
10707         PR libgomp/25942
10708         * configure.ac: Add AM_MAINTAINER_MODE.
10709         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10711 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
10713         * Makefile.in: Regenerate.
10714         * testsuite/Makefile.in: Regenerate.
10715         * aclocal.m4: Regenerate.
10717 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
10719         * config/posix/proc.c: Conditional include of sys/loadavg.h for
10720         Solaris.
10721         * configure.ac: Add check for loadavg.h.
10722         (link_gomp): Adjust comment.
10723         * configure: Regenerate.
10724         * config.h.in: Regenerate.
10726 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
10728         PR libgomp/25877
10729         * configure.ac: Remove check for alloca.h.
10730         * configure: Regenerate.
10731         * config.h.in: Regenerate.
10732         * libgomp.h: define gomp_alloca to be __builtin_alloca.
10733         * team.c: Remove use of alloca.h.
10734         Call gomp_alloca instead of alloca.
10736 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
10738         PR libgomp/25877
10739         * team.c: Add include of alloca.h.
10740         * configure.ac: Add check for alloca.h.
10741         * configure: Regenerate.
10742         * config.h.in: Regenerate.
10744 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
10746         PR fortran/25219
10747         * testsuite/libgomp.fortran/pr25219.f90: New test.
10749 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
10751         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10752         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10753         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10754         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10755         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10756         testsuite/libgomp.fortran/threadprivate1.f90,
10757         testsuite/libgomp.fortran/threadprivate2.f90,
10758         testsuite/libgomp.fortran/threadprivate3.f90,
10759         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10760         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10761         testsuite/libgomp.fortran/omp_parse3.f90: Change required
10762         effective-target to TLS runtime.
10764         * testsuite/libgomp.fortran/pr25162.f: Require
10765         effective-target TLS runtime.
10767 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
10769         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10770         * testsuite/libgomp.c/nestedfn-3.c: New test.
10772 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
10774         PR fortran/25162
10775         * testsuite/libgomp.fortran/pr25162.f: New test.
10777 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
10779         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10780         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10782 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
10784         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10785         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10786         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10787         single.c, team.c, work.c, config/linux/alpha/futex.h,
10788         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10789         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10790         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10791         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10792         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10793         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10794         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10795         FSF address.
10797 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
10799         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10800         to nodist_noinst_HEADERS.
10801         * Makefile.in: Rebuilt.
10803         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10804         add integer count field.
10805         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10806         omp_nest_lock_t type change.
10807         (omp_init_nest_lock): Likewise.  Initialize count to 0.
10808         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10809         Increment count.
10810         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10811         Decrement count.
10812         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10813         Increment count if successful and return the new nesting level.
10814         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10815         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10816         * testsuite/libgomp.c/lib-1.c: New test.
10817         * testsuite/libgomp.fortran/lib1.f90: New test.
10818         * testsuite/libgomp.fortran/lib2.f: New test.
10819         * testsuite/libgomp.fortran/lib3.f: New test.
10821 2005-11-17  Richard Henderson  <rth@redhat.com>
10823         PR 24845
10824         * Makefile.am (nodist_toolexeclib_HEADERS): New.
10825         * configure.ac (link_gomp): New.  Substitute it.
10826         (AC_CONFIG_FILES): Add libgomp.spec.
10827         * libgomp.spec.in: New file.
10828         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10829         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10831 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
10833         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10834         reduction(-:var) behaving the same as reduction(+:var).
10835         * testsuite/libgomp.c/reduction-4.c: New test.
10837 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
10839         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10840         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10841         testsuite/libgomp.c/copyin-3.c,
10842         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10843         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10844         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10845         testsuite/libgomp.c++/pr24455.C,
10846         testsuite/libgomp.fortran/threadprivate1.f90,
10847         testsuite/libgomp.fortran/threadprivate2.f90,
10848         testsuite/libgomp.fortran/threadprivate3.f90,
10849         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10850         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10851         testsuite/libgomp.fortran/omp_parse3.f90: Require
10852         effective-target TLS.
10854 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
10856         * HEADER: Remove.
10858 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
10860         PR libgomp/24797
10861         * team.c (initialize_team): Pass NULL rather than free as
10862         pthread_key_create destructor.  Initialize thread specific data
10863         pointer in initial thread to a static local variable rather than
10864         malloced memory.
10866 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
10868         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10869         its location to ld_library_path.
10871 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
10873         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10875 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
10877         * testsuite/libgomp.c: Rename from libgomp.dg.
10879 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
10881         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10882         threadprivate variable 'i'.
10884 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
10886         * config/linux/s390/futex.h: New file.
10887         * configure.tgt: Use it.
10889         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10890         before the parallel.
10892 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
10894         PR c++/24734
10895         * testsuite/libgomp.c++/master-1.C: New test.
10897 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
10899         * testsuite/libgomp.dg/copyin-3.c: New test.
10901 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
10903         * testsuite/libgomp.fortran/retval1.f90: New test.
10904         * testsuite/libgomp.fortran/vla7.f90: New test.
10906 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
10908         * testsuite/libgomp.fortran/vla2.f90: New test.
10909         * testsuite/libgomp.fortran/vla3.f90: New test.
10910         * testsuite/libgomp.fortran/vla4.f90: New test.
10911         * testsuite/libgomp.fortran/vla5.f90: New test.
10912         * testsuite/libgomp.fortran/vla6.f90: New test.
10914 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
10916         * config/linux/sparc/futex.h: New file.
10917         * configure.tgt: Use it.
10918         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10920         * critical.c: Include stdlib.h.
10921         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10922         ignoring return value.
10923         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10924         LIBGOMP_CHECK_SYNC_BUILTINS check.
10925         * configure: Rebuilt.
10927 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
10929         * testsuite/libgomp.fortran/vla1.f90: New test.
10931 2005-10-31  Richard Henderson  <rth@redhat.com>
10933         * testsuite/libgomp.fortran/character2.f90: Fix race condition
10934         setting 's' in different threads.
10936 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
10938         * libgomp.h (attribute_hidden, ialias): Define.
10939         * config/posix/proc.c (omp_get_num_procs): Add ialias.
10940         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10941         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10942         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10943         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10944         omp_test_lock, omp_test_nest_lock): Likewise.
10945         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10946         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10947         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10948         omp_test_lock, omp_test_nest_lock): Likewise.
10949         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10950         omp_get_dynamic, omp_get_nested): Likewise.
10951         * parallel.c (omp_get_num_threads, omp_get_max_threads,
10952         omp_get_thread_num, omp_in_parallel): Likewise.
10953         * fortran.c (ialias_redirect): Define.
10954         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10955         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10956         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10957         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10958         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10959         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10960         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10961         omp_get_wtime): Add ialias_redirect.
10963 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
10965         * fortran.c: Include stdlib.h.
10967 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
10969         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10970         * Makefile.in: Regenerated.
10972 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
10974         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10975         * libgomp_f.h.in (omp_check_defines): New function.
10976         * env.c: Include libgomp_f.h.
10977         (initialize_env): Call omp_check_defines.
10979         * testsuite/libgomp.dg/copyin-2.c: New test.
10980         * testsuite/libgomp.c++/copyin-2.C: New test.
10981         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10983         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10984         * testsuite/libgomp.fortran/sharing2.f90: New test.
10986         * testsuite/libgomp.dg/copyin-1.c: New test.
10987         * testsuite/libgomp.c++/copyin-1.C: New test.
10989 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
10991         * testsuite/libgomp.fortran/crayptr1.f90: New test.
10993         * testsuite/libgomp.fortran/workshare1.f90: New test.
10995         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10996         only test.
10997         * libgomp.fortran/sharing1.f90: New test.
10999 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
11001         PR c++/24502
11002         * testsuite/libgomp.c++/loop-7.C: New test.
11004         * testsuite/libgomp.dg/nestedfn-2.c: New test.
11006         * testsuite/libgomp.dg/nestedfn-1.c: New test.
11007         * testsuite/libgomp.fortran/reduction6.f90: New test.
11008         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11010 2005-10-23  Richard Henderson  <rth@redhat.com>
11012         * testsuite/libgomp.c++/ctor-1.C: New.
11013         * testsuite/libgomp.c++/ctor-2.C: New.
11014         * testsuite/libgomp.c++/ctor-3.C: New.
11015         * testsuite/libgomp.c++/ctor-4.C: New.
11016         * testsuite/libgomp.c++/ctor-5.C: New.
11017         * testsuite/libgomp.c++/ctor-6.C: New.
11018         * testsuite/libgomp.c++/ctor-7.C: New.
11019         * testsuite/libgomp.c++/ctor-8.C: New.
11020         * testsuite/libgomp.c++/ctor-9.C: New.
11022 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
11024         PR 24455
11025         * testsuite/libgomp.c++/pr24455-1.C: New test.
11026         * testsuite/libgomp.c++/pr24455.C: New test.
11027         * testsuite/libgomp.dg/pr24455-1.c: New test.
11028         * testsuite/libgomp.dg/pr24455.c: New test.
11030 2005-10-20  Richard Henderson  <rth@redhat.com>
11032         * testsuite/libgomp.c++/loop-6.C: New.
11033         * testsuite/libgomp.dg/loop-3.c: New.
11035 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
11037         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11038         explicitly private.
11039         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11040         explicitly shared.
11042 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
11044         * testsuite/libgomp.fortran/jacobi.f: New test.
11046 2005-10-19  Richard Henderson  <rth@redhat.com>
11048         * configure.tgt (i?86-linux): Default to with_arch instead of
11049         CFLAGS.  Add -mtune to match target_cpu.
11050         (x86_64-linux): Tune to i686.
11052         * fortran.c (omp_test_nest_lock_): Fix typo.
11054 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
11056         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11057         gomp_ordered_sync): Do nothing if team->nthreads == 1.
11058         * testsuite/libgomp.dg/ordered-3.c: New test.
11060         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11061         Remove volatile keyword.
11063         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11064         in COMMON block to avoid warnings on 64-bit targets.
11066 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
11068         * testsuite/libgomp.dg/shared-3.c: New test.
11070 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
11072         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11073         * testsuite/libgomp.fortran/reduction5.f90: New test.
11075 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
11077         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11078         dg-options.
11079         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
11080         flush loop now that __sync_synchronize has proper memory barrier.
11081         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11082         Add -ffixed-form to dg-options.
11084 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
11086         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11087         from subdirectories.
11088         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11089         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11090         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11091         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11092         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11093         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11094         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11095         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11096         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11097         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11098         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11099         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11100         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11101         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11102         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11103         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11104         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11105         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11106         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11107         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11108         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11109         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11110         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11111         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11112         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11114 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
11116         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11117         lang_library_path exists.  Use find instead of glob to gather tests.
11118         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11120 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
11122         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11123         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11124         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11125         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11126         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11127         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11128         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11129         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11130         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11131         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11132         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11133         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11134         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11136 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
11138         * testsuite/libgomp.dg/vla-1.c: New test.
11140         * testsuite/libgomp.fortran/reference2.f90: New test.
11142         * testsuite/libgomp.fortran/character2.f90: Remove explicit
11143         declaration of omp_get_thread_num.
11144         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
11145         use omp_lib.
11147         * testsuite/libgomp.fortran/reduction1.f90: New test.
11148         * testsuite/libgomp.fortran/reduction2.f90: New test.
11149         * testsuite/libgomp.fortran/reduction3.f90: New test.
11150         * testsuite/libgomp.fortran/reduction4.f90: New test.
11152 2005-10-13  Richard Henderson  <rth@redhat.com>
11154         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11155         * Makefile.in: Regenerate.
11156         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11157         * libgomp.h: Include bar.h.
11158         (struct gomp_barrier): Remove.
11159         (struct gomp_team): Add barrier.  Replace master_barrier with
11160         master_release.  Replace threads with ordered_release.
11161         (struct gomp_thread): Replace barrier with release.
11162         * ordered.c (gomp_ordered_first): Update for ordered_release change.
11163         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11164         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11165         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11166         (GOMP_single_copy_end): Likewise.
11167         * team.c (gomp_threads_dock): New.
11168         (gomp_barrier_init, gomp_barrier_destroy): Remove.
11169         (gomp_thread_start): Use gomp_barrier_wait.
11170         (new_team, free_team): Update for gomp_team changes.
11171         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11172         (gomp_team_end): Use gomp_barrier_wait.
11173         (initialize_team): Update for gomp_thread changes.
11174         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11175         (gomp_work_share_end_nowait): Use atomic ops when available.
11176         * config/linux/bar.c, config/linux/bar.h: New files.
11177         * config/posix/bar.c, config/posix/bar.h: New files.
11179 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
11181         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11182         * testsuite/libgomp.dg/single-2.c: New test.
11184         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11185         lang_link_flags): Unset, so that they aren't inherited from previously
11186         sourced *.exp.
11188         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11190 2005-10-12  Richard Henderson  <rth@redhat.com>
11192         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11193         (libgomp_init): Use lang_test_file, lang_library_path, and
11194         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
11196         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11197         (lang_test_file, lang_link_flags): New.
11198         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11200         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11201         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11202         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11203         testsuite/libgomp.c++/parallel-1.C,
11204         testsuite/libgomp.c++/reduction-1.C,
11205         testsuite/libgomp.c++/reduction-2.C,
11206         testsuite/libgomp.c++/reduction-3.C,
11207         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11208         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11209         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11210         New files, largely cribbed from the C testsuite.
11212 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
11214         * testsuite/libgomp.fortran/character1.f90: New test.
11215         * testsuite/libgomp.fortran/character2.f90: New test.
11217         * testsuite/libgomp.dg/nested-1.c: New test.
11218         * testsuite/libgomp.dg/nested-2.c: New test.
11219         * testsuite/libgomp.fortran/do1.f90: New test.
11220         * testsuite/libgomp.fortran/do2.f90: New test.
11222         * testsuite/libgomp.fortran/reference1.f90: New test.
11224 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
11226         * testsuite/libgomp.dg/reduction-1.c: New test.
11227         * testsuite/libgomp.dg/reduction-2.c: New test.
11228         * testsuite/libgomp.dg/reduction-3.c: New test.
11230 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
11232         * testsuite/libgomp.dg/atomic-1.c: New test.
11233         * testsuite/libgomp.dg/atomic-2.c: New test.
11235 2005-10-09  Richard Henderson  <rth@redhat.com>
11237         * critical.c (atomic_lock): New.
11238         (initialize_critical): Initialize it.
11239         (GOMP_atomic_start, GOMP_atomic_end): New.
11240         * libgomp.map: Export them.
11241         * libgomp_g.h: Declare them.
11243         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11245 2005-10-02  Richard Henderson  <rth@redhat.com>
11247         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
11248         to XCFLAGS instead of CFLAGS.
11250 2005-09-30  Richard Henderson  <rth@redhat.com>
11252         * configure.ac: Determine whether -pthread or -lpthread is needed.
11253         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11254         * Makefine.in, configure: Rebuild.
11256 2005-09-28  Richard Henderson  <rth@redhat.com>
11258         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11259         * testsuite/libgomp.dg/omp-single-3.c: New test.
11261 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
11263         * testsuite/libgomp.dg/omp-single-2.c: New test.
11264         * testsuite/libgomp.dg/shared-2.c: Fix return code.
11266 2005-09-27  Richard Henderson  <rth@redhat.com>
11268         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11269         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11271 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
11273         * testsuite/libgomp.dg/omp-loop03.c: New test.
11275 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
11277         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11279 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
11281         * testsuite/libgomp.dg/omp-single-1.c: New test.
11282         * testsuite/libgomp.dg/shared-1.c: Return 0.
11283         Add prototype for abort.
11284         * testsuite/libgomp.dg/shared-2.c: Likewise.
11286 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
11288         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11289         constructs.
11291 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
11293         * testsuite/libgomp.dg/shared-1.c: New test.
11294         * testsuite/libgomp.dg/shared-2.c: New test.
11296 2005-09-24  Richard Henderson  <rth@redhat.com>
11298         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11300 2005-09-24  Richard Henderson  <rth@redhat.com>
11302         * iter.c (gomp_iter_static_next): Round up when computing number
11303         of iterations.  Don't bother distributing a remainder equally.
11305         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11306         Don't call srand.  Zero b before testing.
11307         (main): New.
11309 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
11311         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11312         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11314 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
11316         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11317         without !$omp end do, followed immediately by subroutine end.
11319 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
11321         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11323 2005-09-22  Richard Henderson  <rth@redhat.com>
11325         * critical.c (GOMP_critical_name_start): Change argument to void**.
11326         Reuse the pointer space if the mutex fits.
11327         (GOMP_critical_name_end): Likewise.
11328         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11329         * libgomp_g.h (GOMP_critical_name_start): Update decl.
11330         (GOMP_critical_name_end): Likewise.
11331         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11332         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11334 2005-09-20  Richard Henderson  <rth@redhat.com>
11336         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11337         (create_lock_lock): New.
11338         (initialize_critical): Initialize it.
11339         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11340         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11342 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
11344         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11346 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
11348         * testsuite/libgomp.dg/omp-loop01.c: New test.
11349         * testsuite/libgomp.dg/omp-loop02.c: New test.
11351 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
11353         * configure.ac (AC_PROG_FC): Add.
11354         (USE_FORTRAN): New automake conditional.
11355         * configure: Rebuilt.
11356         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11357         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11358         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11359         Add rules to build them.
11360         * Makefile.in: Rebuilt.
11361         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11362         OMP_NEST_LOCK_KIND.
11363         * libgomp.map: Add Fortran wrappers.
11364         * libgomp_f.h.in: New file.
11365         * omp_lib.h.in: New file.
11366         * omp_lib.f90.in: New file.
11367         * fortran.c: New file.
11368         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11369         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11370         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11371         libgfortran has been built.
11372         * testsuite/libgomp.fortran/fortran.exp: New file.
11373         * testsuite/libgomp.fortran/omp_cond1.f: New test.
11374         * testsuite/libgomp.fortran/omp_cond2.f: New test.
11375         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11376         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11377         * testsuite/libgomp.fortran/omp_hello.f: New test.
11378         * testsuite/libgomp.fortran/omp_orphan.f: New test.
11379         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11380         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11381         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11382         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11383         * testsuite/libgomp.fortran/omp_reduction.f: New test.
11384         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11385         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11387 2005-08-30  Richard Henderson  <rth@redhat.com>
11389         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11390         function for when aliases are not usable.
11391         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11392         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11393         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11394         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11395         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11396         GOMP_loop_ordered_guided_next): Likewise.
11397         * ordered.c (GOMP_ordered_start): Likewise.
11399 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
11401         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11402         * testsuite/libgomp.dg/omp_hello.c: Fix return code
11403         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11404         * testsuite/libgomp.dg/omp_orphan.c: Likewise
11405         * testsuite/libgomp.dg/omp_reduction.c: Likewise
11406         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11407         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11408         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11409         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11411 2005-07-07  Eric Christopher  <echristo@redhat.com>
11412             Diego Novillo  <dnovillo@redhat.com>
11414         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11415         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11416         up code.
11417         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11418         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11419         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11420         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11421         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11422         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11423         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11425 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
11427         * TOPLEVEL.patch: Remove.
11429 2005-05-16  Richard Henderson  <rth@redhat.com>
11431         * configure.ac: Test for clock_gettime.
11432         * config.h.in, configure: Rebuild.
11433         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11434         (omp_get_wtime): Use clock_gettime if available.
11435         (omp_get_wtick): Use clock_getres if available.
11437 2005-05-11  Richard Henderson  <rth@redhat.com>
11439         * config/linux/ia64/futex.h: New file.
11440         * configure.tgt: Use it.
11442         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11444 2005-05-07  Richard Henderson  <rth@redhat.com>
11446         * config/linux/powerpc/futex.h: New file.
11447         * configure.tgt: Use it.
11449         * config/linux/i486/futex.h: Merge ...
11450         * config/linux/x86_64/futex.h: ... into ...
11451         * config/linux/x86/futex.h: ... here.
11452         * configure.tgt: Update to match.
11454 2005-05-06  Richard Henderson  <rth@redhat.com>
11456         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11457         * config/linux/i486/futex.h: Likewise.
11458         * config/linux/x86_64/futex.h: Likewise.
11460         * config/linux/lock.c: New file.
11461         * config/linux/omp-lock.h: New file.
11463         * critical.c, env.h: Don't include omp.h
11464         * config/posix/lock.c: Include libgomp.h instead of omp.h.
11465         * config/posix/time.c: Likewise.
11466         * config/posix/omp-lock.h: New file.
11467         * libgomp.h: Include omp-lock.h and omp.h.
11468         * Makefile.am (nodist_include_HEADERS): New.
11469         (omp.h): New rule.
11470         * configure.ac (PERL): New.
11471         * mkomp_h.pl: New file.
11472         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11473         with templates.
11474         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11476         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11477         build directory.  Re-add -march=i486 hack.
11479         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11480         (libgomp_link_flags): Remove.
11481         (libgomp_initialized): Remove.
11482         (libgomp_init): Don't protect from reinitialization.  Copy code
11483         from libstdc++ for getting the multilib set correctly.
11485 2005-05-05  Richard Henderson  <rth@redhat.com>
11487         * config/linux/alpha/futex.h: New file.
11488         * configure.tgt (alpha*-*-linux*): Use it.
11490         * config/posix/mutex.c: New file.
11491         * config/posix/sem.c: Use libgomp.h.
11493         * configure.tgt (x86_64-linux): Also test CC for -m32.
11494         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11496         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
11497         after $gccpath.
11499         * Makefile.am (SUBDIRS): New.
11500         (libgomp_la_LDFLAGS): Add -lpthread.
11501         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11502         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11504         * libgomp_g.h: New file.
11505         * libgomp.h: Split out all public declarations to libgomp_g.h.
11506         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11507         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11508         * config/linux/sem.h: Likewise.
11509         * config/posix/sem.h: Likewise.
11511         * Makefile.am (AM_LDFLAGS): New.
11512         (libgomp_version_script): Split out from ...
11513         (libgomp_la_LDFLAGS): ... here.
11514         (libgomp_version_info): New.
11515         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11516         (LIBGOMP_ENABLE): New.
11517         (LIBGOMP_CHECK_LINKER_FEATURES): New.
11518         (LIBGOMP_ENABLE_SYMVERS): New.
11519         * configure.ac (AC_INIT): Version 1.0.
11520         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
11521         (enable-linux-futex): Likewise.  Rename from enable-futex.
11522         (libtool_VERSION): New.
11523         (LIBGOMP_ENABLE_SYMVERS): Use it.
11524         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
11525         * Makefile.in, aclocal.m4, configure: Rebuild.
11527         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
11528         (gomp_mutex_unlock_slow): Fix typo.
11529         * config/linux/sem.c: Similarly.
11530         (gomp_sem_post_slow): Fix typo.
11531         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
11532         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
11533         [__PIC__] (sys_futex0): Don't use tmp output in asm.
11535         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
11536         (libgomp_la_LDFLAGS): Add top_srcdir to path.
11537         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
11538         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
11539         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
11540         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
11541         LDFLAGS.  Pull enable_futex check to top-level.
11542         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
11543         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
11545         First attempt at real configury.
11546         * Makefile, config.h: Remove file.
11547         * Makefile.am, Makefile.in: New file.
11548         * acinclude.m4 aclocal.m4: New file.
11549         * configure.ac, configure.tgt, configure: New file.
11551         * config/posix/lock.c: Rename from sys-lock.c.
11552         * config/posix/mutex.h: Rename from sys-mutex.h.
11553         * config/posix/sem.c: Rename from sys-sem.c.
11554         * config/posix/sem.h: Rename from sys-sem.h.
11555         * config/posix/proc.c: Rename from sys-proc.c.
11556         * config/posix/time.c: Rename from sys-proc.c.
11558         * config/linux/mutex.c: New file.
11559         * config/linux/mutex.h: New file.
11560         * config/linux/sem.c: New file.
11561         * config/linux/sem.h: New file.
11562         * config/linux/i486/futex.h: New file.
11563         * config/linux/x86_64/futex.h: New file.
11565 2005-05-04  Richard Henderson  <rth@redhat.com>
11567         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
11568         * libgomp.h: Declare them.
11569         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
11570         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
11572 2005-05-04  Richard Henderson  <rth@redhat.com>
11574         * libgomp-1 code drop
11576 2005-05-04  Richard Henderson  <rth@redhat.com>
11578         * iter.c (gomp_iter_static_next): Return tri-state on 0.
11579         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
11580         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
11581         (gomp_iter_static_next): Update.
11582         (gomp_ordered_static_next): Update.
11583         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
11584         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
11585         totally empty range.
11586         (gomp_loop_ordered_static_next): Refine test for calling
11587         gomp_ordered_static_next.
11588         * testsuite/ordered-1.c: Add case for more threads than iterations.
11590         * iter.c (gomp_iter_runtime_next_locked): Remove.
11591         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
11592         gomp_loop_guided_start, gomp_loop_ordered_static_start,
11593         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11594         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11595         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11596         gomp_loop_ordered_guided_next): Downcase name, make static, add
11597         an external alias with the old name.
11598         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11599         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11600         switch and call one of the above static functions.
11601         * libgomp.h: Update.
11603         * work.c (gomp_work_share_start): Lock the mutex for !first too.
11604         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11605         GOMP_loop_guided_start, GOMP_loop_runtime_start,
11606         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11607         GOMP_loop_ordered_guided_start): Update to match.
11608         * sections.c (GOMP_sections_start): Likewise.
11609         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11611         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11612         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11613         Use bounds check instead of modulus.
11614         (gomp_ordered_sync): Split out of GOMP_ordered_start.
11615         (gomp_ordered_last): Don't sync with ordered_owner here.
11616         (gomp_ordered_next): Likewise.
11617         (gomp_ordered_static_loop_next): Likewise.
11618         * loop.c, libgomp.h: Update to match.
11620         * libgomp.h (GOMP_barrier): Declare.
11622         * testsuite/barrier-1.c: New file.
11623         * testsuite/critical-1.c: New file.
11624         * testsuite/ordered-2.c: New file.
11625         * testsuite/ordered-1.c: New file.
11626         * testsuite/sections-1.c: New file.
11627         * testsuite/single-1.c: New file.
11628         * testsuite/Makefile (TESTS): Add them.
11630 2005-05-04  Richard Henderson  <rth@redhat.com>
11632         * libgomp.h (struct gomp_work_share): Add ordered_owner.
11633         * loop.c (GOMP_loop_static_start): If not the startup thread,
11634         acquire the mutex to wait for initialization complete.
11635         (GOMP_loop_ordered_static_start): Likewise.
11636         (GOMP_loop_ordered_runtime_start): Likewise.
11637         (GOMP_loop_ordered_static_first): Remove.
11638         (GOMP_loop_ordered_dynamic_first): Remove.
11639         (GOMP_loop_ordered_guided_first): Remove.
11640         (GOMP_loop_ordered_runtime_first): Remove.
11641         * ordered.c (gomp_ordered_loop_first): Post to own release when
11642         we're the first thread.
11643         (gomp_ordered_loop_last): Wait on release if not owner.
11644         (gomp_ordered_loop_next): Likewise.
11645         (gomp_ordered_static_loop_init): New.
11646         (gomp_ordered_static_loop_next): Use ordered_owner.
11647         (GOMP_ordered_start): Likewise.
11648         * work.c (gomp_new_work_share): Initialize ordered_owner.
11650 2005-05-03  Richard Henderson  <rth@redhat.com>
11652         * Makefile (OPT): New.
11653         (CFLAGS): Use it.
11655         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11656         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11657         * libgomp.h, libgomp.map, NOTES: Update to match.
11659         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11660         Add initialized and thr members.
11661         (gomp_thread_start): Pause when initially spawned to wait for
11662         the whole team to be created.
11663         (gomp_team_start): Release team members at the end.
11665         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
11666         (f_foo_1): Use GOMP_loop_end.
11667         (f_foo_2): Use GOMP_loop_end_nowait.
11669         * testsuite/loop-2.c: New file.
11670         * testsuite/Makefile (TESTS): Add it.
11672 2005-05-03  Richard Henderson  <rth@redhat.com>
11674         * iter.c (gomp_iter_static_next): Fix overflow check typo.
11675         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11676         * team.c (new_team): Initialize oldest_live_gen to 1 if no
11677         initial work_share.
11679         * testsuite/Makefile: New file.
11680         * testsuite/loop-1.c: New file.
11682 2005-05-03  Richard Henderson  <rth@redhat.com>
11684         Initial implementation and checkin.
11686 Copyright (C) 2005-2019 Free Software Foundation, Inc.
11688 Copying and distribution of this file, with or without modification,
11689 are permitted in any medium without royalty provided the copyright
11690 notice and this notice are preserved.