Daily bump.
[official-gcc.git] / libgomp / ChangeLog
blob2c18cdab0be6fa5e84f2b9d495da4f8929449218
1 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
5 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
7         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
8         * testsuite/libgomp.c/loop-23.c (main): Likewise.
9         * testsuite/libgomp.c/loop-24.c: New test.
11 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
12             Tobias Burnus  <tobias@codesourcery.com>
14         PR fortran/93553
15         * testsuite/libgomp.fortran/pr93553.f90: New test.
17 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
19         * testsuite/libgomp.c/loop-22.c: New test.
20         * testsuite/libgomp.c/loop-23.c: New test.
22 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
24         PR middle-end/96459
25         * testsuite/libgomp.c/teams-3.c: New test.
26         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
27         if not defined yet.
28         (N(test)): Use it before all N(f*) calls.
29         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
30         (main): Don't call all test_* functions from within
31         #pragma omp teams reduction(|:err), call them directly.
33 2020-08-04  Tom de Vries  <tdevries@suse.de>
35         PR target/96428
36         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
37         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
39 2020-08-03  Julian Brown  <julian@codesourcery.com>
40             Thomas Schwinge  <thomas@codesourcery.com>
42         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
43         shared-memory devices.  Extend with further checking.
45 2020-08-03  Martin Jambor  <mjambor@suse.cz>
47         * plugin/Makefrag.am: Remove configuration of HSA plugin.
48         * aclocal.m4: Regenerated.
49         * Makefile.in: Regenerated.
50         * config.h.in: Regenerated.
51         * configure: Regenerated.
52         * plugin/configfrag.ac: Likewise.
53         * plugin/hsa_ext_finalize.h: Removed.
54         * plugin/plugin-hsa.c: Likewise.
55         * testsuite/Makefile.in: Regenerated.
56         * testsuite/lib/libgomp.exp
57         (offload_target_to_openacc_device_type): Remove hsa case.
58         (check_effective_target_hsa_offloading_selected_nocache): Removed
59         (check_effective_target_hsa_offloading_selected): Likewise.
60         (libgomp_init): Do not add -Wno-hsa to additional_flags.
61         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
62         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
63         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
64         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
65         * testsuite/libgomp.hsa.c/c.exp: Likewise.
66         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
67         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
68         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
69         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
70         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
71         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
72         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
73         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
74         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
75         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
76         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
77         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
78         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
79         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
80         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
81         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
82         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
83         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
84         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
86 2020-07-27  Julian Brown  <julian@codesourcery.com>
87             Thomas Schwinge  <thomas@codesourcery.com>
89         * libgomp.h (struct target_var_desc): Rename do_detach field to
90         is_attach.
91         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
92         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
93         (goacc_enter_data_internal): Don't affect reference counts
94         for attach mappings.
95         (goacc_exit_data_internal): Don't affect reference counts for detach
96         mappings.
97         * target.c (gomp_map_vars_existing): Don't affect reference counts for
98         attach mappings.
99         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
100         mark attach mappings.
101         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
102         reference count for attach mappings.
103         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
104         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
105         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
106         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
107         test as shouldfail.
108         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
109         gracefully in no-finalize mode.
110         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
112 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
114         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
115         use.
116         * testsuite/libgomp.oacc-c/c.exp: Likewise.
117         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
119 2020-07-23  Julian Brown  <julian@codesourcery.com>
120             Thomas Schwinge  <thomas@codesourcery.com>
122         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
123         finalization for detach operation.
124         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
125         New test.
127 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
129         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
130         * libgomp_f.h.in (omp_check_defines): Check whether
131         sizeof of determined Fortran kind and C typedef match.
132         * omp_lib.f90.in: Add omp_depened_kind.
133         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
134         * configure: Regenerate.
135         * Makefile.in: Regenerate.
136         * testsuite/Makefile.in: Regenerate.
138 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
140         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
141         gcc/testsuite/c-c++-common/gomp/.
142         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
143         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
144         from gcc/testsuite/gfortran.dg/gomp/.
145         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
147 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
149         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
150         * omp_lib.h.in: Likewise.
152 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
154         PR target/95620
155         * testsuite/libgomp.c/pr95620.c: New test.
157 2020-07-16  Julian Brown  <julian@codesourcery.com>
158             Thomas Schwinge  <thomas@codesourcery.com>
160         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
161         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
163 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
165         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
166         avoid conversion on 32bit systems from 32bit to 64bit due
167         to -fdefault-integer-8.
169 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
171         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
172         variables; add character(kind=4) tests; update TODO comment.
174 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
176         * allocator.c: Add ialias for omp_init_allocator and
177         omp_destroy_allocator.
178         * configure.ac: Set INTPTR_T_KIND.
179         * configure: Regenerate.
180         * Makefile.in: Regenerate.
181         * testsuite/Makefile.in: Regenerate.
182         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
183         omp_set_default_allocator_, omp_get_default_allocator_): New
184         functions and ialias_redirect.
185         * icv.c: Add ialias for omp_set_default_allocator and
186         omp_get_default_allocator.
187         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
188         omp_destroy_allocator_, omp_set_default_allocator_ and
189         omp_get_default_allocator_.
190         * omp_lib.f90.in: Add allocator traits parameters, declare
191         allocator routines and add related kind parameters.
192         * omp_lib.h.in: Likewise.
193         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
194         * testsuite/libgomp.fortran/alloc-1.F90: New test.
195         * testsuite/libgomp.fortran/alloc-2.F90: New test.
196         * testsuite/libgomp.fortran/alloc-3.F: New test.
197         * testsuite/libgomp.fortran/alloc-4.f90: New test.
198         * testsuite/libgomp.fortran/alloc-5.f90: New test.
200 2020-07-14  Tom de Vries  <tom@codesourcery.com>
201             Cesar Philippidis  <cesar@codesourcery.com>
202             Thomas Schwinge  <thomas@codesourcery.com>
203             Kwok Cheung Yeung  <kcy@codesourcery.com>
205         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
206         New variable.
207         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
208         acc_init_state to initializing at the start, and to initialized at the
209         end.
210         (self_initializing_p): New function.
211         (acc_get_device_type): Return acc_device_none if called by thread that
212         is currently executing acc_init_1.
213         * libgomp.texi (acc_get_device_type): Update documentation.
214         (Implementation Status and Implementation-Defined Behavior): Likewise.
215         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
217 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
219         * config/t-aix: Set BITS from compiler cpp macro.
221 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
223         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
225 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
227         PR fortran/67311
228         * testsuite/libgomp.fortran/target-map-1.f90: New test.
230 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
232         * testsuite/libgomp.c/loop-21.c: New test.
234 2020-07-13  Julian Brown  <julian@codesourcery.com>
235             Thomas Schwinge  <thomas@codesourcery.com>
237         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
239 2020-07-10  Julian Brown  <julian@codesourcery.com>
240             Thomas Schwinge  <thomas@codesourcery.com>
242         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
243         dynamic_refcount.
244         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
245         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
246         dynamic_refcount.
247         (acc_unmap_data): Update comment.
248         (goacc_map_var_existing, goacc_enter_datum): Adjust for
249         dynamic_refcount semantics.
250         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
251         Adjust for dynamic_refcount semantics.
252         (goacc_enter_data_internal): Implement "present" case of dynamic
253         memory-map handling here.  Update "non-present" case for
254         dynamic_refcount semantics.
255         (goacc_exit_data_internal): Use goacc_exit_datum_1.
256         * target.c (gomp_map_vars_internal): Remove
257         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
258         handling.
259         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
260         (gomp_load_image_to_device): Substitute dynamic_refcount for
261         virtual_refcount.
262         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
263         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
264         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
265         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
266         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
267         trace output.
268         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
269         trace output.
270         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
271         test.
272         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
273         Remove stale comment.
274         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
275         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
276         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
277         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
278         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
279         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
281 2020-07-10  Julian Brown  <julian@codesourcery.com>
282             Thomas Schwinge  <thomas@codesourcery.com>
284         * oacc-mem.c (goacc_map_var_existing): New function.
285         (goacc_enter_datum): Use above function.
286         (goacc_exit_datum_1): New function.
287         (goacc_exit_datum): Use above function.
289 2020-07-09  Julian Brown  <julian@codesourcery.com>
290             Thomas Schwinge  <thomas@codesourcery.com>
292         PR middle-end/95270
293         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
294         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
296 2020-07-09  Julian Brown  <julian@codesourcery.com>
298         * oacc-mem.c (find_group_last): Group data-movement clauses
299         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
300         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
302 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
304         * testsuite/libgomp.c/loop-19.c: New test.
305         * testsuite/libgomp.c/loop-20.c: New test.
307 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
309         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
310         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
311         it.  Remove __omp_alloctrait_value_max__.
312         * allocator.c (omp_init_allocator): Handle omp_atv_default for
313         omp_atk_alignment and omp_atk_pool_size.
315 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
317         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
318         behavior for 'GOMP_MAP_FORCE_FROM'.
319         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
321 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
323         * oacc-mem.c (goacc_exit_data_internal): Remove
324         'GOMP_MAP_ALWAYS_FROM' handling.
326 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
328         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
329         'scan-assembler' with 'scan-offload-rtl'.
330         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
331         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
332         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
333         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
335 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
337         * target.c (gomp_map_vars_existing): Assert 'kind !=
338         GOMP_MAP_ATTACH'.
339         (gomp_map_vars_internal): Clean up.
341 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
343         * testsuite/libgomp.c/loop-17.c: New test.
344         * testsuite/libgomp.c/loop-18.c: New test.
346 2020-06-26  Marek Polacek  <polacek@redhat.com>
348         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
350 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
352         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
353         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
355 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
357         * Makefile.am: Use -include.
358         * Makefile.in: Regenerate.
360 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
362         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
363         * Makefile.in: Regenerate
364         * configure.ac (tmake_file): Substitute.
365         * configure: Regenerate.
366         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
367         * config/t-aix: New file.
369 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
371         PR lto/94848
372         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
373         'dg-do run'.
375 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
377         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
378         variant for HSA_RUNTIME_LIB name.
379         (find_executable_symbol_1): Delete.
380         (find_executable_symbol): Delete.
381         (init_kernel_properties): Add ".kd" suffix to symbol names.
382         (find_load_offset): Delete.
383         (create_and_finalize_hsa_program): Remove relocation handling.
385 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
387         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
389 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
391         PR lto/94848
392         PR middle-end/95551
393         * testsuite/libgomp.fortran/target-var.f90: New test.
395 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
396             Julian Brown  <julian@codesourcery.com>
398         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
399         special handling.
401 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
402             Julian Brown  <julian@codesourcery.com>
404         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
405         Simplify.
407 2020-06-05  Julian Brown  <julian@codesourcery.com>
409         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
410         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
412 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
414         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
415         Evaluate 'copyfrom' individually for each entry.
416         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
418 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
420         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
421         Evaluate 'finalize' individually for each entry.
422         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
423         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
424         file.
426 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
428         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
429         usage.
430         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
432 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
433             Julian Brown  <julian@codesourcery.com>
435         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
436         checking.
437         (acc_unmap_data, goacc_exit_data_internal): Restore
438         'is_tgt_unmapped' checking.
439         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
440         file.
441         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
442         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
443         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
444         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
445         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
446         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
448 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
449             Julian Brown  <julian@codesourcery.com>
451         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
453 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
455         PR libgomp/92854
456         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
458 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
460         PR libgomp/92854
461         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
462         more.
464 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
465             Julian Brown  <julian@codesourcery.com>
467         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
468         'gomp_map_vars'.
469          (acc_map_data): Clean up accordingly.
471 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
473         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
474         of over-eager 'finalize' clause.
475         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
476         file.
477         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
478         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
479         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
480         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
481         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
482         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
483         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
484         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
486 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
488         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
490 2020-06-04  Julian Brown  <julian@codesourcery.com>
492         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
493         error path.
494         (goacc_detach_internal): Likewise.
496 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
498         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
499         the checkpoint.
500         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
501         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
502         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
503         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
504         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
506 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
508         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
509         defined.
511 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
513         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
515 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
517         * allocator.c (omp_alloc): For size == 0, return NULL early.
519 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
521         PR bootstrap/95413
522         * configure: Regenerated.
524 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
526         PR libfortran/95191
527         * testsuite/libgomp.fortran/async_io_9.f90: New test.
529 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
531         * omp.h.in (omp_uintptr_t): New typedef.
532         (__GOMP_UINTPTR_T_ENUM): Define.
533         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
534         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
535         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
536         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
537         omp_get_default_allocator, omp_alloc, omp_free): Declare.
538         * libgomp.h (struct gomp_team_state): Add def_allocator field.
539         (gomp_def_allocator): Declare.
540         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
541         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
542         omp_alloc and omp_free.
543         * team.c (gomp_team_start): Copy over ts.def_allocator.
544         * env.c (gomp_def_allocator): New variable.
545         (parse_wait_policy): Adjust function comment.
546         (parse_allocator): New function.
547         (handle_omp_display_env): Print OMP_ALLOCATOR.
548         (initialize_env): Call parse_allocator.
549         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
550         * allocator.c: New file.
551         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
552         functions.
553         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
554         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
555         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
556         * Makefile.in: Regenerated.
558 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
560         PR bootstrap/95147
561         * configure: Regenerated.
563 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
565         PR libfortran/95119
566         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
568 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
570         * configure: Regenerated.
572 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
574         * testsuite/libgomp.c-c++-common/target-40.c: New test.
576 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
578         PR fortran/94690
579         * testsuite/libgomp.fortran/pr66199-3.f90: New.
580         * testsuite/libgomp.fortran/pr66199-4.f90: New.
581         * testsuite/libgomp.fortran/pr66199-5.f90: New.
582         * testsuite/libgomp.fortran/pr66199-6.f90: New.
583         * testsuite/libgomp.fortran/pr66199-7.f90: New.
584         * testsuite/libgomp.fortran/pr66199-8.f90: New.
585         * testsuite/libgomp.fortran/pr66199-9.f90: New.
587 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
589         * testsuite/libgomp.c/target-39.c: New test.
591 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
593         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
594         * openacc.f90 (acc_device_current): Likewise.
595         * openacc.h (acc_device_current): Likewise.
596         * openacc_lib.h (acc_device_current): Likewise.
598         PR target/94282
599         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
600         'dg-allow-blank-lines-in-output'.
602         * oacc-init.c (get_openacc_name): Handle 'gcn'.
603         * testsuite/lib/libgomp.exp
604         (offload_target_to_openacc_device_type) [amdgcn*]: Return
605         'radeon'.  Adjust all users.
606         (check_effective_target_openacc_amdgcn_accel_present): Rename
607         to...
608         (check_effective_target_openacc_radeon_accel_present): ... this.
609         Adjust all users.
610         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
611         (check_effective_target_openacc_radeon_accel_selected): ... this.
612         Adjust all users.
614         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
615         'dg-do run'.
617 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
619         PR other/94629
621         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
622         hsa_iterate_agents.
623         (GOMP_OFFLOAD_init_device): Check return values from both calls to
624         hsa_agent_iterate_regions.
626 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
628         PR middle-end/94635
629         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
630         run'.
632 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
634         PR middle-end/94120
635         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
636         test case.
638 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
640         PR middle-end/94635
641         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
643 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
645         PR libgomp/92843
646         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
647         Rename to...
648         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
649         ... this.
650         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
651         Rename to...
652         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
653         ... this.
654         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
655         Rename to...
656         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
657         ... this.
658         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
659         Rename to...
660         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
661         ... this.
662         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
663         Rename to...
664         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
665         ... this.
666         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
667         Rename to...
668         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
669         ... this.
670         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
671         Rename to...
672         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
673         ... this.
674         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
675         Rename to...
676         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
677         ... this.
678         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
679         Rename to...
680         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
681         ... this.
682         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
683         Rename to...
684         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
685         ... this.
686         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
687         Rename to...
688         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
689         ... this.
690         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
691         Rename to...
692         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
693         ... this.
694         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
695         Rename to...
696         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
697         ... this.
698         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
699         Rename to...
700         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
701         ... this.
702         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
703         Rename to...
704         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
705         ... this.
706         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
707         Rename to...
708         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
709         ... this.
711 2020-04-10  Julian Brown  <julian@codesourcery.com>
712             Thomas Schwinge  <thomas@codesourcery.com>
714         PR libgomp/92843
715         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
716         New file.
717         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
718         Likewise.
719         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
720         Likewise.
721         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
722         Likewise.
723         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
724         Likewise.
725         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
726         Likewise.
727         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
728         Likewise.
729         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
730         Likewise.
731         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
732         Likewise.
733         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
734         Likewise.
735         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
736         Likewise.
737         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
738         Likewise.
739         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
740         Likewise.
741         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
742         Likewise.
743         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
744         Likewise.
745         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
746         Likewise.
748 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
750         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
751         run'.
753 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
755         PR middle-end/94120
756         * libgomp.oacc-c++/declare-pr94120.C: New.
758 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
760         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
761         files.
762         * configure: Regenerate.
763         * testsuite/libgomp-site-extra.exp.in: New file.
764         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
765         variable.
766         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
767         variable.
768         * testsuite/Makefile.in: Regenerate.
770 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
772         PR tree-optimization/89713
773         PR c/94392
774         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
775         'bar.sync'.
776         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
778 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
780         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
781         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
783 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
785         PR libgomp/81689
786         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
788 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
790         PR libgomp/94251
791         * target.c (gomp_load_image_to_device): Fix link
792         variable handling.
794 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
796         PR c++/93931
797         * testsuite/libgomp.c++/pr93931.C: New test.
799 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
801         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
802         dg-allow-blank-lines-in-output.
804 2020-03-18  Julian Brown <julian@codesourcery.com>
805             Tobias Burnus  <tobias@codesourcery.com>
807         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
808         it work concurrently.
810 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
812         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
813         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
814         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
816 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
818         PR middle-end/93566
819         * testsuite/libgomp.c/pr93566.c: New test.
821 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
823         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
824         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
825         integer(acc_device_property) for the type of the return value of
826         acc_get_property.
828 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
830         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
831         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
832         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
833         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
834         (acc_set_device_num): Fix Fortran argument name, use same name for C.
835         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
836         corrections; add note about the previous interface and named constant.
837         (OpenACC library and environment variables): Fix two typos.
838         * openacc.f90: Use for all procedures the argument names from the spec
839         as for â€¦_h they are user visible.
840         (openacc_kinds): Rename acc_device_property to
841         acc_device_property_kinds and change value to int32 ; and update users.
842         Re-add acc_device_property for for backward compatibility.
843         (acc_get_property_string_h): Clean up as acc_device_property_kind
844         changed.
845         (acc_get_property_h): Likewise and return c_size_t instead of
846         acc_device_property.
847         (openacc): Also export acc_device_property_kinds.
848         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
849         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
850         handling; check against /= 0 instead of == 1 to match C.
851         * openacc_lib.h: Use for all procedures the argument names from the spec
852         as for â€¦_h they are user visible. Place !GCC$ into the first column to
853         be active also for fixed-form souce form.
854         (acc_device_current, acc_device_property_kind, acc_device_property,
855         acc_property_memory, acc_property_free_memory, acc_property_name,
856         acc_property_vendor, acc_property_driver): New named constants.
857         (acc_get_property, acc_get_property_string): New generic interface.
859 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
861         PR libgomp/93481
862         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
863         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
864         optional.
865         (gomp_target_task_fn): Assert "devicep->async_run_func".
866         (clear_unsupported_flags): New function to remove unsupported flags
867         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
868         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
869         * testsuite/libgomp.c/target-33.c:
870         Remove xfail for offload_target_nvptx.
871         * testsuite/libgomp.c/target-34.c: Likewise.
873 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
875         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
876         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
877         * testsuite/libgomp.c/target-34.c: Likewise.
878         * testsuite/libgomp.c/target-link-1.c: Add xfail for
879         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
881 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
883         * testsuite/libgomp.c/target-38.c: New test.
885 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
887         PR libgomp/93515
888         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
890 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
892         * testsuite/lib/libgomp.exp
893         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
894         and not as 'source' argument to libgomp_target_compile.
896 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
898         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
899         (gcn_gfx801_s): Remove.
900         (isa_hsa_name): Remove gfx801.
901         (isa_gcc_name): Remove gfx801/carizzo.
902         (isa_code): Remove gfx801.
904 2020-02-03  Julian Brown  <julian@codesourcery.com>
905             Tobias Burnus  <tobias@codesourcery.com>
907         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
908         and *_finalize variants; document acc_attach and acc_detach; update
909         references from OpenACC 2.0 to 2.6.
910         * openacc.f90 (openacc_version): Update to 201711.
911         * openacc_lib.h (openacc_version): Update to 201711.
912         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
913         openacc_version to 201711.
914         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
916 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
918         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
919         and vgpr_count fields.
920         (struct kernel_info): Add a field for a hsa_kernel_description.
921         (run_kernel): Reduce the number of threads/workers if the requested
922         number would require too many VGPRs.
923         (init_basic_kernel_info): Initialize description field with
924         the hsa_kernel_description entry for the kernel.
926 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
928         PR bootstrap/93409
929         * plugin/configfrag.ac (enable_offload_targets): Skip
930         HSA and GCN plugin besides -m32 also for -mx32.
931         * configure: Regenerate.
933 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
935         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
937 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
939         * plugin-gcn.c (struct agent_info): Add fields "name" and
940         "vendor_name" ...
941         (GOMP_OFFLOAD_init_device): ... and init from here.
942         (struct hsa_context_info): Add field "driver_version_s" ...
943         (init_hsa_contest): ... and init from here.
944         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
945         implementation.
946         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
947         Enable test execution for amdgcn and host offloading targets.
948         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
949         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
950         (expect_device_properties): Split function into ...
951         (expect_device_string_properties): ... this new function ...
952         (expect_device_memory): ... and this new function.
953         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
954         Add test.
956 2020-01-28  Julian Brown  <julian@codesourcery.com>
958         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
959         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
960         component/non-component variable refs in a single directive.
961         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
963 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
965         * configure.ac: Handle `--with-toolexeclibdir='.
966         * Makefile.in: Regenerate.
967         * aclocal.m4: Regenerate.
968         * configure: Regenerate.
969         * testsuite/Makefile.in: Regenerate.
971 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
973         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
974         (expect_device_properties): Remove "expected_free_mem" argument,
975         change "expected_total_mem" argument type to size_t;
976         change types of acc_get_property results to size_t,
977         adapt format strings.
978         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
979         Use %zu instead of %zd to print size_t values.
980         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
981         rename to ...
982         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
983         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
984         rename to ...
985         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
987 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
989         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
990         the device id.
992 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
994         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
995         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
996         Adjust test dimensions for amdgcn.
997         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
998         gang/worker/vector expectations dynamically.
999         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1000         (main): Likewise.
1001         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1002         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1003         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1004         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1005         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1006         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1007         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1008         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1009         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1010         (acc_gang): Recognise acc_device_radeon.
1011         (acc_worker): Likewise.
1012         (acc_vector): Likewise.
1013         (main): Set expectations for amdgcn.
1014         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1015         (main): Adjust gang/worker/vector expectations dynamically.
1016         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1017         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1018         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1019         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1020         for amdgcn.
1022 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
1024         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1025         acc_device_radeon.
1026         (openacc): Likewise.
1027         * openacc.f90 (openacc_kinds): Likewise.
1028         (openacc): Likewise.
1029         * openacc.h (acc_device_t): Likewise.
1030         * openacc_lib.h: Likewise.
1031         * testsuite/lib/libgomp.exp
1032         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1033         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1034         (cb_compute_construct_end): Likewise.
1035         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1036         (cb_enqueue_launch_start): Likewise.
1037         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1038         (cb_enter_data_end): Likewise.
1039         (cb_exit_data_start): Likewise.
1040         (cb_exit_data_end): Likewise.
1041         (cb_compute_construct_end): Likewise.
1042         (cb_enqueue_launch_start): Likewise.
1043         (cb_enqueue_launch_end): Likewise.
1044         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1045         (main): Likewise.
1047 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1049         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
1050         to use this instead of 'enum gomp_device_property'.
1051         (GOMP_OFFLOAD_get_property): Rename to...
1052         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
1053         * libgomp.h (struct gomp_device_descr): Move
1054         'GOMP_OFFLOAD_openacc_get_property'...
1055         (struct acc_dispatch_t): ... here.  Adjust all users.
1056         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1058         * target.c (gomp_map_vars_internal)
1059         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1060         paths.
1062 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
1064         PR libgomp/93219
1065         * libgomp.h (gomp_print_string): Change return type from void to int.
1066         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
1067         not all characters have been written.
1069 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
1071         * libgomp.texi: Fix typos, use https.
1073 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1075         * testsuite/libgomp.fortran/optional-map.f90: Add test for
1076         unallocated/disassociated actual arguments to nonallocatable/nonpointer
1077         dummy arguments; those are/shall be regarded as absent arguments.
1078         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1079         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1081 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
1083         Update copyright years.
1085         * libgomp.texi: Bump @copying's copyright year.
1087 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
1089         PR libgomp/93065
1090         * oacc-init.c (goacc_runtime_deinitialize): New function.
1092 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
1094         PR bootstrap/93074
1095         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1096         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
1098 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
1099             Frederik Harwath  <frederik@codesourcery.com>
1100             Thomas Schwinge  <tschwinge@codesourcery.com>
1102         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1103         * libgomp-plugin.h (gomp_device_property_value): New union.
1104         (gomp_device_property_value): New prototype.
1105         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1106         constant.
1107         (acc_device_property_t): New enum.
1108         (acc_get_property, acc_get_property_string): New prototypes.
1109         * oacc-init.c (acc_get_device_type): Also assert that result
1110         is not `acc_device_current'.
1111         (get_property_any, acc_get_property, acc_get_property_string):
1112         New functions.
1113         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1114         `acc_property_memory', `acc_property_free_memory',
1115         `acc_property_name', `acc_property_vendor' and
1116         `acc_property_driver' constants.  Add `acc_device_property' data
1117         type.
1118         (openacc_internal): Add `acc_get_property' and
1119         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
1120         `acc_get_property_string_h', `acc_get_property_l' and
1121         `acc_get_property_string_l'.
1122         * oacc-host.c (host_get_property): New function.
1123         (host_dispatch): Wire it.
1124         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1125         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1126         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1127         * libgomp.texi (OpenACC Runtime Library Routines): Add
1128         `acc_get_property'.
1129         (acc_get_property): New node.
1130         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1131         function (stub).
1132         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1133         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1134         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1135         calls.
1136         (GOMP_OFFLOAD_get_property): New function.
1137         (struct ptx_device): Add new field "name".
1138         (cuda_driver_version_s): Add new static variable ...
1139         (nvptx_init): ... and init from here.
1141         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1142         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1143         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1144         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1145         with test helper functions.
1147         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1149 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
1151         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1152         variable.
1154 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
1156         * target.c (gomp_map_vars_internal): Restore 'omp declare target
1157         link' handling.
1159 2019-12-19  Julian Brown  <julian@codesourcery.com>
1161         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1162         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1163         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1165 2019-12-19  Julian Brown  <julian@codesourcery.com>
1166             Cesar Philippidis  <cesar@codesourcery.com>
1168         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1169         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1170         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1171         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1172         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1173         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1174         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1175         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1176         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1177         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1178         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1179         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1180         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1182 2019-12-19  Julian Brown  <julian@codesourcery.com>
1184         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1185         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1186         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1187         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1188         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1189         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1190         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1191         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1192         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1193         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1194         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1195         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1197 2019-12-19  Julian Brown  <julian@codesourcery.com>
1199         * libgomp.h (struct target_var_desc): Add do_detach flag.
1200         * oacc-init.c (acc_shutdown_1): Free aux block if present.
1201         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1202         struct components.  Tidy up and add some new checks.
1203         (goacc_enter_data_internal): Update call to find_group_last.
1204         (goacc_exit_data_internal): Support detach operations and
1205         GOMP_MAP_STRUCT.
1206         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1207         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
1208         attach/detach in enter/exit data detection code.
1209         * target.c (gomp_map_vars_existing): Initialise do_detach field of
1210         tgt_var_desc.
1211         (gomp_map_vars_internal): Support attach.
1212         (gomp_unmap_vars_internal): Support detach.
1214 2019-12-19  Julian Brown  <julian@codesourcery.com>
1215             Thomas Schwinge  <thomas@codesourcery.com>
1217         * libgomp.h (struct splay_tree_aux): Add attach_count field.
1218         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1219         * libgomp.map (OACC_2.6): New section. Add acc_attach,
1220         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1221         acc_detach_finalize_async.
1222         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1223         acc_detach, acc_detach_async, acc_detach_finalize,
1224         acc_detach_finalize_async): New functions.
1225         * openacc.h (acc_attach, acc_attach_async, acc_detach,
1226         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1227         prototypes.
1228         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1229         (gomp_remove_var_internal): Free attachment counts if present.
1230         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1231         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1233 2019-12-19  Julian Brown  <julian@codesourcery.com>
1234             Cesar Philippidis  <cesar@codesourcery.com>
1236         * libgomp.h (gomp_map_val): Add prototype.
1237         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1238         open-coding device-address calculation.
1239         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1240         non-present case.
1242 2019-12-19  Julian Brown  <julian@codesourcery.com>
1244         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1245         field for virtual_refcount.
1246         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1247         (gomp_free_memmap): Remove prototype.
1248         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1249         instead of calling gomp_free_memmap.
1250         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1251         dynamic_refcount.
1252         (acc_unmap_data): Open code instead of forcing target_mem_desc's
1253         to_free field to NULL then calling gomp_unmap_vars.  Handle
1254         REFCOUNT_INFINITY on target blocks.
1255         (goacc_enter_data): Rename to...
1256         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
1257         handling for mapping groups.  Use virtual_refcount instead of
1258         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1259         map_map_vars_async call.  Re-do lookup for target pointer return value.
1260         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1261         renamed goacc_enter_datum function.
1262         (goacc_exit_data): Rename to...
1263         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
1264         (acc_delete, acc_delete_async, acc_delete_finalize,
1265         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1266         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1267         goacc_exit_datum function.
1268         (gomp_acc_remove_pointer, find_pointer): Remove functions.
1269         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1270         New functions.
1271         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1272         goacc_exit_data_internal helper functions.
1273         * target.c (gomp_map_vars_internal): Handle
1274         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
1275         semantics.
1276         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1277         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1278         virtual_refcount field instead of dynamic_refcount.
1279         (gomp_free_memmap): Remove function.
1280         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1281         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1282         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1284 2019-12-19  Julian Brown  <julian@codesourcery.com>
1285             Thomas Schwinge  <thomas@codesourcery.com>
1287         * libgomp.h (struct splay_tree_aux): New.
1288         (struct splay_tree_key_s): Replace link_key field with aux pointer.
1289         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1290         to aux struct.
1291         (gomp_remove_var_internal): Free aux block if present.
1292         (gomp_load_image_to_device): Zero-initialise aux field instead of
1293         link_key field.
1294         (omp_target_associate_pointer): Zero-initialise aux field.
1296 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
1298         PR middle-end/86416
1299         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1300         q or none.
1301         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1302         L or none.
1304 2019-12-19  Julian Brown  <julian@codesourcery.com>
1305             Maciej W. Rozycki  <macro@codesourcery.com>
1306             Tobias Burnus  <tobias@codesourcery.com>
1307             Thomas Schwinge  <thomas@codesourcery.com>
1309         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1310         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1311         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1312         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1313         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1314         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1315         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1316         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1317         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1319 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
1321         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1322         called...
1323         (goacc_insert_pointer): ... from here, "present" case.
1324         (goacc_insert_pointer): Inline function into...
1325         (GOACC_enter_exit_data): ... here, and simplify.
1327         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1328         called...
1329         (goacc_insert_pointer): ... from here, "not present" case.
1331         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
1332         all users.
1334         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1335         'goacc_enter_data', 'goacc_exit_data'.
1337         * oacc-mem.c (delete_copyout): Refactor into...
1338         (goacc_exit_data): ... this.  Adjust all users.
1340         * oacc-mem.c (present_create_copy): Refactor into...
1341         (goacc_enter_data): ... this.  Adjust all users.
1343         * target.c (gomp_unmap_vars_internal): Add a safeguard to
1344         'gomp_remove_var'.
1346         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1347         like 'GOMP_MAP_FROM'.
1349         PR libgomp/92726
1350         PR libgomp/92970
1351         PR libgomp/92984
1352         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1353         fails.
1354         (GOACC_enter_exit_data): Simplify accordingly.
1355         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1356         subsuming...
1357         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1358         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1359         file.
1360         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1361         subsuming...
1362         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1363         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1364         file.
1365         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1366         subsuming...
1367         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1369         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1370         'finalize' handling.
1372         PR libgomp/92848
1373         * oacc-mem.c (acc_map_data, present_create_copy)
1374         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1375         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1376         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1377         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1378         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1379         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1380         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1381         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1382         Remove "XFAIL"s.
1384         * target.c (gomp_unmap_tgt): Make it 'static'.
1385         * libgomp.h (gomp_unmap_tgt): Remove.
1387 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
1389         PR middle-end/86416
1390         * testsuite/libgomp.c/pr86416-1.c: New.
1391         * testsuite/libgomp.c/pr86416-2.c: New.
1393 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
1395         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1396         all symbols as public except for the 'use â€¦, only' imported symbol,
1397         which is private.
1398         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1399         all symbols from module openacc_kinds as PUBLIC
1400         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1401         fix comment typo.
1402         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1404 2019-12-13  Julian Brown  <julian@codesourcery.com>
1406         PR libgomp/92881
1408         * libgomp.h (gomp_remove_var_async): Add prototype.
1409         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1410         gomp_remove_var.
1411         * target.c (gomp_unref_tgt): Change return type to bool, indicating
1412         whether target_mem_desc was unmapped.
1413         (gomp_unref_tgt_void): New.
1414         (gomp_remove_var): Reimplement in terms of...
1415         (gomp_remove_var_internal): ...this new helper function.
1416         (gomp_remove_var_async): New, implemented using above helper function.
1417         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1418         gomp_unref_tgt.
1420 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
1422         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1423         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1424         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1425         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1426         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1427         Likewise.
1428         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1429         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1431 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
1433         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1434         as public except for the 'use â€¦, only' imported symbol, which is
1435         private.
1436         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1437         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1438         attributes for acc_copyout_finalize and acc_delete_finalize.
1440 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
1442         PR fortran/92899
1443         * testsuite/libgomp.fortran/atomic1.f90: New test.
1445 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1447         PR libgomp/92843
1448         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1449         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
1450         assertions.
1451         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1452         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1453         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1454         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1455         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1457         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1458         * oacc-mem.c: ... here.
1459         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1460         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1461         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1462         Remove.
1463         * libgomp_g.h: Update.
1465         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1466         * oacc-async.c: ... here.
1467         * oacc-int.h (goacc_wait): Declare.
1468         * libgomp_g.h: Update
1470         PR libgomp/92854
1471         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1472         New file.
1473         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1474         Likewise.
1475         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1476         Likewise.
1477         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1478         Likewise.
1479         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1480         Likewise.
1481         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1482         Likewise.
1484 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1485             Julian Brown  <julian@codesourcery.com>
1487         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1488         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1490 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1492         * omp_lib.h.in: Fix spelling of function declaration
1493         omp_get_cancell(l)ation.
1494         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1495         Fix typos.
1496         * env.c: Fix comment typos.
1497         * oacc-host.c: Likewise.
1498         * ordered.c: Likewise.
1499         * task.c: Likewise.
1500         * team.c: Likewise.
1501         * config/gcn/task.c: Likewise.
1502         * config/gcn/team.c: Likewise.
1503         * config/nvptx/task.c: Likewise.
1504         * config/nvptx/team.c: Likewise.
1505         * plugin/plugin-gcn.c: Likewise.
1506         * testsuite/libgomp.fortran/jacobi.f: Likewise.
1507         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1508         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1510 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1512         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1513         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1514         unnecessary 'dg-additional-options "-w"'.
1516 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1517             Julian Brown  <julian@codesourcery.com>
1519         PR libgomp/92116
1520         PR libgomp/92877
1522         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
1523         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1524         Adjust all users.
1525         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1526         Remove XFAIL.
1527         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1528         Likewise.
1529         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1531 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1533         PR libgomp/92503
1534         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1535         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1536         file.
1537         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1538         Likewise.
1539         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1540         Likewise.
1541         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1542         Likewise.
1543         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1544         Likewise.
1545         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1546         Likewise.
1547         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1548         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1549         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1550         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1551         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1552         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1553         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1554         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1555         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1556         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1558         PR libgomp/92840
1559         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1560         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1561         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1562         New file.
1563         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1564         Likewise.
1565         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1566         Likewise.
1567         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1568         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1570         PR libgomp/92511
1571         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1572         this file...
1573         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1574         this file...
1575         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1576         file...
1577         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1578         file...
1579         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1580         ... with their content moved into, and extended in this new file.
1581         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1582         New file.
1583         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1584         Likewise.
1585         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1586         Likewise.
1587         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1588         Likewise.
1590         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1592         PR libgomp/92854
1593         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1595         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1597         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1599 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
1601         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1602         unique.
1603         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1604         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1605         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1606         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1607         Ditto.
1608         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1609         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1611 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1613         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1615 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
1616             Kwok Cheung Yeung <kcy@codesourcery.com>
1618         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1619         if input it a NULL pointer.
1620         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1621         diagnostic of NULL pointer.
1622         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1623         * testsuite/libgomp.fortran/optional-map.f90: New.
1624         * testsuite/libgomp.fortran/use_device_addr-1.f90
1625         (test_dummy_opt_callee_1_absent): New.
1626         (test_dummy_opt_call_1): Call it.
1627         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1628         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1629         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1630         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1631         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1632         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1633         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1634         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1635         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1636         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1637         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1638         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1639         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1640         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1641         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1642         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1644 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
1646         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1647         expect dg-output of 'Error termination.' for GCN.
1648         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1649         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1651 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
1653         PR fortran/92756
1654         * testsuite/libgomp.fortran/teams1.f90: New test.
1655         * testsuite/libgomp.fortran/teams2.f90: New test.
1657 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
1659         * oacc-init.c (acc_known_device_type): Add function.
1660         (unknown_device_type_error): Add function.
1661         (name_of_acc_device_t): Change to call unknown_device_type_error
1662         on unknown type.
1663         (resolve_device): Use acc_known_device_type.
1664         (acc_init): Fail if acc_device_t argument is not valid.
1665         (acc_shutdown): Likewise.
1666         (acc_get_num_devices): Likewise.
1667         (acc_set_device_type): Likewise.
1668         (acc_get_device_num): Likewise.
1669         (acc_set_device_num): Likewise.
1670         (acc_on_device): Add comment that argument validity is not checked.
1672 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
1674         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1675         Recognize amdgcn.
1676         (check_effective_target_openacc_amdgcn_accel_present): New proc.
1677         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1678         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1679         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1680         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1682 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1684         PR libgomp/91938
1685         * configure.tgt: Avoid IE tls on *-*-musl*.
1687 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
1689         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1690         adding a common-block test case.
1692 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
1694         PR c++/60228
1695         * testsuite/libgomp.c++/udr-20.C: New test.
1696         * testsuite/libgomp.c++/udr-21.C: New test.
1698 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
1700         * testsuite/lib/libgomp.exp
1701         (check_effective_target_offload_target_nvptx): New proc.
1702         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1703         'dg-skip-if'.
1704         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1705         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1706         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1708 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1710         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1711         * testsuite/libgomp.c/pr39591-2.c: Likewise.
1712         * testsuite/libgomp.c/pr39591-3.c: Likewise.
1713         * testsuite/libgomp.c/private-1.c: Likewise.
1714         * testsuite/libgomp.c/task-1.c: Likewise.
1715         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1717 2019-11-20  Julian Brown  <julian@codesourcery.com>
1719         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1720         aq->mutex here.
1721         (queue_push_launch): Lock aq->mutex before calling
1722         wait_for_queue_nonfull.
1723         (queue_push_callback): Likewise.
1724         (queue_push_asyncwait): Likewise.
1725         (queue_push_placeholder): Likewise.
1727 2019-11-20  Julian Brown  <julian@codesourcery.com>
1729         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1730         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1731         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1732         return code.
1734 2019-11-20  Julian Brown  <julian@codesourcery.com>
1736         PR libgomp/92511
1738         * oacc-mem.c (present_create_copy): Fix device pointer return value in
1739         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
1740         in non-present/create case.
1741         (delete_copyout): Change error condition to fail only on copies outside
1742         of mapped block.  Adjust error message accordingly.
1743         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1744         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1745         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1746         message.
1747         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1748         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1749         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1751 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
1753         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1754         libatomic in build-tree testing.
1756 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
1758         * testsuite/Makefile.in: Regenerate.
1760 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
1762         * testsuite/libgomp.c/target-print-1.c: New file.
1763         * testsuite/libgomp.fortran/target-print-1.f90: New file.
1764         * testsuite/libgomp.oacc-c/print-1.c: New file.
1765         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1767 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1768             Kwok Cheung Yeung  <kcy@codesourcery.com>
1769             Julian Brown  <julian@codesourcery.com>
1770             Tom de Vries  <tom@codesourcery.com>
1772         * plugin/Makefrag.am: Add amdgcn plugin support.
1773         * plugin/configfrag.ac: Likewise.
1774         * plugin/plugin-gcn.c: New file.
1775         * configure: Regenerate.
1776         * Makefile.in: Regenerate.
1777         * testsuite/Makefile.in: Regenerate.
1779 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1781         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1782         and use team_malloc variants.
1783         (gomp_gcn_exit_kernel): Use team_free.
1784         * libgomp.h (TEAM_ARENA_SIZE): Define.
1785         (TEAM_ARENA_START): Define.
1786         (TEAM_ARENA_FREE): Define.
1787         (TEAM_ARENA_END): Define.
1788         (team_malloc): New function.
1789         (team_malloc_cleared): New function.
1790         (team_free): New function.
1791         * team.c (gomp_new_team): Initialize and use team_malloc.
1792         (free_team): Use team_free.
1793         (gomp_free_thread): Use team_free.
1794         (gomp_pause_host): Use team_free.
1795         * work.c (gomp_init_work_share): Use team_malloc.
1796         (gomp_fini_work_share): Use team_free.
1798 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1799             Kwok Cheung Yeung  <kcy@codesourcery.com>
1800             Julian Brown  <julian@codesourcery.com>
1801             Tom de Vries  <tom@codesourcery.com>
1803         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1804         * Makefile.in: Regenerate.
1805         * config.h.in (PLUGIN_GCN): Add new undef.
1806         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1807         * config/gcn/affinity-fmt.c: New file.
1808         * config/gcn/bar.c: New file.
1809         * config/gcn/bar.h: New file.
1810         * config/gcn/doacross.h: New file.
1811         * config/gcn/icv-device.c: New file.
1812         * config/gcn/oacc-target.c: New file.
1813         * config/gcn/simple-bar.h: New file.
1814         * config/gcn/target.c: New file.
1815         * config/gcn/task.c: New file.
1816         * config/gcn/team.c: New file.
1817         * config/gcn/time.c: New file.
1818         * configure.ac: Add amdgcn*-*-*.
1819         * configure: Regenerate.
1820         * configure.tgt: Add amdgcn*-*-*.
1821         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1822         * libgomp.h (gcn_thrs): Add amdgcn variant.
1823         (set_gcn_thrs): Likewise.
1824         (gomp_thread): Likewise.
1825         * oacc-int.h (goacc_thread): Likewise.
1826         * oacc-target.c: New file.
1827         * openacc.f90 (acc_device_gcn): New parameter.
1828         * openacc.h (acc_device_t): Add acc_device_gcn.
1829         * team.c (gomp_free_pool_helper): Add amdgcn support.
1831 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1832             Julian Brown  <julian@codesourcery.com>
1834         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1835         parameter.
1836         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1837         queue constructor.
1838         * oacc-host.c (host_openacc_async_construct): Add device parameter.
1839         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1840         device parameter.
1842 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1844         * configure.tgt (nvptx*-*-*): Add "accel" directory.
1845         * config/nvptx/libgomp-plugin.c: Move ...
1846         * config/accel/libgomp-plugin.c: ... to here.
1847         * config/nvptx/lock.c: Move ...
1848         * config/accel/lock.c: ... to here.
1849         * config/nvptx/mutex.c: Move ...
1850         * config/accel/mutex.c: ... to here.
1851         * config/nvptx/mutex.h: Move ...
1852         * config/accel/mutex.h: ... to here.
1853         * config/nvptx/oacc-async.c: Move ...
1854         * config/accel/oacc-async.c: ... to here.
1855         * config/nvptx/oacc-cuda.c: Move ...
1856         * config/accel/oacc-cuda.c: ... to here.
1857         * config/nvptx/oacc-host.c: Move ...
1858         * config/accel/oacc-host.c: ... to here.
1859         * config/nvptx/oacc-init.c: Move ...
1860         * config/accel/oacc-init.c: ... to here.
1861         * config/nvptx/oacc-mem.c: Move ...
1862         * config/accel/oacc-mem.c: ... to here.
1863         * config/nvptx/oacc-plugin.c: Move ...
1864         * config/accel/oacc-plugin.c: ... to here.
1865         * config/nvptx/omp-lock.h: Move ...
1866         * config/accel/omp-lock.h: ... to here.
1867         * config/nvptx/openacc.f90: Move ...
1868         * config/accel/openacc.f90: ... to here.
1869         * config/nvptx/pool.h: Move ...
1870         * config/accel/pool.h: ... to here.
1871         * config/nvptx/proc.c: Move ...
1872         * config/accel/proc.c: ... to here.
1873         * config/nvptx/ptrlock.c: Move ...
1874         * config/accel/ptrlock.c: ... to here.
1875         * config/nvptx/ptrlock.h: Move ...
1876         * config/accel/ptrlock.h: ... to here.
1877         * config/nvptx/sem.c: Move ...
1878         * config/accel/sem.c: ... to here.
1879         * config/nvptx/sem.h: Move ...
1880         * config/accel/sem.h: ... to here.
1881         * config/nvptx/thread-stacksize.h: Move ...
1882         * config/accel/thread-stacksize.h: ... to here.
1884 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
1885             Tobias Burnus  <tobias@codesourcery.com>
1886             Frederik Harwath  <frederik@codesourcery.com>
1887             Thomas Schwinge  <thomas@codesourcery.com>
1889         libgomp/
1890         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1891         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1892         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1894 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
1895             Kwok Cheung Yeung  <kcy@codesourcery.com>
1897         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1898         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1900 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
1902         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1904         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1905         run'.
1906         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1907         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1909 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
1911         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1912         Add expected warnings about missing reduction clauses.
1913         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1914         Likewise.
1915         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1916         Likewise.
1917         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1918         Likewise.
1920 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1922         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1923         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1924         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1925         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1926         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1927         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1929 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1931         PR fortran/92305
1932         * testsuite/libgomp.fortran/allocatable2.f90: Use
1933         unique numbers with 'stop'.
1934         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1935         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1936         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1937         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1938         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1940 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
1942         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1943         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1944         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1945         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1946         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1947         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1949 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1951         * testsuite/libgomp.fortran/target9.f90: New.
1953 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1955         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1956         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1957         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1958         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1959         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1960         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1961         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1962         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1963         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1964         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1965         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1966         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1967         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1968         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1969         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1970         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1971         * testsuite/libgomp.fortran/associate1.f90: Ditto.
1972         * testsuite/libgomp.fortran/associate2.f90: Ditto.
1973         * testsuite/libgomp.fortran/associate3.f90: Ditto.
1974         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1975         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1976         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1977         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1978         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1979         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1980         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1981         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1982         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1983         * testsuite/libgomp.fortran/character1.f90: Ditto.
1984         * testsuite/libgomp.fortran/character2.f90: Ditto.
1985         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1986         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1987         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1988         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1989         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1990         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1991         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1992         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1993         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1994         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1995         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1996         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1997         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1998         * testsuite/libgomp.fortran/do1.f90: Ditto.
1999         * testsuite/libgomp.fortran/do2.f90: Ditto.
2000         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2001         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2002         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2003         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2004         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2005         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2006         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2007         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2008         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2009         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2010         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2011         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2012         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2013         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2014         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2015         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2016         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2017         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2018         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2019         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2020         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2021         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2022         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2023         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2024         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2025         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2026         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2027         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2028         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2029         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2030         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2031         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2032         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2033         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2034         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2035         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2036         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2037         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2038         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2039         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2040         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2041         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2042         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2043         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2044         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2045         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2046         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2047         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2048         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2049         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2050         * testsuite/libgomp.fortran/lib1.f90: Ditto.
2051         * testsuite/libgomp.fortran/lib4.f90: Ditto.
2052         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2053         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2054         * testsuite/libgomp.fortran/nested1.f90: Ditto.
2055         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2056         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2057         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2058         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2059         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2060         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2061         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2062         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2063         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2064         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2065         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2066         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2067         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2068         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2069         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2070         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2071         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2072         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2073         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2074         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2075         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2076         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2077         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2078         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2079         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2080         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2081         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2082         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2083         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2084         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2085         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2086         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2087         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2088         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2089         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2090         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2091         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2092         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2093         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2094         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2095         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2096         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2097         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2098         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2099         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2100         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2101         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2102         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2103         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2104         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2105         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2106         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2107         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2108         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2109         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2110         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2111         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2112         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2113         * testsuite/libgomp.fortran/reference1.f90: Ditto.
2114         * testsuite/libgomp.fortran/reference2.f90: Ditto.
2115         * testsuite/libgomp.fortran/retval1.f90: Ditto.
2116         * testsuite/libgomp.fortran/retval2.f90: Ditto.
2117         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2118         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2119         * testsuite/libgomp.fortran/simd1.f90: Ditto.
2120         * testsuite/libgomp.fortran/simd2.f90: Ditto.
2121         * testsuite/libgomp.fortran/simd3.f90: Ditto.
2122         * testsuite/libgomp.fortran/simd4.f90: Ditto.
2123         * testsuite/libgomp.fortran/simd5.f90: Ditto.
2124         * testsuite/libgomp.fortran/simd6.f90: Ditto.
2125         * testsuite/libgomp.fortran/simd7.f90: Ditto.
2126         * testsuite/libgomp.fortran/stack.f90: Ditto.
2127         * testsuite/libgomp.fortran/strassen.f90: Ditto.
2128         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2129         * testsuite/libgomp.fortran/tabs2.f: Ditto.
2130         * testsuite/libgomp.fortran/target1.f90: Ditto.
2131         * testsuite/libgomp.fortran/target2.f90: Ditto.
2132         * testsuite/libgomp.fortran/target3.f90: Ditto.
2133         * testsuite/libgomp.fortran/target4.f90: Ditto.
2134         * testsuite/libgomp.fortran/target5.f90: Ditto.
2135         * testsuite/libgomp.fortran/target6.f90: Ditto.
2136         * testsuite/libgomp.fortran/target7.f90: Ditto.
2137         * testsuite/libgomp.fortran/target8.f90: Ditto.
2138         * testsuite/libgomp.fortran/task1.f90: Ditto.
2139         * testsuite/libgomp.fortran/task2.f90: Ditto.
2140         * testsuite/libgomp.fortran/task3.f90: Ditto.
2141         * testsuite/libgomp.fortran/task4.f90: Ditto.
2142         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2143         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2144         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2145         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2146         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2147         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2148         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2149         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2150         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2151         * testsuite/libgomp.fortran/udr1.f90: Ditto.
2152         * testsuite/libgomp.fortran/udr10.f90: Ditto.
2153         * testsuite/libgomp.fortran/udr11.f90: Ditto.
2154         * testsuite/libgomp.fortran/udr12.f90: Ditto.
2155         * testsuite/libgomp.fortran/udr13.f90: Ditto.
2156         * testsuite/libgomp.fortran/udr14.f90: Ditto.
2157         * testsuite/libgomp.fortran/udr15.f90: Ditto.
2158         * testsuite/libgomp.fortran/udr2.f90: Ditto.
2159         * testsuite/libgomp.fortran/udr3.f90: Ditto.
2160         * testsuite/libgomp.fortran/udr4.f90: Ditto.
2161         * testsuite/libgomp.fortran/udr5.f90: Ditto.
2162         * testsuite/libgomp.fortran/udr6.f90: Ditto.
2163         * testsuite/libgomp.fortran/udr7.f90: Ditto.
2164         * testsuite/libgomp.fortran/udr8.f90: Ditto.
2165         * testsuite/libgomp.fortran/udr9.f90: Ditto.
2166         * testsuite/libgomp.fortran/vla1.f90: Ditto.
2167         * testsuite/libgomp.fortran/vla2.f90: Ditto.
2168         * testsuite/libgomp.fortran/vla3.f90: Ditto.
2169         * testsuite/libgomp.fortran/vla4.f90: Ditto.
2170         * testsuite/libgomp.fortran/vla5.f90: Ditto.
2171         * testsuite/libgomp.fortran/vla6.f90: Ditto.
2172         * testsuite/libgomp.fortran/vla7.f90: Ditto.
2173         * testsuite/libgomp.fortran/vla8.f90: Ditto.
2174         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2175         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2177 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2179         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2180         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2181         Ditto; add 'dg-do run' for torture testing.
2182         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
2183         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2184         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2185         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2186         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2187         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2188         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2189         * testsuite/libgomp.fortran/task2.f90: Ditto.
2190         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2191         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2192         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2193         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2194         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2195         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2197 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
2199         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2200         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2201         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2202         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2203         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2204         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2205         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2206         Use 'stop' not abort().
2207         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2208         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2209         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2210         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2211         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2212         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2213         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2214         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2215         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2216         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2217         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2218         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2219         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2220         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2221         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2222         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2223         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2224         Ditto.
2225         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2226         Ditto.
2227         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2228         Ditto.
2229         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2230         Ditto.
2231         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2232         Ditto.
2233         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2234         Ditto.
2235         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2236         Ditto.
2237         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2238         Ditto.
2239         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2240         Ditto.
2241         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2242         Ditto.
2243         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2244         Ditto.
2245         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2246         Ditto.
2247         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2248         Ditto.
2249         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2250         Ditto.
2251         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2252         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2253         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2254         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2255         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2256         Likewise and also add 'dg-do run'.
2257         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2258         Ditto.
2260 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
2261             Tobias Burnus  <tobias@codesourcery.com>
2263         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2264         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2265         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2267 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
2269         PR libgomp/92081
2270         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2271         than 0.
2273 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
2275         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2276         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2278 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
2280         PR middle-end/92036
2281         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2282         file.
2284 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
2286         PR testsuite/91884
2287         * testsuite/libgomp.fortran/fortran.exp: Conditionally
2288         add -lquadmath.
2289         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2291 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
2293         PR libgomp/92028
2294         * target.c (gomp_map_vars_internal): Readd the previous
2295         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2296         though do that just in the !not_found_cnt case.
2298 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
2300         * gfortran.dg/gomp/target-simd.f90: New.
2302 2019-10-02  Julian Brown  <julian@codesourcery.com>
2303             Cesar Philippidis  <cesar@codesourcery.com>
2305         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2306         * target.c (FIELD_TGT_EMPTY): Define.
2307         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
2308         as switch instead of list of ifs.
2309         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2311 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
2313         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2314         include. Replace alloca () with __builtin_alloca ().
2315         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2317 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
2319         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2320         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2321         * oacc-parallel.c: Don't include "libgomp_g.h".
2322         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2323         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2324         * aclocal.m4: Regenerated.
2325         * config.h.in: Regenerated.
2326         * configure: Regenerated.
2327         * Makefile.in: Regenerated.
2329 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
2331         * libgomp_g.h: Include stdint.h instead of gstdint.h.
2333 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
2335         * configure: Regenerate.
2337 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
2339         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2340         string is initialized.
2342 2019-09-06  Florian Weimer  <fweimer@redhat.com>
2344         * configure: Regenerate.
2346 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
2348         PR other/79543
2349         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2350         scanning to conform to the GNU Coding Standards.
2351         * configure: Regenerate.
2353 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
2355         PR libgomp/91530
2356         * testsuite/libgomp.c/scan-21.c: New test.
2357         * testsuite/libgomp.c/scan-22.c: New test.
2359 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
2361         PR libgomp/91530
2362         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2363         targets.
2364         * testsuite/libgomp.c/scan-12.c: Likewise.
2365         * testsuite/libgomp.c/scan-13.c: Likewise.
2366         * testsuite/libgomp.c/scan-14.c: Likewise.
2367         * testsuite/libgomp.c/scan-15.c: Likewise.
2368         * testsuite/libgomp.c/scan-16.c: Likewise.
2369         * testsuite/libgomp.c/scan-17.c: Likewise.
2370         * testsuite/libgomp.c/scan-18.c: Likewise.
2371         * testsuite/libgomp.c/scan-19.c: Likewise.
2372         * testsuite/libgomp.c/scan-20.c: Likewise.
2373         * testsuite/libgomp.c++/scan-9.C: Likewise.
2374         * testsuite/libgomp.c++/scan-10.C: Likewise.
2375         * testsuite/libgomp.c++/scan-11.C: Likewise.
2376         * testsuite/libgomp.c++/scan-12.C: Likewise.
2377         * testsuite/libgomp.c++/scan-14.C: Likewise.
2378         * testsuite/libgomp.c++/scan-15.C: Likewise.
2379         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
2380         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2381         * testsuite/libgomp.c++/scan-16.C: Likewise.
2383 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
2385         PR fortran/91473
2386         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2387         -std=legacy so invalid code in the test case is accepted.
2389 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2391         PR fortran/91422
2392         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2393         dimension.
2395 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
2397         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2398         perform the lookup in the first loop only if !not_found_cnt, otherwise
2399         perform lookups for it in the second loop guarded with
2400         if (not_found_cnt || has_firstprivate).
2401         * testsuite/libgomp.c/target-37.c: New test.
2402         * testsuite/libgomp.c++/target-22.C: New test.
2404 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
2406         * testsuite/libgomp.c/target-18.c (struct S): New type.
2407         (foo): Use use_device_addr clause instead of use_device_ptr clause
2408         where required by OpenMP 5.0, add further tests for both use_device_ptr
2409         and use_device_addr clauses.
2410         * testsuite/libgomp.c++/target-9.C (struct S): New type.
2411         (foo): Use use_device_addr clause instead of use_device_ptr clause
2412         where required by OpenMP 5.0, add further tests for both use_device_ptr
2413         and use_device_addr clauses.  Add t and u arguments.
2414         (main): Adjust caller.
2416 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
2418         * testsuite/libgomp.c++/loop-13.C: New test.
2419         * testsuite/libgomp.c++/loop-14.C: New test.
2420         * testsuite/libgomp.c++/loop-15.C: New test.
2422 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
2424         PR middle-end/91301
2425         * testsuite/libgomp.c++/for-27.C: New test.
2427 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
2429         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2430         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2432 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
2434         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2436 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
2438         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2439         * testsuite/libgomp.c++/scan-16.C: Likewise.
2441 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
2443         * testsuite/libgomp.c/scan-19.c: New test.
2444         * testsuite/libgomp.c/scan-20.c: New test.
2446         * testsuite/libgomp.c/scan-11.c: New test.
2447         * testsuite/libgomp.c/scan-12.c: New test.
2448         * testsuite/libgomp.c/scan-13.c: New test.
2449         * testsuite/libgomp.c/scan-14.c: New test.
2450         * testsuite/libgomp.c/scan-15.c: New test.
2451         * testsuite/libgomp.c/scan-16.c: New test.
2452         * testsuite/libgomp.c/scan-17.c: New test.
2453         * testsuite/libgomp.c/scan-18.c: New test.
2454         * testsuite/libgomp.c++/scan-9.C: New test.
2455         * testsuite/libgomp.c++/scan-10.C: New test.
2456         * testsuite/libgomp.c++/scan-11.C: New test.
2457         * testsuite/libgomp.c++/scan-12.C: New test.
2458         * testsuite/libgomp.c++/scan-13.C: New test.
2459         * testsuite/libgomp.c++/scan-14.C: New test.
2460         * testsuite/libgomp.c++/scan-15.C: New test.
2461         * testsuite/libgomp.c++/scan-16.C: New test.
2463 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
2465         * testsuite/libgomp.c/scan-9.c: New test.
2466         * testsuite/libgomp.c/scan-10.c: New test.
2468 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
2470         * testsuite/libgomp.c++/scan-1.C: New test.
2471         * testsuite/libgomp.c++/scan-2.C: New test.
2472         * testsuite/libgomp.c++/scan-3.C: New test.
2473         * testsuite/libgomp.c++/scan-4.C: New test.
2474         * testsuite/libgomp.c++/scan-5.C: New test.
2475         * testsuite/libgomp.c++/scan-6.C: New test.
2476         * testsuite/libgomp.c++/scan-7.C: New test.
2477         * testsuite/libgomp.c++/scan-8.C: New test.
2478         * testsuite/libgomp.c/scan-1.c: New test.
2479         * testsuite/libgomp.c/scan-2.c: New test.
2480         * testsuite/libgomp.c/scan-3.c: New test.
2481         * testsuite/libgomp.c/scan-4.c: New test.
2482         * testsuite/libgomp.c/scan-5.c: New test.
2483         * testsuite/libgomp.c/scan-6.c: New test.
2484         * testsuite/libgomp.c/scan-7.c: New test.
2485         * testsuite/libgomp.c/scan-8.c: New test.
2487 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2489         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2490         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2491         Likewise.
2493         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2494         check.
2496 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
2498         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2499         file.
2501 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2503         PR fortran/90743
2504         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2505         case.
2506         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2507         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2508         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2509         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2511         PR testsuite/90861
2512         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2514         PR middle-end/90862
2515         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2517 2019-06-16  Tom de Vries  <tdevries@suse.de>
2519         PR tree-optimization/89376
2520         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2522 2019-06-15  Tom de Vries  <tdevries@suse.de>
2524         PR tree-optimization/89713
2525         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2526         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2528 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
2530         PR middle-end/90779
2531         * testsuite/libgomp.c/pr90779.c: New test.
2532         * testsuite/libgomp.fortran/pr90779.f90: New test.
2534 2019-06-15  Tom de Vries  <tdevries@suse.de>
2536         PR tree-optimization/90009
2537         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2539 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
2541         PR tree-optimization/89713
2542         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2544 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
2546         PR target/90811
2547         * testsuite/libgomp.c/pr90811.c: New test.
2549 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
2551         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2552         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2554 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
2556         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2557         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2558         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2559         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2561 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2563         * configure.ac: Call AX_COUNT_CPUS.
2564         Substitute CPU_COUNT.
2565         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2566         count fallback.
2567         * aclocal.m4: Regenerate.
2568         * configure: Regenerate.
2569         * Makefile.in, testsuite/Makefile.in: Regenerate.
2571 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
2573         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2574         to ...
2575         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2576         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2577         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2579 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
2581         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2583         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2585         PR libgomp/90641
2586         * work.c (gomp_init_work_share): Instead of aligning final ordered
2587         value to multiples of long long alignment, align to that the
2588         first part (ordered team ids) and if inline_ordered_team_ids
2589         is not on a long long alignment boundary within the structure,
2590         use __alignof__ (long long) - 1 pad size always.
2591         * loop.c (GOMP_loop_start): Fix *mem computation if
2592         inline_ordered_team_ids is not aligned on long long alignment boundary
2593         within the structure.
2594         * loop-ull.c (GOMP_loop_ull_start): Likewise.
2595         * sections.c (GOMP_sections2_start): Likewise.
2597 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
2599         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2600         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2602         PR libgomp/90585
2603         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
2604         HAVE_INTTYPES_H is defined.
2605         (print_uint64_t): New typedef.
2606         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2607         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2608         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2609         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
2610         before casting to void *.
2611         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2612         * oacc-mem.c: Don't include config.h nor stdint.h.
2613         * target.c: Don't include config.h.
2614         * oacc-cuda.c: Likewise.
2615         * oacc-host.c: Don't include stdint.h.
2617 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
2619         PR libgomp/90527
2620         * alloc.c (_GNU_SOURCE): Define.
2622 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
2624         * acc_prof.h: New file.
2625         * oacc-profiling.c: Likewise.
2626         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2627         Add these, respectively.
2628         * Makefile.in: Regenerate.
2629         * env.c (initialize_env): Call goacc_profiling_initialize.
2630         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2631         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2632         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2633         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2634         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2635         acc_prof_register, acc_prof_unregister, and acc_register_library.
2636         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2637         GOMP_PLUGIN_goacc_thread.
2638         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2639         prof_callbacks_enabled members.
2640         (goacc_prof_enabled, goacc_profiling_initialize)
2641         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2642         (goacc_profiling_dispatch): Declare.
2643         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2644         (GOACC_PROFILING_SETUP_P): Define.
2645         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2646         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2647         OpenACC Profiling Interface.
2648         * oacc-cuda.c (acc_get_current_cuda_device)
2649         (acc_get_current_cuda_context, acc_get_cuda_stream)
2650         (acc_set_cuda_stream): Likewise.
2651         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2652         (acc_init, acc_set_device_type, acc_get_device_type)
2653         (acc_get_device_num, goacc_lazy_initialize): Likewise.
2654         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2655         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2656         (acc_unmap_data, present_create_copy, delete_copyout)
2657         (update_dev_host): Likewise.
2658         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2659         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2660         Likewise.
2661         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2662         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2663         Likewise.
2664         * libgomp.texi: Update.
2665         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2666         file.
2667         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2668         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2669         Likewise.
2670         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2671         Likewise.
2672         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2673         Likewise.
2674         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2675         Likewise.
2677 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
2679         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2680         (struct goacc_asyncqueue_list): Likewise.
2681         (goacc_aq): Likewise.
2682         (goacc_aq_list): Likewise.
2683         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2684         (GOMP_OFFLOAD_openacc_async_test): Remove.
2685         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2686         (GOMP_OFFLOAD_openacc_async_wait): Remove.
2687         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2688         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2689         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2690         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2691         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2692         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2693         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2694         (GOMP_OFFLOAD_openacc_async_exec): Declare.
2695         (GOMP_OFFLOAD_openacc_async_construct): Declare.
2696         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2697         (GOMP_OFFLOAD_openacc_async_test): Declare.
2698         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2699         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2700         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2701         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2702         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2704         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2705         (gomp_acc_insert_pointer): Adjust declaration.
2706         (gomp_copy_host2dev): New declaration.
2707         (gomp_copy_dev2host): Likewise.
2708         (gomp_map_vars_async): Likewise.
2709         (gomp_unmap_tgt): Likewise.
2710         (gomp_unmap_vars_async): Likewise.
2711         (gomp_fini_device): Likewise.
2713         * oacc-async.c (get_goacc_thread): New function.
2714         (get_goacc_thread_device): New function.
2715         (lookup_goacc_asyncqueue): New function.
2716         (get_goacc_asyncqueue): New function.
2717         (acc_async_test): Adjust code to use new async design.
2718         (acc_async_test_all): Likewise.
2719         (acc_wait): Likewise.
2720         (acc_wait_async): Likewise.
2721         (acc_wait_all): Likewise.
2722         (acc_wait_all_async): Likewise.
2723         (goacc_async_free): New function.
2724         (goacc_init_asyncqueues): Likewise.
2725         (goacc_fini_asyncqueues): Likewise.
2726         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2727         design.
2728         (acc_set_cuda_stream): Likewise.
2729         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2730         (host_openacc_register_async_cleanup): Remove.
2731         (host_openacc_async_exec): New function.
2732         (host_openacc_async_test): Adjust parameters.
2733         (host_openacc_async_test_all): Remove.
2734         (host_openacc_async_wait): Remove.
2735         (host_openacc_async_wait_async): Remove.
2736         (host_openacc_async_wait_all): Remove.
2737         (host_openacc_async_wait_all_async): Remove.
2738         (host_openacc_async_set_async): Remove.
2739         (host_openacc_async_synchronize): New function.
2740         (host_openacc_async_serialize): New function.
2741         (host_openacc_async_host2dev): New function.
2742         (host_openacc_async_dev2host): New function.
2743         (host_openacc_async_queue_callback): New function.
2744         (host_openacc_async_construct): New function.
2745         (host_openacc_async_destruct): New function.
2746         (struct gomp_device_descr host_dispatch): Remove initialization of old
2747         interface, add initialization of new async sub-struct.
2748         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2749         (goacc_attach_host_thread_to_device): Remove old async code usage.
2750         * oacc-int.h (goacc_init_asyncqueues): New declaration.
2751         (goacc_fini_asyncqueues): Likewise.
2752         (goacc_async_copyout_unmap_vars): Likewise.
2753         (goacc_async_free): Likewise.
2754         (get_goacc_asyncqueue): Likewise.
2755         (lookup_goacc_asyncqueue): Likewise.
2756         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2757         design.
2758         (present_create_copy): Adjust code to use new async design.
2759         (delete_copyout): Likewise.
2760         (update_dev_host): Likewise.
2761         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2762         async design.
2763         (gomp_acc_remove_pointer): Adjust code to use new async design.
2764         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2765         design.
2766         (GOACC_enter_exit_data): Likewise.
2767         (goacc_wait): Likewise.
2768         (GOACC_update): Likewise.
2769         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2770         when called, warn as obsolete in comment.
2771         * target.c (goacc_device_copy_async): New function.
2772         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2773         add goacc_device_copy_async case.
2774         (gomp_copy_dev2host): Likewise.
2775         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2776         (gomp_map_pointer): Likewise.
2777         (gomp_map_fields_existing): Likewise.
2778         (gomp_map_vars_internal): New always_inline function, renamed from
2779         gomp_map_vars.
2780         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2781         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2782         passing goacc_asyncqueue argument.
2783         (gomp_unmap_tgt): Remove static, add attribute_hidden.
2784         (gomp_unref_tgt): New function.
2785         (gomp_unmap_vars_internal): New always_inline function, renamed from
2786         gomp_unmap_vars.
2787         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2788         (gomp_unmap_vars_async): Implement by calling
2789         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2790         (gomp_fini_device): New function.
2791         (gomp_exit_data): Adjust gomp_copy_dev2host call.
2792         (gomp_load_plugin_for_device): Remove old interface, adjust to load
2793         new async interface.
2794         (gomp_target_fini): Adjust code to call gomp_fini_device.
2796         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2797         (struct ptx_stream): Remove.
2798         (struct nvptx_thread): Remove current_stream field.
2799         (cuda_map_create): Remove.
2800         (cuda_map_destroy): Remove.
2801         (map_init): Remove.
2802         (map_fini): Remove.
2803         (map_pop): Remove.
2804         (map_push): Remove.
2805         (struct goacc_asyncqueue): Define.
2806         (struct nvptx_callback): Define.
2807         (struct ptx_free_block): Define.
2808         (struct ptx_device): Remove null_stream, active_streams, async_streams,
2809         stream_lock, and next fields.
2810         (enum ptx_event_type): Remove.
2811         (struct ptx_event): Remove.
2812         (ptx_event_lock): Remove.
2813         (ptx_events): Remove.
2814         (init_streams_for_device): Remove.
2815         (fini_streams_for_device): Remove.
2816         (select_stream_for_async): Remove.
2817         (nvptx_init): Remove ptx_events and ptx_event_lock references.
2818         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2819         case.
2820         (nvptx_open_device): Add free_blocks initialization, remove
2821         init_streams_for_device call.
2822         (nvptx_close_device): Remove fini_streams_for_device call, add
2823         free_blocks destruct code.
2824         (event_gc): Remove.
2825         (event_add): Remove.
2826         (nvptx_exec): Adjust parameters and code.
2827         (nvptx_free): Likewise.
2828         (nvptx_host2dev): Remove.
2829         (nvptx_dev2host): Remove.
2830         (nvptx_set_async): Remove.
2831         (nvptx_async_test): Remove.
2832         (nvptx_async_test_all): Remove.
2833         (nvptx_wait): Remove.
2834         (nvptx_wait_async): Remove.
2835         (nvptx_wait_all): Remove.
2836         (nvptx_wait_all_async): Remove.
2837         (nvptx_get_cuda_stream): Remove.
2838         (nvptx_set_cuda_stream): Remove.
2839         (GOMP_OFFLOAD_alloc): Adjust code.
2840         (GOMP_OFFLOAD_free): Likewise.
2841         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2842         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2843         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2844         (GOMP_OFFLOAD_openacc_async_wait): Remove.
2845         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2846         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2847         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2848         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2849         (cuda_free_argmem): New function.
2850         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2851         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2852         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2853         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2854         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2855         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2856         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2857         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2858         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2859         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2860         (cuda_callback_wrapper): New function.
2861         (cuda_memcpy_sanity_check): New function.
2862         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2863         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2864         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2865         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2867 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
2869         PR target/87835
2870         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2872 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
2874         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2876 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
2878         * team.c (gomp_team_start): Initialize pool->threads[0].
2880 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
2882         * testsuite/libgomp.oacc-c++/c++.exp: Specify
2883         "-foffload=$offload_target".
2884         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2885         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2886         * testsuite/lib/libgomp.exp
2887         (check_effective_target_openacc_nvidia_accel_configured): Remove,
2888         as (conceptually) merged into
2889         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
2890         users.
2892         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2893         * testsuite/libgomp-test-support.exp.in: Adjust.
2894         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
2895         openacc_device_types_s.
2896         (offload_target_to_openacc_device_type): New proc.
2897         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2898         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2899         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2900         * Makefile.in: Regenerate.
2901         * configure: Likewise.
2902         * testsuite/Makefile.in: Likewise.
2904         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2905         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2906         instead of OFFLOAD_TARGETS.
2907         * target.c (gomp_target_init): Adjust.
2908         * testsuite/libgomp-test-support.exp.in: Likewise.
2909         * testsuite/lib/libgomp.exp: Likewise.  Populate
2910         openacc_device_types_s instead of offload_targets_s_openacc.
2911         (check_effective_target_openacc_nvidia_accel_selected)
2912         (check_effective_target_openacc_host_selected): Adjust.
2913         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2914         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2915         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2916         * Makefile.in: Regenerate.
2917         * config.h.in: Likewise.
2918         * configure: Likewise.
2919         * testsuite/Makefile.in: Likewise.
2921         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2922         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
2923         "offloading: supported, but hardware not accessible".
2924         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2925         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2927 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
2929         PR c/87924
2930         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2931         goacc_wait().
2932         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2933         and related adjustment.
2935 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
2937         PR c++/88988
2938         * testsuite/libgomp.c++/pr88988.C: New test.
2940 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
2942         PR middle-end/89002
2943         * testsuite/libgomp.c/pr89002.c: New test.
2945 2019-01-28  Richard Biener  <rguenther@suse.de>
2947         PR testsuite/89064
2948         PR tree-optimization/86865
2949         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2951 2019-01-24  Tom de Vries  <tdevries@suse.de>
2953         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2954         once instantiated_devices drops to 0.
2956 2019-01-23  Tom de Vries  <tdevries@suse.de>
2958         PR target/PR88946
2959         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2960         cuMemFree.
2961         (nvptx_exec): Don't call map_push if mapnum == 0.
2962         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2964 2019-01-23  Tom de Vries  <tdevries@suse.de>
2966         PR target/88941
2967         PR target/88939
2968         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2969         (map_fini): Remove "assert (!s->map->active)".
2970         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2972 2019-01-23  Tom de Vries  <tdevries@suse.de>
2974         PR target/87835
2975         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2976         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2978 2019-01-15  Tom de Vries  <tdevries@suse.de>
2980         PR target/80547
2981         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2982         New test.
2984 2019-01-12  Tom de Vries  <tdevries@suse.de>
2986         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2987         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2988         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2989         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2991 2019-01-12  Tom de Vries  <tdevries@suse.de>
2993         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2995 2019-01-12  Tom de Vries  <tdevries@suse.de>
2997         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2998         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2999         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3001 2019-01-12  Tom de Vries  <tdevries@suse.de>
3003         PR target/85486
3004         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3005         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3007 2019-01-12  Tom de Vries  <tdevries@suse.de>
3009         PR target/85381
3010         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3011         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3013 2019-01-12  Tom de Vries  <tdevries@suse.de>
3015         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3016         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3017         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3019 2019-01-12  Tom de Vries  <tdevries@suse.de>
3021         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3022         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3023         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3025 2019-01-12  Tom de Vries  <tdevries@suse.de>
3027         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3028         resources diagnostic.
3030 2019-01-12  Tom de Vries  <tdevries@suse.de>
3032         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3033         vector length to be 128.
3034         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3035         length 2097152 to be reduced to 1024 instead of 32.
3037 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
3038             James Norris  <jnorris@codesourcery.com>
3040         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3041         Library Routines", and "Environment Variables".
3043 2019-01-11  Tom de Vries  <tdevries@suse.de>
3045         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3046         num_workers 16.
3048 2019-01-11  Tom de Vries  <tdevries@suse.de>
3050         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3051         -foffload=-w.
3052         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3053         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3054         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3055         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3057 2019-01-11  Tom de Vries  <tdevries@suse.de>
3059         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3060         test.
3062 2019-01-10  Nathan Sidwell  <nathan@acm.org>
3063             Julian Brown  <julian@codesourcery.com>
3065         PR lto/71959
3066         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3067         * testsuite/libgomp.oacc-c++/pr71959.C: New.
3069 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3071         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3072         and paste code.
3074 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3076         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
3077         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3078         write.
3080 2019-01-09  Tom de Vries  <tdevries@suse.de>
3082         PR target/88756
3083         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3084         #define instead of "const int".
3085         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3086         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3087         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3088         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3090 2019-01-09  Tom de Vries  <tdevries@suse.de>
3092         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3093         one worker.
3095 2019-01-07  Tom de Vries  <tdevries@suse.de>
3097         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3098         GOMP_OPENACC_DIM argument.
3100 2019-01-03  Tom de Vries  <tdevries@suse.de>
3102         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3103         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3105 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3107         Update copyright years.
3109 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3111         * libgomp.texi: Bump @copying's copyright year.
3113 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3115         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3116         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3117         (GOACC_declare): Redefine the "device" argument to "flags".
3119 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3120             Cesar Philippidis  <cesar@codesourcery.com>
3122         * target.c (struct gomp_coalesce_chunk): New structure.
3123         (struct gomp_coalesce_buf): Update the chunks member to use that
3124         type.  Adjust all users.
3126 2018-12-19  Tom de Vries  <tdevries@suse.de>
3128         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3129         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3130         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3132 2018-12-19  Tom de Vries  <tdevries@suse.de>
3134         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3135         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3136         gcc/testsuite/gcc.dg/goacc.
3137         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3139 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3140             Chung-Lin Tang  <cltang@codesourcery.com>
3142         * oacc-mem.c (acc_present_or_create): Remove definition and change
3143         to alias of acc_create.
3144         (acc_present_or_copyin): Remove definition and change to alias of
3145         acc_copyin.
3146         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3147         of acc_present_or_create.
3148         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3149         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3150         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3151         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3152         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3153         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3154         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3155         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3156         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3157         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3158         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3159         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3160         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3161         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3162         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3163         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3165 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3167         PR libgomp/88495
3168         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3169         "identical parameters".
3170         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3171         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3173         PR libgomp/88484
3174         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3175         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3177         PR libgomp/88407
3178         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3179         (nvptx_wait_async): Unseen async-argument is a no-op.
3180         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3181         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3182         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3183         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3184         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3185         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3186         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
3187         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3188         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
3190         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3191         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3193 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
3195         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3196         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3197         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3199 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3201         PR libgomp/88370
3202         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3203         (acc_set_cuda_stream): Clarify.
3204         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3205         "async_valid_p".
3206         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3207         acc_async_sync".
3208         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3209         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3210         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3211         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3213 2018-12-14  Tom de Vries  <tdevries@suse.de>
3215         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3216         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3217         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3218         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3219         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3221 2018-12-13  Tom de Vries  <tdevries@suse.de>
3223         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3224         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3225         * fortran.c (omp_display_affinity_): ... here.
3226         * libgomp.h (gomp_print_string): Declare.
3227         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
3228         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3229         write.
3231 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
3233         PR libgomp/88460
3234         * testsuite/libgomp.c++/for-24.C (results): Include it in
3235         omp declare target region.
3236         (main): Use map (always, tofrom: results) instead of
3237         map (tofrom: results).
3239 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
3241         PR fortran/88463
3242         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3243         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3245         * testsuite/libgomp.c-c++-common/for-16.c: New test.
3247 2018-12-12  Andreas Schwab  <schwab@suse.de>
3249         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3250         clobbered.
3252 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
3254         PR fortran/88411
3255         * testsuite/libgomp.fortran/async_io_8.f90: New test.
3257 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
3258             Jakub Jelinek  <jakub@redhat.com>
3260         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3261         devicep->host2dev_func.
3263 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
3265         PR libgomp/87995
3266         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3267         tls_runtime effective target.
3268         (t): New threadprivate variable.
3269         (main): Set t in threads which execute iterations of the worksharing
3270         loop.  Propagate that to the task after the loop and don't abort
3271         if the current taskgroup hasn't been cancelled.
3273 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
3275         * testsuite/libgomp.c/task-reduction-3.c: New test.
3277         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3279 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
3281         PR libgomp/88288
3282         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3283         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3285 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
3287         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3289 2018-10-19  Richard Biener  <rguenther@suse.de>
3291         PR tree-optimization/88182
3292         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3294 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
3296         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3297         (RUNTEST): Don't define.
3298         (RUNTESTDEFAULTFLAGS): Add.
3299         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3300         (distclean-am): Depend on distclean-DEJAGNU.
3301         (check-am): If -j% option is present in MFLAGS and if
3302         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3303         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3304         * testsuite/Makefile.in: Regenerated.
3306 2018-11-26  Richard Biener  <rguenther@suse.de>
3308         PR tree-optimization/88182
3309         * testsuite/libgomp.c++/pr88182.C: New testcase.
3311 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
3313         PR bootstrap/88106
3314         * config/mingw32/affinity-fmt.c: New file.
3316 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
3318         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3319         (gomp_display_affinity): Use __builtin_choose_expr to handle
3320         properly handle argument having integral, or pointer or some other
3321         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
3322         with uint64_t type instead of %llx and unsigned long long.
3324         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3325         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3327 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3329         * affinity.c: Include <string.h>, <stdio.h>.
3330         (gomp_display_affinity_place): Remove cpusetp.
3331         * teams.c: Include <limits.h>.
3333 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
3335         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3336         in_reduction clause for s[0].
3338         * affinity.c (gomp_display_affinity_place): New function.
3339         * affinity-fmt.c: New file.
3340         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3341         * config/linux/affinity.c (gomp_display_affinity_place): New function.
3342         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3343         Move these functions to ...
3344         * config/nvptx/teams.c: ... here.  New file.
3345         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3346         New functions.
3347         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3348         functions.
3349         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3350         and _aligned_malloc.
3351         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3352         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3353         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3354         gomp_affinity_format_len): New variables.
3355         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3356         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
3357         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3358         modifiers.  Display (non-default) chunk sizes.  Print
3359         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3360         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
3361         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3362         * fortran.c: Include stdio.h and string.h.
3363         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3364         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3365         (omp_set_affinity_format_, omp_get_affinity_format_,
3366         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3367         omp_pause_resource_all_): New functions.
3368         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3369         switch.
3370         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3371         functions to ...
3372         * teams.c: ... here.  New file.
3373         * libgomp_g.h: Include gstdint.h.
3374         (GOMP_loop_nonmonotonic_runtime_start,
3375         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3376         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3377         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3378         GOMP_parallel_loop_nonmonotonic_runtime,
3379         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3380         GOMP_loop_ull_nonmonotonic_runtime_start,
3381         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3382         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3383         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3384         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3385         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3386         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3387         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3388         GOMP_teams_reg): Declare.
3389         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3390         gomp_aligned_alloc uses fallback implementation.
3391         (gomp_aligned_alloc, gomp_aligned_free): Declare.
3392         (enum gomp_schedule_type): Add GFS_MONOTONIC.
3393         (struct gomp_doacross_work_share): Add extra field.
3394         (struct gomp_work_share): Add task_reductions field.
3395         (struct gomp_taskgroup): Add workshare and reductions fields.
3396         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3397         (gomp_thread_handle): New typedef.
3398         (gomp_display_affinity_place, gomp_set_affinity_format,
3399         gomp_display_string, gomp_display_affinity,
3400         gomp_display_affinity_thread): Declare.
3401         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3402         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3403         gomp_workshare_task_reduction_register): Declare.
3404         (gomp_team_start): Add taskgroup argument.
3405         (gomp_pause_host): Declare.
3406         (gomp_init_work_share, gomp_work_share_start): Change bool argument
3407         to size_t.
3408         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3409         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3410         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3411         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3412         GOMP_loop_ull_doacross_start,
3413         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3414         GOMP_loop_maybe_nonmonotonic_runtime_next,
3415         GOMP_loop_maybe_nonmonotonic_runtime_start,
3416         GOMP_loop_nonmonotonic_runtime_next,
3417         GOMP_loop_nonmonotonic_runtime_start,
3418         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3419         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3420         GOMP_loop_ull_nonmonotonic_runtime_next,
3421         GOMP_loop_ull_nonmonotonic_runtime_start,
3422         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3423         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3424         GOMP_taskgroup_reduction_register,
3425         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3426         GOMP_teams_reg and GOMP_taskwait_depend.
3427         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3428         omp_{capture,display}_affinity{,_}, and
3429         omp_[gs]et_affinity_format{,_}.
3430         * loop.c: Include string.h.
3431         (GOMP_loop_runtime_next): Add ialias.
3432         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3433         (gomp_loop_static_start, gomp_loop_dynamic_start,
3434         gomp_loop_guided_start, gomp_loop_ordered_static_start,
3435         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3436         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3437         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3438         or gomp_doacross_init callers.
3439         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3440         GOMP_loop_doacross_start): New functions.
3441         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3442         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3443         Mask off GFS_MONOTONIC bit.
3444         (GOMP_loop_maybe_nonmonotonic_runtime_next,
3445         GOMP_loop_maybe_nonmonotonic_runtime_start,
3446         GOMP_loop_nonmonotonic_runtime_next,
3447         GOMP_loop_nonmonotonic_runtime_start,
3448         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3449         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3450         functions.
3451         (gomp_parallel_loop_start): Pass NULL as taskgroup to
3452         gomp_team_start.
3453         * loop_ull.c: Include string.h.
3454         (GOMP_loop_ull_runtime_next): Add ialias.
3455         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3456         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3457         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3458         gomp_loop_ull_ordered_dynamic_start,
3459         gomp_loop_ull_ordered_guided_start,
3460         gomp_loop_ull_doacross_static_start,
3461         gomp_loop_ull_doacross_dynamic_start,
3462         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3463         and gomp_doacross_ull_init callers.
3464         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3465         GOMP_loop_ull_doacross_start): New functions.
3466         (GOMP_loop_ull_runtime_start,
3467         GOMP_loop_ull_ordered_runtime_start,
3468         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3469         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3470         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3471         GOMP_loop_ull_nonmonotonic_runtime_next,
3472         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3473         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3474         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3475         (omp_pause_resource_t, omp_depend_t): New typedefs.
3476         (enum omp_lock_hint_t): Renamed to ...
3477         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
3478         enumerators using numbers and omp_lock_hint_* as their aliases.
3479         (omp_lock_hint_t): New typedef.  Rename to ...
3480         (omp_sync_hint_t): ... this.
3481         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3482         omp_sync_hint_t instead of omp_lock_hint_t.
3483         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3484         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3485         Declare.
3486         (omp_target_is_present, omp_target_disassociate_ptr):
3487         Change first argument from void * to const void *.
3488         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3489         from void * to const void *.
3490         (omp_target_associate_ptr): Change first and second arguments from
3491         void * to const void *.
3492         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3493         omp_pause_hard): New parameters.
3494         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3495         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3496         New interfaces.
3497         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3498         omp_pause_hard): New parameters.
3499         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3500         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3501         New externals.
3502         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3503         EXTRA argument.  If not needed to prepare array, if extra is 0,
3504         clear ws->doacross, otherwise allocate just doacross structure and
3505         extra payload.  If array is needed, allocate also extra payload.
3506         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3507         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3508         doacross == NULL.
3509         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3510         gomp_team_start.
3511         (GOMP_parallel): Likewise.  Formatting fix.
3512         (GOMP_parallel_reductions): New function.
3513         (GOMP_cancellation_point): If taskgroup has workshare
3514         flag set, check cancelled of prev taskgroup if any.
3515         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3516         on prev taskgroup if any.
3517         * sections.c: Include string.h.
3518         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3519         (GOMP_sections_start): Adjust gomp_work_share_start caller.
3520         (GOMP_sections2_start): New function.
3521         (GOMP_parallel_sections_start, GOMP_parallel_sections):
3522         Pass NULL as taskgroup to gomp_team_start.
3523         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3524         gomp_work_share_start callers.
3525         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3526         If taskgroup has workshare flag set, check cancelled on prev
3527         taskgroup if any.  Guard all cancellation tests with
3528         gomp_cancel_var test.
3529         (omp_target_is_present, omp_target_disassociate_ptr):
3530         Change ptr argument from void * to const void *.
3531         (omp_target_memcpy): Change src argument from void * to const void *.
3532         (omp_target_memcpy_rect): Likewise.
3533         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
3534         instead of char * where needed.
3535         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3536         from void * to const void *.
3537         (omp_pause_resource, omp_pause_resource_all): New functions.
3538         * task.c (gomp_task_handle_depend): Handle new depend array format
3539         in addition to the old.  Handle mutexinoutset kinds the same as
3540         inout for now, handle unspecified kinds.
3541         (gomp_create_target_task): If taskgroup has workshare flag set, check
3542         cancelled on prev taskgroup if any.  Guard all cancellation tests with
3543         gomp_cancel_var test.  Handle new depend array format count in
3544         addition to the old.
3545         (GOMP_task): Likewise.  Adjust function comment.
3546         (gomp_task_run_pre): If taskgroup has workshare flag set, check
3547         cancelled on prev taskgroup if any.  Guard all cancellation tests with
3548         gomp_cancel_var test.
3549         (GOMP_taskwait_depend): New function.
3550         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3551         format in addition to the old.  Handle mutexinoutset kinds the same as
3552         inout for now, handle unspecified kinds.  Fix a function comment typo.
3553         (gomp_taskgroup_init): New function.
3554         (GOMP_taskgroup_start): Use it.
3555         (gomp_reduction_register, gomp_create_artificial_team,
3556         GOMP_taskgroup_reduction_register,
3557         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3558         gomp_parallel_reduction_register,
3559         gomp_workshare_task_reduction_register,
3560         gomp_workshare_taskgroup_start,
3561         GOMP_workshare_task_reduction_unregister): New functions.
3562         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3563         check cancelled on prev taskgroup if any.  Guard all cancellation
3564         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
3565         by calling GOMP_taskgroup_reduction_register.
3566         * team.c (gomp_thread_attr): Remove comment.
3567         (struct gomp_thread_start_data): Add handle field.
3568         (gomp_thread_start): Call pthread_detach.
3569         (gomp_new_team): Adjust gomp_init_work_share caller.
3570         (gomp_free_pool_helper): Call pthread_detach.
3571         (gomp_team_start): Add taskgroup argument, initialize implicit
3572         tasks' taskgroup field to that.  Don't call
3573         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
3574         (gomp_team_end): Determine nesting by thr->ts.level != 0
3575         rather than thr->ts.team != NULL.
3576         (gomp_pause_pool_helper, gomp_pause_host): New functions.
3577         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3578         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3579         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3580         if more than 1 allocate also extra payload at the end of array.  Never
3581         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3582         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3583         return true instead of ws.
3584         * Makefile.in: Regenerated.
3585         * configure: Regenerated.
3586         * config.h.in: Regenerated.
3587         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3588         in some cases.
3589         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3590         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3591         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3592         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3593         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3594         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3595         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3596         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3597         * testsuite/libgomp.c-c++-common/for-10.c: New test.
3598         * testsuite/libgomp.c-c++-common/for-11.c: New test.
3599         * testsuite/libgomp.c-c++-common/for-12.c: New test.
3600         * testsuite/libgomp.c-c++-common/for-13.c: New test.
3601         * testsuite/libgomp.c-c++-common/for-14.c: New test.
3602         * testsuite/libgomp.c-c++-common/for-15.c: New test.
3603         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3604         define a different N(test), don't define N(f0) to N(f14), but instead
3605         define N(f20) to N(f34) using != comparisons.
3606         * testsuite/libgomp.c-c++-common/for-7.c: New test.
3607         * testsuite/libgomp.c-c++-common/for-8.c: New test.
3608         * testsuite/libgomp.c-c++-common/for-9.c: New test.
3609         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3610         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3611         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3612         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3613         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3614         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3615         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3616         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3617         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3618         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3619         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3620         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3621         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3622         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3623         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3624         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3625         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3626         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3627         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3628         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3629         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3630         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3631         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3632         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3633         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3634         * testsuite/libgomp.c++/depend-1.C: New test.
3635         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3636         * testsuite/libgomp.c++/depobj-1.C: New test.
3637         * testsuite/libgomp.c++/for-16.C: New test.
3638         * testsuite/libgomp.c++/for-21.C: New test.
3639         * testsuite/libgomp.c++/for-22.C: New test.
3640         * testsuite/libgomp.c++/for-23.C: New test.
3641         * testsuite/libgomp.c++/for-24.C: New test.
3642         * testsuite/libgomp.c++/for-25.C: New test.
3643         * testsuite/libgomp.c++/for-26.C: New test.
3644         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3645         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3646         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3647         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3648         * testsuite/libgomp.c++/task-reduction-10.C: New test.
3649         * testsuite/libgomp.c++/task-reduction-11.C: New test.
3650         * testsuite/libgomp.c++/task-reduction-12.C: New test.
3651         * testsuite/libgomp.c++/task-reduction-13.C: New test.
3652         * testsuite/libgomp.c++/task-reduction-14.C: New test.
3653         * testsuite/libgomp.c++/task-reduction-15.C: New test.
3654         * testsuite/libgomp.c++/task-reduction-16.C: New test.
3655         * testsuite/libgomp.c++/task-reduction-17.C: New test.
3656         * testsuite/libgomp.c++/task-reduction-18.C: New test.
3657         * testsuite/libgomp.c++/task-reduction-19.C: New test.
3658         * testsuite/libgomp.c/task-reduction-1.c: New test.
3659         * testsuite/libgomp.c++/task-reduction-1.C: New test.
3660         * testsuite/libgomp.c/task-reduction-2.c: New test.
3661         * testsuite/libgomp.c++/task-reduction-2.C: New test.
3662         * testsuite/libgomp.c++/task-reduction-3.C: New test.
3663         * testsuite/libgomp.c++/task-reduction-4.C: New test.
3664         * testsuite/libgomp.c++/task-reduction-5.C: New test.
3665         * testsuite/libgomp.c++/task-reduction-6.C: New test.
3666         * testsuite/libgomp.c++/task-reduction-7.C: New test.
3667         * testsuite/libgomp.c++/task-reduction-8.C: New test.
3668         * testsuite/libgomp.c++/task-reduction-9.C: New test.
3669         * testsuite/libgomp.c/teams-1.c: New test.
3670         * testsuite/libgomp.c/teams-2.c: New test.
3671         * testsuite/libgomp.c/thread-limit-4.c: New test.
3672         * testsuite/libgomp.c/thread-limit-5.c: New test.
3673         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3675 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
3677         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3678         acc_memcpy_to/from_device functions, now with async parameter.
3679         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3680         (acc_memcpy_from_device): Likewise.
3681         (acc_memcpy_to_device_async): New API function.
3682         (acc_memcpy_from_device_async): Likewise.
3683         (present_create_copy): Add async parameter and async setting/unsetting.
3684         (acc_create): Adjust present_create_copy call.
3685         (acc_copyin): Likewise.
3686         (acc_present_or_create): Likewise.
3687         (acc_present_or_copyin): Likewise.
3688         (acc_create_async): New API function.
3689         (acc_copyin_async): New API function.
3690         (delete_copyout): Add async parameter and async setting/unsetting.
3691         (acc_delete): Adjust delete_copyout call.
3692         (acc_copyout): Likewise.
3693         (acc_delete_async): New API function.
3694         (acc_copyout_async): Likewise.
3695         (update_dev_host): Add async parameter and async setting/unsetting.
3696         (acc_update_device): Adjust update_dev_host call.
3697         (acc_update_self): Likewise.
3698         (acc_update_device_async): New API function.
3699         (acc_update_self_async): Likewise.
3700         * openacc.h (acc_copyin_async): Declare new API function.
3701         (acc_create_async): Likewise.
3702         (acc_copyout_async): Likewise.
3703         (acc_delete_async): Likewise.
3704         (acc_update_device_async): Likewise.
3705         (acc_update_self_async): Likewise.
3706         (acc_memcpy_to_device_async): Likewise.
3707         (acc_memcpy_from_device_async): Likewise.
3708         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3709         (acc_copyin_async_64_h): New subroutine.
3710         (acc_copyin_async_array_h): New subroutine.
3711         (acc_create_async_32_h): New subroutine.
3712         (acc_create_async_64_h): New subroutine.
3713         (acc_create_async_array_h): New subroutine.
3714         (acc_copyout_async_32_h): New subroutine.
3715         (acc_copyout_async_64_h): New subroutine.
3716         (acc_copyout_async_array_h): New subroutine.
3717         (acc_delete_async_32_h): New subroutine.
3718         (acc_delete_async_64_h): New subroutine.
3719         (acc_delete_async_array_h): New subroutine.
3720         (acc_update_device_async_32_h): New subroutine.
3721         (acc_update_device_async_64_h): New subroutine.
3722         (acc_update_device_async_array_h): New subroutine.
3723         (acc_update_self_async_32_h): New subroutine.
3724         (acc_update_self_async_64_h): New subroutine.
3725         (acc_update_self_async_array_h): New subroutine.
3726         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3727         (acc_copyin_async_64_h): New subroutine.
3728         (acc_copyin_async_array_h): New subroutine.
3729         (acc_create_async_32_h): New subroutine.
3730         (acc_create_async_64_h): New subroutine.
3731         (acc_create_async_array_h): New subroutine.
3732         (acc_copyout_async_32_h): New subroutine.
3733         (acc_copyout_async_64_h): New subroutine.
3734         (acc_copyout_async_array_h): New subroutine.
3735         (acc_delete_async_32_h): New subroutine.
3736         (acc_delete_async_64_h): New subroutine.
3737         (acc_delete_async_array_h): New subroutine.
3738         (acc_update_device_async_32_h): New subroutine.
3739         (acc_update_device_async_64_h): New subroutine.
3740         (acc_update_device_async_array_h): New subroutine.
3741         (acc_update_self_async_32_h): New subroutine.
3742         (acc_update_self_async_64_h): New subroutine.
3743         (acc_update_self_async_array_h): New subroutine.
3744         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3745         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3746         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3747         acc_memcpy_to_device_async*, acc_update_device_async*, and
3748         acc_update_self_async* entries.
3749         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3750         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3751         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3753 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
3755         PR bootstrap/82856
3756         * Makefile.am: Include multilib.am
3757         (AUTOMAKE_OPTIONS): Add info-in-builddir.
3758         (CLEANFILES): Remove libgomp.info.
3759         * configure.ac: Remove AC_PREREQ.
3760         * testsuite/Makefile.am (RUNTEST): Remove quotes.
3761         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3762         Regenerate.
3764 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
3765             Julian Brown  <julian@codesourcery.com>
3767         * testsuite/libgomp.oacc-c++/this.C: New.
3769 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
3771         * plugin/plugin-nvptx.c (struct cuda_map): New.
3772         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3773         h_tail with (cuda_map *) map.
3774         (cuda_map_create): New function.
3775         (cuda_map_destroy): New function.
3776         (map_init): Update to use a linked list of cuda_map objects.
3777         (map_fini): Likewise.
3778         (map_pop): Likewise.
3779         (map_push): Likewise.  Return CUdeviceptr instead of void.
3780         (init_streams_for_device): Remove stales references to ptx_stream
3781         members.
3782         (select_stream_for_async): Likewise.
3783         (nvptx_exec): Update call to map_init.
3785 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
3786             Julian Brown  <julian@codesourcery.com>
3788         PR middle-end/86336
3789         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3791 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
3792         Thomas Koenig <tkoenig@gcc.gnu.org>
3794         PR fortran/25829
3795         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3796         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3797         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3798         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3799         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3800         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3801         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3803 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
3804             Tom de Vries  <tdevries@suse.de>
3806         PR target/85590
3807         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3808         (cuOccupancyMaxPotentialBlockSize): Declare.
3809         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3810         CUDA_ONE_CALL_MAYBE_NULL.
3811         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3812         CUoccupancyB2DSize and declare
3813         cuOccupancyMaxPotentialBlockSize.
3814         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3815         default num_gangs and num_workers when the driver supports it.
3817 2018-08-08  Tom de Vries  <tdevries@suse.de>
3819         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3820         CUDA_ONE_CALL_MAYBE_NULL.
3821         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3822         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3823         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3824         are not found.
3826 2018-08-08  Tom de Vries  <tdevries@suse.de>
3828         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3829         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3830         present.
3832 2018-08-08  Tom de Vries  <tdevries@suse.de>
3834         * plugin/plugin-nvptx.c
3835         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3836         (nvptx_open_device): Use
3837         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3839 2018-08-08  Tom de Vries  <tdevries@suse.de>
3841         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3842         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
3844 2018-08-07  Tom de Vries  <tdevries@suse.de>
3846         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3847         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3848         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
3849         corresponding call in CUDA_ONE_CALL.  Add def/undef of
3850         CUDA_ONE_CALL_MAYBE_NULL.
3851         (CUDA_CALL_EXISTS): Define.
3853 2018-08-07  Tom de Vries  <tdevries@suse.de>
3855         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3856         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3857         corresponding undefs right after.
3859 2018-08-04  Tom de Vries  <tdevries@suse.de>
3861         * plugin/configfrag.ac: For --without-cuda-driver, set
3862         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
3863         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3864         * configure: Regenerate.
3866 2018-08-02  Tom de Vries  <tdevries@suse.de>
3868         PR target/86660
3869         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3870         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3871         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3872         Same.
3873         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3874         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3875         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3877 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3878             Thomas Schwinge <thomas@codesourcery.com>
3880         * config/nvptx/oacc-parallel.c: Truncate.
3882 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3883             James Norris <jnorris@codesourcery.com>
3885         * plugin/plugin-nvptx.c (struct map): Removed.
3886         (map_init, map_pop): Remove use of struct map.
3887         (map_push): Likewise and change argument list.
3888         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3890 2018-08-01  Tom de Vries  <tdevries@suse.de>
3892         * plugin/cuda-lib.def: New file.  Factor out of ...
3893         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3894         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3895         using CUDA_CALLS.
3897 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3899         Revert 'AsyncI/O patch committed'.
3900         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3901                 Thomas Koenig <tkoenig@gcc.gnu.org>
3903         PR fortran/25829
3904         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3905         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3906         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3907         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3908         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3909         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3910         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3912 2018-07-30  Tom de Vries  <tdevries@suse.de>
3914         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3915         (nvptx_exec): Ensure worker and vector default dims don't exceed
3916         targ_fn->max_threads_per_block.
3918 2018-07-30  Tom de Vries  <tdevries@suse.de>
3920         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3921         (nvptx_open_device): Init default_dims for device.
3922         (nvptx_exec): Use default_dims from device.
3924 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
3926         PR testsuite/86660
3927         * testsuite/libgomp.c++/for-15.C (results): Include it in
3928         omp declare target region.
3929         (main): Use map (always, tofrom: results) instead of
3930         map (tofrom: results).
3932         PR middle-end/86660
3933         * testsuite/libgomp.c/pr86660.c: New test.
3935 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3936             Tom de Vries  <tdevries@suse.de>
3938         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3939         sufficient resources to launch a kernel, and give a hint on how to fix
3940         it.
3942 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3943             Tom de Vries  <tdevries@suse.de>
3945         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3946         max_threads_per_block and max_threads_per_multiprocessor fields.
3947         (nvptx_open_device): Initialize new fields.
3948         (nvptx_exec): Use num_sms, and new fields.
3950 2018-07-26  Tom de Vries  <tdevries@suse.de>
3952         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3953         to correct locations.  Remove xfail.
3955 2018-07-26  Tom de Vries  <tdevries@suse.de>
3957         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3958         acc_wait.  Move acc_async_test calls to correct locations.  Remove
3959         xfail.
3961 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3962         Thomas Koenig <tkoenig@gcc.gnu.org>
3964         PR fortran/25829
3965         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3966         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3967         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3968         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3969         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3970         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3971         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3973 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
3975         PR middle-end/86542
3976         * testsuite/libgomp.c++/pr86542.C: New test.
3978         PR middle-end/86539
3979         * testsuite/libgomp.c++/pr86539.C: New test.
3981 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
3983         PR c++/86443
3984         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3985         (results): Make sure the variable is not inside declare target region.
3986         (qux): Remove unused function.
3988 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
3990         PR c++/86443
3991         * testsuite/libgomp.c++/for-15.C: New test.
3993 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
3995         PR c++/86291
3996         * testsuite/libgomp.c++/pr86291.C: New test.
3998 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
4000         * libgomp.texi (Top): Move www.openmp.org to https.
4001         (Enabling OpenMP): Ditto.
4002         (omp_get_active_level): Ditto.
4003         (omp_get_ancestor_thread_num): Ditto.
4004         (omp_get_cancellation): Ditto.
4005         (omp_get_default_device): Ditto.
4006         (omp_get_dynamic): Ditto.
4007         (omp_get_level): Ditto.
4008         (omp_get_max_active_levels): Ditto.
4009         (omp_get_max_task_priority): Ditto.
4010         (omp_get_max_threads): Ditto.
4011         (omp_get_nested): Ditto.
4012         (omp_get_num_devices): Ditto.
4013         (omp_get_num_procs): Ditto.
4014         (omp_get_num_teams): Ditto.
4015         (omp_get_num_threads): Ditto.
4016         (omp_get_proc_bind): Ditto.
4017         (omp_get_schedule): Ditto.
4018         (omp_get_team_num): Ditto.
4019         (omp_get_team_size): Ditto.
4020         (omp_get_thread_limit): Ditto.
4021         (omp_get_thread_num): Ditto.
4022         (omp_in_parallel): Ditto.
4023         (omp_in_final): Ditto.
4024         (omp_is_initial_device): Ditto.
4025         (omp_set_default_device): Ditto.
4026         (omp_set_dynamic): Ditto.
4027         (omp_set_max_active_levels): Ditto.
4028         (omp_set_nested): Ditto.
4029         (omp_set_num_threads): Ditto.
4030         (omp_set_schedule): Ditto.
4031         (omp_init_lock): Ditto.
4032         (omp_set_lock): Ditto.
4033         (omp_test_lock): Ditto.
4034         (omp_unset_lock): Ditto.
4035         (omp_destroy_lock): Ditto.
4036         (omp_init_nest_lock): Ditto.
4037         (omp_set_nest_lock): Ditto.
4038         (omp_test_nest_lock): Ditto.
4039         (omp_unset_nest_lock): Ditto.
4040         (omp_destroy_nest_lock): Ditto.
4041         (omp_get_wtick): Ditto.
4042         (omp_get_wtime): Ditto.
4043         (OMP_CANCELLATION): Ditto.
4044         (OMP_DISPLAY_ENV): Ditto.
4045         (OMP_DEFAULT_DEVICE): Ditto.
4046         (OMP_DYNAMIC): Ditto.
4047         (OMP_MAX_ACTIVE_LEVELS): Ditto.
4048         (OMP_MAX_TASK_PRIORITY): Ditto.
4049         (OMP_NESTED): Ditto.
4050         (OMP_NUM_THREADS): Ditto.
4051         (OMP_PROC_BIND): Ditto.
4052         (OMP_PLACES): Ditto.
4053         (OMP_STACKSIZE): Ditto.
4054         (OMP_SCHEDULE): Ditto.
4055         (OMP_THREAD_LIMIT): Ditto.
4056         (OMP_WAIT_POLICY): Ditto.
4058 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
4059             James Norris  <jnorris@codesourcery.com>
4060             Julian Brown  <julian@codesourcery.com>
4061             Thomas Schwinge  <thomas@codesourcery.com>
4062             Tom de Vries  <tom@codesourcery.com>
4064         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4065         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4066         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4067         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4068         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4069         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4070         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4071         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4072         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4073         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4074         Likewise.
4075         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4076         Likewise.
4077         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4078         Likewise.
4079         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4080         Likewise.
4081         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4082         Likewise.
4083         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4084         Likewise.
4085         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4086         Likewise.
4087         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4088         Likewise.
4089         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4090         Likewise.
4091         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4092         Likewise.
4093         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4094         Likewise.
4095         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4096         Likewise.
4097         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4098         Likewise.
4099         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4100         Likewise.
4101         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4102         Likewise.
4103         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4104         Likewise.
4105         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4106         Likewise.
4107         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4108         Likewise.
4109         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4110         Likewise.
4111         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4112         Likewise.
4113         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4114         Likewise.
4115         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4116         Likewise.
4117         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4118         Likewise.
4119         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4120         Likewise.
4121         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4122         Likewise.
4123         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4124         Likewise.
4125         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4126         Likewise.
4127         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4128         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4129         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4130         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4131         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4132         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4133         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4134         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4135         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4136         Likewise.
4137         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4138         Likewise.
4139         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4140         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4141         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4142         Likewise.
4143         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4144         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4145         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4146         Likewise.
4147         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4148         Likewise.
4149         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4150         Likewise.
4151         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4152         Likewise.
4153         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4154         Likewise.
4155         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4156         Likewise.
4157         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4158         Likewise.
4159         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4160         Likewise.
4161         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4162         Likewise.
4163         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4164         Likewise.
4165         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4166         Likewise.
4167         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4168         Likewise.
4169         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4170         Likewise.
4171         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4172         Likewise.
4173         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4174         Likewise.
4175         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4176         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4177         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4178         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4179         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4180         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4181         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4183 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
4184             Thomas Schwinge <thomas@codesourcery.com>
4185             Cesar Philippidis  <cesar@codesourcery.com>
4187         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4188         (gomp_acc_remove_pointer): Update declaration.
4189         (gomp_acc_declare_allocate): Declare.
4190         (gomp_remove_var): Declare.
4191         * libgomp.map (OACC_2.5): Define.
4192         * oacc-mem.c (acc_map_data): Update refcount.
4193         (acc_unmap_data): Likewise.
4194         (present_create_copy): Likewise.
4195         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4196         (acc_copyin): Likewise.
4197         (FLAG_FINALIZE): Define.
4198         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4199         (acc_delete_finalize): New function.
4200         (acc_delete_finalize_async): New function.
4201         (acc_copyout_finalize): New function.
4202         (acc_copyout_finalize_async): New function.
4203         (gomp_acc_insert_pointer): Update refcounts.
4204         (gomp_acc_remove_pointer): Return if data is not present on the
4205         accelerator.
4206         * oacc-parallel.c (find_pset): Rename to find_pointer.
4207         (find_pointer): Add support for GOMP_MAP_POINTER.
4208         (handle_ftn_pointers): New function.
4209         (GOACC_parallel_keyed): Update refcounts of variables.
4210         (GOACC_enter_exit_data): Add support for finalized data mappings.
4211         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4212         of fortran arrays.
4213         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4214         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4215         for GOMP_MAP_FORCE_FROM.
4216         * openacc.f90 (module openacc_internal): Add
4217         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4218         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4219         acc_copyout_finalize and acc_delete_finalize.
4220         (acc_copyout_finalize_32_h): New subroutine.
4221         (acc_copyout_finalize_64_h): New subroutine.
4222         (acc_copyout_finalize_array_h): New subroutine.
4223         (acc_delete_finalize_32_h): New subroutine.
4224         (acc_delete_finalize_64_h): New subroutine.
4225         (acc_delete_finalize_array_h): New subroutine.
4226         * openacc.h (acc_copyout_finalize): Declare.
4227         (acc_copyout_finalize_async): Declare.
4228         (acc_delete_finalize): Declare.
4229         (acc_delete_finalize_async): Declare.
4230         * openacc_lib.h (acc_copyout_finalize): New interface.
4231         (acc_delete_finalize): New interface.
4232         * target.c (gomp_map_vars): Update dynamic_refcount.
4233         (gomp_remove_var): New function.
4234         (gomp_unmap_vars): Use it.
4235         (gomp_unload_image_from_device): Likewise.
4236         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4237         case to utilize OpenACC 2.5 data clause semantics.
4238         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4239         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4240         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4241         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4242         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4243         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4244         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4245         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4246         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4247         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4248         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4249         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4250         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4251         utilize OpenACC 2.5 data clause semantics.
4252         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4253         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4254         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4255         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4256         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4257         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4258         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4259         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4260         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4262 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
4264         PR fortran/85841
4265         PR testsuite/85865
4266         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4267         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4268         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4269         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4270         * testsuite/libgomp.fortran/task2.f90: Ditto.
4271         * testsuite/libgomp.fortran/vla1.f90: Ditto.
4272         * testsuite/libgomp.fortran/vla2.f90: Ditto.
4273         * testsuite/libgomp.fortran/vla3.f90: Ditto.
4274         * testsuite/libgomp.fortran/vla4.f90: Ditto.
4275         * testsuite/libgomp.fortran/vla5.f90: Ditto.
4276         * testsuite/libgomp.fortran/vla6.f90: Ditto.
4277         * testsuite/libgomp.fortran/vla8.f90: Ditto.
4278         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4279         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4281 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
4283         PR c++/85782
4284         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4286 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4288         PR libgomp/82901
4289         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4290         to GOACC_enter_exit_data.
4292 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4294         PR libgomp/83792
4295         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4296         (async_synchronous_p): New function.
4297         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4298         async_valid_p.
4299         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4300         async_valid_stream_id_p.
4301         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4302         * oacc-parallel.c (GOACC_parallel_keyed): Same.
4304 2018-05-07  Tom de Vries  <tom@codesourcery.com>
4306         PR testsuite/85677
4307         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4308         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4310 2018-05-03  Tom de Vries  <tom@codesourcery.com>
4312         PR testsuite/85106
4313         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4314         extra_tool_flags if it contains an -foffload=-fdump-* flag.
4315         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4316         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4318 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4320         PR libgomp/85411
4321         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4322         GOMP_OPENACC_DIM ...
4323         * env.c (parse_gomp_openacc_dim): ... here.  New function.
4324         (initialize_env): Call parse_gomp_openacc_dim.
4325         (goacc_default_dims): Define.
4326         * libgomp.h (goacc_default_dims): Declare.
4327         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4328         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4329         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4330         GOMP_PLUGIN_acc_default_dim.
4331         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4332         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4334 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4336         PR testsuite/83791
4337         * testsuite/libgomp.c++/udr-9.C: Update.
4338         * testsuite/libgomp.c++/atomic-16.C: Remove.
4339         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4340         * testsuite/libgomp.c++/loop-13.C: Remove.
4341         * testsuite/libgomp.c++/loop-14.C: Remove.
4342         * testsuite/libgomp.c++/loop-15.C: Remove.
4343         * testsuite/libgomp.c++/monotonic-1.C: Remove.
4344         * testsuite/libgomp.c++/monotonic-2.C: Remove.
4345         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4346         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4347         * testsuite/libgomp.c++/ordered-1.C: Remove.
4348         * testsuite/libgomp.c++/pr45784.C: Remove.
4349         * testsuite/libgomp.c++/pr64824.C: Remove.
4350         * testsuite/libgomp.c++/pr64868.C: Remove.
4351         * testsuite/libgomp.c++/pr66199-1.C: Remove.
4352         * testsuite/libgomp.c++/pr66199-2.C: Remove.
4353         * testsuite/libgomp.c++/pr66199-3.C: Remove.
4354         * testsuite/libgomp.c++/pr66199-4.C: Remove.
4355         * testsuite/libgomp.c++/pr66199-5.C: Remove.
4356         * testsuite/libgomp.c++/pr66199-6.C: Remove.
4357         * testsuite/libgomp.c++/pr66199-7.C: Remove.
4358         * testsuite/libgomp.c++/pr66199-8.C: Remove.
4359         * testsuite/libgomp.c++/pr66199-9.C: Remove.
4360         * testsuite/libgomp.c++/pr69389.C: Remove.
4361         * testsuite/libgomp.c++/simd10.C: Remove.
4362         * testsuite/libgomp.c++/simd11.C: Remove.
4363         * testsuite/libgomp.c++/simd12.C: Remove.
4364         * testsuite/libgomp.c++/simd13.C: Remove.
4365         * testsuite/libgomp.c++/target-1.C: Remove.
4366         * testsuite/libgomp.c++/target-3.C: Remove.
4367         * testsuite/libgomp.c++/target-4.C: Remove.
4368         * testsuite/libgomp.c++/target-5.C: Remove.
4369         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4370         * testsuite/libgomp.c++/taskloop-1.C: Remove.
4371         * testsuite/libgomp.c++/taskloop-2.C: Remove.
4372         * testsuite/libgomp.c++/taskloop-3.C: Remove.
4373         * testsuite/libgomp.c++/taskloop-4.C: Remove.
4374         * testsuite/libgomp.c++/udr-9.C: Remove.
4375         * testsuite/libgomp.c++/for-10.C: Remove.
4376         * testsuite/libgomp.c++/for-11.C: Remove.
4377         * testsuite/libgomp.c++/for-12.C: Remove.
4378         * testsuite/libgomp.c++/for-13.C: Remove.
4379         * testsuite/libgomp.c++/for-14.C: Remove.
4380         * testsuite/libgomp.c++/for-9.C: Remove.
4381         * testsuite/libgomp.c/atomic-18.c: Move ...
4382         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4383         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4384         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4385         * testsuite/libgomp.c/loop-13.c: Move ...
4386         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4387         * testsuite/libgomp.c/loop-14.c: Move ...
4388         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4389         * testsuite/libgomp.c/loop-15.c: Remove.
4390         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4391         * testsuite/libgomp.c/monotonic-1.c: Move ...
4392         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4393         * testsuite/libgomp.c/monotonic-2.c: Move ...
4394         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4395         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4396         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4397         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4398         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4399         * testsuite/libgomp.c/ordered-4.c: Move ...
4400         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4401         * testsuite/libgomp.c/pr45784.c: Move ...
4402         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4403         * testsuite/libgomp.c/pr64824.c: Move ...
4404         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4405         * testsuite/libgomp.c/pr64868.c: Move ...
4406         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4407         * testsuite/libgomp.c/pr66199-1.c: Move ...
4408         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4409         * testsuite/libgomp.c/pr66199-2.c: Move ...
4410         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4411         * testsuite/libgomp.c/pr66199-3.c: Move ...
4412         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4413         * testsuite/libgomp.c/pr66199-4.c: Move ...
4414         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4415         * testsuite/libgomp.c/pr66199-5.c: Move ...
4416         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4417         * testsuite/libgomp.c/pr66199-6.c: Move ...
4418         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4419         * testsuite/libgomp.c/pr66199-7.c: Move ...
4420         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4421         * testsuite/libgomp.c/pr66199-8.c: Move ...
4422         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4423         * testsuite/libgomp.c/pr66199-9.c: Move ...
4424         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4425         * testsuite/libgomp.c/pr69389.c: Move ...
4426         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4427         * testsuite/libgomp.c/simd-14.c: Move ...
4428         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4429         * testsuite/libgomp.c/simd-15.c: Move ...
4430         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4431         * testsuite/libgomp.c/simd-16.c: Move ...
4432         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4433         * testsuite/libgomp.c/simd-17.c: Move ...
4434         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4435         * testsuite/libgomp.c/target-1.c: Move ...
4436         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4437         * testsuite/libgomp.c/target-10.c: Move ...
4438         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4439         * testsuite/libgomp.c/target-13.c: Move ...
4440         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4441         * testsuite/libgomp.c/target-2.c: Move ...
4442         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4443         * testsuite/libgomp.c/taskgroup-1.c: Move ...
4444         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4445         * testsuite/libgomp.c/taskloop-1.c: Move ...
4446         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4447         * testsuite/libgomp.c/taskloop-2.c: Move ...
4448         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4449         * testsuite/libgomp.c/taskloop-3.c: Move ...
4450         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4451         * testsuite/libgomp.c/taskloop-4.c: Move ...
4452         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4453         * testsuite/libgomp.c/udr-1.c: Move ...
4454         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4455         * testsuite/libgomp.c/for-1.c: Move ...
4456         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4457         * testsuite/libgomp.c/for-1.h: Move ...
4458         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4459         * testsuite/libgomp.c/for-2.c: Move ...
4460         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4461         * testsuite/libgomp.c/for-2.h: Move ...
4462         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4463         * testsuite/libgomp.c/for-3.c: Move ...
4464         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4465         * testsuite/libgomp.c/for-4.c: Move ...
4466         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4467         * testsuite/libgomp.c/for-5.c: Move ...
4468         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4469         * testsuite/libgomp.c/for-6.c: Move ...
4470         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4472 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4474         PR libgomp/82428
4475         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4476         __builtin_goacc_parlevel_{id,size}.
4477         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4478         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4479         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4480         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4481         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4482         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4483         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4484         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4485         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4486         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4487         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4488         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4489         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4490         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4491         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4492         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4493         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4494         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4495         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4496         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4497         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4498         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4499         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4501 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4503         PR testsuite/85106
4504         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4506 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4508         PR testsuite/85106
4509         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4511 2018-04-29  Julian Brown  <julian@codesourcery.com>
4512             Tom de Vries  <tom@codesourcery.com>
4514         PR testsuite/85527
4515         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4516         arbitrary order for iterations of atomic subtract check.
4518 2018-04-28  Tom de Vries  <tom@codesourcery.com>
4520         PR testsuite/85527
4521         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4522         atomic capture results obtained in parallel loop to an array, instead of
4523         to a scalar.
4525 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4527         PR libgomp/84020
4528         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4529         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4530         (process_GOMP_NVPTX_JIT): New function.
4531         (link_ptx): Use process_GOMP_NVPTX_JIT.
4533 2018-04-26  Richard Biener <rguenther@suse.de>
4534             Tom de Vries  <tom@codesourcery.com>
4536         PR lto/85422
4537         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4539 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4541         PR target/85519
4542         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4543         recursion depth from 25 to 23.
4544         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4546 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
4548         * configure: Regenerated.
4550 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
4551             Tom de Vries  <tom@codesourcery.com>
4553         PR target/85445
4554         * testsuite/libgomp.oacc-c++/ref-1.C: New.
4556 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
4558         PR libgomp/85463
4559         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4560         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4561         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4562         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4563         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4564         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4566         PR libfortran/85166
4567         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4568         abort".
4569         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4571 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
4573         * configure: Regenerated.
4575 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
4577         PR jit/85384
4578         * configure: Regenerate.
4580 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
4581             Tom de Vries  <tom@codesourcery.com>
4583         PR middle-end/84955
4584         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4585         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4587 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
4589         PR fortran/83064
4590         PR testsuite/85346
4591         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4592         test from gfortran.dg to here.
4594 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4596         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4597         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4599 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4601         PR middle-end/84955
4602         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4603         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4605 2018-04-05  Tom de Vries  <tom@codesourcery.com>
4607         PR target/85204
4608         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4610 2018-03-26  Tom de Vries  <tom@codesourcery.com>
4612         PR tree-optimization/85063
4613         * testsuite/libgomp.c/switch-conversion-2.c: New test.
4614         * testsuite/libgomp.c/switch-conversion.c: New test.
4615         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4616         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4618 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
4620         PR fortran/84381
4621         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4622         call abort by STOP n.
4623         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4624         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4625         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4626         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4627         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4628         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4629         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4630         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4631         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4632         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4633         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4634         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4635         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4636         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4637         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4638         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4639         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4640         * testsuite/libgomp.fortran/associate1.f90: Likewise.
4641         * testsuite/libgomp.fortran/associate2.f90: Likewise.
4642         * testsuite/libgomp.fortran/associate3.f90: Likewise.
4643         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4644         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4645         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4646         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4647         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4648         * testsuite/libgomp.fortran/character1.f90: Likewise.
4649         * testsuite/libgomp.fortran/character2.f90: Likewise.
4650         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4651         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4652         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4653         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4654         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4655         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4656         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4657         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4658         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4659         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4660         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4661         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4662         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4663         * testsuite/libgomp.fortran/do1.f90: Likewise.
4664         * testsuite/libgomp.fortran/do2.f90: Likewise.
4665         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4666         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4667         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4668         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4669         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4670         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4671         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4672         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4673         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4674         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4675         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4676         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4677         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4678         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4679         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4680         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4681         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4682         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4683         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4684         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4685         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4686         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4687         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4688         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4689         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4690         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4691         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4692         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4693         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4694         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4695         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4696         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4697         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4698         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4699         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4700         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4701         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4702         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4703         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4704         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4705         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4706         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4707         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4708         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4709         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4710         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4711         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4712         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4713         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4714         * testsuite/libgomp.fortran/lib1.f90: Likewise.
4715         * testsuite/libgomp.fortran/lib2.f: Likewise.
4716         * testsuite/libgomp.fortran/lib3.f: Likewise.
4717         * testsuite/libgomp.fortran/lib4.f90: Likewise.
4718         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4719         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4720         * testsuite/libgomp.fortran/nested1.f90: Likewise.
4721         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4722         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4723         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4724         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4725         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4726         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4727         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4728         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4729         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4730         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4731         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4732         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4733         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4734         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4735         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4736         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4737         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4738         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4739         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4740         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4741         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4742         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4743         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4744         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4745         * testsuite/libgomp.fortran/pr25162.f: Likewise.
4746         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4747         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4748         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4749         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4750         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4751         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4752         * testsuite/libgomp.fortran/pr28390.f: Likewise.
4753         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4754         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4755         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4756         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4757         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4758         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4759         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4760         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4761         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4762         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4763         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4764         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4765         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4766         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4767         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4768         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4769         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4770         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4771         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4772         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4773         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4774         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4775         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4776         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4777         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4778         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4779         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4780         * testsuite/libgomp.fortran/reference1.f90: Likewise.
4781         * testsuite/libgomp.fortran/reference2.f90: Likewise.
4782         * testsuite/libgomp.fortran/retval1.f90: Likewise.
4783         * testsuite/libgomp.fortran/retval2.f90: Likewise.
4784         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4785         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4786         * testsuite/libgomp.fortran/simd1.f90: Likewise.
4787         * testsuite/libgomp.fortran/simd2.f90: Likewise.
4788         * testsuite/libgomp.fortran/simd3.f90: Likewise.
4789         * testsuite/libgomp.fortran/simd4.f90: Likewise.
4790         * testsuite/libgomp.fortran/simd5.f90: Likewise.
4791         * testsuite/libgomp.fortran/simd6.f90: Likewise.
4792         * testsuite/libgomp.fortran/simd7.f90: Likewise.
4793         * testsuite/libgomp.fortran/stack.f90: Likewise.
4794         * testsuite/libgomp.fortran/strassen.f90: Likewise.
4795         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4796         * testsuite/libgomp.fortran/tabs2.f: Likewise.
4797         * testsuite/libgomp.fortran/target1.f90: Likewise.
4798         * testsuite/libgomp.fortran/target2.f90: Likewise.
4799         * testsuite/libgomp.fortran/target3.f90: Likewise.
4800         * testsuite/libgomp.fortran/target4.f90: Likewise.
4801         * testsuite/libgomp.fortran/target5.f90: Likewise.
4802         * testsuite/libgomp.fortran/target6.f90: Likewise.
4803         * testsuite/libgomp.fortran/target7.f90: Likewise.
4804         * testsuite/libgomp.fortran/target8.f90: Likewise.
4805         * testsuite/libgomp.fortran/task1.f90: Likewise.
4806         * testsuite/libgomp.fortran/task2.f90: Likewise.
4807         * testsuite/libgomp.fortran/task3.f90: Likewise.
4808         * testsuite/libgomp.fortran/task4.f90: Likewise.
4809         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4810         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4811         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4812         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4813         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4814         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4815         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4816         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4817         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4818         * testsuite/libgomp.fortran/udr1.f90: Likewise.
4819         * testsuite/libgomp.fortran/udr10.f90: Likewise.
4820         * testsuite/libgomp.fortran/udr11.f90: Likewise.
4821         * testsuite/libgomp.fortran/udr12.f90: Likewise.
4822         * testsuite/libgomp.fortran/udr13.f90: Likewise.
4823         * testsuite/libgomp.fortran/udr14.f90: Likewise.
4824         * testsuite/libgomp.fortran/udr15.f90: Likewise.
4825         * testsuite/libgomp.fortran/udr2.f90: Likewise.
4826         * testsuite/libgomp.fortran/udr3.f90: Likewise.
4827         * testsuite/libgomp.fortran/udr4.f90: Likewise.
4828         * testsuite/libgomp.fortran/udr5.f90: Likewise.
4829         * testsuite/libgomp.fortran/udr6.f90: Likewise.
4830         * testsuite/libgomp.fortran/udr7.f90: Likewise.
4831         * testsuite/libgomp.fortran/udr8.f90: Likewise.
4832         * testsuite/libgomp.fortran/udr9.f90: Likewise.
4833         * testsuite/libgomp.fortran/vla1.f90: Likewise.
4834         * testsuite/libgomp.fortran/vla2.f90: Likewise.
4835         * testsuite/libgomp.fortran/vla3.f90: Likewise.
4836         * testsuite/libgomp.fortran/vla4.f90: Likewise.
4837         * testsuite/libgomp.fortran/vla5.f90: Likewise.
4838         * testsuite/libgomp.fortran/vla6.f90: Likewise.
4839         * testsuite/libgomp.fortran/vla7.f90: Likewise.
4840         * testsuite/libgomp.fortran/vla8.f90: Likewise.
4841         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4842         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4843         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4844         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4845         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4846         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4847         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4848         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4849         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4850         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4851         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4852         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4853         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4854         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4855         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4856         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4857         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4858         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4859         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4860         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4861         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4862         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4863         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4864         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4865         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4866         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4867         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4868         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4869         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4870         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4871         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4872         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4873         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4874         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4875         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4876         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4877         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4878         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4879         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4880         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4881         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4882         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4883         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4884         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4885         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4886         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4887         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4888         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4889         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4890         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4891         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4892         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4893         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4894         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4895         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4896         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4897         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4898         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4899         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4900         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4901         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4902         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4903         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4904         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4905         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4906         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4907         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4908         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4909         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4910         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4911         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4912         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4913         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4914         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4915         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4916         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4917         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4918         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4919         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4920         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4921         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4922         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4923         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4924         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4925         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4926         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4927         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4928         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4929         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4930         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4931         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4932         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4933         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4934         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4936 2018-03-20  Richard Biener  <rguenther@suse.de>
4938         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4939         parallelizable loop.
4941 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
4943         PR target/84148
4944         * configure: Regenerate.
4946 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
4948         PR fortran/84418
4949         * libgomp.fortran/pr84418-1.f90: New test.
4950         * libgomp.fortran/pr84418-2.f90: New test.
4952 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
4954         PR fortran/84313
4955         * testsuite/libgomp.fortran/threadprivate4.f90: Add
4956         -std=f2003 -fall-intrinsics into dg-additional-options.
4958 2018-02-08  Martin Jambor  <mjambor@suse.cz>
4960         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4961         clonable.
4963 2018-02-08  Martin Jambor  <mjambor@suse.cz>
4965         * testsuite/libgomp.hsa.c/staticvar.c: New test.
4967 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4969         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4970         [__cplusplus]: Declare extern "C".
4972 2018-02-07  Tom de Vries  <tom@codesourcery.com>
4974         PR libgomp/84217
4975         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4977 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
4978             Jakub Jelinek  <jakub@redhat.com>
4980         PR libgomp/84096
4981         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4982         instead of omp_lock_t.
4984 2018-01-25  Tom de Vries  <tom@codesourcery.com>
4986         PR target/84028
4987         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4989 2018-01-24  Tom de Vries  <tom@codesourcery.com>
4991         PR target/83589
4992         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4994 2018-01-24  Tom de Vries  <tom@codesourcery.com>
4996         PR target/81352
4997         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4999 2018-01-19  Tom de Vries  <tom@codesourcery.com>
5000             Cesar Philippidis  <cesar@codesourcery.com>
5002         PR target/83920
5003         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5004         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5006 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
5008         Update copyright years.
5010         * libgomp.texi: Bump @copying's copyright year.
5012 2017-12-30  Tom de Vries  <tom@codesourcery.com>
5014         PR libgomp/83046
5015         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5016         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5018 2017-12-27  Tom de Vries  <tom@codesourcery.com>
5020         PR c++/83046
5021         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5022         (test_nonstatic): Fix return type to workaround PR83046.
5024 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
5026         PR testsuite/83281
5027         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5028         j suffix instead of i.
5029         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5030         Likewise.
5032 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
5034         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5035         call to acc_wait (1).
5037 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
5039         PR fortran/81304
5040         * testsuite/libgomp.fortran/pr81304.f90: New test.
5042 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
5044         PR fortran/81841
5045         * libgomp.fortran/pr81841.f90: New test.
5047 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
5049         PR libgomp/83106
5050         * target.c (gomp_target_init): Compute lengths just once and
5051         use them in both malloc size and subsequent copying.
5053 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5055         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5056         * acinclude.m4: Add cet.m4.
5057         * configure: Regenerate.
5058         * Makefile.in: Likewise.
5059         * testsuite/Makefile.in: Likewise.
5061 2017-11-15  Tom de Vries  <tom@codesourcery.com>
5063         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5064         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
5065         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5066         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
5067         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5068         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
5070 2017-11-14  Tom de Vries  <tom@codesourcery.com>
5072         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5073         non-nvidia devices.
5075 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
5077         PR c++/82835
5078         * testsuite/libgomp.c++/pr82835.C: New test.
5080 2017-11-06  Martin Liska  <mliska@suse.cz>
5082         * testsuite/libgomp.c++/loop-2.C: Return a value
5083         for functions with non-void return type, or change type to void,
5084         or add -Wno-return-type for test.
5085         * testsuite/libgomp.c++/loop-4.C: Likewise.
5086         * testsuite/libgomp.c++/parallel-1.C: Likewise.
5087         * testsuite/libgomp.c++/shared-1.C: Likewise.
5088         * testsuite/libgomp.c++/single-1.C: Likewise.
5089         * testsuite/libgomp.c++/single-2.C: Likewise.
5091 2017-10-31  Tom de Vries  <tom@codesourcery.com>
5093         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5094         "do {} while (false)".
5095         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5096         after HSA_DEBUG call.
5098 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
5100         * target.c (struct gomp_coalesce_buf): New type.
5101         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5102         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5103         (gomp_copy_host2dev): Add CBUF argument, if copying into
5104         the cached ranges, memcpy into buffer instead of copying
5105         into device.
5106         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5107         Add CBUF argument, pass it through to other calls.
5108         (gomp_map_vars): Aggregate copies from host to device if small enough
5109         and with small enough gaps in between into memcpy into a buffer and
5110         fewer host to device copies from the buffer.
5111         (gomp_update): Adjust gomp_copy_host2dev caller.
5113 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
5115         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5116         run" directive.
5117         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5118         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5119         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5120         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5122 2017-10-16  Tom de Vries  <tom@codesourcery.com>
5124         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5125         openacc_nvidia_accel_selected.
5126         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5127         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5128         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5129         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5130         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5131         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5132         openacc_nvidia_accel_selected. Skip for shared memory device.
5133         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5134         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5136 2017-10-09  Martin Jambor  <mjambor@suse.cz>
5138         PR hsa/82416
5139         * testsuite/libgomp.hsa.c/pr82416.c: New test.
5141 2017-10-07  Tom de Vries  <tom@codesourcery.com>
5143         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5144         Remove acc_device_nvidia references.
5145         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5146         Same.
5148 2017-10-05  Tom de Vries  <tom@codesourcery.com>
5150         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5151         vector_length(32) clause from acc parallel directive.
5152         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5154 2017-10-04  Tom de Vries  <tom@codesourcery.com>
5156         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5157         (main): Reduce sum of arr elements.  Assert that hres is exactly
5158         representable in 32-bit floating point.
5159         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5160         (main): Reduce sum of arr elements.  Assert that hres and hmres are
5161         exactly representable in 32-bit floating point.
5162         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5164 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5166         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5167         setting.
5168         * testsuite/libgomp.c++/pr69393.C: Same.
5169         * testsuite/libgomp.c++/taskloop-1.C: Same.
5170         * testsuite/libgomp.c++/taskloop-3.C: Same.
5171         * testsuite/libgomp.c++/taskloop-4.C: Same.
5172         * testsuite/libgomp.c/for-4.c: Same.
5173         * testsuite/libgomp.c/pr66199-3.c: Same.
5174         * testsuite/libgomp.c/pr66199-4.c: Same.
5175         * testsuite/libgomp.c/pr66199-6.c: Same.
5176         * testsuite/libgomp.c/taskloop-1.c: Same.
5177         * testsuite/libgomp.c/taskloop-3.c: Same.
5178         * testsuite/libgomp.c/taskloop-4.c: Same.
5179         * testsuite/libgomp.fortran/aligned1.f03: Same.
5180         * testsuite/libgomp.fortran/condinc1.f: Same.
5181         * testsuite/libgomp.fortran/condinc3.f90: Same.
5182         * testsuite/libgomp.fortran/crayptr1.f90: Same.
5183         * testsuite/libgomp.fortran/crayptr2.f90: Same.
5184         * testsuite/libgomp.fortran/crayptr3.f90: Same.
5185         * testsuite/libgomp.fortran/omp_cond1.f: Same.
5186         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5187         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5188         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5189         * testsuite/libgomp.fortran/recursion1.f90: Same.
5190         * testsuite/libgomp.fortran/target2.f90: Same.
5191         * testsuite/libgomp.fortran/target5.f90: Same.
5192         * testsuite/libgomp.fortran/task3.f90: Same.
5194 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5196         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5197         vector_length(32) clause from acc parallel directive.
5198         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5200 2017-09-27  Tom de Vries  <tom@codesourcery.com>
5202         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5203         Remove acc_device_nvidia references.
5205 2017-09-16  Tom de Vries  <tom@codesourcery.com>
5207         PR c/81875
5208         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5210 2017-09-14  Tom de Vries  <tom@codesourcery.com>
5212         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5213         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5214         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5215         * testsuite/libgomp.c/c.exp: Include test-cases from
5216         libgomp.c-c++-common.
5217         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
5218         files.
5220 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
5222         PR c++/81314
5223         * testsuite/libgomp.c++/pr81314.C: New test.
5225 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
5227         * libgomp.texi (Top): www.openacc.org now uses https.
5228         (Enabling OpenACC): Ditto.
5229         (acc_get_num_devices): Ditto.
5230         (acc_set_device_type): Ditto.
5231         (acc_get_device_type): Ditto.
5232         (acc_set_device_num): Ditto.
5233         (acc_get_device_num): Ditto.
5234         (acc_async_test): Ditto.
5235         (acc_async_test_all): Ditto.
5236         (acc_wait): Ditto.
5237         (acc_wait_all): Ditto.
5238         (acc_wait_all_async): Ditto.
5239         (acc_wait_async): Ditto.
5240         (acc_init): Ditto.
5241         (acc_shutdown): Ditto.
5242         (acc_on_device): Ditto.
5243         (acc_malloc): Ditto.
5244         (acc_free): Ditto.
5245         (acc_copyin): Ditto.
5246         (acc_present_or_copyin): Ditto.
5247         (acc_create): Ditto.
5248         (acc_present_or_create): Ditto.
5249         (acc_copyout): Ditto.
5250         (acc_delete): Ditto.
5251         (acc_update_device): Ditto.
5252         (acc_update_self): Ditto.
5253         (acc_map_data): Ditto.
5254         (acc_unmap_data): Ditto.
5255         (acc_deviceptr): Ditto.
5256         (acc_hostptr): Ditto.
5257         (acc_is_present): Ditto.
5258         (acc_memcpy_to_device): Ditto.
5259         (acc_memcpy_from_device): Ditto.
5260         (acc_get_current_cuda_device): Ditto.
5261         (acc_get_current_cuda_context): Ditto.
5262         (acc_get_cuda_stream): Ditto.
5263         (acc_set_cuda_stream): Ditto.
5264         (ACC_DEVICE_TYPE): Ditto.
5265         (ACC_DEVICE_NUM): Ditto.
5266         (OpenACC Library Interoperability): Ditto.
5268 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
5270         PR c/81687
5271         * testsuite/libgomp.c/pr81687-1.c: New test.
5272         * testsuite/libgomp.c/pr81687-2.c: New test.
5274 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
5276         PR c/69389
5277         * testsuite/libgomp.c/pr69389.c: New test.
5278         * testsuite/libgomp.c++/pr69389.C: New test.
5280 2017-08-07  Tom de Vries  <tom@codesourcery.com>
5282         PR middle-end/78266
5283         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5284         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5286 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
5288         PR c/45784
5289         * testsuite/libgomp.c/pr45784.c: New test.
5290         * testsuite/libgomp.c++/pr45784.C: New test.
5292 2017-07-19  Tom de Vries  <tom@codesourcery.com>
5294         * testsuite/libgomp.oacc-c/vec.c: New test.
5296 2017-07-03  Tom de Vries  <tom@codesourcery.com>
5298         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5300 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5302         * plugin/plugin-nvptx.c (notify_var): New function.
5303         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5305 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5307         * env.c (parse_unsigned_long_1): Factor out of ...
5308         (parse_unsigned_long): ... here.
5309         (parse_int_1): Factor out of ...
5310         (parse_int): ... here.
5311         (parse_int_secure): New function.
5312         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5313         * secure_getenv.h: Factor out of ...
5314         * plugin/plugin-hsa.c: ... here.
5315         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5317 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
5319         PR c++/81130
5320         * testsuite/libgomp.c++/pr81130.C: New test.
5322 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5324         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5325         default args.
5326         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5327         dg-xfail-run-if default args.
5329 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5331         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5332         * testsuite/libgomp.c/pr39591-3.c: Likewise.
5334 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
5336         PR libgomp/80822
5337         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5338         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
5339         sibling lists, depending on level just pick up what CPUs to put
5340         together into a place vs. whether add multiple ordered places.
5342 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
5344         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5345         * libgomp.map (OACC_2.0.1): Add these.
5346         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5347         for "acc_wait", and "acc_wait_all", respectively.
5348         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5349         for "acc_wait", and "acc_wait_all", respectively.
5350         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5351         * libgomp.texi (acc_wait, acc_wait_all): Update.
5352         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5353         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5354         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5356         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5357         acc_present_or_copyin and acc_present_or_create procedures,
5358         respectively.
5359         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5360         generally different variants of OpenACC Runtime Library functions.
5361         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5363         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5364         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5366         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5367         of preprocessor definitions.
5368         * libgomp.h (strong_alias): Guard by "#ifdef
5369         HAVE_ATTRIBUTE_ALIAS".
5370         * oacc-mem.c: Provide "acc_pcreate" as alias for
5371         "acc_present_or_create", and "acc_pcopyin" as alias for
5372         "acc_present_or_copyin".
5373         * libgomp.map: New version "OACC_2.0.1".
5374         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5375         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5376         its content into...
5377         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5378         Extend testing.
5380         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5381         when disabling nvptx offloading.
5383 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
5385         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5386         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5387         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5389         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5390         * testsuite/lib/libgomp.exp
5391         (check_effective_target_openacc_nvidia_accel_configured): New
5392         proc.
5393         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5394         (check_effective_target_c++): New procs.
5395         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5396         (check_effective_target_c++): Likewise.
5398 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
5400         PR middle-end/80809
5401         * testsuite/libgomp.c/pr80809-2.c: New test.
5402         * testsuite/libgomp.c/pr80809-3.c: New test.
5404         PR middle-end/80809
5405         * testsuite/libgomp.c/pr80809-1.c: New test.
5407         PR middle-end/80853
5408         * testsuite/libgomp.c/pr80853.c: New test.
5410 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
5412         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5413         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5414         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5415         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5416         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5418         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5419         Debug output for failure.
5421 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5423         * testsuite/lib/libgomp.exp: Load scanlang.exp.
5425 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
5427         PR bootstrap/80531
5428         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5429         bootstrap compare failures.
5431 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
5433         * testsuite/libgomp.c/target-36.c: New testcase.
5435 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
5437         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5438         instead of char.
5440 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
5442         PR libgomp/80394
5443         * testsuite/libgomp.c/pr80394.c: New test.
5445 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
5447         PR libgomp/79876
5448         * config/posix/thread-stacksize.h: New file.
5449         * config/darwin/thread-stacksize.h: New file.
5450         * config/nvptx/thread-stacksize.h: New file.
5451         * env.c: Include thread-stacksize.h.
5452         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5453         instead of 0.  Call pthread_attr_setstacksize even if
5454         GOMP_DEFAULT_STACKSIZE is non-zero.
5456 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
5458         * env.c (initialize_env): Initialize stacksize to 0.
5460 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
5462         PR c++/80029
5463         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5465 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
5467         PR c/79940
5468         * testsuite/libgomp.c/pr79940.c: New test.
5470 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5472         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5473         targets.
5474         Add __float128 options.
5476 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
5478         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5479         hppa*-*-* dg-skip-if directive.
5481 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
5483         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5484         dg-skip-if directive into a comment.
5486 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
5487             Chung-Lin Tang  <cltang@codesourcery.com>
5489         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5490         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5491         add additional case.
5492         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5493         "openacc_nvidia_accel_selected".
5494         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5495         Add num_workers(8) clause.
5497 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
5499         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5500         hppa*-*-*.
5501         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5502         include complex.h on hppa*-*-hpux*.
5503         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5505 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
5507         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5509         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5510         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
5511         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5512         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
5513         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5514         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
5515         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5516         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
5517         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5518         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
5520 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
5522         * libgomp-plugin.h: #include <stdbool.h>.
5523         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5524         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5525         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5526         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5527         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5528         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5529         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5530         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5531         (GOMP_OFFLOAD_openacc_register_async_cleanup)
5532         (GOMP_OFFLOAD_openacc_async_test)
5533         (GOMP_OFFLOAD_openacc_async_test_all)
5534         (GOMP_OFFLOAD_openacc_async_wait)
5535         (GOMP_OFFLOAD_openacc_async_wait_async)
5536         (GOMP_OFFLOAD_openacc_async_wait_all)
5537         (GOMP_OFFLOAD_openacc_async_wait_all_async)
5538         (GOMP_OFFLOAD_openacc_async_set_async)
5539         (GOMP_OFFLOAD_openacc_create_thread_data)
5540         (GOMP_OFFLOAD_openacc_destroy_thread_data)
5541         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5542         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5543         (GOMP_OFFLOAD_openacc_get_cuda_stream)
5544         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5545         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5546         these.
5547         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5548         (GOMP_OFFLOAD_unload_image): Fix argument types.
5550 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
5552         * testsuite/lib/libgomp.exp
5553         (check_effective_target_hsa_offloading_selected_nocache): Fix up
5554         check_compile invocation.  Fix up removal of executable.  Drop
5555         bogus "2>&1" argument.
5557         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5558         directive.
5560 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
5561             Martin Jambor  <mjambor@suse.cz>
5563         * plugin/hsa.h: Moved to top level include.
5564         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5566 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
5568         PR other/79046
5569         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5570         of cat to get version from BASE-VER file.
5571         * testsuite/Makefile.in: Regenerated.
5573 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
5575         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5576         for _WIN64.
5578 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
5580         * plugin/hsa.h: Add GCC runtime library exception.
5581         * plugin/hsa_ext_finalize.h: Likewise.
5583         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5584         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
5585         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5586         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5587         plugin/include/cuda as include dir and -ldl instead of -lcuda as
5588         library to link ptx plugin against.
5589         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5590         (CUDA_CALLS): Define.
5591         (cuda_lib, cuda_lib_inited): New variables.
5592         (init_cuda_lib): New function.
5593         (CUDA_CALL_PREFIX): Define.
5594         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5595         (CUDA_CALL): Use FN instead of (FN).
5596         (CUDA_CALL_NOCHECK): Define.
5597         (cuda_error, fini_streams_for_device, select_stream_for_async,
5598         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5599         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5600         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5601         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5602         CUDA_CALL_NOCHECK.
5603         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
5604         CUDA_CALL_NOCHECK.
5605         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5606         Use CUDA_CALL_NOCHECK.
5607         * plugin/cuda/cuda.h: New file.
5608         * config.h.in: Regenerated.
5609         * configure: Regenerated.
5611         PR other/79046
5612         * configure.ac: Add GCC_BASE_VER.
5613         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5614         get version from BASE-VER file.
5615         * testsuite/Makefile.in: Regenerated.
5616         * configure: Regenerated.
5617         * Makefile.in: Regenerated.
5619 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
5621         PR libgomp/60670
5622         * Makefile.am: Make fincludedir multilib-aware.
5623         * Makefile.in: Regenerate.
5625 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
5627         Update copyright years.
5629         * libgomp.texi: Bump @copying's copyright year.
5631 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5633         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5634         pthread_spinlock_t instead of gomp_mutex_t lock.
5635         (gomp_get_thread_pool): Likewise.
5636         (gomp_release_thread_pool): Likewise.
5637         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5638         Likewise.
5640 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5642         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5643         thread pool in case nthreads == 1.
5645 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5647         * config/nvptx/env.c: Delete.
5648         * icv.c: Move definitions of ICV variables back ...
5649         * env.c: ...here.  Do not compile environment-related functionality if
5650         LIBGOMP_OFFLOADED_ONLY is set.
5652 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5654         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5655         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5656         * configure: Regenerate.
5657         * config.h.in: Likewise.
5659 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5661         * Makefile.in: Regenerate with automake-1.11.6.
5662         * aclocal.m4: Likewise.
5663         * configure: Likewise.
5664         * testsuite/Makefile.in: Likewise.
5666 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
5668         * config/nvptx/critical.c: Delete to use generic implementation.
5670 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
5672         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5673         ../../affinity.c as fallback.
5674         * config/nvptx/affinity.c: Delete to use fallback implementation.
5676 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
5677             Jakub Jelinek  <jakub@redhat.com>
5678             Dmitry Melnik  <dm@ispras.ru>
5680         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5681         * Makefile.in. Regenerate.
5682         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5683         (LIBGOMP_USE_PTHREADS): ...here; new define.
5684         * configure: Regenerate.
5685         * config.h.in: Likewise.
5686         * config/posix/affinity.c: Move to...
5687         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
5688         interface by LIBGOMP_USE_PTHREADS. 
5689         * critical.c: Split out GOMP_atomic_{start,end} into...
5690         * atomic.c: ...here (new file).
5691         * env.c: Split out ICV definitions into...
5692         * icv.c: ...here (new file) and...
5693         * icv-device.c: ...here. New file.
5694         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5695         (gomp_destroy_lock_30): Ditto.
5696         (gomp_set_lock_30): Ditto.
5697         (gomp_unset_lock_30): Ditto.
5698         (gomp_test_lock_30): Ditto.
5699         (gomp_init_nest_lock_30): Ditto.
5700         (gomp_destroy_nest_lock_30): Ditto.
5701         (gomp_set_nest_lock_30): Ditto.
5702         (gomp_unset_nest_lock_30): Ditto.
5703         (gomp_test_nest_lock_30): Ditto.
5704         * lock.c: New.
5705         * config/nvptx/lock.c: New.
5706         * config/nvptx/bar.c: New.
5707         * config/nvptx/bar.h: New.
5708         * config/nvptx/doacross.h: New.
5709         * config/nvptx/error.c: New.
5710         * config/nvptx/icv-device.c: New.
5711         * config/nvptx/mutex.h: New.
5712         * config/nvptx/pool.h: New.
5713         * config/nvptx/proc.c: New.
5714         * config/nvptx/ptrlock.h: New.
5715         * config/nvptx/sem.h: New.
5716         * config/nvptx/simple-bar.h: New.
5717         * config/nvptx/target.c: New.
5718         * config/nvptx/task.c: New.
5719         * config/nvptx/team.c: New.
5720         * config/nvptx/time.c: New.
5721         * config/posix/simple-bar.h: New.
5722         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
5723         (gomp_num_teams_var): Declare.
5724         (struct gomp_thread_pool): Change threads_dock member to
5725         gomp_simple_barrier_t.
5726         [__nvptx__] (gomp_thread): New implementation.
5727         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5728         (gomp_thread_destructor): Ditto.
5729         (gomp_init_thread_affinity): Ditto.
5730         * team.c: Guard uses of Pthreads-specific interfaces by
5731         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
5732         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5733         * config/nvptx/alloc.c: Delete.
5734         * config/nvptx/barrier.c: Ditto.
5735         * config/nvptx/fortran.c: Ditto.
5736         * config/nvptx/iter.c: Ditto.
5737         * config/nvptx/iter_ull.c: Ditto.
5738         * config/nvptx/loop.c: Ditto.
5739         * config/nvptx/loop_ull.c: Ditto.
5740         * config/nvptx/ordered.c: Ditto.
5741         * config/nvptx/parallel.c: Ditto.
5742         * config/nvptx/priority_queue.c: Ditto.
5743         * config/nvptx/sections.c: Ditto.
5744         * config/nvptx/single.c: Ditto.
5745         * config/nvptx/splay-tree.c: Ditto.
5746         * config/nvptx/work.c: Ditto.
5747         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5748         -foffload=-lgfortran in addition to -lgfortran.
5749         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5750         * plugin/plugin-nvptx.c: Include <limits.h>.
5751         (struct targ_fn_descriptor): Add new fields.
5752         (struct ptx_device): Ditto.  Set them...
5753         (nvptx_open_device): ...here.
5754         (nvptx_adjust_launch_bounds): New.
5755         (nvptx_host2dev): Allow NULL 'nvthd'.
5756         (nvptx_dev2host): Ditto.
5757         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5758         (link_ptx): Adjust log sizes.
5759         (nvptx_host2dev): Allow NULL 'nvthd'.
5760         (nvptx_dev2host): Ditto.
5761         (nvptx_set_clocktick): New.  Use it...
5762         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
5763         fields.
5764         (GOMP_OFFLOAD_dev2dev): New.
5765         (nvptx_adjust_launch_bounds): New.
5766         (nvptx_stacks_size): New.
5767         (nvptx_stacks_alloc): New.
5768         (nvptx_stacks_free): New.
5769         (GOMP_OFFLOAD_run): New.
5770         (GOMP_OFFLOAD_async_run): New (stub).
5772 2016-11-23  Martin Jambor  <mjambor@suse.cz>
5774         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5775         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5776         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5778 2016-11-23  Martin Liska  <mliska@suse.cz>
5779             Martin Jambor  <mjambor@suse.cz>
5781         * plugin/hsa.h: New file.
5782         * plugin/hsa_ext_finalize.h: New file.
5783         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
5784         header file unistd.h, and functions secure_getenv, __secure_getenv,
5785         getuid, geteuid, getgid and getegid.
5786         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5787         -D_GNU_SOURCE.
5788         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5789         Handle various cases of secure_getenv presence, add an implementation
5790         when we can test effective UID and GID.
5791         (struct hsa_runtime_fn_info): New structure.
5792         (hsa_runtime_fn_info hsa_fns): New variable.
5793         (hsa_runtime_lib): Likewise.
5794         (support_cpu_devices): Likewise.
5795         (init_enviroment_variables): Load newly introduced ENV
5796         variables.
5797         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5798         (hsa_fatal): Likewise.
5799         (DLSYM_FN): New macro.
5800         (init_hsa_runtime_functions): New function.
5801         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5802         structure.  Depending on environment, also allow CPU devices.
5803         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5804         (get_kernarg_memory_region): Likewise.
5805         (GOMP_OFFLOAD_init_device): Likewise.
5806         (destroy_hsa_program): Likewise.
5807         (init_basic_kernel_info): New function.
5808         (GOMP_OFFLOAD_load_image): Use it.
5809         (create_and_finalize_hsa_program): Call hsa run-time functions via
5810         hsa_fns structure.
5811         (create_single_kernel_dispatch): Likewise.
5812         (release_kernel_dispatch): Likewise.
5813         (init_single_kernel): Likewise.
5814         (parse_target_attributes): Allow up multiple HSA grid dimensions.
5815         (get_group_size): New function.
5816         (run_kernel): Likewise.
5817         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5818         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5819         structure.
5820         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5821         * testsuite/libgomp-test-support.exp.in: Likewise.
5822         * Makefile.in: Regenerated.
5823         * aclocal.m4: Likewise.
5824         * config.h.in: Likewise.
5825         * configure: Likewise.
5826         * testsuite/Makefile.in: Likewise.
5828 2016-11-15  Martin Jambor  <mjambor@suse.cz>
5829             Alexander Monakov  <amonakov@ispras.ru>
5831         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5832         mapping clauses to target constructs.
5833         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5835 2016-11-15  Matthias Klose  <doko@ubuntu.com>
5837         * configure: Regenerate.
5839 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
5841         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5842         * omp_lib.h.in (openmp_version): Likewise.
5843         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5844         of 201307.
5845         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5847         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5848         (fib_wrapper): Add map(from: x) clause.
5849         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5850         (e_53_2): Likewise.
5851         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5852         (accum): Add map(tmp) clause.
5853         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5854         (accum): Add map(tofrom: tmp) clause.
5855         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5856         (gramSchmidt): Likewise.
5857         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5858         map(tofrom: sum) clause.
5859         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5860         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
5861         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5862         only allowed on the loop iterator.
5863         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5864         * testsuite/libgomp.fortran/taskloop2.f90: New test.
5865         * testsuite/libgomp.fortran/taskloop4.f90: New test.
5866         * testsuite/libgomp.fortran/doacross1.f90: New test.
5867         * testsuite/libgomp.fortran/doacross3.f90: New test.
5868         * testsuite/libgomp.fortran/taskloop1.f90: New test.
5869         * testsuite/libgomp.fortran/taskloop3.f90: New test.
5870         * testsuite/libgomp.fortran/doacross2.f90: New test.
5871         * testsuite/libgomp.c/doacross-1.c (main): Add missing
5872         #pragma omp atomic read.
5873         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5874         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5876 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
5877             Nathan Sidwell  <nathan@acm.org>
5879         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5880         to determine default geometry.
5881         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5882         dimension.
5884 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
5886         * hashtab.h: Use standard GPLv3 with runtime exception
5887         boilerplate.
5889 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
5891         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5892         size when allocating new thread.
5894 2016-09-14  Marek Polacek  <polacek@redhat.com>
5896         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5898 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
5900         PR fortran/71014
5901         * testsuite/libgomp.fortran/pr71014.f90: New test.
5903 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
5905         PR middle-end/70895
5906         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5907         firstprivate clauses.
5908         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5909         copy clauses.
5910         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5911         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5912         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5913         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5914         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5915         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5916         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5917         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5918         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5919         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5920         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5921         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5923 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
5925         PR fortran/70598
5926         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5928 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
5930         PR c++/58706
5931         * testsuite/libgomp.c++/pr58706.C: New test.
5933 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
5935         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5936         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5937         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5938         Likewise.
5939         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5940         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5941         Likewise.
5942         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5944         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5945         test, and don't hardcode -O0.
5947 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
5949         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5951 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
5953         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5954         test.
5956 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
5958         PR middle-end/71734
5959         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5960         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5962 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
5964         PR fortran/71717
5965         * testsuite/libgomp.fortran/associate3.f90: New test.
5967 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
5969         * testsuite/libgomp.c++/target-21.C: New test.
5971 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
5973         * testsuite/libgomp.c++/target-20.C: New test.
5975 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5976             Cesar Philippidis  <cesar@codesourcery.com>
5978         PR middle-end/71373
5979         * libgomp.oacc-c/nested-function-1.c: New file.
5980         * libgomp.oacc-c/nested-function-2.c: Likewise.
5981         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5982         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5983         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5985 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5987         PR c/71381
5988         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5989         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5990         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5992 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
5994         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5995         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5997 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
5999         PR c/70688
6000         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
6002 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
6004         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6005         instead of invalid schedule(static, 0).
6006         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6008 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6010         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6011         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6012         parameter, use to set async stream around call to gomp_unmap_vars,
6013         call gomp_unmap_vars() with 'do_copyfrom' set to true.
6014         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6015         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6016         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6017         (event_add): Add int parameter, initialize 'val' field when
6018         adding new ptx_event struct.
6019         (nvptx_evec): Adjust event_add() call arguments.
6020         (nvptx_host2dev): Likewise.
6021         (nvptx_dev2host): Likewise.
6022         (nvptx_wait_async): Likewise.
6023         (nvptx_wait_all_async): Likewise.
6024         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6025         pass to event_add() call.
6026         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6027         parameter.
6028         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6029         call openacc.register_async_cleanup_func() hook.
6030         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6031         * target.c (gomp_copy_from_async): Delete function.
6032         (gomp_map_vars): Remove async_refcount.
6033         (gomp_unmap_vars): Likewise.
6034         (gomp_load_image_to_device): Likewise.
6035         (omp_target_associate_ptr): Likewise.
6036         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6037         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6038         (gomp_copy_from_async): Remove.
6040 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6042         * target.c (gomp_device_copy): New function.
6043         (gomp_copy_host2dev): Likewise.
6044         (gomp_copy_dev2host): Likewise.
6045         (gomp_free_device_memory): Likewise.
6046         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6047         (gomp_map_pointer): Likewise.
6048         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6049         NULL value from alloc_func plugin hook.
6050         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6051         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6052         (gomp_unmap_vars): Likewise.
6053         (gomp_update): Adjust to call gomp_copy_dev2host and
6054         gomp_copy_host2dev functions.
6055         (gomp_unload_image_from_device): Handle false value from
6056         unload_image_func plugin hook.
6057         (gomp_init_device): Handle false value from init_device_func
6058         plugin hook.
6059         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6060         (omp_target_free): Adjust to call gomp_free_device_memory.
6061         (omp_target_memcpy): Handle return values from host2dev_func,
6062         dev2host_func, and dev2dev_func plugin hooks.
6063         (omp_target_memcpy_rect_worker): Likewise.
6064         (gomp_target_fini): Handle false value from fini_device_func
6065         plugin hook.
6066         * libgomp.h (struct gomp_device_descr): Adjust return type of
6067         init_device_func, fini_device_func, unload_image_func, free_func,
6068         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6069         * oacc-init.c (acc_shutdown_1): Handle false value from
6070         fini_device_func plugin hook.
6071         * oacc-host.c (host_init_device): Change return type to bool.
6072         (host_fini_device): Likewise.
6073         (host_unload_image): Likewise.
6074         (host_free): Likewise.
6075         (host_dev2host): Likewise.
6076         (host_host2dev): Likewise.
6077         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6078         (acc_memcpy_to_device): Likewise.
6079         (acc_memcpy_from_device): Likewise.
6080         (delete_copyout): Add libfnname parameter, handle free_func
6081         hook fatal error case.
6082         (acc_delete): Adjust delete_copyout call.
6083         (acc_copyout): Likewise.
6084         (update_dev_host): Move gomp_mutex_unlock to after
6085         host2dev/dev2host hook calls.
6087         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6088         to 'hsa_error_msg', for clarity.
6089         (hsa_fatal): Likewise.
6090         (hsa_error): New function.
6091         (init_hsa_context): Change return type to bool, adjust to return
6092         false on error.
6093         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6094         return value.
6095         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6096         return false on error.
6097         (get_agent_info): Adjust to return NULL on error.
6098         (destroy_hsa_program): Change return type to bool, adjust to
6099         return false on error.
6100         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6101         (destroy_module): Change return type to bool, adjust to
6102         return false on error.
6103         (GOMP_OFFLOAD_unload_image): Likewise.
6104         (GOMP_OFFLOAD_fini_device): Likewise.
6105         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6106         (GOMP_OFFLOAD_free): Change to return false when called.
6107         (GOMP_OFFLOAD_dev2host): Likewise.
6108         (GOMP_OFFLOAD_host2dev): Likewise.
6109         (GOMP_OFFLOAD_dev2dev): Likewise.
6111         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6112         (CUDA_CALL): Likewise.
6113         (CUDA_CALL_ASSERT): Likewise.
6114         (map_init): Change return type to bool, use CUDA_CALL* macros.
6115         (map_fini): Likewise.
6116         (init_streams_for_device): Change return type to bool, adjust
6117         call to map_init.
6118         (fini_streams_for_device): Change return type to bool, adjust
6119         call to map_fini.
6120         (select_stream_for_async): Release stream_lock before calls to
6121         GOMP_PLUGIN_fatal, adjust call to map_init.
6122         (nvptx_init): Use CUDA_CALL* macros.
6123         (nvptx_attach_host_thread_to_device): Change return type to bool,
6124         use CUDA_CALL* macros.
6125         (nvptx_open_device): Use CUDA_CALL* macros.
6126         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6127         macros.
6128         (nvptx_get_num_devices): Use CUDA_CALL* macros.
6129         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6130         (nvptx_exec): Use CUDA_CALL* macros.
6131         (nvptx_alloc): Use CUDA_CALL* macros.
6132         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6133         (nvptx_host2dev): Likewise.
6134         (nvptx_dev2host): Likewise.
6135         (nvptx_wait): Use CUDA_CALL* macros.
6136         (nvptx_wait_async): Likewise.
6137         (nvptx_wait_all): Likewise.
6138         (nvptx_wait_all_async): Likewise.
6139         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6140         use CUDA_CALL* macros, adjust call to map_fini.
6141         (GOMP_OFFLOAD_init_device): Change return type to bool,
6142         adjust code accordingly.
6143         (GOMP_OFFLOAD_fini_device): Likewise.
6144         (GOMP_OFFLOAD_load_image): Adjust calls to
6145         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6146         use CUDA_CALL* macros.
6147         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6148         return code.
6149         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6150         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6151         handle error return.
6152         (GOMP_OFFLOAD_dev2host): Likewise.
6153         (GOMP_OFFLOAD_host2dev): Likewise.
6154         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6155         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6157 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
6159         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6160         (acc_free): Likewise.
6161         (acc_memcpy_to_device): Likewise.
6162         (acc_memcpy_from_device): Likewise.
6163         (acc_deviceptr): Likewise.
6164         (acc_hostptr): Likewise.
6165         (acc_is_present): Likewise.
6166         (acc_map_data): Likewise.
6167         (acc_unmap_data): Likewise.
6168         (present_create_copy): Likewise.
6169         (delete_copyout): Likewise.
6170         (update_dev_host): Likewise.
6171         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6172         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6173         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6174         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6175         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6176         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6177         it only runs on nvptx targets.
6178         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6179         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6180         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6181         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6182         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6183         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6184         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6185         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6186         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6187         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6188         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6189         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6190         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6191         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6192         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6193         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6194         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6195         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6196         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6197         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6198         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6199         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6200         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6202 2016-05-23  Martin Jambor  <mjambor@suse.cz>
6204         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6206 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
6208         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6209         to gomp_init_targets_once.
6210         (acc_set_device_type): Remove !cached_base_dev condition on call to
6211         gomp_init_targets_once, move call to before acc_device_lock acquire,
6212         to avoid deadlock.
6213         (acc_get_device_num): Remove !cached_base_dev condition on call to
6214         gomp_init_targets_once.
6215         (acc_set_device_num): Likewise.
6217 2016-05-16  Martin Jambor  <mjambor@suse.cz>
6219         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
6221 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
6223         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6224         expected partitioning.
6226 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
6228         PR middle-end/70626
6229         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6230         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6231         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6233 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
6235         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6236         non-fatal.
6238 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
6240         PR middle-end/70680
6241         * testsuite/libgomp.c/pr70680-1.c: New test.
6242         * testsuite/libgomp.c/pr70680-2.c: New test.
6244 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6246         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6247         pass parameter variables to subroutines.
6249 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6251         PR middle-end/70643
6252         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6254 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
6256         PR testsuite/68242
6257         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6258         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6260 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
6262         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6263         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6264         GOACC_declare prototype.
6266         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6267         Merge this file, and...
6268         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6269         ... this file, and...
6270         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6271         ... this file, and...
6272         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6273         ... this file, and...
6274         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6275         ... this file, and...
6276         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6277         ... this file, and...
6278         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6279         ... this file, and...
6280         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6281         ... this file, and...
6282         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6283         ... this file, and...
6284         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6285         ... this file, and...
6286         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6287         ... this file, and...
6288         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6289         ... this file, and...
6290         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6291         ... this file into...
6292         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6293         file.
6295         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6296         Make failure observable.
6298 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
6300         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6301         field.
6302         * target.c (gomp_target_fallback_firstprivate,
6303         gomp_target_unshare_firstprivate): Removed.
6304         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6305         before waiting for dependencies.
6306         (gomp_target_task_fn): Don't copy firstprivate vars here.
6307         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6308         firstprivate_copies here.
6309         (gomp_create_target_task): Don't initialize firstprivate_copies field.
6310         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6311         explicit/implicit firstprivate.
6313 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
6315         PR lto/70289
6316         PR ipa/70348
6317         PR tree-optimization/70373
6318         PR middle-end/70533
6319         PR middle-end/70534
6320         PR middle-end/70535
6321         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6322         test.
6323         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6324         test.
6325         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6326         test.
6327         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6328         test.
6329         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6330         test.
6331         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6332         test.
6333         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6334         test.
6335         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6336         test.
6337         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6338         test.
6339         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6340         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6341         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6342         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6343         test.
6344         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6345         test.
6346         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6347         test.
6348         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6349         test.
6350         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6351         coverage.
6352         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6353         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6354         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6355         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6356         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6357         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6358         coverage.
6359         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6360         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6361         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6362         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6363         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6364         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6365         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6366         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6367         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6368         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6369         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6370         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6371         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6372         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6373         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6375 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
6376             James Norris  <jnorris@codesourcery.com>
6377             Nathan Sidwell  <nathan@codesourcery.com>
6378             Julian Brown  <julian@codesourcery.com>
6379             Cesar Philippidis  <cesar@codesourcery.com>
6380             Chung-Lin Tang  <cltang@codesourcery.com>
6381             Tom de Vries  <tom@codesourcery.com>
6383         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6384         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6385         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6386         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6387         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6388         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6389         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6390         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6391         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6392         XFAIL.
6393         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6394         Incorporate...
6395         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6396         file.
6397         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6398         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6399         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6400         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6401         Likewise.
6402         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6403         Likewise.
6404         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6405         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6406         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6407         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6408         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6409         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6410         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6411         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6412         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6413         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6414         Likewise.
6415         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6416         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6417         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6418         file...
6419         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6420         file into...
6421         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6422         file.  Update.
6423         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6424         file.
6425         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6426         Likewise.
6427         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6428         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6429         ... this new file.  Update.
6430         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6431         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6432         ... this new file.  Update.
6433         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6434         file.  Incorporate...
6435         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6436         file, and...
6437         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6438         file, and...
6439         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6440         file.
6441         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6443 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
6445         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6446         set-torture-options.
6448 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
6450         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6451         gcc-dg-runtest.
6452         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6453         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6454         -fno-builtin-acc_on_device instead of -O0.
6455         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6456         -O0.
6457         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6458         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6459         Likewise.
6460         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6461         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6462         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6463         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6464         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6465         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6466         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6467         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6468         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6469         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6470         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6471         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6472         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6473         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6474         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6475         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6476         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6477         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6478         Don't specify -O2.
6479         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6480         Likewise.
6481         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6482         Likewise.
6484 2016-03-24  Martin Liska  <mliska@suse.cz>
6486         * plugin/plugin-hsa.c (packet_store_release): New function
6487         that is taken from the HSA runtime manual.
6488         (GOMP_OFFLOAD_run): Use the function.
6490 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
6492         PR c++/70376
6493         * testsuite/libgomp.c++/pr70376.C: New test.
6495 2016-03-23  Tom de Vries  <tom@codesourcery.com>
6497         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6498         initialization of lresult and lvresult.
6499         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6501 2016-03-23  James Norris  <jnorris@codesourcery.com>
6502             Daichi Fukuoka <dc-fukuoka@sgi.com>
6504         PR libgomp/69414
6505         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6506         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6507         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6508         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6510 2016-03-23  Martin Liska  <mliska@suse.cz>
6512         PR hsa/70337
6513         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6514         argument just in case a dispatched kernel uses that argument.
6516 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
6518         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6519         -ftree-parallelize-loops/-fopenacc changes.
6520         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6521         Likewise.
6522         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6523         Likewise.
6524         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6525         Likewise.
6526         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6527         Likewise.
6528         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6529         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6531 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
6533         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6534         always_ld_library_path the path to libgcc_s.
6536 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
6538         PR testsuite/70009
6539         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6541 2016-03-09  Tom de Vries  <tom@codesourcery.com>
6543         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6544         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6545         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6546         Same.
6547         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6548         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6549         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6550         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6552 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6554         * testsuite/lib/libgomp.exp
6555         (check_effective_target_hsa_offloading_selected_nocache): New.
6556         (check_effective_target_hsa_offloading_selected): Likewise.
6557         * testsuite/libgomp.hsa.c/c.exp: Likewise.
6558         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6559         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6560         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6561         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6562         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6563         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6564         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6565         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6566         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6567         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6568         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6569         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6570         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6571         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6572         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6573         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6575 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6577         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6578         non-shared memory accelerators.
6579         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6580         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6581         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6582         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6583         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6584         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6585         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6586         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6587         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6589 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6591         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6592         ALWAYS_CFLAGS.
6594 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
6596         PR libgomp/69555
6597         * testsuite/libgomp.c++/pr69555-1.C: New test.
6598         * testsuite/libgomp.c++/pr69555-2.C: New test.
6600 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
6601             Martin Jambor  <mjambor@suse.cz>
6603         * testsuite/lib/libgomp.exp
6604         (check_effective_target_offload_device_shared_as): New proc.
6605         * testsuite/libgomp.c++/declare_target-1.C: New test.
6607 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
6609         PR driver/68463
6610         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6612 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
6614         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6615         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6616         dims.
6617         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6618         -ftree-parallelize-loops/-fopenacc changes.
6619         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6620         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6621         Likewise.
6622         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6623         Likewise.
6624         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6625         Likewise.
6626         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6627         Likewise.
6628         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6629         Likewise.
6630         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6631         Likewise.
6632         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6633         Likewise.
6634         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6635         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6636         Likewise.
6637         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6638         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6639         Likewise.
6640         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6641         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6642         Likewise.
6644 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
6646         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6648 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
6650         PR driver/69805
6651         * testsuite/libgomp.c/pr69805.c: New test.
6653 2016-02-16  Tom de Vries  <tom@codesourcery.com>
6655         PR lto/67709
6656         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6658 2016-02-09  Tom de Vries  <tom@codesourcery.com>
6660         PR tree-optimization/69599
6661         * testsuite/libgomp.c/omp-nested-3.c: New test.
6662         * testsuite/libgomp.c/pr46032-2.c: New test.
6663         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6664         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6666 2016-02-09  Tom de Vries  <tom@codesourcery.com>
6668         PR lto/69707
6669         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6671 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6673         * testsuite/libgomp.c/target-31.c: Fix testcase.
6675 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6677         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6678         clause.
6679         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6680         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6681         reduction and map clauses.
6682         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6684 2016-02-02  James Norris  <jnorris@codesourcery.com>
6686         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6688 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
6690         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6691         * oacc-parallel.c (GOACC_host_data): Remove function definition.
6693         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6694         cases.
6696         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6697         variables.
6698         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6699         (hsa_kmt_lib): Set variables.
6700         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6701         always_ld_library_path.
6702         * Makefile.in: Regenerate.
6703         * configure: Likewise.
6704         * testsuite/Makefile.in: Likewise.
6706         * plugin/configfrag.ac (offload_additional_options)
6707         (offload_additional_lib_paths): Don't amend for hsa offloading.
6708         * configure: Regenerate.
6710         * plugin/configfrag.ac: Don't configure for offloading target if
6711         we don't build the corresponding plugin.
6712         * configure: Regenerate.
6714 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
6716         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6717         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6719 2016-01-26  Tom de Vries  <tom@codesourcery.com>
6721         PR tree-optimization/69110
6722         * testsuite/libgomp.c/pr69110.c: New test.
6724 2016-01-25  Richard Biener  <rguenther@suse.de>
6726         PR lto/69393
6727         * testsuite/libgomp.c++/pr69393.C: New testcase.
6729 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
6731         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6732         function wasn't mapped to the device with non-shared memory.
6734 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
6736         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6738 2016-01-19  Martin Jambor  <mjambor@suse.cz>
6739             Martin Liska  <mliska@suse.cz>
6741         * plugin/Makefrag.am: Add HSA plugin requirements.
6742         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6743         (HSA_RUNTIME_LIB): Likewise.
6744         (HSA_RUNTIME_CPPFLAGS): Likewise.
6745         (HSA_RUNTIME_INCLUDE): New substitution.
6746         (HSA_RUNTIME_LIB): Likewise.
6747         (HSA_RUNTIME_LDFLAGS): Likewise.
6748         (hsa-runtime): New configure option.
6749         (hsa-runtime-include): Likewise.
6750         (hsa-runtime-lib): Likewise.
6751         (PLUGIN_HSA): New substitution variable.
6752         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6753         configure options.
6754         (PLUGIN_HSA_CPPFLAGS): Likewise.
6755         (PLUGIN_HSA_LDFLAGS): Likewise.
6756         (PLUGIN_HSA_LIBS): Likewise.
6757         Check that we have access to HSA run-time.
6758         * libgomp-plugin.h (offload_target_type): New element
6759         OFFLOAD_TARGET_TYPE_HSA.
6760         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6761         args.
6762         (bool gomp_create_target_task): Updated.
6763         (gomp_device_descr): Extra parameter of run_func and async_run_func,
6764         new field can_run_func.
6765         * libgomp_g.h (GOMP_target_ext): Update prototype.
6766         * oacc-host.c (host_run): Added a new parameter args.
6767         * target.c (calculate_firstprivate_requirements): New function.
6768         (copy_firstprivate_data): Likewise.
6769         (gomp_target_fallback_firstprivate): Use them.
6770         (gomp_target_unshare_firstprivate): New function.
6771         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6772         devices.
6773         (GOMP_target): Do host fallback for all shared memory devices.  Do not
6774         pass any args to plugins.
6775         (GOMP_target_ext): Introduce device-specific argument parameter args.
6776         Allow host fallback if device shares memory.  Do not remap data if
6777         device has shared memory.
6778         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
6779         like host fallback for mappings.
6780         (GOMP_target_data): Treat shared memory devices like host fallback.
6781         (GOMP_target_data_ext): Likewise.
6782         (GOMP_target_update): Likewise.
6783         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
6784         gomp_create_target_task.
6785         (GOMP_target_enter_exit_data): Likewise.
6786         (omp_target_alloc): Treat shared memory devices like host fallback.
6787         (omp_target_free): Likewise.
6788         (omp_target_is_present): Likewise.
6789         (omp_target_memcpy): Likewise.
6790         (omp_target_memcpy_rect): Likewise.
6791         (omp_target_associate_ptr): Likewise.
6792         (gomp_load_plugin_for_device): Also load can_run.
6793         * task.c (GOMP_PLUGIN_target_task_completion): Free
6794         firstprivate_copies.
6795         (gomp_create_target_task): Accept new argument args and store it to
6796         ttask.
6797         * plugin/plugin-hsa.c: New file.
6799 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6801         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6802         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6803         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6804         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6805         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6806         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6807         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6808         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6809         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6810         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6811         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6812         Same.
6813         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6814         Same.
6815         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6816         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6817         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6818         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6819         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6820         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6821         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6822         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6823         Same.
6824         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6826 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
6828         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6830 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
6832         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6834 2016-01-12  James Norris  <jnorris@codesourcery.com>
6836         * libgomp.texi: Updates for OpenACC.
6838 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
6840         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6842 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
6844         PR fortran/66680
6845         * testsuite/libgomp.fortran/pr66680.f90: New test.
6847 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
6849         PR middle-end/68960
6850         * testsuite/libgomp.c/pr68960.c: New test.
6852 2016-01-06  Nathan Sidwell  <nathan@acm.org>
6854         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6855         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6857 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
6859         Update copyright years.
6861         * libgomp.texi: Bump @copying's copyright year.
6863 2015-12-31  Nathan Sidwell  <nathan@acm.org>
6865         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6866         dg-additional-options syntax.
6867         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6868         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6869         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6870         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6871         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6872         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6873         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6874         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6875         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6876         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6877         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6878         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6879         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6880         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6881         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6882         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6883         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6884         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6886 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
6888         * libgomp.h (REFCOUNT_LINK): Define.
6889         (struct splay_tree_key_s): Add link_key.
6890         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6891         Replace target address of the pointer with target address of newly
6892         mapped object in the splay tree.  Set link pointer on target to the
6893         device address of the mapped object.
6894         (gomp_unmap_vars): Restore target address of the pointer in the splay
6895         tree for REFCOUNT_LINK objects after unmapping.
6896         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6897         declare target link" objects.
6898         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
6899         "omp declare target link" objects, which were mapped for the image.
6900         (gomp_exit_data): Restore target address of the pointer in the splay
6901         tree for REFCOUNT_LINK objects after unmapping.
6902         * testsuite/libgomp.c/target-link-1.c: New file.
6904 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
6906         * libgomp.h (gomp_device_state): New enum.
6907         (struct gomp_device_descr): Replace is_initialized with state.
6908         (gomp_fini_device): Remove declaration.
6909         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6910         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6911         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
6912         (acc_set_device_type): Use state instead of is_initialized.
6913         (acc_set_device_num): Likewise.
6914         * target.c (resolve_device): Use state instead of is_initialized.
6915         Do not initialize finalized device.
6916         (gomp_map_vars): Do nothing if device is finalized.
6917         (gomp_unmap_vars): Likewise.
6918         (gomp_update): Likewise.
6919         (GOMP_offload_register_ver): Use state instead of is_initialized.
6920         (GOMP_offload_unregister_ver): Likewise.
6921         (gomp_init_device): Likewise.
6922         (gomp_unload_device): Likewise.
6923         (gomp_fini_device): Remove.
6924         (gomp_get_target_fn_addr): Do nothing if device is finalized.
6925         (GOMP_target): Go to host fallback if device is finalized.
6926         (GOMP_target_ext): Likewise.
6927         (gomp_exit_data): Do nothing if device is finalized.
6928         (gomp_target_task_fn): Go to host fallback if device is finalized.
6929         (gomp_target_fini): New static function.
6930         (gomp_target_init): Use state instead of is_initialized.
6931         Call gomp_target_fini at exit.
6933 2015-12-09  Tom de Vries  <tom@codesourcery.com>
6935         PR tree-optimization/68716
6936         * testsuite/libgomp.c/omp-nested-2.c: New test.
6938 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
6940         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6941         target openacc_nvidia_accel_selected.
6942         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6943         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6944         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6945         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6947 2015-12-01  Julian Brown  <julian@codesourcery.com>
6948             James Norris  <James_Norris@mentor.com>
6950         * oacc-parallel.c (GOACC_host_data): New function.
6951         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6952         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6953         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6954         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6955         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6956         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6957         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6959 2015-11-30  James Norris  <jnorris@codesourcery.com>
6960             Cesar Philippidis  <cesar@codesourcery.com>
6962         libgomp/
6963         * libgomp.oacc-fortran/routine-5.f90: New test.
6964         * libgomp.oacc-fortran/routine-7.f90: New test.
6965         * libgomp.oacc-fortran/routine-9.f90: New test.
6967 2015-11-30  Tom de Vries  <tom@codesourcery.com>
6969         PR tree-optimization/46032
6970         * testsuite/libgomp.c/pr46032.c: New test.
6972 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
6974         PR libgomp/68579
6975         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6976         (gomp_create_target_task): Call it before freeing
6977         GOMP_TARGET_TASK_DATA tasks.
6979         PR c/63326
6980         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6981         in between case label and OpenMP standalone directives.
6982         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6984 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
6986         * configure: Regenerate.
6988 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
6990         * testsuite/libgomp.c/target-35.c: New test.
6992 2015-11-22  James Norris  <jnorris@codesourcery.com>
6993             Cesar Philippidis  <cesar@codesourcery.com>
6995         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6996         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6997         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6998         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6999         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7001 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
7003         PR middle-end/68221
7004         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7005         * testsuite/libgomp.c/reduction-12.c: Likewise.
7006         * testsuite/libgomp.c++/reduction-11.C: Likewise.
7007         * testsuite/libgomp.c++/reduction-12.C: Likewise.
7009 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
7011         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7012         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7013         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7014         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7015         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7016         and fix.
7017         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7018         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7020 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
7022         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7023         worker & gang cases.
7024         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7026 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
7028         * config/nvptx/priority_queue.c: New file.
7030 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7032         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7033         sections.
7035 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7036             Aldy Hernandez  <aldyh@redhat.com>
7037             Ilya Verbin  <ilya.verbin@intel.com>
7039         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7040         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7041         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7042         iterators or IV by chunk size.
7043         * parallel.c (gomp_resolve_num_threads): Don't assume that
7044         if thr->ts.team is non-NULL, then pool must be non-NULL.
7045         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7046         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7047         GOMP_PLUGIN_target_task_completion.
7048         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7049         * Makefile.in: Regenerate.
7050         * libgomp.h: Shuffle prototypes and forward definitions around so
7051         priority queues can be defined.
7052         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7053         (enum gomp_target_task_state): New enum.
7054         (struct gomp_target_task): Add state, tgt, task and team fields.
7055         (gomp_create_target_task): Change return type to bool, add
7056         state argument.
7057         (gomp_target_task_fn): Change return type to bool.
7058         (struct gomp_device_descr): Add async_run_func.
7059         (struct gomp_task): Remove children, next_child, prev_child,
7060         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7061         Add pnode field.
7062         (struct gomp_taskgroup): Remove children.
7063         Add taskgroup_queue.
7064         (struct gomp_team): Change task_queue type to a priority queue.
7065         (splay_compare): Define inline.
7066         (priority_queue_offset): New.
7067         (priority_node_to_task): New.
7068         (task_to_priority_node): New.
7069         * oacc-mem.c: Do not include splay-tree.h.
7070         * priority_queue.c: New file.
7071         * priority_queue.h: New file.
7072         * splay-tree.c: Do not include splay-tree.h.
7073         (splay_tree_foreach_internal): New.
7074         (splay_tree_foreach): New.
7075         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7076         (splay_tree_callback): Define typedef.
7077         * target.c (splay_compare): Move to libgomp.h.
7078         (GOMP_target): Don't adjust *thr in any way around running offloaded
7079         task.
7080         (GOMP_target_ext): Likewise.  Handle target nowait.
7081         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7082         return value from gomp_create_target_task, if false, fallthrough
7083         as if no dependencies exist.
7084         (gomp_target_task_fn): Change return type to bool, return true
7085         if the task should have another part scheduled later.  Handle
7086         target nowait.
7087         (gomp_load_plugin_for_device): Initialize async_run.
7088         * task.c (gomp_init_task): Initialize children_queue.
7089         (gomp_clear_parent_in_list): New.
7090         (gomp_clear_parent_in_tree): New.
7091         (gomp_clear_parent): Handle priorities.
7092         (GOMP_task): Likewise.
7093         (priority_queue_move_task_first,
7094         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7095         New functions.
7096         (gomp_create_target_task): Use priority queues.  Change return type
7097         to bool, add state argument, return false if for async
7098         {{enter,exit} data,update} constructs no dependencies need to be
7099         waited for, handle target nowait.  Set task->fn to NULL instead of
7100         gomp_target_task_fn.
7101         (verify_children_queue): Remove.
7102         (priority_list_upgrade_task): New.
7103         (priority_queue_upgrade_task): New.
7104         (verify_task_queue): Remove.
7105         (priority_list_downgrade_task): New.
7106         (priority_queue_downgrade_task): New.
7107         (gomp_task_run_pre): Use priority queues.
7108         Abstract code out to priority_queue_downgrade_task.
7109         (gomp_task_run_post_handle_dependers): Use priority queues.
7110         (gomp_task_run_post_remove_parent): Likewise.
7111         (gomp_task_run_post_remove_taskgroup): Likewise.
7112         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
7113         tasks specially.
7114         (GOMP_taskwait): Likewise.
7115         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
7116         priority-queue_upgrade_task.
7117         (GOMP_taskgroup_start): Use priority queues.
7118         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
7119         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
7120         barrier.
7121         * taskloop.c (GOMP_taskloop): Handle priorities.
7122         * team.c (gomp_new_team): Call priority_queue_init.
7123         (free_team): Call priority_queue_free.
7124         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7125         team created for target nowait in implicit parallel region.
7126         (gomp_team_start): For nested check, test thr->ts.level instead of
7127         thr->ts.team != NULL.
7128         * testsuite/libgomp.c/doacross-3.c: New test.
7129         * testsuite/libgomp.c/ordered-5.c: New test.
7130         * testsuite/libgomp.c/priority.c: New test.
7131         * testsuite/libgomp.c/target-31.c: New test.
7132         * testsuite/libgomp.c/target-32.c: New test.
7133         * testsuite/libgomp.c/target-33.c: New test.
7134         * testsuite/libgomp.c/target-34.c: New test.
7136 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7138         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7140         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7141         loop is sequential.
7143 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7145         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7146         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7148 2015-11-12  James Norris  <jnorris@codesourcery.com>
7149             Joseph Myers  <joseph@codesourcery.com>
7151         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7152         * oacc-parallel.c (GOACC_declare): New function.
7153         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7154         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7155         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7156         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7157         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7159 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
7161         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7163 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
7165         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7166         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7168 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7170         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7171         inadvertent commit.
7173 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7175         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7176         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7177         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7178         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7179         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7181 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
7183         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7184         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7186 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
7187             Ilya Verbin  <ilya.verbin@intel.com>
7189         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7190         GOMP_loop_nonmonotonic_dynamic_start,
7191         GOMP_loop_nonmonotonic_guided_next,
7192         GOMP_loop_nonmonotonic_guided_start,
7193         GOMP_loop_ull_nonmonotonic_dynamic_next,
7194         GOMP_loop_ull_nonmonotonic_dynamic_start,
7195         GOMP_loop_ull_nonmonotonic_guided_next,
7196         GOMP_loop_ull_nonmonotonic_guided_start,
7197         GOMP_parallel_loop_nonmonotonic_dynamic,
7198         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7199         (GOMP_target_41): Renamed to ...
7200         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7201         arguments.
7202         (GOMP_target_data_41): Renamed to ...
7203         (GOMP_target_data_ext): ... this.
7204         (GOMP_target_update_41): Renamed to ...
7205         (GOMP_target_update_ext): ... this.
7206         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7207         GOMP_target_data_ext and GOMP_target_update_ext instead of
7208         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7209         Export GOMP_loop_nonmonotonic_dynamic_next,
7210         GOMP_loop_nonmonotonic_dynamic_start,
7211         GOMP_loop_nonmonotonic_guided_next,
7212         GOMP_loop_nonmonotonic_guided_start,
7213         GOMP_loop_ull_nonmonotonic_dynamic_next,
7214         GOMP_loop_ull_nonmonotonic_dynamic_start,
7215         GOMP_loop_ull_nonmonotonic_guided_next,
7216         GOMP_loop_ull_nonmonotonic_guided_start,
7217         GOMP_parallel_loop_nonmonotonic_dynamic and
7218         GOMP_parallel_loop_nonmonotonic_guided.
7219         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7220         GOMP_parallel_loop_nonmonotonic_guided,
7221         GOMP_loop_nonmonotonic_dynamic_start,
7222         GOMP_loop_nonmonotonic_guided_start,
7223         GOMP_loop_nonmonotonic_dynamic_next,
7224         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7225         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7226         GOMP_loop_ull_nonmonotonic_guided_start,
7227         GOMP_loop_ull_nonmonotonic_dynamic_next,
7228         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7229         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7230         functions.
7231         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
7232         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7233         Use gomp_map_val function.
7234         (gomp_target_fallback_firstprivate): New static function.
7235         (GOMP_target_41): Renamed to ...
7236         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7237         arguments.  Move firstprivate fallback handling into a new
7238         function.
7239         (GOMP_target_data_41): Renamed to ...
7240         (GOMP_target_data_ext): ... this.
7241         (GOMP_target_update_41): Renamed to ...
7242         (GOMP_target_update_ext): ... this.
7243         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7244         gomp_map_0len_lookup instead of gomp_map_lookup.
7245         (omp_target_is_present): Use gomp_map_0len_lookup instead of
7246         gomp_map_lookup.
7247         * testsuite/libgomp.c/target-28.c: Likewise.
7248         * testsuite/libgomp.c/monotonic-1.c: New test.
7249         * testsuite/libgomp.c/monotonic-2.c: New test.
7250         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7251         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7252         * testsuite/libgomp.c/pr66199-5.c: New test.
7253         * testsuite/libgomp.c/pr66199-6.c: New test.
7254         * testsuite/libgomp.c/pr66199-7.c: New test.
7255         * testsuite/libgomp.c/pr66199-8.c: New test.
7256         * testsuite/libgomp.c/pr66199-9.c: New test.
7257         * testsuite/libgomp.c/reduction-11.c: New test.
7258         * testsuite/libgomp.c/reduction-12.c: New test.
7259         * testsuite/libgomp.c/reduction-13.c: New test.
7260         * testsuite/libgomp.c/reduction-14.c: New test.
7261         * testsuite/libgomp.c/reduction-15.c: New test.
7262         * testsuite/libgomp.c/target-12.c (main): Adjust for
7263         omp_target_is_present change for one-past-last element.
7264         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7265         the same var is both mapped and privatized.
7266         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7267         handling of zero-length array sections.
7268         * testsuite/libgomp.c/target-28.c: New test.
7269         * testsuite/libgomp.c/target-29.c: New test.
7270         * testsuite/libgomp.c/target-30.c: New test.
7271         * testsuite/libgomp.c/target-teams-1.c: New test.
7272         * testsuite/libgomp.c++/member-6.C: New test.
7273         * testsuite/libgomp.c++/member-7.C: New test.
7274         * testsuite/libgomp.c++/monotonic-1.C: New test.
7275         * testsuite/libgomp.c++/monotonic-2.C: New test.
7276         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7277         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7278         * testsuite/libgomp.c++/pr66199-3.C: New test.
7279         * testsuite/libgomp.c++/pr66199-4.C: New test.
7280         * testsuite/libgomp.c++/pr66199-5.C: New test.
7281         * testsuite/libgomp.c++/pr66199-6.C: New test.
7282         * testsuite/libgomp.c++/pr66199-7.C: New test.
7283         * testsuite/libgomp.c++/pr66199-8.C: New test.
7284         * testsuite/libgomp.c++/pr66199-9.C: New test.
7285         * testsuite/libgomp.c++/reduction-11.C: New test.
7286         * testsuite/libgomp.c++/reduction-12.C: New test.
7287         * testsuite/libgomp.c++/target-13.C: New test.
7288         * testsuite/libgomp.c++/target-14.C: New test.
7289         * testsuite/libgomp.c++/target-15.C: New test.
7290         * testsuite/libgomp.c++/target-16.C: New test.
7291         * testsuite/libgomp.c++/target-17.C: New test.
7292         * testsuite/libgomp.c++/target-18.C: New test.
7293         * testsuite/libgomp.c++/target-19.C: New test.
7295 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7297         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7298         and reduction copy.
7299         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7300         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7301         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7302         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7303         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7304         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7305         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7306         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7307         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7308         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7309         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7310         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7311         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7312         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7314 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7316         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7317         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7318         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7319         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7320         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7321         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7322         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7323         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7325 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
7327         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7328         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7329         (GOMP_OFFLOAD_openacc_parallel): Likewise.
7330         * oacc-host.c (host_openacc_exec): Likewise.
7331         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7333 2015-11-03  Julian Brown  <julian@codesourcery.com>
7334             Thomas Schwinge  <thomas@codesourcery.com>
7336         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7337         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7338         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7339         Likewise.
7340         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7341         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7343 2015-11-03  James Norris  <jnorris@codesourcery.com>
7345         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7346         file.
7347         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7348         Likewise.
7349         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7350         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7351         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7352         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7353         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7355 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
7357         * openacc.h (enum acc_device_t): Reformat. Ensure layout
7358         compatibility.
7359         (enum acc_async_t): Reformat.
7360         (acc_on_device): Declare compatible with builtin and provide C++
7361         wrapper.
7362         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7364 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
7365             Cesar Philippidis  <cesar@codesourcery.com>
7367         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7368         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7369         ... this.  Add a description of the test at the top of the file.
7370         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7371         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7372         ... this.  Add a description of the test at the top of the file.
7374 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
7376         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7377         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7378         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7379         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7380         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7381         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7383 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
7385         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7386         dimensions.
7388 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7390         PR testsuite/68063
7391         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7393 2015-10-27  James Norris  <jnorris@codesourcery.com>
7395         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7396         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7398 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
7400         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7401         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7403         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7404         acc_device_nvidia usage.
7405         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7406         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7407         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7409         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7410         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7412         PR libgomp/66518
7413         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7415         PR libgomp/65437
7416         PR libgomp/66518
7417         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7418         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7420 2015-10-23  Tom de Vries  <tom@codesourcery.com>
7422         PR testsuite/68063
7423         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7425 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
7427         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7428         vector_length.
7429         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7431 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
7432             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
7434         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7435         to 0 when mapnum is 0.
7437 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7439         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7440         Cast to int from int32_t.
7442 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
7443             Aldy Hernandez  <aldyh@redhat.com>
7444             Ilya Verbin  <ilya.verbin@intel.com>
7446         * config/linux/affinity.c (omp_get_place_num_procs,
7447         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7448         * config/linux/doacross.h: New file.
7449         * config/posix/affinity.c (omp_get_place_num_procs,
7450         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7451         * config/posix/doacross.h: New file.
7452         * env.c: Include gomp-constants.h.
7453         (struct gomp_task_icv): Rename run_sched_modifier to
7454         run_sched_chunk_size.
7455         (gomp_max_task_priority_var): New variable.
7456         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7457         (handle_omp_display_env): Change _OPENMP value from 201307 to
7458         201511.  Print OMP_MAX_TASK_PRIORITY.
7459         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7460         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7461         chunk_size and run_sched_modifier to run_sched_chunk_size.
7462         (omp_get_max_task_priority, omp_get_initial_device,
7463         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7464         omp_get_partition_place_nums): New functions.
7465         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7466         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7467         to chunk_size.
7468         (omp_get_num_places_, omp_get_place_num_procs_,
7469         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7470         omp_get_place_proc_ids_8_, omp_get_place_num_,
7471         omp_get_partition_num_places_, omp_get_partition_place_nums_,
7472         omp_get_partition_place_nums_8_, omp_get_initial_device_,
7473         omp_get_max_task_priority_): New functions.
7474         * libgomp_g.h (GOMP_loop_doacross_static_start,
7475         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7476         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7477         GOMP_loop_ull_doacross_dynamic_start,
7478         GOMP_loop_ull_doacross_guided_start,
7479         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7480         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7481         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7482         GOMP_target_data_41, GOMP_target_update_41,
7483         GOMP_target_enter_exit_data): New prototypes.
7484         (GOMP_task): Add prototype argument.
7485         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7486         (struct gomp_doacross_work_share): New type.
7487         (struct gomp_work_share): Add doacross field.
7488         (struct gomp_task_icv): Rename run_sched_modifier to
7489         run_sched_chunk_size.
7490         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7491         GOMP_TASK_UNDEFERRED.  Add comments.
7492         (struct gomp_task_depend_entry): Add comments.
7493         (struct gomp_task): Likewise.
7494         (struct gomp_taskgroup): Likewise.
7495         (struct gomp_target_task): New type.
7496         (struct gomp_team): Add comment.
7497         (gomp_get_place_proc_ids_8, gomp_doacross_init,
7498         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7499         gomp_create_target_task, gomp_target_task_fn): New prototypes.
7500         (struct target_var_desc): New type.
7501         (struct target_mem_desc): Adjust comment.  Use struct
7502         target_var_desc instead of splay_tree_key for list.
7503         (REFCOUNT_INFINITY): Define.
7504         (struct splay_tree_key_s): Remove copy_from field.
7505         (struct gomp_device_descr): Add dev2dev_func field.
7506         (enum gomp_map_vars_kind): New enum.
7507         (gomp_map_vars): Add one argument.
7508         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7509         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7510         omp_get_place_num_procs, omp_get_place_num_procs_,
7511         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7512         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7513         omp_get_place_num_, omp_get_partition_num_places,
7514         omp_get_partition_num_places_, omp_get_partition_place_nums,
7515         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7516         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7517         omp_target_free, omp_target_is_present, omp_target_memcpy,
7518         omp_target_memcpy_rect, omp_target_associate_ptr and
7519         omp_target_disassociate_ptr.
7520         (GOMP_4.0.2): Renamed to ...
7521         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
7522         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7523         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7524         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7525         GOMP_loop_doacross_static_start, GOMP_doacross_post,
7526         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7527         GOMP_loop_ull_doacross_guided_start,
7528         GOMP_loop_ull_doacross_runtime_start,
7529         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7530         GOMP_doacross_ull_wait.
7531         * libgomp.texi: Document omp_get_max_task_priority.
7532         Rename modifier argument to chunk_size for omp_set_schedule and
7533         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
7534         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7535         to run_sched_chunk_size renaming.
7536         (GOMP_loop_ordered_runtime_start): Likewise.
7537         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7538         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7539         GOMP_parallel_loop_runtime_start): New functions.
7540         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7541         to run_sched_chunk_size renaming.
7542         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7543         GOMP_loop_doacross_guided_start): New functions or aliases.
7544         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7545         run_sched_modifier to run_sched_chunk_size renaming.
7546         (GOMP_loop_ull_ordered_runtime_start): Likewise.
7547         (gomp_loop_ull_doacross_static_start,
7548         gomp_loop_ull_doacross_dynamic_start,
7549         gomp_loop_ull_doacross_guided_start,
7550         GOMP_loop_ull_doacross_runtime_start): New functions.
7551         (GOMP_loop_ull_doacross_static_start,
7552         GOMP_loop_ull_doacross_dynamic_start,
7553         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7554         * oacc-mem.c (acc_map_data, present_create_copy,
7555         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7556         to gomp_map_vars.
7557         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7558         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7559         instead of false to gomp_map_vars.
7560         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
7561         * omp.h.in (omp_lock_hint_t): New type.
7562         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7563         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7564         omp_get_place_num, omp_get_partition_num_places,
7565         omp_get_partition_place_nums, omp_get_initial_device,
7566         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7567         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7568         omp_target_associate_ptr, omp_target_disassociate_ptr): New
7569         prototypes.
7570         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7571         (omp_lock_hint_none, omp_lock_hint_uncontended,
7572         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7573         omp_lock_hint_speculative): New parameters.
7574         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7575         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7576         omp_get_place_num, omp_get_partition_num_places,
7577         omp_get_partition_place_nums, omp_get_initial_device,
7578         omp_get_max_task_priority): New interfaces.
7579         (omp_set_schedule, omp_get_schedule): Rename modifier argument
7580         to chunk_size.
7581         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7582         (omp_lock_hint_none, omp_lock_hint_uncontended,
7583         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7584         omp_lock_hint_speculative): New parameters.
7585         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7586         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7587         omp_get_place_num, omp_get_partition_num_places,
7588         omp_get_partition_place_nums, omp_get_initial_device,
7589         omp_get_max_task_priority): New functions and subroutines.
7590         * ordered.c: Include stdarg.h and string.h.
7591         (MAX_COLLAPSED_BITS): Define.
7592         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7593         gomp_doacross_ull_init, GOMP_doacross_ull_post,
7594         GOMP_doacross_ull_wait): New functions.
7595         * target.c: Include errno.h.
7596         (resolve_device): If device is not initialized, call
7597         gomp_init_device on it.
7598         (gomp_map_lookup): New function.
7599         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7600         Don't bump refcount if REFCOUNT_INFINITY.  Handle
7601         GOMP_MAP_ALWAYS_TO_P.
7602         (get_kind): Rename is_openacc argument to short_mapkind.
7603         (gomp_map_pointer): Use gomp_map_lookup.
7604         (gomp_map_fields_existing): New function.
7605         (gomp_map_vars): Rename is_openacc argument to short_mapkind
7606         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
7607         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7608         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7609         Adjust for tgt->list changed type and copy_from living in there.
7610         (gomp_copy_from_async): Adjust for tgt->list changed type and
7611         copy_from living in there.
7612         (gomp_unmap_vars): Likewise.
7613         (gomp_update): Likewise.  Rename is_openacc argument to
7614         short_mapkind.  Don't fail if object is not mapped.
7615         (gomp_load_image_to_device): Initialize refcount to
7616         REFCOUNT_INFINITY.
7617         (gomp_target_fallback): New function.
7618         (gomp_get_target_fn_addr): Likewise.
7619         (GOMP_target): Adjust gomp_map_vars caller, use
7620         gomp_get_target_fn_addr and gomp_target_fallback.
7621         (GOMP_target_41): New function.
7622         (gomp_target_data_fallback): New function.
7623         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7624         (GOMP_target_data_41): New function.
7625         (GOMP_target_update): Adjust gomp_update caller.
7626         (GOMP_target_update_41): New function.
7627         (gomp_exit_data, GOMP_target_enter_exit_data,
7628         gomp_target_task_fn, omp_target_alloc, omp_target_free,
7629         omp_target_is_present, omp_target_memcpy,
7630         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7631         omp_target_associate_ptr, omp_target_disassociate_ptr,
7632         gomp_load_plugin_for_device): New functions.
7633         * task.c: Include gomp-constants.h.  Include taskloop.c
7634         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7635         (gomp_task_handle_depend): New function.
7636         (GOMP_task): Use it.  Add priority argument.  Use
7637         gomp-constant.h constants instead of hardcoded numbers.
7638         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7639         (gomp_create_target_task): New function.
7640         (verify_children_queue, verify_taskgroup_queue,
7641         verify_task_queue): New functions.
7642         (gomp_task_run_pre): Call verify_*_queue functions.
7643         If an upcoming tied task is about to leave the sibling or
7644         taskgroup queues in an invalid state, adjust appropriately.
7645         Remove taskgroup argument.  Add comments.
7646         (gomp_task_run_post_handle_dependers): Add comments.
7647         (gomp_task_run_post_remove_parent): Likewise.
7648         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7649         (GOMP_taskwait): Likewise.  Add comments.
7650         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7651         problem such that the first non parent_depends_on task does not
7652         end up at the end of the children queue.
7653         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7654         GOMP_TASK_UNDEFERRED.
7655         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7656         * taskloop.c: New file.
7657         * testsuite/lib/libgomp.exp
7658         (check_effective_target_offload_device_nonshared_as): New proc.
7659         * testsuite/libgomp.c/affinity-2.c: New test.
7660         * testsuite/libgomp.c/doacross-1.c: New test.
7661         * testsuite/libgomp.c/doacross-2.c: New test.
7662         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7663         Add map clause to target.
7664         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7665         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7666         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7667         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7668         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7669         Likewise.
7670         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7671         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7672         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7673         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7674         not defined.  Use those where needed.
7675         * testsuite/libgomp.c/for-4.c: New test.
7676         * testsuite/libgomp.c/for-5.c: New test.
7677         * testsuite/libgomp.c/for-6.c: New test.
7678         * testsuite/libgomp.c/linear-1.c: New test.
7679         * testsuite/libgomp.c/ordered-4.c: New test.
7680         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7681         only allowed on the loop iterator.
7682         * testsuite/libgomp.c/pr66199-3.c: New test.
7683         * testsuite/libgomp.c/pr66199-4.c: New test.
7684         * testsuite/libgomp.c/reduction-7.c: New test.
7685         * testsuite/libgomp.c/reduction-8.c: New test.
7686         * testsuite/libgomp.c/reduction-9.c: New test.
7687         * testsuite/libgomp.c/reduction-10.c: New test.
7688         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7689         map(tofrom:s).
7690         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7691         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7692         * testsuite/libgomp.c/target-11.c: New test.
7693         * testsuite/libgomp.c/target-12.c: New test.
7694         * testsuite/libgomp.c/target-13.c: New test.
7695         * testsuite/libgomp.c/target-14.c: New test.
7696         * testsuite/libgomp.c/target-15.c: New test.
7697         * testsuite/libgomp.c/target-16.c: New test.
7698         * testsuite/libgomp.c/target-17.c: New test.
7699         * testsuite/libgomp.c/target-18.c: New test.
7700         * testsuite/libgomp.c/target-19.c: New test.
7701         * testsuite/libgomp.c/target-20.c: New test.
7702         * testsuite/libgomp.c/target-21.c: New test.
7703         * testsuite/libgomp.c/target-22.c: New test.
7704         * testsuite/libgomp.c/target-23.c: New test.
7705         * testsuite/libgomp.c/target-24.c: New test.
7706         * testsuite/libgomp.c/target-25.c: New test.
7707         * testsuite/libgomp.c/target-26.c: New test.
7708         * testsuite/libgomp.c/target-27.c: New test.
7709         * testsuite/libgomp.c/taskloop-1.c: New test.
7710         * testsuite/libgomp.c/taskloop-2.c: New test.
7711         * testsuite/libgomp.c/taskloop-3.c: New test.
7712         * testsuite/libgomp.c/taskloop-4.c: New test.
7713         * testsuite/libgomp.c++/ctor-13.C: New test.
7714         * testsuite/libgomp.c++/doacross-1.C: New test.
7715         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7716         Replace offload_device with offload_device_nonshared_as.
7717         * testsuite/libgomp.c++/for-12.C: New test.
7718         * testsuite/libgomp.c++/for-13.C: New test.
7719         * testsuite/libgomp.c++/for-14.C: New test.
7720         * testsuite/libgomp.c++/linear-1.C: New test.
7721         * testsuite/libgomp.c++/member-1.C: New test.
7722         * testsuite/libgomp.c++/member-2.C: New test.
7723         * testsuite/libgomp.c++/member-3.C: New test.
7724         * testsuite/libgomp.c++/member-4.C: New test.
7725         * testsuite/libgomp.c++/member-5.C: New test.
7726         * testsuite/libgomp.c++/ordered-1.C: New test.
7727         * testsuite/libgomp.c++/reduction-5.C: New test.
7728         * testsuite/libgomp.c++/reduction-6.C: New test.
7729         * testsuite/libgomp.c++/reduction-7.C: New test.
7730         * testsuite/libgomp.c++/reduction-8.C: New test.
7731         * testsuite/libgomp.c++/reduction-9.C: New test.
7732         * testsuite/libgomp.c++/reduction-10.C: New test.
7733         * testsuite/libgomp.c++/reference-1.C: New test.
7734         * testsuite/libgomp.c++/simd14.C: New test.
7735         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7736         * testsuite/libgomp.c++/target-5.C: New test.
7737         * testsuite/libgomp.c++/target-6.C: New test.
7738         * testsuite/libgomp.c++/target-7.C: New test.
7739         * testsuite/libgomp.c++/target-8.C: New test.
7740         * testsuite/libgomp.c++/target-9.C: New test.
7741         * testsuite/libgomp.c++/target-10.C: New test.
7742         * testsuite/libgomp.c++/target-11.C: New test.
7743         * testsuite/libgomp.c++/target-12.C: New test.
7744         * testsuite/libgomp.c++/taskloop-1.C: New test.
7745         * testsuite/libgomp.c++/taskloop-2.C: New test.
7746         * testsuite/libgomp.c++/taskloop-3.C: New test.
7747         * testsuite/libgomp.c++/taskloop-4.C: New test.
7748         * testsuite/libgomp.c++/taskloop-5.C: New test.
7749         * testsuite/libgomp.c++/taskloop-6.C: New test.
7750         * testsuite/libgomp.c++/taskloop-7.C: New test.
7751         * testsuite/libgomp.c++/taskloop-8.C: New test.
7752         * testsuite/libgomp.c++/taskloop-9.C: New test.
7753         * testsuite/libgomp.fortran/affinity1.f90: New test.
7754         * testsuite/libgomp.fortran/affinity2.f90: New test.
7756 2015-10-13  Tom de Vries  <tom@codesourcery.com>
7758         PR tree-optimization/67476
7759         * testsuite/libgomp.c/autopar-3.c: New test.
7760         * testsuite/libgomp.c/autopar-4.c: New test.
7761         * testsuite/libgomp.c/autopar-5.c: New test.
7762         * testsuite/libgomp.c/autopar-6.c: New test.
7763         * testsuite/libgomp.c/autopar-7.c: New test.
7764         * testsuite/libgomp.c/autopar-8.c: New test.
7766 2015-10-12  James Norris  <jnorris@codesourcery.com>
7768         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7769         initializer.
7771 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
7773         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7774         using load_gcc_lib.
7776 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
7778         * oacc-ptx.h: Remove file, moving its content into...
7779         * config/nvptx/fortran.c: ... here...
7780         * config/nvptx/oacc-init.c: ..., here...
7781         * config/nvptx/oacc-parallel.c: ..., and here.
7782         * config/nvptx/openacc.f90: New file.
7783         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7784         (link_ptx): Don't link in predefined bits of PTX code.
7786 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
7787             Bernd Schmidt <bernds@codesourcery.com>
7789         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7790         (struct targ_ptx_obj): New.
7791         (nvptx_tdata): Move earlier, change data format.
7792         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
7793         objects.
7794         (GOMP_OFFLOAD_load_image): Adjust.
7796 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
7798         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7799         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7800         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7801         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7802         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7803         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7804         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7805         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7806         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7807         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7808         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7809         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7810         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7811         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7812         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7813         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7814         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7815         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7816         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7817         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7818         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7819         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7820         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7821         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7822         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7823         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7824         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7825         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7826         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7827         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7828         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7829         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7830         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7831         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7832         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7833         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7834         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7835         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7836         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7837         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7838         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7839         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7840         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7841         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7842         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7843         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7844         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7845         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7846         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7847         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7848         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7849         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7850         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7851         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7852         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7853         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7854         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7855         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7856         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7857         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7858         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7859         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7860         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7862 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7864         * oacc-init.c (acc_on_device): Force optimization level.
7866 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7868         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7869         (cuda_errlist): Delete.
7870         (cuda_error): Reimplement.
7872 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
7874         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7875         array.
7876         * libgomp.map (GOACC_parallel_keyed): New.
7877         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
7878         all callers.
7879         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
7880         and take keyed varargs list.  Adjust call to exec_func.
7881         (GOACC_parallel): Force host fallback.
7882         * libgomp_g.h (GOACC_parallel): Remove.
7883         (GOACC_parallel_keyed): Declare.
7884         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7885         (struct targ_gn_descriptor): Replace name field with launch field.
7886         (nvptx_exec): Lose separate geometry args, take array.  Process
7887         dynamic dimensions and adjust.
7888         (struct nvptx_tdata): Replace fn_names field with fn_descs.
7889         (GOMP_OFFLOAD_load_image): Adjust for change in function table
7890         data.
7891         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7892         passing.
7893         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7894         passing.
7896 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
7898         PR libgomp/67141
7899         * oacc-int.h (goacc_host_init): Add declaration.
7900         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7901         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7903 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
7904             Sebastian Pop  <s.pop@samsung.com>
7906         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7907         match o/p.
7908         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7909         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7910         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7911         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7912         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7914 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
7916         * configure.tgt: Add missing ;; in between nvptx and rtems
7917         snippets.
7919 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7921         * config/posix/pool.h (gomp_adjust_thread_attr): New.
7922         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7923         (gomp_thread_pool_reservoir): Add priority member.
7924         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7925         priority.
7926         (parse_thread_pools): Likewise.
7927         * team.c (gomp_team_start): Call configuration provided
7928         gomp_adjust_thread_attr(). Destroy thread attributes if
7929         necessary.
7930         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7932 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7934         * config/posix/pool.h: New.
7935         * config/rtems/pool.h: Likewise.
7936         * config/rtems/proc.c: Likewise.
7937         * libgomp.h (gomp_thread_destructor): Declare.
7938         * team.c: Include configuration provided "pool.h".
7939         (gomp_get_thread_pool): Define in configuration.
7940         (gomp_team_end): Call configuration defined
7941         gomp_release_thread_pool().
7943 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7945         * config/rtems/bar.c: New.
7946         * config/rtems/bar.h: Likewise.
7947         * config/rtems/mutex.c: Likewise.
7948         * config/rtems/mutex.h: Likewise.
7949         * config/rtems/sem.c: Likewise.
7950         * config/rtems/sem.h: Likewise.
7951         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7952         <sys/lock.h> header file.
7953         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7954         supported by Newlib.
7955         * configure: Regenerate.
7957 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7959         * team.c (gomp_new_thread_pool): Delete and move content to ...
7960         (gomp_get_thread_pool): ... new function.  Allocate and
7961         initialize thread pool on demand.
7962         (get_last_team): Use gomp_get_thread_pool().
7963         (gomp_team_start): Delete thread pool initialization.
7965 2015-09-03  Tom de Vries  <tom@codesourcery.com>
7967         PR tree-optimization/65637
7968         * testsuite/libgomp.c/autopar-2.c: New test.
7970 2015-08-29  Tom de Vries  <tom@codesourcery.com>
7972         PR tree-optimization/46193
7973         * testsuite/libgomp.c/pr46193.c: New test.
7975 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
7977         libgomp/
7978         * libgomp.map: Add 4.0.2 version.
7979         * target.c (offload_image_descr): Add version field.
7980         (gomp_load_image_to_device): Add version argument.  Adjust plugin
7981         call.  Improve load mismatch diagnostic.
7982         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
7983         call.
7984         (GOMP_offload_regster): Make stub function, move bulk to ...
7985         (GOMP_offload_register_ver): ... here.  Process version argument.
7986         (GOMP_offload_unregister): Make stub function, move bulk to ...
7987         (GOMP_offload_unregister_ver): ... here.  Process version argument.
7988         (gomp_init_device): Process version field.
7989         (gomp_unload_device): Process version field.
7990         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7991         macros.  Check plugin version.
7992         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
7993         loader and unloader types.
7994         * oacc-host.c: Include gomp-constants.h.
7995         (host_version): New.
7996         (host_load_image, host_unload_image): Adjust.
7997         (host_dispatch): Add host_version.
7998         * plugin/plugin-nvptx.c: Include gomp-constants.h.
7999         (GOMP_OFFLOAD_version): New.
8000         (GOMP_OFFLOAD_load_image): Add version arg and check it.
8001         (GOMP_OFFLOAD_unload_image): Likewise.
8002         * plugin/plugin-host.c: Include gomp-constants.h.
8003         (GOMP_OFFLOAD_version): New.
8004         (GOMP_OFFLOAD_load_image): Add version arg.
8005         (GOMP_OFFLOAD_unload_image): Likewise.
8007 2015-08-24  Tom de Vries  <tom@codesourcery.com>
8009         PR tree-optimization/65468
8010         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8012 2015-08-24  Tom de Vries  <tom@codesourcery.com>
8014         PR tree-optimization/65468
8015         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8017 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
8019         PR libgomp/66761
8020         PR libgomp/67303
8021         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8022         (gomp_iter_guided_next): Idem.
8023         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8024         (gomp_iter_ull_guided_next): Idem.
8025         * config/linux/wait.h (do_spin): Idem.
8027 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8029         * libgomp-plugin.h (enum offload_target_type): Remove
8030         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8031         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8032         * openacc.h (enum acc_device_t): Likewise.
8033         * openacc_lib.h: Likewise.
8034         * oacc-init.c (name_of_acc_device_t): Don't handle it.
8035         (acc_on_device): Just use __builtin_acc_on_device.
8036         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8037         of acc_on_device builtin.
8038         * plugin/plugin-host.h: Remove file.
8039         * plugin/plugin-host.c: Likewise, but salvage some content into...
8040         * oacc-host.c: ... this file.
8041         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8042         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8043         * Makefile.in: Regenerate.
8044         * configure: Likewise.
8045         * testsuite/lib/libgomp.exp
8046         (check_effective_target_openacc_host_nonshm_selected): Remove.
8047         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8048         ACC_DEVICE_TYPE=host_nonshm.
8049         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8050         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8051         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8052         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8053         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8054         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8056 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8057             Jakub Jelinek  <jakub@redhat.com>
8059         * config/nvptx/affinity.c: New file.
8060         * config/nvptx/alloc.c: Likewise.
8061         * config/nvptx/bar.c: Likewise.
8062         * config/nvptx/barrier.c: Likewise.
8063         * config/nvptx/critical.c: Likewise.
8064         * config/nvptx/env.c: Likewise.
8065         * config/nvptx/error.c: Likewise.
8066         * config/nvptx/fortran.c: Likewise.
8067         * config/nvptx/iter.c: Likewise.
8068         * config/nvptx/iter_ull.c: Likewise.
8069         * config/nvptx/libgomp-plugin.c: Likewise.
8070         * config/nvptx/lock.c: Likewise.
8071         * config/nvptx/loop.c: Likewise.
8072         * config/nvptx/loop_ull.c: Likewise.
8073         * config/nvptx/mutex.c: Likewise.
8074         * config/nvptx/oacc-async.c: Likewise.
8075         * config/nvptx/oacc-cuda.c: Likewise.
8076         * config/nvptx/oacc-host.c: Likewise.
8077         * config/nvptx/oacc-init.c: Likewise.
8078         * config/nvptx/oacc-mem.c: Likewise.
8079         * config/nvptx/oacc-parallel.c: Likewise.
8080         * config/nvptx/oacc-plugin.c: Likewise.
8081         * config/nvptx/omp-lock.h: Likewise.
8082         * config/nvptx/ordered.c: Likewise.
8083         * config/nvptx/parallel.c: Likewise.
8084         * config/nvptx/proc.c: Likewise.
8085         * config/nvptx/ptrlock.c: Likewise.
8086         * config/nvptx/sections.c: Likewise.
8087         * config/nvptx/sem.c: Likewise.
8088         * config/nvptx/single.c: Likewise.
8089         * config/nvptx/splay-tree.c: Likewise.
8090         * config/nvptx/target.c: Likewise.
8091         * config/nvptx/task.c: Likewise.
8092         * config/nvptx/team.c: Likewise.
8093         * config/nvptx/time.c: Likewise.
8094         * config/nvptx/work.c: Likewise.
8095         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8096         * configure: Regenerate.
8097         * configure.tgt (config_path): Set to "nvptx" for target
8098         nvptx*-*-*.
8100 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8102         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8104 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
8106         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8107         (cuda_errlist): Constify.
8108         (errmsg):  Move into ...
8109         (cuda_error): ... here.  Make smaller.
8110         (_XSTR, _STR): Delete.
8111         (cuda_synames): Delete.
8112         (verify_device_library): Delete.
8113         (nvptx_init): Don't call it.
8115 2015-07-28  Tom de Vries  <tom@codesourcery.com>
8117         * testsuite/libgomp.c/uns-outer-4.c: New test.
8119 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
8121         * testsuite/libgomp.c/pr66714.c: New test.
8123 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8125         PR libgomp/66950
8126         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8127         (fib_ref): New function.
8128         (fib): Correct corner cases in the recursion.
8129         (main): Replace the non-simd loop with fib_ref call.
8130         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8131         subroutine.
8132         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
8133         for the last array element value.  Replace the non-simd loop with
8134         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
8135         of the last array element with according Fibonacci sequence element.
8136         (fib): Correct corner cases in the recursion.
8138 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
8140         * target.c (gomp_offload_image_to_device): Rename to ...
8141         (gomp_load_image_to_device): ... here.
8142         (GOMP_offload_register): Adjust call.
8143         (gomp_init_device): Likewise.
8144         (gomp_unload_image_from_device): New.  Broken out of ...
8145         (GOMP_offload_unregister): ... here.  Call it.
8146         (gomp_unload_device): New.
8147         * libgomp.h (gomp_unload_device): Declare.
8148         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8149         mem maps.
8151 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
8153         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8154         wait=-specific if.
8155         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8156         !=0 condition.
8157         (goacc_waits): Move !num_waits handling to ...
8158         (GOACC_wait): ... here, the only caller that might have zero waits.
8160         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8161         (struct ptx_image_data): Move earlier, add fns field.
8162         (struct ptx_device): Add images and image_lock fields.
8163         (ptx_images, ptx_image_lock): Delete.
8164         (nvptx_open_device): Initialize images and image_lock fields.
8165         (nvptx_close_device): Destroy image_lock.
8166         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8167         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8168         fields.
8170 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
8172         * target.c (GOMP_offload_register): Use int for device type arg.
8173         (GOMP_offload_unregister): Likewise.
8175         * target.c (struct_offload_image_descr): Constify host_table.
8176         (gomp_offload_image_to_device): Likewise.
8177         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8179         * libgomp.h (gomp_device_descr): Constify target data arguments.
8180         * target.c (struct offload_image_descr): Constify target_data.
8181         (gomp_offload_image_to_device): Likewise.
8182         (GOMP_offload_register): Likewise.
8183         (GOMP_offload_unregister): Likewise.
8184         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8185         GOMP_OFFLOAD_unload_image): Constify target data.
8186         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8187         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8189 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
8191         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8192         Workaround driver library const error.
8193         (struct nvptx_tdata, nvptx_tdata_t): New.
8194         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8195         type.
8197 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8199         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8200         of EPS parameter from integer to real.
8201         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8202         type of EPS parameter from integer to real.
8204 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8206         * team.c (get_last_team): New.
8207         (gomp_new_team): Recycle last non-nested team if possible.
8208         (gomp_team_end): Move team work share list free lock destruction
8209         to ...
8210         (free_team): ... here.
8212 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8214         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8215         and ref from int to double.  Replaced their comparison with
8216         an inequality of their difference and EPS.
8217         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8218         comparison of pri and a reference number with an inequality of their
8219         difference and EPS.
8220         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8221         the comparison of sum and sum_ref with an inequality of their
8222         difference and EPS.
8223         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8224         the comparison of pri and a reference number with an inequality of
8225         their difference and EPS.
8227 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8229         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8230         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8231         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8232         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8233         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8234         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8235         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8236         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8237         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8238         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8239         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8240         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8241         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8242         variables.
8243         (vec_mult): Likewise.  Add #pragma omp taskwait.
8244         (main): Adjust caller.
8245         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8246         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8247         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8248         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8249         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8250         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8251         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8252         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8253         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8254         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8255         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8256         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8257         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8258         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8259         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8260         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8261         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8262         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8263         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8264         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8265         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8266         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8267         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8268         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8269         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8270         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8271         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8272         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8273         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8274         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8275         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8276         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8277         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8278         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8279         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8280         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8281         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8282         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8283         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8284         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8285         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8286         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8287         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8288         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8289         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8290         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8291         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8292         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8293         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8294         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8295         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8296         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8297         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8298         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8299         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8300         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8301         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8302         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8303         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8304         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8305         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8306         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8307         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8308         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8309         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8310         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8311         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8312         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8313         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8314         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8315         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8316         (vec_mult): Add !$omp taskwait.
8317         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8318         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8319         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8320         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8321         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8322         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8323         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8324         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8325         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8326         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8327         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8328         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8329         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8330         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8331         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8332         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8333         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8334         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8335         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8336         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8337         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8338         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8339         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8340         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8341         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8342         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8343         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8344         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8345         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8346         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8347         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8348         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8349         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8350         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8351         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8352         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8353         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8354         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8355         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8356         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8357         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8358         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8359         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8360         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8361         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8362         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8363         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8364         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8365         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8366         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8367         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8368         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8369         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8370         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8371         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8372         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8373         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8374         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8375         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8376         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8377         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8378         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8379         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8380         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8381         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8382         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8383         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8385 2015-07-10  Tom de Vries  <tom@codesourcery.com>
8387         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8388         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8390 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
8392         PR libgomp/65099
8393         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8394         in a 64-bit configuration.
8395         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8396         offloading testing if no such device is available.
8397         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8398         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8400 2015-07-08  Tom de Vries  <tom@codesourcery.com>
8402         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8403         second call to f.
8404         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8406 2015-07-07  Tom de Vries  <tom@codesourcery.com>
8408         PR tree-optimization/66642
8409         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8410         iteration count case.
8411         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8412         function, factor out of ...
8413         (main): ... here.  Test low iteration count case.
8415 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8417         * libgomp.h (gomp_thread_pool): Comment last_team field.
8419 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
8421         * testsuite/libgomp.c++/pr66702-1.C: Require
8422         vect_simd_clones effective target.
8423         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8425 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8427         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8428         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8429         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8430         "-O2".
8432 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8434         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8435         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8436         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8437         * testsuite/libgomp.c++/pr64824.C: Same.
8438         * testsuite/libgomp.c++/pr64868.C: Same.
8439         * testsuite/libgomp.c++/pr66199-1.C: Same.
8440         * testsuite/libgomp.c++/pr66199-2.C: Same.
8441         * testsuite/libgomp.c++/target-2.C: Same.
8442         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8443         -std=<standard> option.
8444         * testsuite/libgomp.c++/udr-11.C: Same.
8445         * testsuite/libgomp.c++/udr-12.C: Same.
8446         * testsuite/libgomp.c++/udr-13.C: Same.
8447         * testsuite/libgomp.c++/udr-14.C: Same.
8448         * testsuite/libgomp.c++/udr-15.C: Same.
8449         * testsuite/libgomp.c++/udr-16.C: Same.
8450         * testsuite/libgomp.c++/udr-17.C: Same.
8451         * testsuite/libgomp.c++/udr-18.C: Same.
8452         * testsuite/libgomp.c++/udr-19.C: Same.
8453         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8454         * testsuite/libgomp.c++/simd-1.C: Same.
8455         * testsuite/libgomp.c++/simd-2.C: Same.
8456         * testsuite/libgomp.c++/simd-3.C: Same.
8457         * testsuite/libgomp.c++/simd-4.C: Same.
8458         * testsuite/libgomp.c++/simd-5.C: Same.
8459         * testsuite/libgomp.c++/simd-6.C: Same.
8460         * testsuite/libgomp.c++/simd-7.C: Same.
8461         * testsuite/libgomp.c++/simd-8.C: Same.
8462         * testsuite/libgomp.c++/simd-9.C: Same.
8463         * testsuite/libgomp.c++/simd10.C: Same.
8464         * testsuite/libgomp.c++/simd11.C: Same.
8465         * testsuite/libgomp.c++/simd12.C: Same.
8466         * testsuite/libgomp.c++/simd13.C: Same.
8468 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
8470         PR middle-end/66702
8471         * testsuite/libgomp.c++/pr66702-1.C: New test.
8472         * testsuite/libgomp.c++/pr66702-2.C: New test.
8474 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8476         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8477         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8478         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8479         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8481 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8483         PR tree-optimization/66652
8484         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8485         using restrict pointers.
8486         (main): Add arguments to calls to f.
8487         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8489 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
8491         * configure.ac: Fix check for header <sys/sysctl.h>.
8492         * configure: Regenerate.
8493         * config.h.in: Likewise.
8495 2015-06-23  Tom de Vries  <tom@codesourcery.com>
8497         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8498         abort.
8499         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8501 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
8503         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8504         acc_device_nvidia.
8506         PR libgomp/66518
8507         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8508         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8510 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8512         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
8513         dg-additional-options for any remaining options.
8514         * testsuite/libgomp.c/atomic-2.c: Same.
8515         * testsuite/libgomp.c/atomic-4.c: Same.
8516         * testsuite/libgomp.c/atomic-5.c: Same.
8517         * testsuite/libgomp.c/atomic-6.c: Same.
8518         * testsuite/libgomp.c/autopar-1.c: Same.
8519         * testsuite/libgomp.c/copyin-1.c: Same.
8520         * testsuite/libgomp.c/copyin-2.c: Same.
8521         * testsuite/libgomp.c/copyin-3.c: Same.
8522         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8523         * testsuite/libgomp.c/nestedfn-5.c: Same.
8524         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8525         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8526         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8527         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8528         * testsuite/libgomp.c/pr32362-1.c: Same.
8529         * testsuite/libgomp.c/pr32362-2.c: Same.
8530         * testsuite/libgomp.c/pr32362-3.c: Same.
8531         * testsuite/libgomp.c/pr39591-1.c: Same.
8532         * testsuite/libgomp.c/pr39591-2.c: Same.
8533         * testsuite/libgomp.c/pr39591-3.c: Same.
8534         * testsuite/libgomp.c/pr58392.c: Same.
8535         * testsuite/libgomp.c/pr58756.c: Same.
8536         * testsuite/libgomp.c/simd-1.c: Same.
8537         * testsuite/libgomp.c/simd-10.c: Same.
8538         * testsuite/libgomp.c/simd-11.c: Same.
8539         * testsuite/libgomp.c/simd-12.c: Same.
8540         * testsuite/libgomp.c/simd-13.c: Same.
8541         * testsuite/libgomp.c/simd-14.c: Same.
8542         * testsuite/libgomp.c/simd-15.c: Same.
8543         * testsuite/libgomp.c/simd-2.c: Same.
8544         * testsuite/libgomp.c/simd-3.c: Same.
8545         * testsuite/libgomp.c/simd-4.c: Same.
8546         * testsuite/libgomp.c/simd-5.c: Same.
8547         * testsuite/libgomp.c/simd-6.c: Same.
8548         * testsuite/libgomp.c/simd-7.c: Same.
8549         * testsuite/libgomp.c/simd-8.c: Same.
8550         * testsuite/libgomp.c/simd-9.c: Same.
8552 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8554         * testsuite/libgomp.c/pr35625.c: Fix typo.
8556 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8558         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8559         in dg-options.
8560         * testsuite/libgomp.c/atomic-3.c: Same.
8561         * testsuite/libgomp.c/debug-1.c: Same.
8562         * testsuite/libgomp.c/nqueens-1.c: Same.
8563         * testsuite/libgomp.c/pr26171.c: Same.
8564         * testsuite/libgomp.c/pr48591.c: Same.
8565         * testsuite/libgomp.c/pr64824.c: Same.
8566         * testsuite/libgomp.c/pr64868.c: Same.
8567         * testsuite/libgomp.c/pr66133.c: Same.
8568         * testsuite/libgomp.c/pr66199-1.c: Same.
8569         * testsuite/libgomp.c/pr66199-2.c: Same.
8570         * testsuite/libgomp.c/target-8.c: Same.
8572 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8574         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8575         -std={gnu99,c99}.
8576         * testsuite/libgomp.c/for-1.c: Same.
8577         * testsuite/libgomp.c/for-2.c: Same.
8578         * testsuite/libgomp.c/for-3.c: Same.
8579         * testsuite/libgomp.c/pr35625.c: Same.
8580         * testsuite/libgomp.c/pr39154.c: Same.
8581         * testsuite/libgomp.c/simd-16.c: Same.
8582         * testsuite/libgomp.c/simd-17.c: Same.
8584 2015-06-13  Tom de Vries  <tom@codesourcery.com>
8586         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8588 2015-06-13  Tom de Vries  <tom@codesourcery.com>
8590         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8591         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8592         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8593         (N): Define.
8594         (main): Use N instead of hardcoded constants.
8596 2015-06-05  Tom de Vries  <tom@codesourcery.com>
8598         merge from gomp4 branch:
8599         2015-05-28  Tom de Vries  <tom@codesourcery.com>
8601         PR tree-optimization/65443
8602         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8603         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8604         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8606 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8608         * testsuite/libgomp.graphite/bounds.c: Adjust for
8609         cleanup-tree-dump removal.
8610         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8611         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8612         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8613         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8614         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8615         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8616         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8617         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8618         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8619         * testsuite/libgomp.graphite/pr41118.c: Likewise.
8621 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
8623         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8624         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8625         (futex_wake) [!__x86_64__]: Ditto.
8627 2015-05-28  Julian Brown  <julian@codesourcery.com>
8629         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8630         function comment. Only call gomp_fatal if new argument is true.
8631         (acc_dev_num_out_of_range): New function.
8632         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8633         acc_dev_num_out_of_range as appropriate.
8634         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8635         (acc_get_device_num, acc_set_device_num): Update calls to
8636         resolve_device.
8637         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8638         output.
8640 2015-05-28  Julian Brown  <julian@codesourcery.com>
8642         PR libgomp/65742
8643         * oacc-init.c (plugin/plugin-host.h): Include.
8644         (acc_on_device): Check whether we're in an offloaded region for
8645         host_nonshm
8646         plugin. Don't use __builtin_acc_on_device.
8647         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8648         nonshm_exec flag in thread-local data.
8649         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8650         data for host_nonshm plugin.
8651         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8652         for host_nonshm plugin.
8653         * plugin/plugin-host.h: New.
8655 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8657         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8659 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8661         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8662         Declare as int.
8663         (FUTEX_PRIVATE_FLAG): Remove L suffix.
8664         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8665         Declare as int.
8667 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8669         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
8671 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
8673         * target.c (gomp_map_pointer): New function abstracting out
8674         GOMP_MAP_POINTER handling.
8675         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8676         gomp_map_pointer().
8678 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
8680         PR middle-end/66199
8681         * testsuite/libgomp.c/pr66199-1.c: New test.
8682         * testsuite/libgomp.c/pr66199-2.c: New test.
8683         * testsuite/libgomp.c++/pr66199-1.C: New test.
8684         * testsuite/libgomp.c++/pr66199-2.C: New test.
8685         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8686         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8688 2015-05-19  Julian Brown  <julian@codesourcery.com>
8690         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8691         on cuInit failure.
8693 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
8695         PR middle-end/66133
8696         * testsuite/libgomp.c/pr66133.c: New test.
8698 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
8700         * Makefile.in: Regenerated with automake-1.11.6.
8701         * aclocal.m4: Likewise.
8702         * config.h.in: Likewise.
8703         * configure: Likewise.
8704         * testsuite/Makefile.in: Likewise.
8706 2015-05-08  Jason Merrill  <jason@redhat.com>
8708         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8709         _Complex.
8711         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8713 2015-05-06  Julian Brown  <julian@codesourcery.com>
8715         * oacc-init.c (acc_device_lock): Add explanatory comment.
8716         (resolve_device): Add comment about locking requirement.
8717         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8718         gomp_init_device and gomp_fini_device calls.
8719         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8720         (acc_get_device_num, acc_set_device_num): Add locking around
8721         resolve_device and gomp_init_device calls.
8723 2015-05-06  Julian Brown  <julian@codesourcery.com>
8725         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8726         goacc_thread_lock on error paths.
8727         * oacc-mem.c (lookup_host): Remove locking from function. Note
8728         locking requirement for caller in function comment.
8729         (lookup_dev): Likewise.
8730         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8731         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8732         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8733         Add locking.
8735 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
8737         PR testsuite/65205
8738         PR libgomp/65993
8739         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8740         don't expect "0x" prefix for "%p" format specifier, don't expect
8741         "(nil)" for NULL pointer.
8742         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8743         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8744         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8745         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8746         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8747         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8748         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8749         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8750         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8751         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8752         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8753         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8754         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8755         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8756         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8757         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8758         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8759         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8760         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8761         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8762         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8763         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8764         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8765         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8766         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8767         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8768         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8769         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8770         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8771         accurately specify what we're looking for.
8772         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8773         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8774         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8775         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8776         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8778 2015-04-30  James Norris  <jnorris@codesourcery.com>
8780         PR testsuite/65205
8781         * testsuite/lib/libgomp.exp
8782         (check_effective_target_openacc_host_selected)
8783         (check_effective_target_openacc_host_nonshm_selected): New
8784         procedures.
8785         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8786         dg-shouldfail.
8787         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8788         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8789         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8790         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8791         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8792         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8793         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8794         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8795         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8796         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8797         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8798         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8799         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8800         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8801         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8802         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8803         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8804         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8805         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8806         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8807         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8808         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8809         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8810         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8811         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8812         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8813         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8814         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8815         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8816         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8817         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8818         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8819         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8820         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8821         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8822         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8823         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8824         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8825         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8826         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8827         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8828         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8829         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8831 2015-04-08  Julian Brown  <julian@codesourcery.com>
8833         * libgomp.h (target_mem_desc: Remove mem_map field.
8834         (acc_dispatch_t): Remove open_device_func, close_device_func,
8835         get_device_num_func, set_device_num_func, target_data members.
8836         Change create_thread_data_func argument to device number instead of
8837         generic pointer.
8838         * oacc-async.c (assert.h): Include.
8839         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8840         (acc_wait_all, acc_wait_all_async): Use current host thread's
8841         active device, not base_dev.
8842         * oacc-cuda.c (acc_get_current_cuda_device)
8843         (acc_get_current_cuda_context, acc_get_cuda_stream)
8844         (acc_set_cuda_stream): Likewise.
8845         * oacc-host.c (host_dispatch): Don't set open_device_func,
8846         close_device_func, get_device_num_func or set_device_num_func.
8847         * oacc-init.c (base_dev, init_key): Remove.
8848         (cached_base_dev): New.
8849         (name_of_acc_device_t): New.
8850         (acc_init_1): Initialise default-numbered device, not zeroth.
8851         (acc_shutdown_1): Close all devices of a given type.
8852         (goacc_destroy_thread): Don't use base_dev.
8853         (lazy_open, lazy_init, lazy_init_and_open): Remove.
8854         (goacc_attach_host_thread_to_device): New.
8855         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8856         (acc_get_num_devices): Don't use base_dev.
8857         (acc_set_device_type): Reimplement.
8858         (acc_get_device_type): Don't use base_dev.
8859         (acc_get_device_num): Tweak logic.
8860         (acc_set_device_num): Likewise.
8861         (acc_on_device): Use acc_get_device_type.
8862         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8863         (goacc_lazy_initialize): Reimplement with acc_init and
8864         goacc_attach_host_thread_to_device.
8865         * oacc-int.h (goacc_thread): Add base_dev field.
8866         (base_dev): Remove extern declaration.
8867         (goacc_attach_host_thread_to_device): Add prototype.
8868         * oacc-mem.c (acc_malloc): Use current thread's device instead of
8869         base_dev.
8870         (acc_free): Likewise.
8871         (acc_memcpy_to_device): Likewise.
8872         (acc_memcpy_from_device): Likewise.
8873         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8874         goacc_lazy_initialize (throughout).
8875         (GOACC_parallel): Use tgt_offset to locate target functions.
8876         * target.c (gomp_map_vars): Don't set tgt->mem_map.
8877         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8878         (gomp_load_plugin_for_device): Remove open_device, close_device,
8879         get_device_num, set_device_num openacc hook initialisation. Don't set
8880         openacc.target_data.
8881         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8882         (GOMP_OFFLOAD_openacc_close_device)
8883         (GOMP_OFFLOAD_openacc_get_device_num)
8884         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8885         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8886         to int.
8887         * plugin/plugin-nvptx.c (ptx_inited): Remove.
8888         (instantiated_devices, ptx_dev_lock): New.
8889         (struct ptx_image_data): New.
8890         (ptx_devices, ptx_images, ptx_image_lock): New.
8891         (fini_streams_for_device): Reorder cuStreamDestroy call.
8892         (nvptx_get_num_devices): Remove forward declaration.
8893         (nvptx_init): Change return type to bool.
8894         (nvptx_fini): Remove.
8895         (nvptx_attach_host_thread_to_device): New.
8896         (nvptx_open_device): Return struct ptx_device* instead of void*.
8897         (nvptx_close_device): Change argument type to struct ptx_device*,
8898         return type to void.
8899         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8900         (kernel_target_data, kernel_host_table): Remove static globals.
8901         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8902         (GOMP_OFFLOAD_init_device): Reimplement.
8903         (GOMP_OFFLOAD_fini_device): Likewise.
8904         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8905         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8906         (GOMP_OFFLOAD_host2dev): Use ORD argument.
8907         (GOMP_OFFLOAD_openacc_open_device)
8908         (GOMP_OFFLOAD_openacc_close_device)
8909         (GOMP_OFFLOAD_openacc_set_device_num)
8910         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8911         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8912         (device number).
8914         testsuite/
8915         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8917 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
8919         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8920         * libgomp.h (struct gomp_memory_mapping): Remove.
8921         (struct target_mem_desc): Change type of mem_map from
8922         gomp_memory_mapping * to splay_tree_s *.
8923         (struct gomp_device_descr): Remove register_image_func, get_table_func.
8924         Add load_image_func, unload_image_func.
8925         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8926         Remove offload_regions_registered.
8927         (gomp_init_tables): Remove.
8928         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8929         to splay_tree_s *.
8930         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8931         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8932         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8933         offload_regions_registered.
8934         Initialize load_image_func, unload_image_func, mem_map.root.
8935         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8936         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8937         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8938         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8939         gomp_memory_mapping *.  Use dev's lock and splay_tree.
8940         (lookup_dev): Use dev's lock.
8941         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8942         (acc_is_present): Likewise.
8943         (acc_map_data): Likewise.
8944         (acc_unmap_data): Likewise.  Use dev's lock.
8945         (present_create_copy): Likewise.
8946         (delete_copyout): Pass dev to lookup_host instead of mem_map.
8947         (update_dev_host): Likewise.
8948         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
8949         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8950         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8951         (GOMP_OFFLOAD_get_table): Remove
8952         (GOMP_OFFLOAD_load_image): New function.
8953         (GOMP_OFFLOAD_unload_image): New function.
8954         * target.c (register_lock): New mutex for offload image registration.
8955         (num_devices): Do not guard with PLUGIN_SUPPORT.
8956         (gomp_realloc_unlock): New static function.
8957         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
8958         before gomp_fatal.
8959         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8960         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
8961         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8962         mem_map's.
8963         (gomp_unmap_vars): Likewise.
8964         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
8965         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
8966         (gomp_offload_image_to_device): New static function.
8967         (GOMP_offload_register): Add mutex lock.
8968         Call gomp_offload_image_to_device for all initialized devices.
8969         Replace gomp_realloc with gomp_realloc_unlock.
8970         (GOMP_offload_unregister): New function.
8971         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
8972         get_table_func from the plugin with calls to init_device_func and
8973         gomp_offload_image_to_device.
8974         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8975         to splay_tree_s *.
8976         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
8977         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
8978         (GOMP_target_data): Do not call gomp_init_tables.
8979         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
8980         (gomp_load_plugin_for_device): Replace register_image and get_table
8981         with load_image and unload_image in DLSYM ().
8982         (gomp_register_images_for_device): Remove function.
8983         (gomp_target_init): Do not initialize current_device.mem_map.*,
8984         current_device.offload_regions_registered.
8985         Remove call to gomp_register_images_for_device.
8986         Do not free offload_images and num_offload_images.
8988 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
8990         PR fortran/65597
8991         * testsuite/libgomp.fortran/pr65597.f90: New test.
8993 2015-03-27  Tom de Vries  <tom@codesourcery.com>
8995         PR testsuite/65594
8996         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8997         (init, check): New function.
8998         (foo): Change return type to void.
8999         (main): Call init and check.
9001 2015-03-27  Tom de Vries  <tom@codesourcery.com>
9003         PR testsuite/65594
9004         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9005         (foo): Use M for non-inner loops to scale down test-case.
9007 2015-03-25  Kai Tietz  <ktietz@redhat.com>
9009         PR libgomp/64972
9010         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9011         (GOACC_data_start): Likewise.
9012         * target.c (gomp_map_vars): Likewise.
9014 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
9016         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9017         hppa*-*-hpux*.
9019 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
9021         * testsuite/libgomp.c/target-10.c: New test.
9022         * testsuite/libgomp.c++/target-4.C: New test.
9024 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
9026         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9027         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9029 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9031         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9032         * configure.ac (*-*-rtems*): Assume Pthread is supported.
9033         (pthread.h): Check for this header file.
9034         * configure: Regenerate.
9036 2015-02-25  Tom de Vries  <tom@codesourcery.com>
9038         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9039         (check_reduction_op, check_reduction_macro, max, min):
9040         Declare.
9041         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9042         function.
9043         (main): Use new functions.
9045 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
9047         * target.c (gomp_load_plugin_for_device): Use const char * instead of
9048         char * for variables holding dlerror return values.
9049         (DLSYM_OPT): Ditto.
9051 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9053         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9055 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9056             Cesar Philippidis  <cesar@codesourcery.com>
9058         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9059         GOACC_ctaid, and GOACC_nctaid routines.
9061 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
9063         PR c/64824
9064         * testsuite/libgomp.c/atomic-18.c: New test.
9065         * testsuite/libgomp.c++/atomic-16.C: New test.
9067 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
9069         PR c/64824
9070         PR c/64868
9071         * testsuite/libgomp.c/pr64824.c: New test.
9072         * testsuite/libgomp.c/pr64868.c: New test.
9073         * testsuite/libgomp.c++/pr64824.C: New test.
9074         * testsuite/libgomp.c++/pr64868.C: New test.
9076 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
9078         PR libgomp/64635
9079         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9080         Link with -lpthread.
9081         * config/aix/plugin-suffix.h: Delete.
9083 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
9085         PR libgomp/64635
9086         * configure.tgt (*-*-aix*): Use config_path "aix posix".
9087         (*-*-darwin*): Use config_path "bsd darwin posix".
9088         (*-*-hpux*): Use config_path "hpux posix".
9089         * target.c: Add include of plugin-suffix.h and use
9090         SONAME_SUFFIX macro.
9091         * config/aix/plugin-suffix.h: New file.
9092         * config/darwin/plugin-suffix.h: New file.
9093         * config/hpux/plugin-suffix.h: New file.
9094         * config/posix/plugin-suffix.h: New file.
9096 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
9098         PR middle-end/64734
9099         * libgomp.c/pr64734.c: New test.
9101 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9103         PR libgomp/64672
9104         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9106 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9108         PR libgomp/64707
9109         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9110         dg-options.
9112 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
9114         PR libgomp/64625
9115         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9116         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9117         formal parameter.  Update all users.
9118         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9119         Document unused formal parameter.
9121 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
9123         * oacc-parallel.c: Don't include <alloca.h>.
9124         (GOACC_parallel): Use gomp_alloca instead of alloca.
9126 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
9128         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9130 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
9131             James Norris  <jnorris@codesourcery.com>
9132             Tom de Vries  <tom@codesourcery.com>
9133             Julian Brown  <julian@codesourcery.com>
9134             Cesar Philippidis  <cesar@codesourcery.com>
9135             Nathan Sidwell  <nathan@codesourcery.com>
9136             Tobias Burnus  <burnus@net-b.de>
9138         * Makefile.am (search_path): Add $(top_srcdir)/../include.
9139         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9140         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9141         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9142         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9143         Include $(top_srcdir)/plugin/Makefrag.am.
9144         (nodist_libsubinclude_HEADERS): Add openacc.h.
9145         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9146         openacc.f90, openacc.mod, openacc_kinds.mod.
9147         (omp_lib.mod): Generalize into...
9148         (%.mod): ... this new rule.
9149         (openacc_kinds.mod, openacc.mod): New rules.
9150         * plugin/configfrag.ac: New file.
9151         * configure.ac: Move plugin/offloading support into it.  Include
9152         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
9153         * plugin/Makefrag.am: New file.
9154         * testsuite/Makefile.am (OFFLOAD_TARGETS)
9155         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9156         export.
9157         (libgomp-test-support.exp): New rule.
9158         (all-local): Depend on it.
9159         * Makefile.in: Regenerate.
9160         * testsuite/Makefile.in: Regenerate.
9161         * config.h.in: Likewise.
9162         * configure: Likewise.
9163         * configure.tgt: Harden shell syntax.
9164         * env.c: Include "oacc-int.h".
9165         (parse_acc_device_type): New function.
9166         (gomp_debug_var, goacc_device_type, goacc_device_num): New
9167         variables.
9168         (initialize_env): Initialize those.  Call
9169         goacc_runtime_initialize.
9170         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9171         (gomp_fatal): Call gomp_vfatal.
9172         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9173         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9174         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9175         (splay_tree_node, splay_tree, splay_tree_key)
9176         (struct target_mem_desc, struct splay_tree_key_s)
9177         (struct gomp_memory_mapping, struct acc_dispatch_t)
9178         (struct gomp_device_descr, gomp_acc_insert_pointer)
9179         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9180         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9181         (gomp_free_memmap, gomp_fini_device): New declarations.
9182         (gomp_vdebug, gomp_debug): New macros.
9183         Include "splay-tree.h".
9184         * libgomp.map (OACC_2.0): New symbol version.  Use for
9185         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9186         acc_set_device_type_h_, acc_get_device_type,
9187         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9188         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9189         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9190         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9191         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9192         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9193         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9194         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9195         acc_copyin_array_h_, acc_present_or_copyin,
9196         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9197         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9198         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9199         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9200         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9201         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9202         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9203         acc_update_device, acc_update_device_32_h_,
9204         acc_update_device_64_h_, acc_update_device_array_h_,
9205         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9206         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9207         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9208         acc_is_present_64_h_, acc_is_present_array_h_,
9209         acc_memcpy_to_device, acc_memcpy_from_device,
9210         acc_get_current_cuda_device, acc_get_current_cuda_context,
9211         acc_get_cuda_stream, acc_set_cuda_stream.
9212         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
9213         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9214         GOACC_update, GOACC_wait, GOACC_get_thread_num,
9215         GOACC_get_num_threads.
9216         (GOMP_PLUGIN_1.0): New symbol version.  Use for
9217         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9218         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9219         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9220         GOMP_PLUGIN_acc_thread.
9221         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9222         environment variable.
9223         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9224         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9225         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9226         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9227         (splay_tree_remove): New declarations.
9228         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9229         (splay_tree_remove, splay_tree_lookup): Move into...
9230         * splay-tree.c: ... this new file.
9231         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9232         (splay_tree_node, splay_tree, splay_tree_key)
9233         (struct target_mem_desc, struct splay_tree_key_s)
9234         (struct gomp_device_descr): Don't declare.
9235         (num_devices_openmp): New variable.
9236         (gomp_get_num_devices ): Use it.
9237         (gomp_init_targets_once): New function.
9238         (gomp_get_num_devices ): Use it.
9239         (get_kind, gomp_copy_from_async, gomp_free_memmap)
9240         (gomp_fini_device, gomp_register_image_for_device): New functions.
9241         (gomp_map_vars): Add devaddrs parameter.
9242         (gomp_update): Add mm parameter.
9243         (gomp_init_device): Move most of it into...
9244         (gomp_init_tables): ... this new function.
9245         (gomp_register_images_for_device): Remove function.
9246         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9247         Make them hidden instead of static.
9248         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9249         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9250         (GOMP_target_end_data, GOMP_target_update)
9251         (gomp_load_plugin_for_device, gomp_target_init): Update for
9252         OpenACC changes.
9253         * oacc-async.c: New file.
9254         * oacc-cuda.c: Likewise.
9255         * oacc-host.c: Likewise.
9256         * oacc-init.c: Likewise.
9257         * oacc-int.h: Likewise.
9258         * oacc-mem.c: Likewise.
9259         * oacc-parallel.c: Likewise.
9260         * oacc-plugin.c: Likewise.
9261         * oacc-plugin.h: Likewise.
9262         * oacc-ptx.h: Likewise.
9263         * openacc.f90: Likewise.
9264         * openacc.h: Likewise.
9265         * openacc_lib.h: Likewise.
9266         * plugin/plugin-host.c: Likewise.
9267         * plugin/plugin-nvptx.c: Likewise.
9268         * libgomp-plugin.c: Likewise.
9269         * libgomp-plugin.h: Likewise.
9270         * libgomp_target.h: Remove file after merging content into the
9271         former file.  Update all users.
9272         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9273         (offload_targets_s, offload_targets_s_openacc): New variables.
9274         (check_effective_target_openacc_nvidia_accel_present)
9275         (check_effective_target_openacc_nvidia_accel_selected): New
9276         procedures.
9277         (libgomp_init): Update for OpenACC changes.
9278         * testsuite/libgomp-test-support.exp.in: New file.
9279         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9280         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9281         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9282         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9283         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9284         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9285         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9286         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9287         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9288         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9289         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9290         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9291         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9292         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9293         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9294         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9295         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9296         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9297         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9298         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9299         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9300         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9301         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9302         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9303         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9304         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9305         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9306         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9307         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9308         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9309         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9310         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9311         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9312         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9313         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9314         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9315         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9316         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9317         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9318         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9319         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9320         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9321         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9322         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9323         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9324         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9325         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9326         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9327         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9328         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9329         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9330         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9331         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9332         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9333         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9334         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9335         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9336         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9337         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9338         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9339         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9340         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9341         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9342         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9343         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9344         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9345         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9346         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9347         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9348         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9349         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9350         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9351         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9352         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9353         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9354         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9355         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9356         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9357         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9358         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9359         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9360         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9361         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9362         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9363         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9364         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9365         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9366         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9367         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9368         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9369         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9370         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9371         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9372         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9373         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9374         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9375         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9376         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9377         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9378         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9379         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9380         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9381         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9382         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9383         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9384         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9385         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9386         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9387         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9388         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9389         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9390         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9391         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9392         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9393         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9394         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9395         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9396         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9397         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9398         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9399         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9400         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9401         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9402         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9403         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9404         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9405         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9406         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9407         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9408         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9409         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9410         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9411         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9412         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9413         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9414         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9415         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9416         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9417         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9418         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9419         Likewise.
9420         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9421         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9422         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9423         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9424         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9425         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9426         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9427         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9428         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9429         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9430         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9431         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9432         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9433         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9434         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9435         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9436         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9437         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9438         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9439         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9440         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9441         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9442         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9443         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9444         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9445         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9446         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9447         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9448         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9449         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9450         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9451         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9452         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9453         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9454         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9455         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9456         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9457         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9458         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9459         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9460         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9461         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9462         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9463         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9464         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9465         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9466         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9467         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9468         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9469         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9470         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9471         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9472         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9473         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9474         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9475         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9476         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9477         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9478         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9479         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9481 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
9482             Julian Brown  <julian@codesourcery.com>
9483             David Malcolm  <dmalcolm@redhat.com>
9485         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9486         to "GNU Offloading and Multi Processing Runtime Library".  Change
9487         all users.
9488         * configure: Regenerate.
9489         * libgomp.texi: Update.
9491 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
9493         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9494         "$tgt_dir/lib32".
9495         * configure: Regenerate.
9497         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9498         "intelmic" in $offload_targets.
9500 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
9502         Update copyright years.
9504         * libgomp.texi: Bump @copying's copyright year.
9506 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9508         * testsuite/lib/libgomp.exp: Load target-utils.exp.
9509         Move load of target-supports.exp earlier.
9511 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
9513         * testsuite/libgomp.c/target-9.c: New test.
9515 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
9517         * config.h.in: Regenerate.
9518         * configure: Regenerate.
9519         * configure.ac: Add GCC_CHECK_EMUTLS.
9520         * libgomp.h: Add check for USE_EMUTLS: this case
9521         is equal to HAVE_TLS.
9522         * team.c: Likewise.
9524 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
9526         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9528 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9529             Ilya Verbin  <ilya.verbin@intel.com>
9531         * testsuite/libgomp.c/target-critical-1.c: New test.
9533 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
9535         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9536         to dg-options unless expensive testing is on.
9537         (TESTITERS): Define to N if not defined.
9538         (main): Use TESTITERS instead of N.
9539         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9540         dg-additional-options depending on whether expensive testing is on.
9541         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9542         Decrease N to 100000 and CHUNKSZ to 10000.
9544 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
9546         PR fortran/63938
9547         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9548         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
9550 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
9552         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9554 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
9556         PR bootstrap/63784
9557         * configure: Regenerated.
9559 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
9561         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9562         vect_simd_clones effective target.
9563         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9565 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
9567         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9568         of 32 as block_size.
9569         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9570         instead of 32 as block_size.
9572 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9573             Ilya Verbin  <ilya.verbin@intel.com>
9575         * Makefile.in: Regenerate.
9576         * configure: Regenerate.
9577         * configure.ac: Set up offload_additional_options,
9578         offload_additional_lib_paths and offload_targets.
9579         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9580         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9581         * testsuite/Makefile.in: Regenerate.
9582         * testsuite/lib/libgomp.exp (libgomp_init): Append
9583         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
9584         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
9585         build directory to LD_LIBRARY_PATH for intelmic offload targets.
9587 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9588             Ilya Verbin  <ilya.verbin@intel.com>
9589             Kirill Yukhin  <kirill.yukhin@intel.com>
9590             Ilya Tocar  <ilya.tocar@intel.com>
9592         * testsuite/lib/libgomp.exp
9593         (check_effective_target_offload_device): New.
9594         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9595         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9596         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9597         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9598         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9599         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9600         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9601         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9602         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9603         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9604         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9605         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9606         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9607         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9608         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9609         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9610         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9611         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9612         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9613         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9614         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9615         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9616         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9617         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9618         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9619         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9620         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9621         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9622         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9623         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9624         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9625         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9626         * testsuite/libgomp.c/target-7.c: Fix test.
9627         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9628         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9629         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9630         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9631         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9632         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9633         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9634         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9635         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9636         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9637         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9638         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9639         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9640         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9641         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9642         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9643         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9644         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9645         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9646         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9647         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9648         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9649         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9650         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9651         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9652         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9653         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9654         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9655         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9656         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9657         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9659 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
9660             Ilya Verbin  <ilya.verbin@intel.com>
9661             Thomas Schwinge  <thomas@codesourcery.com>
9662             Andrey Turetskiy  <andrey.turetskiy@intel.com>
9664         * libgomp.map (GOMP_4.0.1): New symbol version.
9665         Add GOMP_offload_register.
9666         * libgomp_target.h: New file.
9667         * splay-tree.h: New file.
9668         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9669         (gomp_target_init): New forward declaration.
9670         (gomp_is_initialized): New static variable.
9671         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9672         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9673         New structures.
9674         (offload_images, num_offload_images, devices, num_devices): New static
9675         variables.
9676         (splay_compare): New static function.
9677         (struct gomp_device_descr): New structure.
9678         (gomp_get_num_devices): Call gomp_target_init.
9679         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9680         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9681         (GOMP_offload_register): New function.
9682         (GOMP_target): Arrange for host callback to be performed in a separate
9683         initial thread and contention group, inheriting ICVs from
9684         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
9685         Add device initialization and lookup for target function in splay tree.
9686         (GOMP_target_data): Add device initialization and call gomp_map_vars.
9687         (GOMP_target_end_data): Call gomp_unmap_vars.
9688         (GOMP_target_update): Add device initialization and call gomp_update.
9689         (gomp_load_plugin_for_device, gomp_register_images_for_device)
9690         (gomp_target_init): New static functions.
9692 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
9693             Thomas Schwinge  <thomas@codesourcery.com>
9694             Ilya Verbin  <ilya.verbin@intel.com>
9695             Andrey Turetskiy  <andrey.turetskiy@intel.com>
9697         * config.h.in: Regenerate.
9698         * configure: Regenerate.
9699         * configure.ac: Check for libdl, required for plugin support.
9700         (PLUGIN_SUPPORT): Define if plugins are supported.
9701         (enable_offload_targets): Support Intel MIC targets.
9702         (OFFLOAD_TARGETS): List of target names suitable for offloading.
9704 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9706         PR target/63610
9707         * configure: Regenerate.
9709 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9711         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9713 2014-10-06  Marek Polacek  <polacek@redhat.com>
9715         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9716         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9717         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9718         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9720 2014-10-06  Marek Polacek  <polacek@redhat.com>
9722         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9723         * testsuite/libgomp.c/nqueens-1.c: Likewise.
9724         * testsuite/libgomp.c/pr26943-3.c: Likewise.
9725         * testsuite/libgomp.c/pr26943-4.c: Likewise.
9726         * testsuite/libgomp.c/pr36802-2.c: Likewise.
9727         * testsuite/libgomp.c/pr36802-3.c: Likewise.
9728         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9729         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9730         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9731         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9732         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9733         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9734         * testsuite/libgomp.c/omp-single-1.c: Likewise.
9735         * testsuite/libgomp.c/omp-single-2.c: Likewise.
9736         * testsuite/libgomp.c/omp_matvec.c: Likewise.
9737         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9738         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9739         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
9740         declarations.
9742 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
9744         PR libgomp/61200
9745         * testsuite/libgomp.c/pr61200.c: New test.
9747 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
9749         PR c++/63248
9750         * testsuite/libgomp.c++/pr63248.C: New test.
9752 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
9754         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9755         is not zero, but taskgroup->children is NULL and there are
9756         any task->children, schedule those instead of waiting.
9757         * testsuite/libgomp.c/depend-6.c: New test.
9758         * testsuite/libgomp.c/depend-7.c: New test.
9759         * testsuite/libgomp.c/depend-8.c: New test.
9760         * testsuite/libgomp.c/depend-9.c: New test.
9761         * testsuite/libgomp.c/depend-10.c: New test.
9763 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
9765         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9766         (struct gomp_taskwait): New type.
9767         (struct gomp_task): Add taskwait and parent_depends_on, remove
9768         in_taskwait and taskwait_sem fields.
9769         (gomp_finish_task): Don't destroy taskwait_sem.
9770         * task.c (gomp_init_task): Don't init in_taskwait, instead init
9771         taskwait and parent_depends_on.
9772         (GOMP_task): For if (0) tasks with depend clause that depend on
9773         earlier tasks don't defer them, instead call
9774         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9775         Initialize redundant_out field, for redundant out entries just
9776         move them at the end of linked list instead of removing them
9777         completely, and set redundant_out flag instead of redundant.
9778         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9779         that task.
9780         (gomp_task_run_post_handle_dependers): If parent is in
9781         gomp_task_maybe_wait_for_dependencies and newly runnable task
9782         is not parent_depends_on, queue it in parent->children linked
9783         list after all runnable tasks with parent_depends_on set.
9784         Adjust for addition of taskwait indirection.
9785         (gomp_task_run_post_remove_parent): If parent is in
9786         gomp_task_maybe_wait_for_dependencies and task to be removed
9787         is parent_depends_on, decrement n_depend and if needed awake
9788         parent.  Adjust for addition of taskwait indirection.
9789         (GOMP_taskwait): Adjust for addition of taskwait indirection.
9790         (gomp_task_maybe_wait_for_dependencies): New function.
9791         * testsuite/libgomp.c/depend-5.c: New test.
9793 2014-07-13  Tobias Burnus  <burnus@net-b.de>
9795         * testsuite/libgomp.fortran/pr34020.f90: Make compile
9796         with TS 18508/Fortran 2015.
9798 2014-07-06  Marek Polacek  <polacek@redhat.com>
9800         PR c/6940
9801         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9803 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
9805         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9806         matches regex $lang_source_re, add $lang_include_flags to options.
9807         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9808         * testsuite/libgomp.c++/c++.exp: Likewise.
9809         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
9810         and lang_include_flags instead of adding -fintrinsic-modules-path= to
9811         ALWAYS_CFLAGS.
9812         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9814 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
9816         * testsuite/libgomp.fortran/fortran.exp: Explain
9817         gfortran-dg-runtest usage.
9819 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
9821         * testsuite/libgomp.fortran/simd5.f90: New test.
9822         * testsuite/libgomp.fortran/simd6.f90: New test.
9823         * testsuite/libgomp.fortran/simd7.f90: New test.
9825 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
9827         * testsuite/libgomp.c/for-2.c: Define SC to static for
9828         #pragma omp for simd testing.
9829         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9830         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9831         SC macro.
9832         * testsuite/libgomp.c/simd-14.c: New test.
9833         * testsuite/libgomp.c/simd-15.c: New test.
9834         * testsuite/libgomp.c/simd-16.c: New test.
9835         * testsuite/libgomp.c/simd-17.c: New test.
9836         * testsuite/libgomp.c++/for-10.C: Define SC to static for
9837         #pragma omp for simd testing.
9838         * testsuite/libgomp.c++/simd10.C: New test.
9839         * testsuite/libgomp.c++/simd11.C: New test.
9840         * testsuite/libgomp.c++/simd12.C: New test.
9841         * testsuite/libgomp.c++/simd13.C: New test.
9843         * testsuite/libgomp.fortran/aligned1.f03: New test.
9844         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9845         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9846         tasks with !$omp parallel !$omp single.
9847         * testsuite/libgomp.fortran/target8.f90: New test.
9848         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9849         not to use trim in the combiner, instead call elemental function.
9850         (fn): New elemental function.
9851         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9852         Make elemental.
9853         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9854         omp_in): Likewise.
9855         * testsuite/libgomp.fortran/udr12.f90: New test.
9856         * testsuite/libgomp.fortran/udr13.f90: New test.
9857         * testsuite/libgomp.fortran/udr14.f90: New test.
9858         * testsuite/libgomp.fortran/udr15.f90: New test.
9860 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
9862         * omp_lib.f90.in (openmp_version): Set to 201307.
9863         * omp_lib.h.in (openmp_version): Likewise.
9864         * testsuite/libgomp.c/target-8.c: New test.
9865         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9866         and inbranch clauses.
9867         * testsuite/libgomp.fortran/depend-3.f90: New test.
9868         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9869         openmp_version.
9870         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9871         * testsuite/libgomp.fortran/target1.f90: New test.
9872         * testsuite/libgomp.fortran/target2.f90: New test.
9873         * testsuite/libgomp.fortran/target3.f90: New test.
9874         * testsuite/libgomp.fortran/target4.f90: New test.
9875         * testsuite/libgomp.fortran/target5.f90: New test.
9876         * testsuite/libgomp.fortran/target6.f90: New test.
9877         * testsuite/libgomp.fortran/target7.f90: New test.
9879 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
9881         PR fortran/60928
9882         * testsuite/libgomp.fortran/allocatable9.f90: New test.
9883         * testsuite/libgomp.fortran/allocatable10.f90: New test.
9884         * testsuite/libgomp.fortran/allocatable11.f90: New test.
9885         * testsuite/libgomp.fortran/allocatable12.f90: New test.
9886         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9887         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9888         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9889         * testsuite/libgomp.fortran/associate1.f90: New test.
9890         * testsuite/libgomp.fortran/associate2.f90: New test.
9891         * testsuite/libgomp.fortran/procptr1.f90: New test.
9893 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
9895         * testsuite/libgomp.fortran/simd1.f90: New test.
9896         * testsuite/libgomp.fortran/udr1.f90: New test.
9897         * testsuite/libgomp.fortran/udr2.f90: New test.
9898         * testsuite/libgomp.fortran/udr3.f90: New test.
9899         * testsuite/libgomp.fortran/udr4.f90: New test.
9900         * testsuite/libgomp.fortran/udr5.f90: New test.
9901         * testsuite/libgomp.fortran/udr6.f90: New test.
9902         * testsuite/libgomp.fortran/udr7.f90: New test.
9903         * testsuite/libgomp.fortran/udr8.f90: New test.
9904         * testsuite/libgomp.fortran/udr9.f90: New test.
9905         * testsuite/libgomp.fortran/udr10.f90: New test.
9906         * testsuite/libgomp.fortran/udr11.f90: New test.
9908 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
9910         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9911         vect_simd_clones effective target.
9912         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9914 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
9916         PR middle-end/61252
9917         * testsuite/libgomp.c++/simd-9.C: New test.
9919 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
9921         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9922         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9923         texts according to their @menu entry positions.
9925 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
9927         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9928         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9929         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9930         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9931         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9932         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9933         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9934         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9935         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9936         * testsuite/libgomp.fortran/depend-1.f90: New test.
9937         * testsuite/libgomp.fortran/depend-2.f90: New test.
9938         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9939         * testsuite/libgomp.fortran/simd1.f90: New test.
9940         * testsuite/libgomp.fortran/simd2.f90: New test.
9941         * testsuite/libgomp.fortran/simd3.f90: New test.
9942         * testsuite/libgomp.fortran/simd4.f90: New test.
9943         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9945 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
9947         * testsuite/libgomp.c/simd-10.c: New test.
9948         * testsuite/libgomp.c/simd-11.c: New test.
9949         * testsuite/libgomp.c/simd-12.c: New test.
9950         * testsuite/libgomp.c/simd-13.c: New test.
9952 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
9954         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9955         atomic type clauses in any order and optional comma in between.
9956         * testsuite/libgomp.c++/atomic-15.C: Likewise.
9957         * testsuite/libgomp.c/atomic-17.c: Likewise.
9959         * testsuite/libgomp.c/simd-7.c: New test.
9960         * testsuite/libgomp.c/simd-8.c: New test.
9961         * testsuite/libgomp.c/simd-9.c: New test.
9962         * testsuite/libgomp.c/loop-16.c: New test.
9964 2014-04-02  Richard Henderson  <rth@redhat.com>
9966         * config/linux/futex.h (futex_wait): Get error value from errno.
9967         (futex_wake): Likewise.
9969 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
9971         PR c++/60331
9972         * testsuite/libgomp.c++/udr-11.C: New test.
9973         * testsuite/libgomp.c++/udr-12.C: New test.
9974         * testsuite/libgomp.c++/udr-13.C: New test.
9975         * testsuite/libgomp.c++/udr-14.C: New test.
9976         * testsuite/libgomp.c++/udr-15.C: New test.
9977         * testsuite/libgomp.c++/udr-16.C: New test.
9978         * testsuite/libgomp.c++/udr-17.C: New test.
9979         * testsuite/libgomp.c++/udr-18.C: New test.
9980         * testsuite/libgomp.c++/udr-19.C: New test.
9982 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9984         Update copyright years
9986 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9988         * hashtab.h: Use the standard form for the copyright notice.
9990 2014-01-02  Tobias Burnus  <burnus@net-b.de>
9992         * libgomp.texi: Bump @copying's copyright year.
9994 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
9996         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9997         alloca () with __builtin_alloca ().
9998         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9999         * testsuite/libgomp.c/lock-3.c: Likewise.
10000         * testsuite/libgomp.c/pr48591.c: Likewise.
10002 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
10004         PR testsuite/59534
10005         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10006         comparisons.
10008 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
10010         PR libgomp/58756
10011         * testsuite/libgomp.c/pr58756.c: New test.
10013 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
10015         PR libgomp/59467
10016         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10017         !$omp parallel.
10019 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
10021         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10022         ALWAYS_CFLAGS.
10023         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10024         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10025         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10026         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10027         Likewise.
10029         * libgomp_g.h: Include <stddef.h> for size_t.
10031         * libgomp.spec.in: Update comment about libgomp's dependencies.
10032         * configure.ac: Likewise.
10033         * configure: Regenerate.
10035 2013-10-16  Tobias Burnus  <burnus@net-b.de>
10037         * libgomp.texi: (Runtime Library Routines): Update references for
10038         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10039         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10040         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10041         (Environment Variables): Update references for OpenMP 4.0. Add
10042         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10043         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10044         order.
10046 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
10048         * env.c (parse_bind_var): Initialize value to avoid
10049         (false positive) warning.
10051 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
10053         PR libgomp/58691
10054         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10055         to check variable.
10056         (gomp_init_num_threads): Move i variable declaration into
10057         #ifdef CPU_ALLOC_SIZE block.
10058         * config/linux/affinity.c (gomp_affinity_init_level): Test
10059         gomp_places_list_len == 0 rather than gomp_places_list == 0
10060         when checking for topology reading error.
10061         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10062         * env.c (parse_affinity): Add ignore argument, if true, don't populate
10063         gomp_places_list, only parse env var and always return false.
10064         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
10065         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10066         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10067         and either of these variables were parsed correctly into a places
10068         list.
10070 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10071             Jakub Jelinek  <jakub@redhat.com>
10073         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10074         of 5 loopfn matches.
10075         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10076         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10077         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10078         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10079         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10080         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10081         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10082         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10084 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10086         * Makefile.am (omp_lib.mod): Streamline rule.
10087         * Makefile.in: Regenerate.
10089         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10090         exceptions.
10092         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10093         * testsuite/libgomp.fortran/lib1.f90: Likewise.
10094         * testsuite/libgomp.fortran/lib2.f: Likewise.
10095         * testsuite/libgomp.fortran/lib3.f: Likewise.
10097         * configure.ac: Typo fix.
10098         * configure: Regenerate.
10100         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10101         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10103         * omp.h.in: Don't touch the user's namespace.
10105 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
10106             Tobias Burnus  <burnus@net-b.de>
10107             Richard Henderson  <rth@redhat.com>
10109         * target.c: New file.
10110         * Makefile.am (libgomp_la_SOURCES): Add target.c.
10111         * Makefile.in: Regenerated.
10112         * libgomp_g.h (GOMP_task): Add depend argument.
10113         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10114         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10115         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10116         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10117         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10118         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10119         GOMP_taskgroup_start, GOMP_taskgroup_end,
10120         GOMP_parallel_sections): New prototypes.
10121         * fortran.c (omp_is_initial_device): Add ialias_redirect.
10122         (omp_is_initial_device_): New function.
10123         (ULP, STR1, STR2, ialias_redirect): Removed.
10124         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10125         omp_set_default_device_8_, omp_get_default_device_,
10126         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10127         functions.
10128         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10129         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10130         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10131         @@GOMP_4.0.
10132         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10133         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10134         omp_set_default_device, omp_set_default_device_,
10135         omp_set_default_device_8_, omp_get_default_device,
10136         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10137         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10138         omp_get_team_num_): Export @@OMP_4.0.
10139         * team.c (struct gomp_thread_start_data): Add place field.
10140         (gomp_thread_start): Clear thr->thread_pool and
10141         thr->task before returning.  Use gomp_team_barrier_wait_final
10142         instead of gomp_team_barrier_wait.  Initialize thr->place.
10143         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10144         team_cancelled and task_queued_count fields.
10145         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10146         before calling pthread_exit.
10147         (gomp_free_thread): No longer static.  Use
10148         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10149         (gomp_team_start): Add flags argument.  Set
10150         thr->thread_pool->threads_busy to nthreads immediately after creating
10151         new pool.  Use gomp_managed_threads_lock instead of
10152         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
10153         (gomp_team_end): Use gomp_managed_threads_lock instead of
10154         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
10155         of gomp_team_barrier_wait.  If team->team_cancelled, call
10156         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
10157         rather than thr->ts.work_share.
10158         (initialize_team): Don't call gomp_sem_init here.
10159         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10160         caller.
10161         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10162         * env.c (gomp_global_icv): Add default_device_var, target_data and
10163         bind_var initializers.
10164         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10165         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10166         gomp_places_list_len): New variables.
10167         (parse_bind_var, parse_one_place, parse_places_var): New functions.
10168         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10169         sized places.
10170         (gomp_cancel_var): New global variable.
10171         (parse_int): New function.
10172         (handle_omp_display_env): New function.
10173         (initialize_env): Use it.  Initialize default_device_var.
10174         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
10175         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
10176         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
10177         been successfully parsed (and call gomp_init_affinity in that case).
10178         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10179         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10180         omp_get_team_num, omp_is_initial_device): New functions.
10181         * libgomp.h: Include stdlib.h.
10182         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10183         Define.
10184         (struct target_mem_desc): Forward declare.
10185         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10186         and thread_limit_var fields.
10187         (gomp_get_num_devices): New prototype.
10188         (gomp_cancel_var): New extern decl.
10189         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10190         team_cancelled and task_queued_count fields.  Add comments about
10191         task_{,queued_,running_}count.
10192         (gomp_cancel_kind): New enum.
10193         (gomp_work_share_end_cancel): New prototype.
10194         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10195         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10196         and depend fields.
10197         (struct gomp_taskgroup): New type.
10198         (struct gomp_task_depend_entry,
10199         struct gomp_dependers_vec): New types.
10200         (gomp_finish_task): Free depend_hash if non-NULL.
10201         (struct gomp_team_state): Add place_partition_off
10202         and place_partition_len fields.
10203         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10204         gomp_places_list_len): New extern decls.
10205         (struct gomp_thread): Add place field.
10206         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10207         (gomp_init_thread_affinity): Add place argument.
10208         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10209         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10210         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10211         gomp_affinity_init_level, gomp_affinity_print_place): New
10212         prototypes.
10213         (gomp_team_start): Add flags argument.
10214         (gomp_thread_limit_var, gomp_remaining_threads_count,
10215         gomp_remaining_threads_lock): Remove.
10216         (gomp_managed_threads_lock): New variable.
10217         (struct gomp_thread_pool): Add threads_busy field.
10218         (gomp_free_thread): New prototype.
10219         * task.c: Include hashtab.h.
10220         (hash_entry_type): New typedef.
10221         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10222         (gomp_init_task): Clear dependers, depend_hash, depend_count,
10223         copy_ctors_done and taskgroup fields.
10224         (GOMP_task): Add depend argument, handle depend clauses.  If
10225         gomp_team_barrier_cancelled or if it's taskgroup has been
10226         cancelled, don't queue or start new tasks.  Set copy_ctors_done
10227         field if needed.  Initialize taskgroup field.  If copy_ctors_done
10228         and already cancelled, don't discard the task.  If taskgroup is
10229         non-NULL, enqueue the task into taskgroup queue.  Increment
10230         num_children field in taskgroup.  Increment task_queued_count.
10231         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10232         gomp_task_run_post_remove_taskgroup): New inline functions.
10233         (gomp_task_run_post_handle_depend_hash,
10234         gomp_task_run_post_handle_dependers,
10235         gomp_task_run_post_handle_depend): New functions.
10236         (GOMP_taskwait): Use them.  If more than one new tasks
10237         have been queued, wake other threads if needed.
10238         (gomp_barrier_handle_tasks): Likewise.  If
10239         gomp_team_barrier_cancelled, don't start any new tasks, just free
10240         all tasks.
10241         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10242         * omp_lib.f90.in
10243         (omp_proc_bind_kind, omp_proc_bind_false,
10244         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10245         omp_proc_bind_spread): New params.
10246         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10247         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10248         omp_get_team_num, omp_is_initial_device): New interfaces.
10249         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10250         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10251         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10252         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10253         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10254         useless use omp_lib_kinds.
10255         * omp.h.in (omp_proc_bind_t): New typedef.
10256         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10257         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10258         omp_get_team_num, omp_is_initial_device): New prototypes.
10259         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10260         through to gomp_team_start.
10261         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10262         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10263         Adjust gomp_parallel_loop_start callers.
10264         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10265         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10266         GOMP_loop_end_cancel): New functions.
10267         (GOMP_parallel_end): Add ialias_redirect.
10268         * hashtab.h: New file.
10269         * libgomp.texi (Environment Variables): Minor cleanup,
10270         update section refs to OpenMP 4.0rc2.
10271         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10272         environment variables.
10273         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10274         team->work_shares_to_free to thr->ts.work_share before calling
10275         free_work_share.
10276         (gomp_work_share_end_cancel): New function.
10277         * config/linux/proc.c: Include errno.h.
10278         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10279         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10280         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
10281         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
10282         gomp_cpuset_size is sizeof (cpu_set_t).
10283         (gomp_init_num_threads): Initialize gomp_cpuset_size,
10284         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10285         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10286         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
10287         contain any logical CPUs.
10288         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10289         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
10290         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10291         pthread_getaffinity_np.  Check gomp_places_list instead of
10292         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
10293         * config/linux/bar.c (gomp_barrier_wait_end,
10294         gomp_barrier_wait_last): Use BAR_* defines.
10295         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
10296         from state where needed.  Set work_share_cancelled to 0 on last
10297         thread.
10298         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10299         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10300         functions.
10301         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10302         Add cpusetsize argument.
10303         (gomp_cpuset_size, gomp_cpusetp): Declare.
10304         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10305         (affinity_counter): Remove.
10306         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10307         if CPU_ALLOC_SIZE isn't defined.
10308         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10309         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10310         bind current thread to the first place.
10311         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
10312         pthread_setaffinity_np to gomp_places_list[place].
10313         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10314         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10315         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10316         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10317         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10318         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10319         (gomp_barrier_t): Add awaited_final field.
10320         (gomp_barrier_init): Initialize awaited_final field.
10321         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10322         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10323         prototypes.
10324         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
10325         defines.
10326         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10327         gomp_team_barrier_cancelled): New inline functions.
10328         (gomp_barrier_last_thread,
10329         gomp_team_barrier_set_task_pending,
10330         gomp_team_barrier_clear_task_pending,
10331         gomp_team_barrier_set_waiting_for_tasks,
10332         gomp_team_barrier_waiting_for_tasks,
10333         gomp_team_barrier_done): Use BAR_* defines.
10334         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10335         (gomp_barrier_wait_end): Use BAR_* defines.
10336         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10337         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10338         Use BAR_* defines.
10339         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10340         gomp_team_barrier_cancel): New functions.
10341         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10342         argument.
10343         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10344         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10345         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10346         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10347         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10348         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10349         (gomp_barrier_t): Add cancellable field.
10350         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10351         gomp_team_barrier_cancel): New prototypes.
10352         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10353         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10354         gomp_team_barrier_cancelled): New inline functions.
10355         (gomp_barrier_wait_start, gomp_barrier_last_thread,
10356         gomp_team_barrier_set_task_pending,
10357         gomp_team_barrier_clear_task_pending,
10358         gomp_team_barrier_set_waiting_for_tasks,
10359         gomp_team_barrier_waiting_for_tasks,
10360         gomp_team_barrier_done): Use BAR_* defines.
10361         * barrier.c (GOMP_barrier_cancel): New function.
10362         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10363         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10364         omp_proc_bind_spread): New params.
10365         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10366         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10367         omp_get_team_num, omp_is_initial_device): New externals.
10368         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10369         New functions.
10370         (gomp_resolve_num_threads): Adjust for thread_limit now being in
10371         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10372         infinity.  If not nested, just return minimum of max_num_threads
10373         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10374         to the returned value.  Otherwise, don't update atomically
10375         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10376         (GOMP_parallel_end): Adjust for thread_limit now being in
10377         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10378         infinity.  Adjust threads_busy in the pool rather than
10379         gomp_remaining_threads_count.  Remember team->nthreads and call
10380         gomp_team_end before adjusting threads_busy, if not nested
10381         afterwards, just set it to 1 non-atomically.  Add ialias.
10382         (GOMP_parallel_start): Adjust gomp_team_start caller.
10383         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10384         * testsuite/libgomp.c/affinity-1.c: New test.
10385         * testsuite/libgomp.c/atomic-15.c: New test.
10386         * testsuite/libgomp.c/atomic-16.c: New test.
10387         * testsuite/libgomp.c/atomic-17.c: New test.
10388         * testsuite/libgomp.c/cancel-for-1.c: New test.
10389         * testsuite/libgomp.c/cancel-for-2.c: New test.
10390         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10391         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10392         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10393         * testsuite/libgomp.c/cancel-sections-1.c: New test.
10394         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10395         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10396         * testsuite/libgomp.c/depend-1.c: New test.
10397         * testsuite/libgomp.c/depend-2.c: New test.
10398         * testsuite/libgomp.c/depend-3.c: New test.
10399         * testsuite/libgomp.c/depend-4.c: New test.
10400         * testsuite/libgomp.c/for-1.c: New test.
10401         * testsuite/libgomp.c/for-1.h: New file.
10402         * testsuite/libgomp.c/for-2.c: New test.
10403         * testsuite/libgomp.c/for-2.h: New file.
10404         * testsuite/libgomp.c/for-3.c: New test.
10405         * testsuite/libgomp.c/pr58392.c: New test.
10406         * testsuite/libgomp.c/simd-1.c: New test.
10407         * testsuite/libgomp.c/simd-2.c: New test.
10408         * testsuite/libgomp.c/simd-3.c: New test.
10409         * testsuite/libgomp.c/simd-4.c: New test.
10410         * testsuite/libgomp.c/simd-5.c: New test.
10411         * testsuite/libgomp.c/simd-6.c: New test.
10412         * testsuite/libgomp.c/target-1.c: New test.
10413         * testsuite/libgomp.c/target-2.c: New test.
10414         * testsuite/libgomp.c/target-3.c: New test.
10415         * testsuite/libgomp.c/target-4.c: New test.
10416         * testsuite/libgomp.c/target-5.c: New test.
10417         * testsuite/libgomp.c/target-6.c: New test.
10418         * testsuite/libgomp.c/target-7.c: New test.
10419         * testsuite/libgomp.c/taskgroup-1.c: New test.
10420         * testsuite/libgomp.c/thread-limit-1.c: New test.
10421         * testsuite/libgomp.c/thread-limit-2.c: New test.
10422         * testsuite/libgomp.c/thread-limit-3.c: New test.
10423         * testsuite/libgomp.c/udr-1.c: New test.
10424         * testsuite/libgomp.c/udr-2.c: New test.
10425         * testsuite/libgomp.c/udr-3.c: New test.
10426         * testsuite/libgomp.c++/affinity-1.C: New test.
10427         * testsuite/libgomp.c++/atomic-10.C: New test.
10428         * testsuite/libgomp.c++/atomic-11.C: New test.
10429         * testsuite/libgomp.c++/atomic-12.C: New test.
10430         * testsuite/libgomp.c++/atomic-13.C: New test.
10431         * testsuite/libgomp.c++/atomic-14.C: New test.
10432         * testsuite/libgomp.c++/atomic-15.C: New test.
10433         * testsuite/libgomp.c++/cancel-for-1.C: New test.
10434         * testsuite/libgomp.c++/cancel-for-2.C: New test.
10435         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10436         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10437         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10438         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10439         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10440         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10441         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10442         * testsuite/libgomp.c++/cancel-test.h: New file.
10443         * testsuite/libgomp.c++/for-9.C: New test.
10444         * testsuite/libgomp.c++/for-10.C: New test.
10445         * testsuite/libgomp.c++/for-11.C: New test.
10446         * testsuite/libgomp.c++/simd-1.C: New test.
10447         * testsuite/libgomp.c++/simd-2.C: New test.
10448         * testsuite/libgomp.c++/simd-3.C: New test.
10449         * testsuite/libgomp.c++/simd-4.C: New test.
10450         * testsuite/libgomp.c++/simd-5.C: New test.
10451         * testsuite/libgomp.c++/simd-6.C: New test.
10452         * testsuite/libgomp.c++/simd-7.C: New test.
10453         * testsuite/libgomp.c++/simd-8.C: New test.
10454         * testsuite/libgomp.c++/target-1.C: New test.
10455         * testsuite/libgomp.c++/target-2.C: New test.
10456         * testsuite/libgomp.c++/target-2-aux.cc: New file.
10457         * testsuite/libgomp.c++/target-3.C: New test.
10458         * testsuite/libgomp.c++/taskgroup-1.C: New test.
10459         * testsuite/libgomp.c++/udr-1.C: New test.
10460         * testsuite/libgomp.c++/udr-2.C: New test.
10461         * testsuite/libgomp.c++/udr-3.C: New test.
10462         * testsuite/libgomp.c++/udr-4.C: New test.
10463         * testsuite/libgomp.c++/udr-5.C: New test.
10464         * testsuite/libgomp.c++/udr-6.C: New test.
10465         * testsuite/libgomp.c++/udr-7.C: New test.
10466         * testsuite/libgomp.c++/udr-8.C: New test.
10467         * testsuite/libgomp.c++/udr-9.C: New test.
10469 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
10471         PR testsuite/57605
10472         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10473         ALWAYS_CFLAGS.
10475 2013-09-20  Alan Modra  <amodra@gmail.com>
10477         * configure: Regenerate.
10479 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
10481         * testsuite/libgomp.c/sections-2.c: New test.
10483 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
10485         * testsuite/libgomp.fortran/strassen.f90:
10486         Add dg-skip-if aarch64_tiny.
10488 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
10489             Cesar Philippidis  <cesar@codesourcery.com>
10491         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10492         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10493         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10494         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10495         * testsuite/libgomp.graphite/graphite.exp: Likewise.
10496         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10497         Use dg-runtest rather than gfortran-dg-runtest.
10499 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
10501         * testsuite/libgomp.c/icv-2.c: Extend current handling of
10502         Linux-based x86 systems to cover all GNU systems.
10503         * testsuite/libgomp.c/lock-3.c: Likewise.
10504         * testsuite/libgomp.c/pr48591.c: Likewise.
10506 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
10508         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10509         GNU/Hurd, as done for Linux-based systems.
10511         * config/posix/ptrlock.h: Fix comment.
10513 2013-05-27  Tobias Burnus  <burnus@net-b.de>
10515         PR fortran/57423
10516         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10517         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10518         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10519         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10520         omp_destroy_nest_lock): Correct arguments to match the one in
10521         the OpenMP spec.
10522         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10523         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10524         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10525         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10527 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
10529         * testsuite/libgomp.c/loop-13.c: New test.
10530         * testsuite/libgomp.c/loop-14.c: New test.
10531         * testsuite/libgomp.c/loop-15.c: New test.
10532         * testsuite/libgomp.c++/loop-13.C: New test.
10533         * testsuite/libgomp.c++/loop-14.C: New test.
10534         * testsuite/libgomp.c++/loop-15.C: New test.
10536 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
10538         PR middle-end/56217
10539         * testsuite/libgomp.c++/pr56217.C: New test.
10541 2013-02-01  Alan Modra  <amodra@gmail.com>
10543         * task.c (GOMP_task, GOMP_taskwait): Comment.
10545 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
10546             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
10548         PR libgomp/55561
10549         * config/linux/wait.h (do_spin): Use atomic load for addr.
10550         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10551         for intptr and ptrlock.
10552         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10553         for ptrlock.
10555 2013-01-22  Alan Modra  <amodra@gmail.com>
10557         PR libgomp/51376
10558         PR libgomp/56073
10559         * task.c (GOMP_task): Revert 2011-12-09 change.
10560         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
10561         barrier to read task->children..
10562         (gomp_barrier_handle_tasks): ..and matching atomic store with
10563         release barrier here when setting parent->children to NULL.
10565 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
10566             Tobias Burnus  <burnus@net-b.de>
10568         PR driver/55884
10569         * testsuite/libgomp.fortran/fortran.exp: Use
10570         -fintrinsic-modules-path= instead of
10571         -fintrinsic-modules-path.
10573 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
10575         Update copyright years.
10577 2012-12-19  Tobias Burnus  <burnus@net-b.de>
10579         * testsuite/libgomp.fortran/fortran.exp: Set
10580         -fintrinsic-modules-path.
10582 2012-12-19  Tobias Burnus  <burnus@net-b.de>
10584         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10585         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10587 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
10589         PR libgomp/55411
10590         * team.c (gomp_free_thread): Decrease gomp_managed_threads
10591         if pool had any threads_used.
10593 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
10595         * testsuite/libgomp.c++/pr24455.C: Use
10596         -Wl,-undefined,dynamic_lookup on darwin.
10598 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
10600         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10602 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
10604         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10606 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
10607             Jim MacArthur  <jim.macarthur@arm.com>
10608             Marcus Shawcroft  <marcus.shawcroft@arm.com>
10609             Nigel Stephens  <nigel.stephens@arm.com>
10610             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
10611             Richard Earnshaw  <rearnsha@arm.com>
10612             Sofiane Naci  <sofiane.naci@arm.com>
10613             Stephen Thomas  <stephen.thomas@arm.com>
10614             Tejas Belagod  <tejas.belagod@arm.com>
10615             Yufeng Zhang  <yufeng.zhang@arm.com>
10617         * configure.tgt: Add AArch64.
10619 2012-10-04  Jason Merrill  <jason@redhat.com>
10621         * testsuite/libgomp.c++/tls-init1.C: New.
10623 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
10625         * configure: Regenerated.
10627 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
10629         * config/linux/mips/futex.h (sys_futex0): Change to static
10630         function with noinline, nomips16 attributes under MIPS16. Adjust
10631         asm statement to place 'li v0,SYS_futex' immediately before
10632         syscall insn.
10634 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
10636         * libgomp.texi (Library Index): Renamed from "Index" to prevent
10637         conflict with index.html on case-insensitive file systems.
10639 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
10641         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10642         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10644 2012-07-02  Richard Guenther  <rguenther@suse.de>
10645             Michael Matz  <matz@suse.de>
10646             Tobias Grosser <tobias@grosser.es>
10647             Sebastian Pop <sebpop@gmail.com>
10649         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10650         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10651         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10652         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10654 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
10656         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10658 2012-06-22  Richard Guenther  <rguenther@suse.de>
10660         Merge from graphite branch
10661         2012-01-13  Tobias Grosser  <tobias@grosser.es>
10663         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10664         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10666 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
10668         PR middle-end/53580
10669         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10670         use GOMP_barrier () call instead.
10671         * testsuite/libgomp.c/pr26943-3.c: Likewise.
10672         * testsuite/libgomp.c/pr26943-4.c: Likewise.
10673         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10674         call GOMP_barrier instead.
10675         * testsuite/libgomp.fortran/vla5.f90: Likewise.
10677 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
10679         PR libgomp/52993
10680         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10681         argument to memset call.
10683 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
10685         * configure: Regenerated.
10687 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10689         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10691 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
10693         PR bootstrap/52812
10694         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10696 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
10698         PR middle-end/52547
10699         * testsuite/libgomp.c/pr52547.c: New test.
10701 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
10703         * testsuite/lib/libgomp.exp: load fortran-modules.exp
10705 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10707         * configure.tgt (mips-sgi-irix6*): Remove.
10709 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10711         * configure.tgt (alpha*-dec-osf*): Remove.
10713         * config/osf/sem.h: Remove.
10714         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10716 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
10718         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10720 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10722         PR libstdc++/52188
10723         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10724         Remove ENABLE_SYMVERS_SOL2.
10725         * configure: Regenerate.
10726         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10727         (PREPROCESS): New variable.
10728         (libgomp.ver): New target.
10729         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10730         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10731         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10732         Use libgomp.ver.
10733         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10734         * Makefile.in: Regenerate.
10736 2012-02-14  Walter Lee  <walt@tilera.com>
10738         * configure.tgt: Handle tilegx and tilepro.
10739         * config/linux/tile/futex.h: New file.
10741 2012-02-08  Richard Guenther  <rguenther@suse.de>
10743         PR tree-optimization/46886
10744         * testsuite/libgomp.c/pr46886.c: New testcase.
10746 2012-01-25  Matthias Klose  <doko@ubuntu.com>
10748         * config/linux/arm: Remove empty directory.
10749         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10751 2011-12-09  Alan Modra  <amodra@gmail.com>
10753         PR libgomp/51376
10754         * task.c (GOMP_taskwait): Don't access task->children outside of
10755         task_lock mutex region.
10756         (GOMP_task): Likewise.
10758 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
10760         PR libgomp/51132
10761         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10762         to file scope.
10763         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10764         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10765         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10766         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10767         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10769 2011-12-02  Alan Modra  <amodra@gmail.com>
10771         * config/linux/affinity.c: Use atomic rather than sync builtin.
10772         * config/linux/lock.c: Likewise.
10773         * config/linux/ptrlock.h: Likewise.
10774         * config/linux/ptrlock.c: Likewise.
10775         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10776         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10777         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10778         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10779         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10780         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10781         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10782         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10783         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10784         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10786 2011-11-30  Alan Modra  <amodra@gmail.com>
10788         PR libgomp/51298
10789         * config/linux/bar.h: Use atomic rather than sync builtins.
10790         * config/linux/bar.c: Likewise.  Add missing acquire
10791         synchronisation on generation field.
10792         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10793         double unlock.
10795 2011-11-30  Alan Modra  <amodra@gmail.com>
10797         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10798         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10799         * config/linux/mutex.h: Use atomic rather than sync builtins.
10800         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
10801         * config/linux/omp-lock.h: Comment fix.
10802         * config/linux/arm/mutex.h: Delete.
10803         * config/linux/powerpc/mutex.h: Delete.
10804         * config/linux/ia64/mutex.h: Delete.
10805         * config/linux/mips/mutex.h: Delete.
10807 2011-11-30  Alan Modra  <amodra@gmail.com>
10809         PR libgomp/51249
10810         * config/linux/sem.h: Rewrite.
10811         * config/linux/sem.c: Rewrite.
10813 2011-11-28  Richard Henderson  <rth@redhat.com>
10815         * libgomp.h (enum memmodel): New.
10817 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
10819         * configure: Regenerate.
10821 2011-10-10  Matthias Klose  <doko@ubuntu.com>
10823         * config/posix95: Remove empty directory.
10825 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
10827         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10829 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
10831         PR fortran/49792
10832         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10833         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10835 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10837         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10839 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10841         PR libgomp/49965
10842         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10844 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
10846         * config/linux/proc.h: New.
10847         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
10848         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
10849         (gomp_init_num_threads): Update call to cpuset_popcount.
10850         (get_num_procs): Ditto.
10851         * config/linux/affinity.c (gomp_init_affinity): Call
10852         gomp_cpuset_popcount.
10854 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
10856         PR fortran/42041
10857         PR fortran/46752
10858         * omp.h.in (omp_in_final): New prototype.
10859         * omp_lib.f90.in (omp_in_final): New interface.
10860         (omp_integer_kind, omp_logical_kind): Remove
10861         and replace all its uses in the module with 4.
10862         (openmp_version): Change to 201107.
10863         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10864         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10865         kind for the parameters.
10866         (omp_in_final): New external.
10867         (openmp_version): Change to 201107.
10868         * task.c (omp_in_final): New function.
10869         (gomp_init_task): Initialize final_task.
10870         (GOMP_task): Remove unused attribute from flags.  Handle final
10871         tasks.
10872         (GOMP_taskyield): New function.
10873         (omp_in_final): Return true if if (false) or final (true) task
10874         or descendant of final (true).
10875         * fortran.c (omp_in_final_): New function.
10876         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10877         (GOMP_3.0): Export GOMP_taskyield.
10878         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10879         variables.
10880         (parse_unsigned_long_list): New function.
10881         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
10882         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
10883         even if parse_affinity returned false.
10884         * config/linux/affinity.c (gomp_init_affinity): Handle
10885         gomp_cpu_affinity_len == 0.
10886         * libgomp_g.h (GOMP_taskyield): New prototype.
10887         * libgomp.h (struct gomp_task): Add final_task field.
10888         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10889         * team.c (gomp_team_start): Override new task's nthreads_var icv
10890         if list form OMP_NUM_THREADS has been used and it has value for
10891         the new nesting level.
10893         * testsuite/libgomp.c/atomic-11.c: New test.
10894         * testsuite/libgomp.c/atomic-12.c: New test.
10895         * testsuite/libgomp.c/atomic-13.c: New test.
10896         * testsuite/libgomp.c/atomic-14.c: New test.
10897         * testsuite/libgomp.c/reduction-6.c: New test.
10898         * testsuite/libgomp.c/task-5.c: New test.
10899         * testsuite/libgomp.c++/atomic-2.C: New test.
10900         * testsuite/libgomp.c++/atomic-3.C: New test.
10901         * testsuite/libgomp.c++/atomic-4.C: New test.
10902         * testsuite/libgomp.c++/atomic-5.C: New test.
10903         * testsuite/libgomp.c++/atomic-6.C: New test.
10904         * testsuite/libgomp.c++/atomic-7.C: New test.
10905         * testsuite/libgomp.c++/atomic-8.C: New test.
10906         * testsuite/libgomp.c++/atomic-9.C: New test.
10907         * testsuite/libgomp.c++/task-8.C: New test.
10908         * testsuite/libgomp.c++/reduction-4.C: New test.
10909         * testsuite/libgomp.fortran/allocatable7.f90: New test.
10910         * testsuite/libgomp.fortran/allocatable8.f90: New test.
10911         * testsuite/libgomp.fortran/crayptr3.f90: New test.
10912         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10913         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10914         * testsuite/libgomp.fortran/pointer1.f90: New test.
10915         * testsuite/libgomp.fortran/pointer2.f90: New test.
10916         * testsuite/libgomp.fortran/task4.f90: New test.
10918 2011-08-02  Tobias Burnus  <burnus@net-b.de>
10920         * libgomp.texi: Update OpenMP spec references to 3.1.
10921         (omp_in_final,OMP_PROC_BIND): New sections.
10922         (OMP_NUM_THREADS): Document that the value can be now a list.
10923         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10925 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
10927         * config/linux/x86/futex.h: Check __x86_64__ instead of
10928         __LP64__.
10930 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
10932         PR middle-end/49897
10933         PR middle-end/49898
10934         * testsuite/libgomp.c/pr49897-1.c: New test.
10935         * testsuite/libgomp.c/pr49897-2.c: New test.
10936         * testsuite/libgomp.c/pr49898-1.c: New test.
10937         * testsuite/libgomp.c/pr49898-2.c: New test.
10939 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
10941         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10942         for ia32 instead of ilp32.
10944         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10945         * testsuite/libgomp.c/atomic-6.c: Likewise.
10947 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
10949         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10950         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10952 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10954         PR libgomp/45351
10955         * config/osf/sem.h: New file.
10956         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10958 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10960         PR target/49541
10961         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10962         ldflags.
10964 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
10966         * config/linux/wait.h (do_spin): New inline, largely copied
10967         from do_wait, just don't do futex_wait here, instead return true if
10968         it should be done.
10969         (do_wait): Implement using do_spin.
10970         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10971         to prototype.
10972         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10973         __sync_bool_compare_and_swap, pass the oldval to
10974         gomp_mutex_lock_slow.
10975         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10976         If all mutex contenders are just spinning and not sleeping, don't
10977         change state to 2 unnecessarily.  Optimize the loop when state has
10978         already become 2 to use just one atomic operation per loop instead
10979         of two.
10980         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10981         to prototype.
10982         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10983         __sync_bool_compare_and_swap, pass the oldval to
10984         gomp_mutex_lock_slow.
10986 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
10988         PR libgomp/49490
10989         * iter.c (gomp_iter_static_next): For chunk size 0
10990         only use n ceil/ nthreads size for the first
10991         n % nthreads threads in the team instead of
10992         all threads except for the last few ones which
10993         get less work or none at all.
10994         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10995         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10996         chunk argument, set run_sched_modifier to 0 for static
10997         resp. 1 for other kinds.  If chunk argument is 0
10998         and not static, set value to 1.
11000 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
11002         PR c++/49043
11003         * testsuite/libgomp.c++/pr49043.C: New test.
11005         PR c++/48869
11006         * testsuite/libgomp.c++/pr48869.C: New test.
11008 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
11010         PR fortran/48894
11011         * fortran.c: Include limits.h.
11012         (TO_INT): Define.
11013         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11014         *set.
11015         (omp_set_num_threads_8_, omp_set_schedule_8_,
11016         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11017         omp_get_team_size_8_): Use TO_INT macro.
11018         * testsuite/libgomp.fortran/pr48894.f90: New test.
11020 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
11022         PR middle-end/48591
11023         * testsuite/libgomp.c/pr48591.c: New test.
11025 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11027         PR bootstrap/48135
11028         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11029         * configure: Regenerate.
11031 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
11033         PR fortran/47886
11034         * testsuite/libgomp.fortran/task3.f90: New test.
11036 2011-02-24  Tobias Burnus  <burnus@net-b.de>
11038         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11040 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
11042         PR libgomp/47854
11043         * libgomp.texi (omp_get_wtime): Don't say time in the past
11044         must be Unix Epoch.
11046 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
11048         PR libgomp/47804
11049         * testsuite/libgomp.fortran/fortran.exp: Check for both
11050         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
11051         but $blddir != "", still append ${blddir}/${lang_library_path}
11052         to ld_library_path.
11054 2011-02-16  Tobias Burnus  <burnus@net-b.de>
11056         PR libgomp/47758
11057         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11058         of libquadmath.a before adding its libpath to ldflags.
11060 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
11062         PR libgomp/47731
11063         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11064         to FUTEX_WAIT futex syscall.
11065         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11067 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11069         * configure: Regenerate.
11071 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
11073         PR libstdc++/36104
11074         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11076 2011-01-16  Gerald Pfeifer
11078         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11080 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
11082         PR fortran/46874
11083         * libgomp.fortran/allocatable6.f90: New test.
11085 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11087         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11088         * configure: Regenerate.
11090 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
11092         PR target/40125
11093         PR lto/46695
11094         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11095         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11096         * aclocal.m4: Regenerate.
11097         * configure: Regenerate.
11098         * Makefile.in: Regenerate.
11099         * testsuite/Makefile.in: Regenerate.
11101 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
11103         PR fortran/46753
11104         * libgomp.fortran/pr46753.f90: New test.
11106         PR libgomp/43706
11107         * env.c (initialize_env): Default to spin count 300000
11108         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11109         is specified.
11111         PR libgomp/45240
11112         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11113         at the end if sync builtins aren't supported.
11115 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11117         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11119 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11121         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11123 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
11125         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11127 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
11128             Tobias Burnus  <burnus@net-b.de>
11130         PR fortran/32049
11131         * configure.ac:
11132         * configure: Regenerate.
11134 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
11136         * config/linux/futex.h: New.
11137         * config/linux/arm/mutex.h: New.
11138         * configure.tgt (arm*-*-linux*): Add config path.
11140 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
11142         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11144 2010-09-23  Tobias Burnus  <burnus@net-b.de>
11146         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11147         Change Fortran datatype to LOGICAL.
11148         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11149         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11151 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11153         * configure: Regenerate.
11155 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
11157         * libgomp.texi: Add function keyword to a couple of Fortran
11158         interfaces, use integer instead of int for Fortran.
11160 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
11162         * libgomp.texi: Fix spelling and pasto problems throughout.
11163         Adjust prototypes to match code.
11165 2010-07-24  Tobias Burnus  <burnus@net-b.de>
11167         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11168         silence -fwhole-file warning.
11170 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11172         * configure.tgt (*-*-solaris2.[56]*): Removed.
11174 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11176         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11177         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11178         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11179         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11180         targetting solaris2*.
11181         * configure: Regenerate.
11182         * config.h.in: Regenerate.
11184         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11185         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11186         Add libgomp_version_dep.
11187         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11188         versioning.
11189         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11190         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11191         * Makefile.in: Regenerate.
11193         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11194         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11195         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11196         to common block, protected by
11197         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11199 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
11201         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
11203 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
11205         PR bootstrap/43170
11206         * configure: Regenerate.
11208 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11210         PR other/43620
11211         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11212         * configure: Regenerate.
11213         * Makefile.in: Regenerate.
11214         * testsuite/Makefile.in: Regenerate.
11216 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
11218         PR c/43893
11219         * testsuite/libgomp.c/pr43893.c: New test.
11220         * testsuite/libgomp.c++/pr43893.C: New test.
11222 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
11224         PR middle-end/43570
11225         * testsuite/libgomp.fortran/vla8.f90: New test.
11227 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
11229         PR libgomp/43706
11230         * config/linux/affinity.c (gomp_init_affinity): Decrease
11231         gomp_available_cpus if affinity mask confines the process to fewer
11232         CPUs.
11233         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11234         non-NULL, just return gomp_available_cpus.
11236         PR libgomp/43569
11237         * sections.c (gomp_sections_init): Initialize ws->mode.
11239 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
11241         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11242         not unused bar variable.
11243         * configure: Regenerate.
11245 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11247         * Makefile.in: Regenerate.
11248         * aclocal.m4: Regenerate.
11249         * testsuite/Makefile.in: Regenerate.
11251 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
11253         PR libgomp/42942
11254         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11255         (initialize_env): Adjust callers.
11256         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11257         when the argument is 0.
11259         * testsuite/libgomp.c/pr42942.c: New test.
11261 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
11263         PR middle-end/42644
11264         PR middle-end/42130
11265         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11266         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11268 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11270         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11271         * testsuite/libgomp.c++/task-6.C: Likewise.
11273 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
11275         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11277 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
11279         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11280         * configure: Regenerate.
11282 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
11284         PR fortran/42866
11285         * testsuite/libgomp.fortran/allocatable5.f90: New test.
11287 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
11289         * configure.ac: Test for executability of GFORTRAN.
11290         * configure: Regenerate.
11292 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11294         * configure: Regenerate.
11296 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
11298         PR libgomp/42602
11299         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11301 2010-01-03  Richard Guenther  <rguenther@suse.de>
11303         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11305 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
11307         * testsuite/libgomp.graphite/pr4118.c: New.
11309 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11311         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11312         for darwin, protect the test with require-effective-target tls_runtime.
11313         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11315 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11317         PR target/41605
11318         * testsuite/lib/libgomp.exp: Provide -B options to allow for
11319         link spec %s substitutions for static libraries.
11321 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
11323         PR testsuite/42135
11324         * libgomp.graphite/force-parallel-2.c: Reduce array size.
11326 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11328         * Makefile.in: Regenerate.
11329         * configure: Regenerate.
11330         * testsuite/Makefile.in: Regenerate.
11332 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
11334         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11335         settings for LC_ALL and LANG.
11337 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
11339         PR fortran/42162
11340         * testsuite/libgomp.fortran/pr42162.f90: New test.
11342 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
11344         PR middle-end/42029
11345         * testsuite/libgomp.c/pr42029.c: New test.
11347 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
11349         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11350         *s.  Accept ld version without text in ()s.
11351         * configure: Regenerated.
11353 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
11355         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11357 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11359         PR libgomp/41418
11360         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11361         or a hyphen (happens with fortran language disabled).
11362         * configure: Regenerate.
11364 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11366         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11367         use sed script portable to Solaris /bin/sed for extracting ld
11368         version.
11369         * configure: Regenerate.
11371 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
11373         * testsuite/libgomp.graphite/bounds.c: New test.
11375 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11377         * Makefile.am (libgomp_la_LINK): New.
11378         * Makefile.in: Regenerate.
11380 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11382         * configure.ac (AC_PREREQ): Bump to 2.64.
11384 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11386         * Makefile.am (install-html, install-pdf): Remove.
11387         * Makefile.in: Regenerate.
11389         * Makefile.in: Regenerate.
11390         * aclocal.m4: Regenerate.
11391         * config.h.in: Regenerate.
11392         * configure: Regenerate.
11393         * testsuite/Makefile.in: Regenerate.
11395 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11397         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11398         * Makefile.in: Regenerate.
11400 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
11402         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11403         * Makefile.in: Regenerate.
11405 2009-08-19  Tobias Burnus  <burnus@net-b.de>
11407         PR fortran/41102
11408         omp_lib.h.in: Fix -std=f95 errors.
11410 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
11412         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11413         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11414         * testsuite/libgomp.graphite/graphite.exp: New.
11416 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
11418         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11419         only build.
11421 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
11423         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11424         needed memory barrier semantics.
11425         * config/linux/mips/mutex.h: New file.
11427 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11429         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11431 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
11433         * configure: Regenerate.
11435 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
11437         PR testsuite/40699
11438         PR testsuite/40707
11439         PR testsuite/40709
11440         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11441         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11442         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11444 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
11446         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11447         options when choosing a multilib.
11449 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
11451         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11452         ld_library_path.  Use add_path.  Add just find_libgcc_s to
11453         ld_library_path, not every libgcc multilib directory.
11454         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11455         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11456         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11457         Use add_path.
11458         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11460 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
11462         * Makefile.am (LTLDFLAGS): Define.
11463         (LINK): Define.
11464         * Makefile.in: Regenerate.
11466 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
11468         PR fortran/39718
11469         * testsuite/libgomp.fortran/fortran.exp: Don't link with
11470         libgfortranbegin, check existence of libgfortran.a instead of
11471         libgfortranbegin.a.
11473 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
11475         PR libgomp/40174
11476         * team.c (gomp_thread_start): Destroy thr->release semaphore.
11477         (gomp_free_pool_helper): Likewise.
11479 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
11480             Jakub Jelinek  <jakub@redhat.com>
11482         PR fortran/35423
11483         * testsuite/libgomp.fortran/workshare2.f90: New test.
11485 2009-04-09  Nick Clifton  <nickc@redhat.com>
11487         * iter.c: Change copyright header to refer to version 3 of the
11488         GNU General Public License with version 3.1 of the GCC Runtime
11489         Library Exception and to point readers at the COPYING3 and
11490         COPYING3.RUNTIME files and the FSF's license web page.
11491         * alloc.c: Likewise.
11492         * barrier.c: Likewise.
11493         * config/bsd/proc.c: Likewise.
11494         * config/linux/affinity.c: Likewise.
11495         * config/linux/alpha/futex.h: Likewise.
11496         * config/linux/bar.c: Likewise.
11497         * config/linux/bar.h: Likewise.
11498         * config/linux/ia64/futex.h: Likewise.
11499         * config/linux/ia64/mutex.h: Likewise.
11500         * config/linux/lock.c: Likewise.
11501         * config/linux/mips/futex.h: Likewise.
11502         * config/linux/mutex.c: Likewise.
11503         * config/linux/mutex.h: Likewise.
11504         * config/linux/powerpc/futex.h: Likewise.
11505         * config/linux/proc.c: Likewise.
11506         * config/linux/ptrlock.c: Likewise.
11507         * config/linux/ptrlock.h: Likewise.
11508         * config/linux/s390/futex.h: Likewise.
11509         * config/linux/sem.c: Likewise.
11510         * config/linux/sem.h: Likewise.
11511         * config/linux/sparc/futex.h: Likewise.
11512         * config/linux/wait.h: Likewise.
11513         * config/linux/x86/futex.h: Likewise.
11514         * config/mingw32/proc.c: Likewise.
11515         * config/mingw32/time.c: Likewise.
11516         * config/posix/affinity.c: Likewise.
11517         * config/posix/bar.c: Likewise.
11518         * config/posix/bar.h: Likewise.
11519         * config/posix/lock.c: Likewise.
11520         * config/posix/mutex.h: Likewise.
11521         * config/posix/proc.c: Likewise.
11522         * config/posix/ptrlock.h: Likewise.
11523         * config/posix/sem.c: Likewise.
11524         * config/posix/sem.h: Likewise.
11525         * config/posix/time.c: Likewise.
11526         * config/posix95/lock.c: Likewise.
11527         * critical.c: Likewise.
11528         * env.c: Likewise.
11529         * error.c: Likewise.
11530         * fortran.c: Likewise.
11531         * iter_ull.c: Likewise.
11532         * libgomp.h: Likewise.
11533         * libgomp_f.h.in: Likewise.
11534         * libgomp_g.h: Likewise.
11535         * loop.c: Likewise.
11536         * loop_ull.c: Likewise.
11537         * omp.h.in: Likewise.
11538         * omp_lib.f90.in: Likewise.
11539         * omp_lib.h.in: Likewise.
11540         * ordered.c: Likewise.
11541         * parallel.c: Likewise.
11542         * sections.c: Likewise.
11543         * single.c: Likewise.
11544         * task.c: Likewise.
11545         * team.c: Likewise.
11546         * work.c: Likewise.
11548 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
11550         * testsuite/config/default.exp: Change copyright header to refer to
11551         version 3 of the GNU General Public License and to point readers
11552         at the COPYING3 file and the FSF's license web page.
11554 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
11556         PR middle-end/39573
11557         * libgomp.c++/pr39573.C: New test.
11559 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
11561         PR other/39591
11562         * testsuite/libgomp.c/pr39591-1.c: New test.
11563         * testsuite/libgomp.c/pr39591-2.c: New test.
11564         * testsuite/libgomp.c/pr39591-3.c: New test.
11566 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
11568         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11569         * testsuite/libgomp.c/atomic-6.c: Ditto.
11571 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
11573         PR c/39495
11574         * testsuite/libgomp.c/loop-12.c: New test.
11575         * testsuite/libgomp.c/loop-11.c: New test.
11576         * testsuite/libgomp.c++/loop-11.C: New test.
11577         * testsuite/libgomp.c++/loop-12.C: New test.
11578         * testsuite/libgomp.c++/for-8.C: New test.
11580 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11582         * configure: Regenerate.
11584 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
11586         PR middle-end/39154
11587         * testsuite/libgomp.c/pr39154.c: New test.
11589 2009-01-30  Ian Lance Taylor  <iant@google.com>
11591         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11592         libgomp_ld_is_gold.  Get gold version number.
11593         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11594         * configure: Rebuild.
11596 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11598         * testsuite/lib/libgomp.exp: Add -B option for targets that
11599         use libgfortran.a%s in their specs.
11601 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
11603         PR libgomp/38086
11604         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11605         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11606         HAVE_AS_SYMVER_DIRECTIVE is not defined.
11607         * configure: Regenerated.
11608         * config.h.in: Likewise.
11610 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
11612         PR c++/38650
11613         * testsuite/libgomp.c/pr38650.c: New test.
11614         * testsuite/libgomp.c++/pr38650.C: New test.
11616 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
11618         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11620 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
11622         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11624 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11626         * configure: Regenerate.
11628 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
11630         PR middle-end/36802
11631         * testsuite/libgomp.c/pr36802-1.c: New test.
11632         * testsuite/libgomp.c/pr36802-2.c: New test.
11633         * testsuite/libgomp.c/pr36802-3.c: New test.
11635 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
11637         PR libgomp/38270
11638         * config/linux/powerpc/mutex.h: New.
11640 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
11642         PR c++/38257
11643         * testsuite/libgomp.c++/for-7.C: New test.
11645         PR c++/38348
11646         * testsuite/libgomp.c++/for-6.C: New test.
11648 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
11650         PR testsuite/28870
11651         * testsuite/lib/libgomp.exp: Include new timeout library files.
11652         (libgomp_target_compile): Set timeout value from new proc.
11654 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
11656         PR libgomp/37938
11657         * config/linux/ia64/mutex.h: New.
11659 2008-11-04  Tobias Burnus  <burnus@net-b.de>
11661         PR libgomp/37935
11662         * libgomp.texi (Runtime library routines, environment variables):
11663         Update for OpenMP version 3.0.
11665 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
11666             Steve Ellcey  <sje@cup.hp.com>
11668         * configure: Regenerate for new libtool.
11669         * Makefile.in: Ditto.
11670         * testsuite/Makefile.in: Ditto.
11672 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
11673             Andreas Tobler  <a.tobler@schweiz.org>
11675         * config/bsd/proc.c: New file.
11676         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
11677         * configure.ac: Check for header <sys/sysctl.h>
11678         * configure: Regenerate.
11679         * config.h.in: Likewise.
11681 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
11683         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11685 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
11687         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11688         * Makefile.in: Regenerated.
11689         * testsuite/Makefile.in: Regenerated.
11691 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
11693         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
11694         depend on blddir if blddir exists.
11695         (libgomp_target_compile): Likewise.
11696         * testsuite/libgomp.c++/c++.exp: Likewise.
11697         * testsuite/libgomp.fortran/fortran.exp: Likewise.
11699 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11701         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
11702         Do not list GPL as Invariant Section.
11704 2008-07-28  Ilie Garbacea  <ilie@mips.com>
11705             Chao-ying Fu  <fu@mips.com>
11707         * configure.tgt: Enable futex for MIPS.
11708         * config/linux/mips/futex.h: New file.
11710 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
11712         * team.c (gomp_team_end): Free team immediately if it has
11713         just one thread.
11715 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
11717         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11718         * testsuite/libgomp.fortran/fortran.exp: Same.
11719         * testsuite/libgomp.c/c.exp: Same.
11720         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11721         directory to library path first.
11723 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
11725         * env.c (parse_stacksize): Add cast to avoid warning.
11726         (parse_spincount): Likewise.
11728 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
11730         * testsuite/libgomp.c/loop-10.c: New test.
11731         * libgomp.c/loop-3.c (main): Add lastprivate clause.
11732         * libgomp.c++/loop-6.C (main): Likewise.
11734         PR debug/36617
11735         * testsuite/libgomp.c/debug-1.c: New test.
11737 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
11739         * testsuite/libgomp.c/nqueens-1.c: New test.
11741         PR c++/36523
11742         * testsuite/libgomp.c++/task-7.C: New function.
11744 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11746         * configure: Regenerate.
11748 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11750         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11751         mutex when HAVE_SYNC_BUILTINS isn't defined.
11753 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11755         * libgomp.texi (omp_test_lock): Fix typo.
11757 2008-06-12  Tobias Burnus  <burnus@net-b.de>
11759         * omp_lib.f90.in: Add "implicit none".
11761 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
11763         PR middle-end/36506
11764         * testsuite/libgomp.c/reduction-5.c: New test.
11766 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
11768         * libgomp.h (struct gomp_task): Add in_tied_task field.
11769         * task.c (gomp_init_task): Initialize it.
11770         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
11771         unconditionally.  Don't call gomp_team_barrier_wake if
11772         current task is implicit or if(0) from implicit and number of
11773         running tasks is equal to nthreads - 1.
11775         PR libgomp/36471
11776         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11777         omp_get_team_size_8): Fix pastos.
11779         PR libgomp/36469
11780         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11781         * configure: Regenerated.
11782         * config.h.in: Regenerated.
11783         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11784         defined.
11786 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
11788         PR bootstrap/36452
11789         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11790         (GOMP_loop_ull_dynamic_start): Likewise.
11791         (GOMP_loop_ull_guided_start): Likewise.
11792         (GOMP_loop_ull_ordered_static_start): Likewise.
11793         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11794         (GOMP_loop_ull_ordered_guided_start): Likewise.
11796 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
11797             Richard Henderson  <rth@redhat.com>
11798             Ulrich Drepper  <drepper@redhat.com>
11799             Jakob Blomer  <jakob.blomer@ira.uka.de>
11801         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11802         Substitute also OMP_*LOCK_25*.
11803         * configure: Regenerated.
11804         * config.h.in: Regenerated.
11805         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11806         ptrlock.c and task.c.
11807         * Makefile.in: Regenerated.
11808         * testsuite/Makefile.in: Regenerated.
11809         * task.c: New file.
11810         * loop_ull.c: New file.
11811         * iter_ull.c: New file.
11812         * libgomp.h: Include ptrlock.h.
11813         (enum gomp_task_kind): New type.
11814         (struct gomp_team): Add task_lock, task_queue, task_count,
11815         task_running_count, single_count fields.  Add
11816         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11817         Remove work_share_lock, generation_mask,
11818         oldest_live_gen, num_live_gen and init_work_shares fields, add
11819         work work_share_list_alloc, work_share_list_free and work_share_chunk
11820         fields.  Change work_shares from pointer to pointers into an array.
11821         Change ordered_release field into gomp_sem_t ** from flexible array
11822         member.  Add implicit_task and initial_work_shares fields.
11823         Move close to the end of the struct.
11824         (struct gomp_team_state): Add single_count, last_work_share,
11825         active_level and level fields, remove work_share_generation.
11826         (gomp_barrier_handle_tasks): New prototype.
11827         (gomp_finish_task): New inline function.
11828         (struct gomp_work_share): Move chunk_size, end, incr into
11829         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11830         next_ll fields.  Reshuffle fields.  Add next_alloc,
11831         next_ws, next_free and inline_ordered_team_ids fields, change
11832         ordered_team_ids into pointer from flexible array member.
11833         Add mode field.  Put lock and next into a different cache line
11834         from most of the write-once fields.
11835         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11836         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11837         gomp_iter_ull_guided_next): New prototypes.
11838         (gomp_new_icv): New prototype.
11839         (struct gomp_thread): Add thread_pool and task fields.
11840         (struct gomp_thread_pool): New type.
11841         (gomp_new_team): New prototype.
11842         (gomp_team_start): Change type of last argument.
11843         (gomp_new_work_share): Removed.
11844         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11845         (gomp_work_share_init_done): New static inline.
11846         (gomp_throttled_spin_count_var, gomp_available_cpus,
11847         gomp_managed_threads): New extern decls.
11848         (gomp_init_task): New prototype.
11849         (gomp_spin_count_var): New extern var decl.
11850         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11851         or no alias support, or if not PIC.
11852         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11853         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11854         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11855         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11856         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11857         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11858         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11859         gomp_test_nest_lock_25): New prototypes.
11860         (omp_lock_symver, strong_alias): Define.
11861         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11862         decls.
11863         (gomp_end_task): New.
11864         (struct gomp_task_icv, gomp_global_icv): New.
11865         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11866         (struct gomp_task): New.
11867         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11868         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11869         (gomp_icv): New.
11870         (gomp_schedule_type): Reorder enum to match
11871         omp_sched_t.
11872         * team.c (struct gomp_thread_start_data): Add thread_pool and task
11873         fields.
11874         (gomp_thread_start): Add gomp_team_barrier_wait call.
11875         For non-nested case remove clearing of docked thread thr fields.
11876         Use pool fields instead of global gomp_* variables.  Use
11877         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
11878         Create tasks for each member thread.
11879         (free_team): Only destroy team barrier, task_lock here and free it.
11880         (gomp_free_thread): Free last_team if non-NULL.
11881         (gomp_team_end): Call gomp_team_barrier_wait instead of
11882         gomp_barrier_wait.  For nested case call one extra
11883         gomp_barrier_wait.  Move here some destruction from free_team.
11884         Call free_team on pool->last_team if any, rather than freeing
11885         current team.  Destroy work_share_list_free_lock ifndef
11886         HAVE_SYNC_BUILTINS.
11887         (gomp_new_icv): New function.
11888         (gomp_threads, gomp_threads_size, gomp_threads_used,
11889         gomp_threads_dock): Removed.
11890         (gomp_thread_destructor): New variable.
11891         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11892         functions.
11893         (gomp_team_start): Create new pool if current thread doesn't have
11894         one.  Use pool fields instead of global gomp_* variables.
11895         Initialize thread_pool field for new threads.  Clear single_count.
11896         Change last argument from ws to team, don't create
11897         new team, set ts.work_share to &team->work_shares[0] and clear
11898         ts.last_work_share.  Don't clear ts.work_share_generation.
11899         If number of threads changed, adjust atomically gomp_managed_threads.
11900         Use gomp_init_task instead of gomp_new_task,
11901         set thr->task to the corresponding implicit_task array entry.
11902         Create tasks for each member thread.  Initialize ts.level.
11903         (initialize_team): Call pthread_key_create on
11904         gomp_thread_destructor.
11905         (team_destructor): New function.
11906         (new_team): Removed.
11907         (gomp_new_team): New function.
11908         (free_team): Free gomp_work_share blocks chained through next_alloc,
11909         instead of freeing work_shares and destroying work_share_lock.
11910         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
11911         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
11912         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11913         of gomp_barrier_wait.
11914         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11915         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
11916         if gomp_work_share_start returned true.  Don't unlock ws->lock.
11917         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11918         of gomp_barrier_wait.
11919         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
11920         gomp_work_share_init_done if gomp_work_share_start returned true.
11921         Don't unlock ws->lock.
11922         * work.c: Include stddef.h.
11923         (free_work_share): Use work_share_list_free_lock instead
11924         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
11925         Call gomp_fini_work_share and then either free ws if orphaned, or
11926         put it into work_share_list_free list of the current team.
11927         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11928         functions.
11929         (gomp_work_share_start, gomp_work_share_end,
11930         gomp_work_share_end_nowait): Rewritten.
11931         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11932         (openmp_version): Set to 200805.
11933         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11934         omp_sched_guided, omp_sched_auto): New parameters.
11935         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11936         omp_set_max_active_levels, omp_get_max_active_levels,
11937         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11938         omp_get_active_level): New interfaces.
11939         * omp_lib.h.in (openmp_version): Set to 200805.
11940         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11941         omp_sched_guided, omp_sched_auto): New parameters.
11942         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11943         omp_set_max_active_levels, omp_get_max_active_levels,
11944         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11945         omp_get_active_level): New externals.
11946         * loop.c: Include limits.h.
11947         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11948         GFS_AUTO.
11949         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11950         Likewise.  Use gomp_icv.
11951         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11952         ts.static_trip here.
11953         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11954         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
11955         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11956         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
11957         don't unlock ws->lock, otherwise lock it.
11958         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11959         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
11960         (gomp_parallel_loop_start): Call gomp_new_team instead of
11961         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
11962         Adjust gomp_team_start caller.  Pass 0 as second argument to
11963         gomp_resolve_num_threads.
11964         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11965         If adding ws->chunk_size nthreads + 1 times after end won't
11966         overflow, set ws->mode to 1.
11967         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11968         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11969         GOMP_loop_ull_ordered_static_start,
11970         GOMP_loop_ull_ordered_dynamic_start,
11971         GOMP_loop_ull_ordered_guided_start,
11972         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11973         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11974         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11975         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11976         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11977         prototypes.
11978         * libgomp.map: Export lock routines also @@OMP_2.0.
11979         (GOMP_loop_ordered_dynamic_first,
11980         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11981         GOMP_loop_ordered_static_first): Remove.
11982         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11983         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11984         GOMP_loop_ull_ordered_dynamic_next,
11985         GOMP_loop_ull_ordered_dynamic_start,
11986         GOMP_loop_ull_ordered_guided_next,
11987         GOMP_loop_ull_ordered_guided_start,
11988         GOMP_loop_ull_ordered_runtime_next,
11989         GOMP_loop_ull_ordered_runtime_start,
11990         GOMP_loop_ull_ordered_static_next,
11991         GOMP_loop_ull_ordered_static_start,
11992         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11993         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11994         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11995         (omp_set_schedule, omp_get_schedule,
11996         omp_get_thread_limit, omp_set_max_active_levels,
11997         omp_get_max_active_levels, omp_get_level,
11998         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11999         omp_set_schedule_, omp_set_schedule_8_,
12000         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12001         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12002         omp_get_max_active_levels_, omp_get_level_,
12003         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12004         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12005         New exports @@OMP_3.0.
12006         * omp.h.in (omp_sched_t): New type.
12007         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12008         omp_set_max_active_levels, omp_get_max_active_levels,
12009         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12010         omp_get_active_level): New prototypes.
12011         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12012         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12013         gomp_thread_limit_var, gomp_remaining_threads_count,
12014         gomp_remaining_threads_lock): New variables.
12015         (parse_spincount): New function.
12016         (initialize_env): Call gomp_init_num_threads unconditionally.
12017         Initialize gomp_available_cpus.  Call parse_spincount,
12018         initialize gomp_{,throttled_}spin_count_var
12019         depending on presence and value of OMP_WAIT_POLICY and
12020         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
12021         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12022         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
12023         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
12024         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
12025         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12026         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12027         (gomp_global_icv): New.
12028         (parse_schedule): Use it.  Parse "auto".
12029         (omp_set_num_threads): Use gomp_icv.
12030         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12031         Likewise.
12032         (omp_get_max_threads): Move from parallel.c.
12033         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12034         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12035         add ialias.
12036         (parse_stacksize, parse_wait_policy): New functions.
12037         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12038         both wrappers for compatibility and new locks.
12039         (omp_set_schedule, omp_get_schedule,
12040         omp_get_thread_limit, omp_set_max_active_levels,
12041         omp_get_max_active_levels, omp_get_level,
12042         omp_get_ancestor_thread_num, omp_get_team_size,
12043         omp_get_active_level): New ialias_redirect.
12044         (omp_set_schedule_, omp_set_schedule_8_,
12045         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12046         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12047         omp_get_max_active_levels_, omp_get_level_,
12048         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12049         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12050         New functions.
12051         * parallel.c: Include limits.h.
12052         (gomp_resolve_num_threads): Add count argument.  Rewritten.
12053         (GOMP_parallel_start): Call gomp_new_team and pass that as last
12054         argument to gomp_team_start.  Pass 0 as second argument to
12055         gomp_resolve_num_threads.
12056         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12057         if gomp_thread_limit_var != ULONG_MAX.
12058         (omp_in_parallel): Implement using ts.active_level.
12059         (omp_get_max_threads): Move to env.c.
12060         (omp_get_level, omp_get_ancestor_thread_num,
12061         omp_get_team_size, omp_get_active_level): New functions,
12062         add ialias.
12063         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12064         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
12065         gomp_iter_dynamic_next instead of the _locked variant and don't take
12066         lock around it, otherwise acquire it before calling
12067         gomp_iter_dynamic_next_locked.
12068         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12069         gomp_iter_dynamic_next instead of the _locked variant and don't take
12070         lock around it.
12071         (GOMP_parallel_sections_start): Call gomp_new_team instead of
12072         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
12073         Adjust gomp_team_start caller.  Pass count as second argument to
12074         gomp_resolve_num_threads, don't adjust num_threads after the call.
12075         Use gomp_icv.
12076         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12077         ws->chunk_size by incr.
12078         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
12079         code.
12080         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12081         types.
12082         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12083         (omp_check_defines): Check even the compat defines.
12084         * config/linux/ptrlock.c: New file.
12085         * config/linux/ptrlock.h: New file.
12086         * config/linux/wait.h: New file.
12087         * config/posix/ptrlock.c: New file.
12088         * config/posix/ptrlock.h: New file.
12089         * config/linux/bar.h (gomp_team_barrier_wait,
12090         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12091         (gomp_team_barrier_set_task_pending,
12092         gomp_team_barrier_clear_task_pending,
12093         gomp_team_barrier_set_waiting_for_tasks,
12094         gomp_team_barrier_waiting_for_tasks,
12095         gomp_team_barrier_done): New inlines.
12096         (gomp_barrier_t): Rewritten.
12097         (gomp_barrier_state_t): New typedef.
12098         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12099         gomp_barrier_wait_start): Rewritten.
12100         (gomp_barrier_wait_end): Change second argument to
12101         gomp_barrier_state_t.
12102         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12103         inlines.
12104         * config/linux/bar.c: Include wait.h instead of libgomp.h and
12105         futex.h.
12106         (gomp_barrier_wait_end): Rewritten.
12107         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12108         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12109         * config/posix/bar.h (gomp_barrier_t): Add generation field.
12110         (gomp_barrier_state_t): New typedef.
12111         (gomp_team_barrier_wait,
12112         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12113         (gomp_barrier_wait_start): Or all but low 2 bits from generation
12114         into the return value.  Return gomp_barrier_state_t.
12115         (gomp_team_barrier_set_task_pending,
12116         gomp_team_barrier_clear_task_pending,
12117         gomp_team_barrier_set_waiting_for_tasks,
12118         gomp_team_barrier_waiting_for_tasks,
12119         gomp_team_barrier_done): New inlines.
12120         (gomp_barrier_wait_end): Change second argument to
12121         gomp_barrier_state_t.
12122         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12123         inlines.
12124         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12125         (gomp_barrier_wait_end): Change second argument to
12126         gomp_barrier_state_t.
12127         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12128         gomp_team_barrier_wake): New functions.
12129         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12130         futex.h.
12131         (gomp_futex_wake, gomp_futex_wait): New variables.
12132         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12133         * config/linux/lock.c: Rewrite to make locks task owned,
12134         for backwards compatibility provide the old entrypoints
12135         if symbol versioning.  Include wait.h instead of libgomp.h and
12136         futex.h.
12137         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12138         * config/posix95/lock.c: Rewrite to make locks task owned,
12139         for backwards compatibility provide the old entrypoints
12140         if symbol versioning.
12141         * config/posix/lock.c: Rewrite to make locks task owned,
12142         for backwards compatibility provide the old entrypoints
12143         if symbol versioning.
12144         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12145         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12146         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12147         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12148         (sys_futex0): Return error code.
12149         (futex_wake, futex_wait): If ENOSYS was returned, clear
12150         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12151         (cpu_relax, atomic_write_barrier): New static inlines.
12152         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12153         (futex_wake, futex_wait): If ENOSYS was returned, clear
12154         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12155         (cpu_relax, atomic_write_barrier): New static inlines.
12156         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12157         (sys_futex0): Return error code.
12158         (futex_wake, futex_wait): If ENOSYS was returned, clear
12159         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12160         (cpu_relax, atomic_write_barrier): New static inlines.
12161         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12162         (sys_futex0): Return error code.
12163         (futex_wake, futex_wait): If ENOSYS was returned, clear
12164         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12165         (cpu_relax, atomic_write_barrier): New static inlines.
12166         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12167         (sys_futex0): Return error code.
12168         (futex_wake, futex_wait): If ENOSYS was returned, clear
12169         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12170         (cpu_relax, atomic_write_barrier): New static inlines.
12171         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12172         (sys_futex0): Return error code.
12173         (futex_wake, futex_wait): If ENOSYS was returned, clear
12174         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12175         (cpu_relax, atomic_write_barrier): New static inlines.
12176         * config/linux/sem.c: Include wait.h instead of libgomp.h and
12177         futex.h.
12178         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12179         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12180         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12181         types.
12182         (omp_nest_lock_t): Change owner into void *, add lock field.
12183         * config/posix95/omp-lock.h: Include semaphore.h.
12184         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12185         (omp_lock_t): Use sem_t instead of mutex if semaphores
12186         aren't broken.
12187         (omp_nest_lock_t): Likewise.  Change owner to void *.
12188         * config/posix/omp-lock.h: Include semaphore.h.
12189         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12190         (omp_lock_t): Use sem_t instead of mutex if semaphores
12191         aren't broken.
12192         (omp_nest_lock_t): Likewise.  Add owner field.
12194 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
12196         * testsuite/libgomp.c/collapse-1.c: New test.
12197         * testsuite/libgomp.c/collapse-2.c: New test.
12198         * testsuite/libgomp.c/collapse-3.c: New test.
12199         * testsuite/libgomp.c/icv-1.c: New test.
12200         * testsuite/libgomp.c/icv-2.c: New test.
12201         * testsuite/libgomp.c/lib-2.c: New test.
12202         * testsuite/libgomp.c/lock-1.c: New test.
12203         * testsuite/libgomp.c/lock-2.c: New test.
12204         * testsuite/libgomp.c/lock-3.c: New test.
12205         * testsuite/libgomp.c/loop-4.c: New test.
12206         * testsuite/libgomp.c/loop-5.c: New test.
12207         * testsuite/libgomp.c/loop-6.c: New test.
12208         * testsuite/libgomp.c/loop-7.c: New test.
12209         * testsuite/libgomp.c/loop-8.c: New test.
12210         * testsuite/libgomp.c/loop-9.c: New test.
12211         * testsuite/libgomp.c/nested-3.c: New test.
12212         * testsuite/libgomp.c/nestedfn-6.c: New test.
12213         * testsuite/libgomp.c/sort-1.c: New test.
12214         * testsuite/libgomp.c/task-1.c: New test.
12215         * testsuite/libgomp.c/task-2.c: New test.
12216         * testsuite/libgomp.c/task-3.c: New test.
12217         * testsuite/libgomp.c/task-4.c: New test.
12218         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12219         to C++ testsuite default compiler options.
12220         * testsuite/libgomp.c++/collapse-1.C: New test.
12221         * testsuite/libgomp.c++/collapse-2.C: New test.
12222         * testsuite/libgomp.c++/ctor-10.C: New test.
12223         * testsuite/libgomp.c++/for-1.C: New test.
12224         * testsuite/libgomp.c++/for-2.C: New test.
12225         * testsuite/libgomp.c++/for-3.C: New test.
12226         * testsuite/libgomp.c++/for-4.C: New test.
12227         * testsuite/libgomp.c++/for-5.C: New test.
12228         * testsuite/libgomp.c++/loop-8.C: New test.
12229         * testsuite/libgomp.c++/loop-9.C: New test.
12230         * testsuite/libgomp.c++/loop-10.C: New test.
12231         * testsuite/libgomp.c++/task-1.C: New test.
12232         * testsuite/libgomp.c++/task-2.C: New test.
12233         * testsuite/libgomp.c++/task-3.C: New test.
12234         * testsuite/libgomp.c++/task-4.C: New test.
12235         * testsuite/libgomp.c++/task-5.C: New test.
12236         * testsuite/libgomp.c++/task-6.C: New test.
12237         * testsuite/libgomp.fortran/allocatable1.f90: New test.
12238         * testsuite/libgomp.fortran/allocatable2.f90: New test.
12239         * testsuite/libgomp.fortran/allocatable3.f90: New test.
12240         * testsuite/libgomp.fortran/allocatable4.f90: New test.
12241         * testsuite/libgomp.fortran/collapse1.f90: New test.
12242         * testsuite/libgomp.fortran/collapse2.f90: New test.
12243         * testsuite/libgomp.fortran/collapse3.f90: New test.
12244         * testsuite/libgomp.fortran/collapse4.f90: New test.
12245         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12246         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12247         * testsuite/libgomp.fortran/lib4.f90: New test.
12248         * testsuite/libgomp.fortran/lock-1.f90: New test.
12249         * testsuite/libgomp.fortran/lock-2.f90: New test.
12250         * testsuite/libgomp.fortran/nested1.f90: New test.
12251         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12252         * testsuite/libgomp.fortran/strassen.f90: New test.
12253         * testsuite/libgomp.fortran/tabs1.f90: New test.
12254         * testsuite/libgomp.fortran/tabs2.f: New test.
12255         * testsuite/libgomp.fortran/task1.f90: New test.
12256         * testsuite/libgomp.fortran/task2.f90: New test.
12257         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12258         * testsuite/libgomp.fortran/vla5.f90: Likewise.
12259         * testsuite/libgomp.c/pr26943-2.c: Likewise.
12260         * testsuite/libgomp.c/pr26943-3.c: Likewise.
12261         * testsuite/libgomp.c/pr26943-4.c: Likewise.
12263 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
12265         PR c++/36308
12266         * testsuite/libgomp.c++/ctor-11.C: New test.
12267         * testsuite/libgomp.c++/ctor-12.C: New test.
12269 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
12271         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12273 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
12275         PR middle-end/36106
12276         * testsuite/libgomp.c/atomic-5.c: New test.
12277         * testsuite/libgomp.c/atomic-6.c: New test.
12278         * testsuite/libgomp.c/autopar-1.c: New test.
12280 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12282         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12283         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12284         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12285         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12286         * configure: Regenerate.
12287         * Makefile.in, testsuite/Makefile.in: Likewise.
12289 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
12291         PR bootstrap/35457
12292         * aclocal.m4: Regenerate.
12293         * configure: Regenerate.
12295 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
12297         PR middle-end/35611
12298         * testsuite/libgomp.c/atomic-4.c: New test.
12300         PR libgomp/35625
12301         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12302         (gomp_iter_guided_next): Likewise.
12303         * testsuite/libgomp.c/pr35625.c: New test.
12305 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12307         * aclocal.m4: Regenerate.
12308         * configure: Likewise.
12309         * Makefile.in: Likewise.
12310         * testsuite/Makefile.in: Likewise.
12312 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
12314         PR middle-end/35185
12315         * testsuite/libgomp.c++/pr35185.C: New test.
12317 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
12319         PR middle-end/35549
12320         * testsuite/libgomp.c/pr35549.c: New test.
12322 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
12324         * testsuite/libgomp.c/atomic-3.c: New test.
12326 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12328         PR fortran/33197
12329         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12330         .F08 file suffixes.
12332 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
12334         PR libgomp/33131
12335         * configure.ac: Add ACX_HEADER_STRING.
12336         * env.c: Include strings.h.
12337         * aclocal.m4: Regenerate.
12338         * config.h.in: Regenerate.
12339         * configure: Regenerate.
12340         * Makefile.in: Regenerate.
12341         * testsuite/Makefile.in: Regenerate.
12343 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
12345         PR middle-end/35196
12346         * testsuite/libgomp.c/pr35196.c: New test.
12348         PR middle-end/35130
12349         * testsuite/libgomp.fortran/pr35130.f90: New test.
12350         * testsuite/libgomp.c/pr35130.c: New test.
12352 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
12354         PR middle-end/33880
12355         * testsuite/libgomp.c/pr33880.c: New test.
12356         * testsuite/libgomp.fortran/pr33880.f90: New test.
12358 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
12360         * configure: Regenerate.
12362 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
12364         * configure.ac: Move futex checking into ../config/futex.m4.
12365         * configure: Rebuilt.
12366         * aclocal.m4: Rebuilt.
12367         * Makefile.in: Rebuilt.
12369         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12370         2007-10-15 ../config/tls.m4 change.
12372 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
12374         PR c++/34513
12375         * testsuite/libgomp.c/pr34513.c: New test.
12376         * testsuite/libgomp.c++/pr34513.C: New test.
12378 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
12380         PR target/32765
12381         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12383 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
12385         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
12387 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
12389         * testsuite/libgomp.c/private-1.c: New test.
12391 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
12392             Paolo Bonzini  <bonzini@gnu.org>
12394         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
12395         instead of 'VPATH ='.
12396         * Makefile.in: Regenerate.
12398 2007-11-23  Matthias Klose  <doko@ubuntu.com>
12400         * configure.ac: Adjust makeinfo version check.
12401         * configure: Regenerate.
12403 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
12405         PR fortran/34020
12406         * testsuite/libgomp.fortran/pr34020.f90: New test.
12408 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
12410         PR c++/33894
12411         * testsuite/libgomp.c++/atomic-1.C: New test.
12413 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
12415         PR libgomp/33275
12416         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12417         Make x and y integers rather than (implicit) reals.  Add private (j)
12418         clause to the last omp parallel.
12420 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
12422         * configure: Regenerate following changes to ../config/tls.m4.
12424 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
12426         * testsuite/libgomp.fortran/stack.f90: New test.
12428 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
12430         * config/mingw32/proc.c: New file.
12432 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
12434         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12435         (main): Use __get_cpuid to get i386 target fetaures.
12436         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12437         (main): Use __get_cpuid to get x86_64 target fetaures.
12439 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
12441         PR target/32765
12442         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12443         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12445 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
12447         PR fortran/32550
12448         * testsuite/libgomp.fortran/pr32550.f90: New test.
12449         * testsuite/libgomp.fortran/crayptr2.f90: New test.
12451 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
12453         * aclocal.m4: Regenerated.
12455 2007-07-05  Tobias Burnus  <burnus@net-b.de>
12457         PR fortran/32359
12458         * testsuite/libgomp.fortran/pr32359.f90: New.
12460 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
12462         PR libgomp/32468
12463         * sections.c (GOMP_parallel_sections_start): Only decrease
12464         number of threads to COUNT if dyn_var is true.
12465         * testsuite/libgomp.c/pr32468.c: New test.
12467 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12469         PR libgomp/26308
12470         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12472 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
12474         PR middle-end/32362
12475         * testsuite/libgomp.c/pr32362-1.c: New test.
12476         * testsuite/libgomp.c/pr32362-2.c: New test.
12477         * testsuite/libgomp.c/pr32362-3.c: New test.
12479 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
12481         * team.c (gomp_team_start): Fix setting up thread_attr
12482         stack size.
12484 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
12486         * configure: Regenerate.
12488 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
12490         * Makefile.in: Regenerate.
12491         * configure: Regenerate.
12492         * aclocal.m4: Regenerate.
12493         * testsuite/Makefile.in: Regenerate.
12495 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
12497         * config/linux/proc.c: New file.
12499         PR libgomp/28482
12500         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12502 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
12504         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12506 2007-04-16  Matthias Klose  <doko@debian.org>
12508         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12509         flags if not building with -m64.
12510         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12511         flag for i?86-*-* targets, if current target matches -m64.
12513 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
12515         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12516         * Makefile.in: Regenerate.
12518 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12520         PR testsuite/31369
12521         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12522         ld_library_path.
12523         * testsuite/libgomp.fortran/fortran.exp: Likewise.
12525 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
12527         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12528         decls.
12529         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12530         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12531         (parse_affinity): New function.
12532         (initialize_env): Call it and gomp_init_affinity.
12533         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12534         create new pthread_attr_t and call gomp_init_thread_affinity
12535         on it for each thread before passing the attribute to pthread_create.
12536         * config/linux/affinity.c: New file.
12537         * config/posix/affinity.c: New file.
12538         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12539         * configure: Rebuilt.
12540         * config.h.in: Rebuilt.
12541         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12542         * Makefile.in: Rebuilt.
12544 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
12546         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12547         *-*-darwin*.
12548         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12549         and use it if found.
12551 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
12553         * testsuite/config/default.exp: New file.
12554         * testsuite/lib/libgomp.exp: New file.
12555         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12556         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12557         load_lib *, load_gcc_lib *): Move to libgomp.exp.
12558         (libgomp_load): Remove.
12559         * testsuite/lib/libgomp.exp (libgomp_init): Compute
12560         always_ld_library_path, not ld_library_path.  Set additional_flags
12561         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12562         (target_compile): Do not call libgomp_init.  Append lang_library_path
12563         and lang_link_flags to options.
12564         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
12565         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
12566         here.
12567         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12568         always_ld_library_path.  Set LD_LIBRARY_PATH here.
12569         * testsuite/libgomp.fortran/fortran.exp: Ditto.
12570         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12571         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12572         CX8 flag.
12573         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12574         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12575         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12576         * testsuite/libgomp.c/pr29947-1.c: Ditto.
12577         * testsuite/libgomp.c/atomic-10.c: Ditto.
12579 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
12581         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12582         dg-final cleanup-modules line.
12583         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12584         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12585         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12586         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12587         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12588         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12589         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12591 2007-03-18  Andreas Schwab  <schwab@suse.de>
12593         * acinclude.m4: Adjust regular expression for ld version
12594         extraction.
12595         * configure: Regenerate.
12597 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
12599         * Makefile.am: Add install-pdf target as copied from
12600         automake v1.10 rules.
12601         * Makefile.in: Regenerate
12603 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
12605         PR libgomp/28486
12606         * configure: Regenerate.
12608         PR c++/30703
12609         * testsuite/libgomp.c++/pr30703.C: New test.
12611 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
12613         Revert:
12614         2006-07-05  Eric Christopher  <echristo@apple.com>
12615         * configure.ac: Depend addition of -pthread on host OS.
12616         * configure: Regenerate.
12618 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12620         * libgomp.texi: Fix spacing after abbreviations.
12622 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
12624         PR libgomp/30546
12625         * configure.ac: Add check for makeinfo
12626         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
12627         if an appropriate version of makeinfo is found.
12628         * aclocal.m4: Regenerated.
12629         * configure: Regenerated.
12630         * Makefile.in: Regenerated.
12631         * testsuite/Makefile.in: Regenerated.
12633 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
12635         PR libgomp/30540
12636         * libgomp.texi: More about implementation-dependent settings.
12638 2007-01-26  Tobias Burnus  <burnus@net-b.de>
12640         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12642 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
12644         PR middle-end/30494
12645         * testsuite/libgomp.c/pr30494.c: New test.
12647 2007-01-15  Tom Tromey  <tromey@redhat.com>
12649         * configure: Rebuilt.
12650         * configure.ac: Fixed comment.
12652 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
12654         * libgomp.texi: Document implementation specific default values of
12655         environment variables.
12657 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
12659         PR libgomp/28209
12660         * libgomp.texi: New file.
12661         * configure.ac: Add --enable-generated-files-in-srcdir option.
12662         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12663         files to srcdir.
12664         * Makefile.in: Regenerated.
12665         * config.h.in: Regenerated.
12666         * testsuite/Makefile.in: Regenerated.
12667         * NOTES: Removed.
12669 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
12671         PR libgomp/29949
12672         * env.c (omp_set_num_threads): Set illegal thread count to 1.
12674 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
12676         * configure: Regenerate.
12678 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
12680         PR libgomp/29947
12681         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
12682         start if there shouldn't be any loop iterations.
12683         (gomp_loop_ordered_static_start): Remove start == end test.
12684         * testsuite/libgomp.c/pr29947-1.c: New test.
12685         * testsuite/libgomp.c/pr29947-2.c: New test.
12687 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
12689         * configure.tgt: Force initial-exec TLS model on Linux only.
12691 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
12693         * configure: Regenerated.
12695 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
12697         * env.c (parse_schedule): Reject out of range values.
12698         (parse_unsigned_long): Reject out of range, negative or zero values.
12700 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
12702         PR fortran/29629
12703         * testsuite/libgomp.fortran/pr29629.f90: New test.
12705 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
12707         PR libgomp/29494
12708         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12709         * config/posix95: New directory.
12710         * config/posix95/omp-lock.h: New file.
12711         * config/posix95/lock.c: Likewise.
12713 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
12715         * aclocal.m4: Regenerate.
12716         * configure: Regenerate.
12718 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12720         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12721         '<' to '<='.
12723 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12725         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12726         test.
12727         * configure: Regenerate.
12728         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12730 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
12732         PR middle-end/25261
12733         PR middle-end/28790
12734         * testsuite/libgomp.c/nestedfn-4.c: New test.
12735         * testsuite/libgomp.c/nestedfn-5.c: New test.
12736         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12738         PR fortran/29097
12739         * testsuite/libgomp.fortran/condinc1.f: New test.
12740         * testsuite/libgomp.fortran/condinc2.f: New test.
12741         * testsuite/libgomp.fortran/condinc3.f90: New test.
12742         * testsuite/libgomp.fortran/condinc4.f90: New test.
12743         * testsuite/libgomp.fortran/condinc1.inc: New file.
12745 2006-09-18  Tom Tromey  <tromey@redhat.com>
12747         * configure: Rebuilt.
12749 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
12751         PR c/28768
12752         PR preprocessor/14634
12753         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12754         to AC_DEFINE.
12755         * configure: Regenerate.
12757 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
12759         * testsuite/libgomp.fortran/reduction3.f90: Change
12760         -2147483648 to -huge(i)-1 to avoid overflow.
12761         * testsuite/libgomp.fortran/reduction4.f90: Change
12762         Z'ffffffff' to not(0) to avoid overflow.
12764 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
12766         PR libgomp/25938
12767         * Makefile.am (libsubincludedir): New.
12768         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12769         * Makefile.in: Regenerate.
12771 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
12773         PR libgomp/28725
12774         * env.c: Include ctype.h.
12775         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12776         leading and/or trailing whitespace and compare strings case
12777         insensitively.
12779 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
12781         PR fortran/28390
12782         * testsuite/libgomp.fortran/pr28390.f: New test.
12784 2006-07-05  Eric Christopher  <echristo@apple.com>
12786         * configure.ac: Depend addition of -pthread on host OS.
12787         * configure: Regenerate.
12789 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
12791         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12792         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12793         defined.
12795 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
12797         PR libgomp/26175
12798         PR libgomp/26477
12799         * configure.ac: If neither --enable-linux-futex nor
12800         --disable-linux-futex is passed, determine the default by checking
12801         for compiling and/or running against NPTL.  With --enable-linux-futex,
12802         check if SYS_gettid and SYS_futex are defined.
12803         * configure: Rebuilt.
12805 2006-06-14  Richard Henderson  <rth@redhat.com>
12807         PR libgomp/28008
12808         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12809         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12811 2006-06-09  Richard Henderson  <rth@redhat.com>
12813         * env.c (gomp_nthreads_var): Change to unsigned long.
12814         (gomp_run_sched_chunk): Likewise.
12815         (parse_unsigned_long): Rename from parse_num_threads and generalize.
12816         (initialize_env): Initialize gomp_thread_attr.
12817         * libgomp.h (gomp_nthreads_var): Update decl.
12818         (gomp_run_sched_chunk): Likewise.
12819         (gomp_thread_attr): Declare.
12820         * team.c (gomp_thread_attr): Export.
12821         (initialize_team): Don't initialize it.
12823 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
12825         PR fortran/27916
12826         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12827         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12829 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12831         * config/mingw32/time.c: New file.
12832         * configure.tgt: Use it.
12834 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
12836         * Makefile.am: Add install-html target. Add install-html to .PHONY
12837         * Makefile.in: Regenerate.
12839 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12841         PR libgomp/27612
12842         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12843         * testsuite/libgomp.c/critical-1.c: Likewise.
12844         * testsuite/libgomp.c/loop-1.c: Likewise.
12845         * testsuite/libgomp.c/loop-2.c: Likewise.
12846         * testsuite/libgomp.c/single-1.c: Likewise.
12847         * testsuite/libgomp.c/ordered-1.c: Likewise.
12848         * testsuite/libgomp.c/ordered-2.c: Likewise.
12850 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
12852         PR middle-end/27416
12853         * libgomp.fortran/pr27416-1.f90: New test.
12855 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
12857         PR fortran/27395
12858         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12859         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12861 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
12863         PR c++/26943
12864         * testsuite/libgomp.c/pr26943-1.c: New test.
12865         * testsuite/libgomp.c/pr26943-2.c: New test.
12866         * testsuite/libgomp.c/pr26943-3.c: New test.
12867         * testsuite/libgomp.c/pr26943-4.c: New test.
12868         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12869         * testsuite/libgomp.c++/pr26943.C: New test.
12871 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
12873         PR middle-end/27337
12874         * testsuite/libgomp.c++/pr27337.C: New test.
12876 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
12878         PR c/26171
12879         * testsuite/libgomp.c/pr26171.c: New test.
12881 2006-04-25  Richard Henderson  <rth@redhat.com>
12883         PR libgomp/25865
12884         * configure.ac: Use GCC_CHECK_TLS.
12885         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12886         * Makefile.in, aclocal.m4, configure: Regenerate.
12888 2006-04-10  Matthias Klose  <doko@debian.org>
12890         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12891         directory names containing underscores.
12893 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
12895         PR c++/26691
12896         * testsuite/libgomp.c++/pr26691.C: New test.
12898 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
12900         * testsuite/libgomp.fortran/retval2.f90: New test.
12902 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
12904         * testsuite/libgomp.c++: New directory.
12906 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
12908         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12909         * config/posix/sem.c: Implement the above.
12911 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
12913         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12914         define HAVE_BROKEN_POSIX_SEMAPHORES.
12915         * configure: Rebuilt.
12916         * config.h.in: Rebuilt.
12918 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12920         PR bootstrap/26161
12921         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12922         for the other pthread check.
12923         * configure: Regenerate.
12924         * config.h.in: Regenerate.
12926 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
12928         PR libgomp/25938
12929         PR libgomp/25984
12930         * Makefile.am (fincludedir): New variable.
12931         (nodist_include_HEADERS): Remove Fortran files.
12932         (nodist_finclude_HEADERS): New variable.
12933         * Makefile.in: Regenerated.
12935 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
12937         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12938         Remove tests for returning assumed character length arrays.
12940 2006-02-12  Roger Sayle  <roger@eyesopen.com>
12941             John David Anglin  <dave@hiauly1.hia.nrc.ca>
12943         PR libgomp/25936
12944         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12946 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
12948         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12950 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12952         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12953         part of LD_LIBRARY_PATH manually.
12955 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
12957         PR libgomp/25852
12958         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12959         libgomp_init.
12961 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
12963         PR libgomp/25884
12964         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12965         * configure.ac (PERL): Don't set.
12966         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12967         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12968         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12969         * omp.h.in: Wrap the new configure substitutions with @ characters.
12970         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12971         * aclocal.m4, configure, Makefile.in: Regenerate.
12972         * mkomp_h.pl: Delete.
12974 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
12976         PR libgomp/25259
12977         * configure.ac: Use GCC_HEADER_STDINT.
12978         * libgomp.h: Include gstdint.h.
12979         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12980         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12982 2006-01-24  Richard Henderson  <rth@redhat.com>
12984         PR libgomp/25942
12985         * configure.ac: Add AM_MAINTAINER_MODE.
12986         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12988 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
12990         * Makefile.in: Regenerate.
12991         * testsuite/Makefile.in: Regenerate.
12992         * aclocal.m4: Regenerate.
12994 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
12996         * config/posix/proc.c: Conditional include of sys/loadavg.h for
12997         Solaris.
12998         * configure.ac: Add check for loadavg.h.
12999         (link_gomp): Adjust comment.
13000         * configure: Regenerate.
13001         * config.h.in: Regenerate.
13003 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
13005         PR libgomp/25877
13006         * configure.ac: Remove check for alloca.h.
13007         * configure: Regenerate.
13008         * config.h.in: Regenerate.
13009         * libgomp.h: define gomp_alloca to be __builtin_alloca.
13010         * team.c: Remove use of alloca.h.
13011         Call gomp_alloca instead of alloca.
13013 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
13015         PR libgomp/25877
13016         * team.c: Add include of alloca.h.
13017         * configure.ac: Add check for alloca.h.
13018         * configure: Regenerate.
13019         * config.h.in: Regenerate.
13021 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
13023         PR fortran/25219
13024         * testsuite/libgomp.fortran/pr25219.f90: New test.
13026 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
13028         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13029         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13030         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13031         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13032         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13033         testsuite/libgomp.fortran/threadprivate1.f90,
13034         testsuite/libgomp.fortran/threadprivate2.f90,
13035         testsuite/libgomp.fortran/threadprivate3.f90,
13036         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13037         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13038         testsuite/libgomp.fortran/omp_parse3.f90: Change required
13039         effective-target to TLS runtime.
13041         * testsuite/libgomp.fortran/pr25162.f: Require
13042         effective-target TLS runtime.
13044 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
13046         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13047         * testsuite/libgomp.c/nestedfn-3.c: New test.
13049 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
13051         PR fortran/25162
13052         * testsuite/libgomp.fortran/pr25162.f: New test.
13054 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
13056         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13057         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13059 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
13061         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13062         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13063         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13064         single.c, team.c, work.c, config/linux/alpha/futex.h,
13065         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13066         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13067         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13068         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13069         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13070         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13071         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13072         FSF address.
13074 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13076         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13077         to nodist_noinst_HEADERS.
13078         * Makefile.in: Rebuilt.
13080         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13081         add integer count field.
13082         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13083         omp_nest_lock_t type change.
13084         (omp_init_nest_lock): Likewise.  Initialize count to 0.
13085         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13086         Increment count.
13087         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13088         Decrement count.
13089         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13090         Increment count if successful and return the new nesting level.
13091         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13092         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13093         * testsuite/libgomp.c/lib-1.c: New test.
13094         * testsuite/libgomp.fortran/lib1.f90: New test.
13095         * testsuite/libgomp.fortran/lib2.f: New test.
13096         * testsuite/libgomp.fortran/lib3.f: New test.
13098 2005-11-17  Richard Henderson  <rth@redhat.com>
13100         PR 24845
13101         * Makefile.am (nodist_toolexeclib_HEADERS): New.
13102         * configure.ac (link_gomp): New.  Substitute it.
13103         (AC_CONFIG_FILES): Add libgomp.spec.
13104         * libgomp.spec.in: New file.
13105         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13106         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13108 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13110         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13111         reduction(-:var) behaving the same as reduction(+:var).
13112         * testsuite/libgomp.c/reduction-4.c: New test.
13114 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
13116         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13117         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13118         testsuite/libgomp.c/copyin-3.c,
13119         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13120         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13121         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13122         testsuite/libgomp.c++/pr24455.C,
13123         testsuite/libgomp.fortran/threadprivate1.f90,
13124         testsuite/libgomp.fortran/threadprivate2.f90,
13125         testsuite/libgomp.fortran/threadprivate3.f90,
13126         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13127         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13128         testsuite/libgomp.fortran/omp_parse3.f90: Require
13129         effective-target TLS.
13131 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
13133         * HEADER: Remove.
13135 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
13137         PR libgomp/24797
13138         * team.c (initialize_team): Pass NULL rather than free as
13139         pthread_key_create destructor.  Initialize thread specific data
13140         pointer in initial thread to a static local variable rather than
13141         malloced memory.
13143 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
13145         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13146         its location to ld_library_path.
13148 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13150         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13152 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13154         * testsuite/libgomp.c: Rename from libgomp.dg.
13156 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
13158         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13159         threadprivate variable 'i'.
13161 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
13163         * config/linux/s390/futex.h: New file.
13164         * configure.tgt: Use it.
13166         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13167         before the parallel.
13169 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
13171         PR c++/24734
13172         * testsuite/libgomp.c++/master-1.C: New test.
13174 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13176         * testsuite/libgomp.dg/copyin-3.c: New test.
13178 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13180         * testsuite/libgomp.fortran/retval1.f90: New test.
13181         * testsuite/libgomp.fortran/vla7.f90: New test.
13183 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
13185         * testsuite/libgomp.fortran/vla2.f90: New test.
13186         * testsuite/libgomp.fortran/vla3.f90: New test.
13187         * testsuite/libgomp.fortran/vla4.f90: New test.
13188         * testsuite/libgomp.fortran/vla5.f90: New test.
13189         * testsuite/libgomp.fortran/vla6.f90: New test.
13191 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
13193         * config/linux/sparc/futex.h: New file.
13194         * configure.tgt: Use it.
13195         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13197         * critical.c: Include stdlib.h.
13198         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13199         ignoring return value.
13200         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13201         LIBGOMP_CHECK_SYNC_BUILTINS check.
13202         * configure: Rebuilt.
13204 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13206         * testsuite/libgomp.fortran/vla1.f90: New test.
13208 2005-10-31  Richard Henderson  <rth@redhat.com>
13210         * testsuite/libgomp.fortran/character2.f90: Fix race condition
13211         setting 's' in different threads.
13213 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13215         * libgomp.h (attribute_hidden, ialias): Define.
13216         * config/posix/proc.c (omp_get_num_procs): Add ialias.
13217         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13218         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13219         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13220         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13221         omp_test_lock, omp_test_nest_lock): Likewise.
13222         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13223         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13224         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13225         omp_test_lock, omp_test_nest_lock): Likewise.
13226         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13227         omp_get_dynamic, omp_get_nested): Likewise.
13228         * parallel.c (omp_get_num_threads, omp_get_max_threads,
13229         omp_get_thread_num, omp_in_parallel): Likewise.
13230         * fortran.c (ialias_redirect): Define.
13231         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13232         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13233         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13234         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13235         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13236         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13237         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13238         omp_get_wtime): Add ialias_redirect.
13240 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
13242         * fortran.c: Include stdlib.h.
13244 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
13246         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13247         * Makefile.in: Regenerated.
13249 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
13251         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13252         * libgomp_f.h.in (omp_check_defines): New function.
13253         * env.c: Include libgomp_f.h.
13254         (initialize_env): Call omp_check_defines.
13256         * testsuite/libgomp.dg/copyin-2.c: New test.
13257         * testsuite/libgomp.c++/copyin-2.C: New test.
13258         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13260         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13261         * testsuite/libgomp.fortran/sharing2.f90: New test.
13263         * testsuite/libgomp.dg/copyin-1.c: New test.
13264         * testsuite/libgomp.c++/copyin-1.C: New test.
13266 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
13268         * testsuite/libgomp.fortran/crayptr1.f90: New test.
13270         * testsuite/libgomp.fortran/workshare1.f90: New test.
13272         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13273         only test.
13274         * libgomp.fortran/sharing1.f90: New test.
13276 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
13278         PR c++/24502
13279         * testsuite/libgomp.c++/loop-7.C: New test.
13281         * testsuite/libgomp.dg/nestedfn-2.c: New test.
13283         * testsuite/libgomp.dg/nestedfn-1.c: New test.
13284         * testsuite/libgomp.fortran/reduction6.f90: New test.
13285         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13287 2005-10-23  Richard Henderson  <rth@redhat.com>
13289         * testsuite/libgomp.c++/ctor-1.C: New.
13290         * testsuite/libgomp.c++/ctor-2.C: New.
13291         * testsuite/libgomp.c++/ctor-3.C: New.
13292         * testsuite/libgomp.c++/ctor-4.C: New.
13293         * testsuite/libgomp.c++/ctor-5.C: New.
13294         * testsuite/libgomp.c++/ctor-6.C: New.
13295         * testsuite/libgomp.c++/ctor-7.C: New.
13296         * testsuite/libgomp.c++/ctor-8.C: New.
13297         * testsuite/libgomp.c++/ctor-9.C: New.
13299 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
13301         PR 24455
13302         * testsuite/libgomp.c++/pr24455-1.C: New test.
13303         * testsuite/libgomp.c++/pr24455.C: New test.
13304         * testsuite/libgomp.dg/pr24455-1.c: New test.
13305         * testsuite/libgomp.dg/pr24455.c: New test.
13307 2005-10-20  Richard Henderson  <rth@redhat.com>
13309         * testsuite/libgomp.c++/loop-6.C: New.
13310         * testsuite/libgomp.dg/loop-3.c: New.
13312 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
13314         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13315         explicitly private.
13316         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13317         explicitly shared.
13319 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
13321         * testsuite/libgomp.fortran/jacobi.f: New test.
13323 2005-10-19  Richard Henderson  <rth@redhat.com>
13325         * configure.tgt (i?86-linux): Default to with_arch instead of
13326         CFLAGS.  Add -mtune to match target_cpu.
13327         (x86_64-linux): Tune to i686.
13329         * fortran.c (omp_test_nest_lock_): Fix typo.
13331 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
13333         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13334         gomp_ordered_sync): Do nothing if team->nthreads == 1.
13335         * testsuite/libgomp.dg/ordered-3.c: New test.
13337         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13338         Remove volatile keyword.
13340         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13341         in COMMON block to avoid warnings on 64-bit targets.
13343 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
13345         * testsuite/libgomp.dg/shared-3.c: New test.
13347 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13349         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13350         * testsuite/libgomp.fortran/reduction5.f90: New test.
13352 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13354         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13355         dg-options.
13356         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
13357         flush loop now that __sync_synchronize has proper memory barrier.
13358         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13359         Add -ffixed-form to dg-options.
13361 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13363         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13364         from subdirectories.
13365         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13366         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13367         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13368         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13369         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13370         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13371         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13372         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13373         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13374         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13375         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13376         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13377         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13378         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13379         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13380         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13381         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13382         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13383         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13384         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13385         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13386         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13387         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13388         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13389         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13391 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
13393         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13394         lang_library_path exists.  Use find instead of glob to gather tests.
13395         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13397 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13399         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13400         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13401         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13402         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13403         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13404         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13405         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13406         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13407         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13408         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13409         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13410         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13411         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13413 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
13415         * testsuite/libgomp.dg/vla-1.c: New test.
13417         * testsuite/libgomp.fortran/reference2.f90: New test.
13419         * testsuite/libgomp.fortran/character2.f90: Remove explicit
13420         declaration of omp_get_thread_num.
13421         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
13422         use omp_lib.
13424         * testsuite/libgomp.fortran/reduction1.f90: New test.
13425         * testsuite/libgomp.fortran/reduction2.f90: New test.
13426         * testsuite/libgomp.fortran/reduction3.f90: New test.
13427         * testsuite/libgomp.fortran/reduction4.f90: New test.
13429 2005-10-13  Richard Henderson  <rth@redhat.com>
13431         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13432         * Makefile.in: Regenerate.
13433         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13434         * libgomp.h: Include bar.h.
13435         (struct gomp_barrier): Remove.
13436         (struct gomp_team): Add barrier.  Replace master_barrier with
13437         master_release.  Replace threads with ordered_release.
13438         (struct gomp_thread): Replace barrier with release.
13439         * ordered.c (gomp_ordered_first): Update for ordered_release change.
13440         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13441         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13442         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13443         (GOMP_single_copy_end): Likewise.
13444         * team.c (gomp_threads_dock): New.
13445         (gomp_barrier_init, gomp_barrier_destroy): Remove.
13446         (gomp_thread_start): Use gomp_barrier_wait.
13447         (new_team, free_team): Update for gomp_team changes.
13448         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13449         (gomp_team_end): Use gomp_barrier_wait.
13450         (initialize_team): Update for gomp_thread changes.
13451         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13452         (gomp_work_share_end_nowait): Use atomic ops when available.
13453         * config/linux/bar.c, config/linux/bar.h: New files.
13454         * config/posix/bar.c, config/posix/bar.h: New files.
13456 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
13458         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13459         * testsuite/libgomp.dg/single-2.c: New test.
13461         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13462         lang_link_flags): Unset, so that they aren't inherited from previously
13463         sourced *.exp.
13465         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13467 2005-10-12  Richard Henderson  <rth@redhat.com>
13469         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13470         (libgomp_init): Use lang_test_file, lang_library_path, and
13471         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
13473         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13474         (lang_test_file, lang_link_flags): New.
13475         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13477         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13478         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13479         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13480         testsuite/libgomp.c++/parallel-1.C,
13481         testsuite/libgomp.c++/reduction-1.C,
13482         testsuite/libgomp.c++/reduction-2.C,
13483         testsuite/libgomp.c++/reduction-3.C,
13484         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13485         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13486         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13487         New files, largely cribbed from the C testsuite.
13489 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
13491         * testsuite/libgomp.fortran/character1.f90: New test.
13492         * testsuite/libgomp.fortran/character2.f90: New test.
13494         * testsuite/libgomp.dg/nested-1.c: New test.
13495         * testsuite/libgomp.dg/nested-2.c: New test.
13496         * testsuite/libgomp.fortran/do1.f90: New test.
13497         * testsuite/libgomp.fortran/do2.f90: New test.
13499         * testsuite/libgomp.fortran/reference1.f90: New test.
13501 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
13503         * testsuite/libgomp.dg/reduction-1.c: New test.
13504         * testsuite/libgomp.dg/reduction-2.c: New test.
13505         * testsuite/libgomp.dg/reduction-3.c: New test.
13507 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
13509         * testsuite/libgomp.dg/atomic-1.c: New test.
13510         * testsuite/libgomp.dg/atomic-2.c: New test.
13512 2005-10-09  Richard Henderson  <rth@redhat.com>
13514         * critical.c (atomic_lock): New.
13515         (initialize_critical): Initialize it.
13516         (GOMP_atomic_start, GOMP_atomic_end): New.
13517         * libgomp.map: Export them.
13518         * libgomp_g.h: Declare them.
13520         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13522 2005-10-02  Richard Henderson  <rth@redhat.com>
13524         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
13525         to XCFLAGS instead of CFLAGS.
13527 2005-09-30  Richard Henderson  <rth@redhat.com>
13529         * configure.ac: Determine whether -pthread or -lpthread is needed.
13530         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13531         * Makefile.in, configure: Rebuild.
13533 2005-09-28  Richard Henderson  <rth@redhat.com>
13535         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13536         * testsuite/libgomp.dg/omp-single-3.c: New test.
13538 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
13540         * testsuite/libgomp.dg/omp-single-2.c: New test.
13541         * testsuite/libgomp.dg/shared-2.c: Fix return code.
13543 2005-09-27  Richard Henderson  <rth@redhat.com>
13545         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13546         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13548 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
13550         * testsuite/libgomp.dg/omp-loop03.c: New test.
13552 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
13554         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13556 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
13558         * testsuite/libgomp.dg/omp-single-1.c: New test.
13559         * testsuite/libgomp.dg/shared-1.c: Return 0.
13560         Add prototype for abort.
13561         * testsuite/libgomp.dg/shared-2.c: Likewise.
13563 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
13565         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13566         constructs.
13568 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
13570         * testsuite/libgomp.dg/shared-1.c: New test.
13571         * testsuite/libgomp.dg/shared-2.c: New test.
13573 2005-09-24  Richard Henderson  <rth@redhat.com>
13575         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13577 2005-09-24  Richard Henderson  <rth@redhat.com>
13579         * iter.c (gomp_iter_static_next): Round up when computing number
13580         of iterations.  Don't bother distributing a remainder equally.
13582         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13583         Don't call srand.  Zero b before testing.
13584         (main): New.
13586 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
13588         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13589         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13591 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
13593         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13594         without !$omp end do, followed immediately by subroutine end.
13596 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
13598         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13600 2005-09-22  Richard Henderson  <rth@redhat.com>
13602         * critical.c (GOMP_critical_name_start): Change argument to void**.
13603         Reuse the pointer space if the mutex fits.
13604         (GOMP_critical_name_end): Likewise.
13605         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13606         * libgomp_g.h (GOMP_critical_name_start): Update decl.
13607         (GOMP_critical_name_end): Likewise.
13608         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13609         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13611 2005-09-20  Richard Henderson  <rth@redhat.com>
13613         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13614         (create_lock_lock): New.
13615         (initialize_critical): Initialize it.
13616         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13617         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13619 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
13621         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13623 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
13625         * testsuite/libgomp.dg/omp-loop01.c: New test.
13626         * testsuite/libgomp.dg/omp-loop02.c: New test.
13628 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
13630         * configure.ac (AC_PROG_FC): Add.
13631         (USE_FORTRAN): New automake conditional.
13632         * configure: Rebuilt.
13633         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13634         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13635         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13636         Add rules to build them.
13637         * Makefile.in: Rebuilt.
13638         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13639         OMP_NEST_LOCK_KIND.
13640         * libgomp.map: Add Fortran wrappers.
13641         * libgomp_f.h.in: New file.
13642         * omp_lib.h.in: New file.
13643         * omp_lib.f90.in: New file.
13644         * fortran.c: New file.
13645         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13646         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13647         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13648         libgfortran has been built.
13649         * testsuite/libgomp.fortran/fortran.exp: New file.
13650         * testsuite/libgomp.fortran/omp_cond1.f: New test.
13651         * testsuite/libgomp.fortran/omp_cond2.f: New test.
13652         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13653         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13654         * testsuite/libgomp.fortran/omp_hello.f: New test.
13655         * testsuite/libgomp.fortran/omp_orphan.f: New test.
13656         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13657         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13658         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13659         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13660         * testsuite/libgomp.fortran/omp_reduction.f: New test.
13661         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13662         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13664 2005-08-30  Richard Henderson  <rth@redhat.com>
13666         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13667         function for when aliases are not usable.
13668         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13669         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13670         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13671         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13672         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13673         GOMP_loop_ordered_guided_next): Likewise.
13674         * ordered.c (GOMP_ordered_start): Likewise.
13676 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
13678         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13679         * testsuite/libgomp.dg/omp_hello.c: Fix return code
13680         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13681         * testsuite/libgomp.dg/omp_orphan.c: Likewise
13682         * testsuite/libgomp.dg/omp_reduction.c: Likewise
13683         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13684         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13685         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13686         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13688 2005-07-07  Eric Christopher  <echristo@redhat.com>
13689             Diego Novillo  <dnovillo@redhat.com>
13691         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13692         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13693         up code.
13694         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13695         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13696         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13697         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13698         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13699         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13700         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13702 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
13704         * TOPLEVEL.patch: Remove.
13706 2005-05-16  Richard Henderson  <rth@redhat.com>
13708         * configure.ac: Test for clock_gettime.
13709         * config.h.in, configure: Rebuild.
13710         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13711         (omp_get_wtime): Use clock_gettime if available.
13712         (omp_get_wtick): Use clock_getres if available.
13714 2005-05-11  Richard Henderson  <rth@redhat.com>
13716         * config/linux/ia64/futex.h: New file.
13717         * configure.tgt: Use it.
13719         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13721 2005-05-07  Richard Henderson  <rth@redhat.com>
13723         * config/linux/powerpc/futex.h: New file.
13724         * configure.tgt: Use it.
13726         * config/linux/i486/futex.h: Merge ...
13727         * config/linux/x86_64/futex.h: ... into ...
13728         * config/linux/x86/futex.h: ... here.
13729         * configure.tgt: Update to match.
13731 2005-05-06  Richard Henderson  <rth@redhat.com>
13733         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13734         * config/linux/i486/futex.h: Likewise.
13735         * config/linux/x86_64/futex.h: Likewise.
13737         * config/linux/lock.c: New file.
13738         * config/linux/omp-lock.h: New file.
13740         * critical.c, env.h: Don't include omp.h
13741         * config/posix/lock.c: Include libgomp.h instead of omp.h.
13742         * config/posix/time.c: Likewise.
13743         * config/posix/omp-lock.h: New file.
13744         * libgomp.h: Include omp-lock.h and omp.h.
13745         * Makefile.am (nodist_include_HEADERS): New.
13746         (omp.h): New rule.
13747         * configure.ac (PERL): New.
13748         * mkomp_h.pl: New file.
13749         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13750         with templates.
13751         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13753         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13754         build directory.  Re-add -march=i486 hack.
13756         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13757         (libgomp_link_flags): Remove.
13758         (libgomp_initialized): Remove.
13759         (libgomp_init): Don't protect from reinitialization.  Copy code
13760         from libstdc++ for getting the multilib set correctly.
13762 2005-05-05  Richard Henderson  <rth@redhat.com>
13764         * config/linux/alpha/futex.h: New file.
13765         * configure.tgt (alpha*-*-linux*): Use it.
13767         * config/posix/mutex.c: New file.
13768         * config/posix/sem.c: Use libgomp.h.
13770         * configure.tgt (x86_64-linux): Also test CC for -m32.
13771         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13773         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
13774         after $gccpath.
13776         * Makefile.am (SUBDIRS): New.
13777         (libgomp_la_LDFLAGS): Add -lpthread.
13778         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13779         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13781         * libgomp_g.h: New file.
13782         * libgomp.h: Split out all public declarations to libgomp_g.h.
13783         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13784         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13785         * config/linux/sem.h: Likewise.
13786         * config/posix/sem.h: Likewise.
13788         * Makefile.am (AM_LDFLAGS): New.
13789         (libgomp_version_script): Split out from ...
13790         (libgomp_la_LDFLAGS): ... here.
13791         (libgomp_version_info): New.
13792         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13793         (LIBGOMP_ENABLE): New.
13794         (LIBGOMP_CHECK_LINKER_FEATURES): New.
13795         (LIBGOMP_ENABLE_SYMVERS): New.
13796         * configure.ac (AC_INIT): Version 1.0.
13797         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13798         (enable-linux-futex): Likewise.  Rename from enable-futex.
13799         (libtool_VERSION): New.
13800         (LIBGOMP_ENABLE_SYMVERS): Use it.
13801         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13802         * Makefile.in, aclocal.m4, configure: Rebuild.
13804         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13805         (gomp_mutex_unlock_slow): Fix typo.
13806         * config/linux/sem.c: Similarly.
13807         (gomp_sem_post_slow): Fix typo.
13808         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13809         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13810         [__PIC__] (sys_futex0): Don't use tmp output in asm.
13812         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13813         (libgomp_la_LDFLAGS): Add top_srcdir to path.
13814         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13815         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
13816         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13817         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13818         LDFLAGS.  Pull enable_futex check to top-level.
13819         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
13820         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13822         First attempt at real configury.
13823         * Makefile, config.h: Remove file.
13824         * Makefile.am, Makefile.in: New file.
13825         * acinclude.m4 aclocal.m4: New file.
13826         * configure.ac, configure.tgt, configure: New file.
13828         * config/posix/lock.c: Rename from sys-lock.c.
13829         * config/posix/mutex.h: Rename from sys-mutex.h.
13830         * config/posix/sem.c: Rename from sys-sem.c.
13831         * config/posix/sem.h: Rename from sys-sem.h.
13832         * config/posix/proc.c: Rename from sys-proc.c.
13833         * config/posix/time.c: Rename from sys-proc.c.
13835         * config/linux/mutex.c: New file.
13836         * config/linux/mutex.h: New file.
13837         * config/linux/sem.c: New file.
13838         * config/linux/sem.h: New file.
13839         * config/linux/i486/futex.h: New file.
13840         * config/linux/x86_64/futex.h: New file.
13842 2005-05-04  Richard Henderson  <rth@redhat.com>
13844         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13845         * libgomp.h: Declare them.
13846         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13847         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13849 2005-05-04  Richard Henderson  <rth@redhat.com>
13851         * libgomp-1 code drop
13853 2005-05-04  Richard Henderson  <rth@redhat.com>
13855         * iter.c (gomp_iter_static_next): Return tri-state on 0.
13856         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13857         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13858         (gomp_iter_static_next): Update.
13859         (gomp_ordered_static_next): Update.
13860         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13861         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
13862         totally empty range.
13863         (gomp_loop_ordered_static_next): Refine test for calling
13864         gomp_ordered_static_next.
13865         * testsuite/ordered-1.c: Add case for more threads than iterations.
13867         * iter.c (gomp_iter_runtime_next_locked): Remove.
13868         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13869         gomp_loop_guided_start, gomp_loop_ordered_static_start,
13870         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13871         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13872         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13873         gomp_loop_ordered_guided_next): Downcase name, make static, add
13874         an external alias with the old name.
13875         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13876         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13877         switch and call one of the above static functions.
13878         * libgomp.h: Update.
13880         * work.c (gomp_work_share_start): Lock the mutex for !first too.
13881         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13882         GOMP_loop_guided_start, GOMP_loop_runtime_start,
13883         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13884         GOMP_loop_ordered_guided_start): Update to match.
13885         * sections.c (GOMP_sections_start): Likewise.
13886         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13888         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13889         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13890         Use bounds check instead of modulus.
13891         (gomp_ordered_sync): Split out of GOMP_ordered_start.
13892         (gomp_ordered_last): Don't sync with ordered_owner here.
13893         (gomp_ordered_next): Likewise.
13894         (gomp_ordered_static_loop_next): Likewise.
13895         * loop.c, libgomp.h: Update to match.
13897         * libgomp.h (GOMP_barrier): Declare.
13899         * testsuite/barrier-1.c: New file.
13900         * testsuite/critical-1.c: New file.
13901         * testsuite/ordered-2.c: New file.
13902         * testsuite/ordered-1.c: New file.
13903         * testsuite/sections-1.c: New file.
13904         * testsuite/single-1.c: New file.
13905         * testsuite/Makefile (TESTS): Add them.
13907 2005-05-04  Richard Henderson  <rth@redhat.com>
13909         * libgomp.h (struct gomp_work_share): Add ordered_owner.
13910         * loop.c (GOMP_loop_static_start): If not the startup thread,
13911         acquire the mutex to wait for initialization complete.
13912         (GOMP_loop_ordered_static_start): Likewise.
13913         (GOMP_loop_ordered_runtime_start): Likewise.
13914         (GOMP_loop_ordered_static_first): Remove.
13915         (GOMP_loop_ordered_dynamic_first): Remove.
13916         (GOMP_loop_ordered_guided_first): Remove.
13917         (GOMP_loop_ordered_runtime_first): Remove.
13918         * ordered.c (gomp_ordered_loop_first): Post to own release when
13919         we're the first thread.
13920         (gomp_ordered_loop_last): Wait on release if not owner.
13921         (gomp_ordered_loop_next): Likewise.
13922         (gomp_ordered_static_loop_init): New.
13923         (gomp_ordered_static_loop_next): Use ordered_owner.
13924         (GOMP_ordered_start): Likewise.
13925         * work.c (gomp_new_work_share): Initialize ordered_owner.
13927 2005-05-03  Richard Henderson  <rth@redhat.com>
13929         * Makefile (OPT): New.
13930         (CFLAGS): Use it.
13932         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13933         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13934         * libgomp.h, libgomp.map, NOTES: Update to match.
13936         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13937         Add initialized and thr members.
13938         (gomp_thread_start): Pause when initially spawned to wait for
13939         the whole team to be created.
13940         (gomp_team_start): Release team members at the end.
13942         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
13943         (f_foo_1): Use GOMP_loop_end.
13944         (f_foo_2): Use GOMP_loop_end_nowait.
13946         * testsuite/loop-2.c: New file.
13947         * testsuite/Makefile (TESTS): Add it.
13949 2005-05-03  Richard Henderson  <rth@redhat.com>
13951         * iter.c (gomp_iter_static_next): Fix overflow check typo.
13952         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13953         * team.c (new_team): Initialize oldest_live_gen to 1 if no
13954         initial work_share.
13956         * testsuite/Makefile: New file.
13957         * testsuite/loop-1.c: New file.
13959 2005-05-03  Richard Henderson  <rth@redhat.com>
13961         Initial implementation and checkin.
13963 Copyright (C) 2005-2020 Free Software Foundation, Inc.
13965 Copying and distribution of this file, with or without modification,
13966 are permitted in any medium without royalty provided the copyright
13967 notice and this notice are preserved.