Daily bump.
[official-gcc.git] / libgomp / ChangeLog
blobc2708fe3d7c56b812d51ba02da82776c2603aec8
1 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
3         * testsuite/libgomp.c/loop-22.c: New test.
4         * testsuite/libgomp.c/loop-23.c: New test.
6 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
8         PR middle-end/96459
9         * testsuite/libgomp.c/teams-3.c: New test.
10         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
11         if not defined yet.
12         (N(test)): Use it before all N(f*) calls.
13         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
14         (main): Don't call all test_* functions from within
15         #pragma omp teams reduction(|:err), call them directly.
17 2020-08-04  Tom de Vries  <tdevries@suse.de>
19         PR target/96428
20         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
21         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
23 2020-08-03  Julian Brown  <julian@codesourcery.com>
24             Thomas Schwinge  <thomas@codesourcery.com>
26         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
27         shared-memory devices.  Extend with further checking.
29 2020-08-03  Martin Jambor  <mjambor@suse.cz>
31         * plugin/Makefrag.am: Remove configuration of HSA plugin.
32         * aclocal.m4: Regenerated.
33         * Makefile.in: Regenerated.
34         * config.h.in: Regenerated.
35         * configure: Regenerated.
36         * plugin/configfrag.ac: Likewise.
37         * plugin/hsa_ext_finalize.h: Removed.
38         * plugin/plugin-hsa.c: Likewise.
39         * testsuite/Makefile.in: Regenerated.
40         * testsuite/lib/libgomp.exp
41         (offload_target_to_openacc_device_type): Remove hsa case.
42         (check_effective_target_hsa_offloading_selected_nocache): Removed
43         (check_effective_target_hsa_offloading_selected): Likewise.
44         (libgomp_init): Do not add -Wno-hsa to additional_flags.
45         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
46         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
47         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
48         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
49         * testsuite/libgomp.hsa.c/c.exp: Likewise.
50         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
51         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
52         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
53         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
54         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
55         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
56         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
57         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
58         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
59         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
60         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
61         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
62         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
63         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
64         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
65         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
66         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
67         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
68         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
70 2020-07-27  Julian Brown  <julian@codesourcery.com>
71             Thomas Schwinge  <thomas@codesourcery.com>
73         * libgomp.h (struct target_var_desc): Rename do_detach field to
74         is_attach.
75         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
76         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
77         (goacc_enter_data_internal): Don't affect reference counts
78         for attach mappings.
79         (goacc_exit_data_internal): Don't affect reference counts for detach
80         mappings.
81         * target.c (gomp_map_vars_existing): Don't affect reference counts for
82         attach mappings.
83         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
84         mark attach mappings.
85         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
86         reference count for attach mappings.
87         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
88         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
89         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
90         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
91         test as shouldfail.
92         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
93         gracefully in no-finalize mode.
94         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
96 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
98         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
99         use.
100         * testsuite/libgomp.oacc-c/c.exp: Likewise.
101         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
103 2020-07-23  Julian Brown  <julian@codesourcery.com>
104             Thomas Schwinge  <thomas@codesourcery.com>
106         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
107         finalization for detach operation.
108         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
109         New test.
111 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
113         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
114         * libgomp_f.h.in (omp_check_defines): Check whether
115         sizeof of determined Fortran kind and C typedef match.
116         * omp_lib.f90.in: Add omp_depened_kind.
117         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
118         * configure: Regenerate.
119         * Makefile.in: Regenerate.
120         * testsuite/Makefile.in: Regenerate.
122 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
124         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
125         gcc/testsuite/c-c++-common/gomp/.
126         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
127         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
128         from gcc/testsuite/gfortran.dg/gomp/.
129         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
131 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
133         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
134         * omp_lib.h.in: Likewise.
136 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
138         PR target/95620
139         * testsuite/libgomp.c/pr95620.c: New test.
141 2020-07-16  Julian Brown  <julian@codesourcery.com>
142             Thomas Schwinge  <thomas@codesourcery.com>
144         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
145         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
147 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
149         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
150         avoid conversion on 32bit systems from 32bit to 64bit due
151         to -fdefault-integer-8.
153 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
155         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
156         variables; add character(kind=4) tests; update TODO comment.
158 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
160         * allocator.c: Add ialias for omp_init_allocator and
161         omp_destroy_allocator.
162         * configure.ac: Set INTPTR_T_KIND.
163         * configure: Regenerate.
164         * Makefile.in: Regenerate.
165         * testsuite/Makefile.in: Regenerate.
166         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
167         omp_set_default_allocator_, omp_get_default_allocator_): New
168         functions and ialias_redirect.
169         * icv.c: Add ialias for omp_set_default_allocator and
170         omp_get_default_allocator.
171         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
172         omp_destroy_allocator_, omp_set_default_allocator_ and
173         omp_get_default_allocator_.
174         * omp_lib.f90.in: Add allocator traits parameters, declare
175         allocator routines and add related kind parameters.
176         * omp_lib.h.in: Likewise.
177         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
178         * testsuite/libgomp.fortran/alloc-1.F90: New test.
179         * testsuite/libgomp.fortran/alloc-2.F90: New test.
180         * testsuite/libgomp.fortran/alloc-3.F: New test.
181         * testsuite/libgomp.fortran/alloc-4.f90: New test.
182         * testsuite/libgomp.fortran/alloc-5.f90: New test.
184 2020-07-14  Tom de Vries  <tom@codesourcery.com>
185             Cesar Philippidis  <cesar@codesourcery.com>
186             Thomas Schwinge  <thomas@codesourcery.com>
187             Kwok Cheung Yeung  <kcy@codesourcery.com>
189         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
190         New variable.
191         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
192         acc_init_state to initializing at the start, and to initialized at the
193         end.
194         (self_initializing_p): New function.
195         (acc_get_device_type): Return acc_device_none if called by thread that
196         is currently executing acc_init_1.
197         * libgomp.texi (acc_get_device_type): Update documentation.
198         (Implementation Status and Implementation-Defined Behavior): Likewise.
199         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
201 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
203         * config/t-aix: Set BITS from compiler cpp macro.
205 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
207         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
209 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
211         PR fortran/67311
212         * testsuite/libgomp.fortran/target-map-1.f90: New test.
214 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
216         * testsuite/libgomp.c/loop-21.c: New test.
218 2020-07-13  Julian Brown  <julian@codesourcery.com>
219             Thomas Schwinge  <thomas@codesourcery.com>
221         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
223 2020-07-10  Julian Brown  <julian@codesourcery.com>
224             Thomas Schwinge  <thomas@codesourcery.com>
226         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
227         dynamic_refcount.
228         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
229         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
230         dynamic_refcount.
231         (acc_unmap_data): Update comment.
232         (goacc_map_var_existing, goacc_enter_datum): Adjust for
233         dynamic_refcount semantics.
234         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
235         Adjust for dynamic_refcount semantics.
236         (goacc_enter_data_internal): Implement "present" case of dynamic
237         memory-map handling here.  Update "non-present" case for
238         dynamic_refcount semantics.
239         (goacc_exit_data_internal): Use goacc_exit_datum_1.
240         * target.c (gomp_map_vars_internal): Remove
241         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
242         handling.
243         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
244         (gomp_load_image_to_device): Substitute dynamic_refcount for
245         virtual_refcount.
246         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
247         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
248         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
249         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
250         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
251         trace output.
252         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
253         trace output.
254         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
255         test.
256         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
257         Remove stale comment.
258         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
259         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
260         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
261         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
262         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
263         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
265 2020-07-10  Julian Brown  <julian@codesourcery.com>
266             Thomas Schwinge  <thomas@codesourcery.com>
268         * oacc-mem.c (goacc_map_var_existing): New function.
269         (goacc_enter_datum): Use above function.
270         (goacc_exit_datum_1): New function.
271         (goacc_exit_datum): Use above function.
273 2020-07-09  Julian Brown  <julian@codesourcery.com>
274             Thomas Schwinge  <thomas@codesourcery.com>
276         PR middle-end/95270
277         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
278         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
280 2020-07-09  Julian Brown  <julian@codesourcery.com>
282         * oacc-mem.c (find_group_last): Group data-movement clauses
283         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
284         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
286 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
288         * testsuite/libgomp.c/loop-19.c: New test.
289         * testsuite/libgomp.c/loop-20.c: New test.
291 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
293         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
294         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
295         it.  Remove __omp_alloctrait_value_max__.
296         * allocator.c (omp_init_allocator): Handle omp_atv_default for
297         omp_atk_alignment and omp_atk_pool_size.
299 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
301         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
302         behavior for 'GOMP_MAP_FORCE_FROM'.
303         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
305 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
307         * oacc-mem.c (goacc_exit_data_internal): Remove
308         'GOMP_MAP_ALWAYS_FROM' handling.
310 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
312         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
313         'scan-assembler' with 'scan-offload-rtl'.
314         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
315         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
316         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
317         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
319 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
321         * target.c (gomp_map_vars_existing): Assert 'kind !=
322         GOMP_MAP_ATTACH'.
323         (gomp_map_vars_internal): Clean up.
325 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
327         * testsuite/libgomp.c/loop-17.c: New test.
328         * testsuite/libgomp.c/loop-18.c: New test.
330 2020-06-26  Marek Polacek  <polacek@redhat.com>
332         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
334 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
336         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
337         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
339 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
341         * Makefile.am: Use -include.
342         * Makefile.in: Regenerate.
344 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
346         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
347         * Makefile.in: Regenerate
348         * configure.ac (tmake_file): Substitute.
349         * configure: Regenerate.
350         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
351         * config/t-aix: New file.
353 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
355         PR lto/94848
356         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
357         'dg-do run'.
359 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
361         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
362         variant for HSA_RUNTIME_LIB name.
363         (find_executable_symbol_1): Delete.
364         (find_executable_symbol): Delete.
365         (init_kernel_properties): Add ".kd" suffix to symbol names.
366         (find_load_offset): Delete.
367         (create_and_finalize_hsa_program): Remove relocation handling.
369 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
371         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
373 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
375         PR lto/94848
376         PR middle-end/95551
377         * testsuite/libgomp.fortran/target-var.f90: New test.
379 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
380             Julian Brown  <julian@codesourcery.com>
382         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
383         special handling.
385 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
386             Julian Brown  <julian@codesourcery.com>
388         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
389         Simplify.
391 2020-06-05  Julian Brown  <julian@codesourcery.com>
393         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
394         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
396 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
398         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
399         Evaluate 'copyfrom' individually for each entry.
400         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
402 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
404         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
405         Evaluate 'finalize' individually for each entry.
406         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
407         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
408         file.
410 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
412         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
413         usage.
414         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
416 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
417             Julian Brown  <julian@codesourcery.com>
419         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
420         checking.
421         (acc_unmap_data, goacc_exit_data_internal): Restore
422         'is_tgt_unmapped' checking.
423         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
424         file.
425         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
426         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
427         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
428         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
429         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
430         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
432 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
433             Julian Brown  <julian@codesourcery.com>
435         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
437 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
439         PR libgomp/92854
440         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
442 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
444         PR libgomp/92854
445         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
446         more.
448 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
449             Julian Brown  <julian@codesourcery.com>
451         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
452         'gomp_map_vars'.
453          (acc_map_data): Clean up accordingly.
455 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
457         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
458         of over-eager 'finalize' clause.
459         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
460         file.
461         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
462         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
463         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
464         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
465         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
466         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
467         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
468         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
470 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
472         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
474 2020-06-04  Julian Brown  <julian@codesourcery.com>
476         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
477         error path.
478         (goacc_detach_internal): Likewise.
480 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
482         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
483         the checkpoint.
484         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
485         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
486         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
487         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
488         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
490 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
492         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
493         defined.
495 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
497         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
499 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
501         * allocator.c (omp_alloc): For size == 0, return NULL early.
503 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
505         PR bootstrap/95413
506         * configure: Regenerated.
508 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
510         PR libfortran/95191
511         * testsuite/libgomp.fortran/async_io_9.f90: New test.
513 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
515         * omp.h.in (omp_uintptr_t): New typedef.
516         (__GOMP_UINTPTR_T_ENUM): Define.
517         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
518         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
519         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
520         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
521         omp_get_default_allocator, omp_alloc, omp_free): Declare.
522         * libgomp.h (struct gomp_team_state): Add def_allocator field.
523         (gomp_def_allocator): Declare.
524         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
525         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
526         omp_alloc and omp_free.
527         * team.c (gomp_team_start): Copy over ts.def_allocator.
528         * env.c (gomp_def_allocator): New variable.
529         (parse_wait_policy): Adjust function comment.
530         (parse_allocator): New function.
531         (handle_omp_display_env): Print OMP_ALLOCATOR.
532         (initialize_env): Call parse_allocator.
533         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
534         * allocator.c: New file.
535         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
536         functions.
537         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
538         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
539         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
540         * Makefile.in: Regenerated.
542 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
544         PR bootstrap/95147
545         * configure: Regenerated.
547 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
549         PR libfortran/95119
550         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
552 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
554         * configure: Regenerated.
556 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
558         * testsuite/libgomp.c-c++-common/target-40.c: New test.
560 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
562         PR fortran/94690
563         * testsuite/libgomp.fortran/pr66199-3.f90: New.
564         * testsuite/libgomp.fortran/pr66199-4.f90: New.
565         * testsuite/libgomp.fortran/pr66199-5.f90: New.
566         * testsuite/libgomp.fortran/pr66199-6.f90: New.
567         * testsuite/libgomp.fortran/pr66199-7.f90: New.
568         * testsuite/libgomp.fortran/pr66199-8.f90: New.
569         * testsuite/libgomp.fortran/pr66199-9.f90: New.
571 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
573         * testsuite/libgomp.c/target-39.c: New test.
575 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
577         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
578         * openacc.f90 (acc_device_current): Likewise.
579         * openacc.h (acc_device_current): Likewise.
580         * openacc_lib.h (acc_device_current): Likewise.
582         PR target/94282
583         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
584         'dg-allow-blank-lines-in-output'.
586         * oacc-init.c (get_openacc_name): Handle 'gcn'.
587         * testsuite/lib/libgomp.exp
588         (offload_target_to_openacc_device_type) [amdgcn*]: Return
589         'radeon'.  Adjust all users.
590         (check_effective_target_openacc_amdgcn_accel_present): Rename
591         to...
592         (check_effective_target_openacc_radeon_accel_present): ... this.
593         Adjust all users.
594         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
595         (check_effective_target_openacc_radeon_accel_selected): ... this.
596         Adjust all users.
598         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
599         'dg-do run'.
601 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
603         PR other/94629
605         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
606         hsa_iterate_agents.
607         (GOMP_OFFLOAD_init_device): Check return values from both calls to
608         hsa_agent_iterate_regions.
610 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
612         PR middle-end/94635
613         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
614         run'.
616 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
618         PR middle-end/94120
619         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
620         test case.
622 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
624         PR middle-end/94635
625         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
627 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
629         PR libgomp/92843
630         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
631         Rename to...
632         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
633         ... this.
634         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
635         Rename to...
636         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
637         ... this.
638         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
639         Rename to...
640         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
641         ... this.
642         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
643         Rename to...
644         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
645         ... this.
646         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
647         Rename to...
648         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
649         ... this.
650         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
651         Rename to...
652         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
653         ... this.
654         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
655         Rename to...
656         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
657         ... this.
658         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
659         Rename to...
660         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
661         ... this.
662         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
663         Rename to...
664         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
665         ... this.
666         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
667         Rename to...
668         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
669         ... this.
670         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
671         Rename to...
672         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
673         ... this.
674         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
675         Rename to...
676         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
677         ... this.
678         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
679         Rename to...
680         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
681         ... this.
682         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
683         Rename to...
684         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
685         ... this.
686         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
687         Rename to...
688         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
689         ... this.
690         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
691         Rename to...
692         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
693         ... this.
695 2020-04-10  Julian Brown  <julian@codesourcery.com>
696             Thomas Schwinge  <thomas@codesourcery.com>
698         PR libgomp/92843
699         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
700         New file.
701         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
702         Likewise.
703         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
704         Likewise.
705         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
706         Likewise.
707         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
708         Likewise.
709         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
710         Likewise.
711         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
712         Likewise.
713         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
714         Likewise.
715         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
716         Likewise.
717         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
718         Likewise.
719         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
720         Likewise.
721         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
722         Likewise.
723         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
724         Likewise.
725         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
726         Likewise.
727         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
728         Likewise.
729         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
730         Likewise.
732 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
734         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
735         run'.
737 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
739         PR middle-end/94120
740         * libgomp.oacc-c++/declare-pr94120.C: New.
742 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
744         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
745         files.
746         * configure: Regenerate.
747         * testsuite/libgomp-site-extra.exp.in: New file.
748         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
749         variable.
750         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
751         variable.
752         * testsuite/Makefile.in: Regenerate.
754 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
756         PR tree-optimization/89713
757         PR c/94392
758         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
759         'bar.sync'.
760         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
762 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
764         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
765         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
767 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
769         PR libgomp/81689
770         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
772 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
774         PR libgomp/94251
775         * target.c (gomp_load_image_to_device): Fix link
776         variable handling.
778 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
780         PR c++/93931
781         * testsuite/libgomp.c++/pr93931.C: New test.
783 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
785         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
786         dg-allow-blank-lines-in-output.
788 2020-03-18  Julian Brown <julian@codesourcery.com>
789             Tobias Burnus  <tobias@codesourcery.com>
791         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
792         it work concurrently.
794 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
796         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
797         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
798         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
800 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
802         PR middle-end/93566
803         * testsuite/libgomp.c/pr93566.c: New test.
805 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
807         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
808         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
809         integer(acc_device_property) for the type of the return value of
810         acc_get_property.
812 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
814         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
815         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
816         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
817         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
818         (acc_set_device_num): Fix Fortran argument name, use same name for C.
819         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
820         corrections; add note about the previous interface and named constant.
821         (OpenACC library and environment variables): Fix two typos.
822         * openacc.f90: Use for all procedures the argument names from the spec
823         as for â€¦_h they are user visible.
824         (openacc_kinds): Rename acc_device_property to
825         acc_device_property_kinds and change value to int32 ; and update users.
826         Re-add acc_device_property for for backward compatibility.
827         (acc_get_property_string_h): Clean up as acc_device_property_kind
828         changed.
829         (acc_get_property_h): Likewise and return c_size_t instead of
830         acc_device_property.
831         (openacc): Also export acc_device_property_kinds.
832         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
833         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
834         handling; check against /= 0 instead of == 1 to match C.
835         * openacc_lib.h: Use for all procedures the argument names from the spec
836         as for â€¦_h they are user visible. Place !GCC$ into the first column to
837         be active also for fixed-form souce form.
838         (acc_device_current, acc_device_property_kind, acc_device_property,
839         acc_property_memory, acc_property_free_memory, acc_property_name,
840         acc_property_vendor, acc_property_driver): New named constants.
841         (acc_get_property, acc_get_property_string): New generic interface.
843 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
845         PR libgomp/93481
846         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
847         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
848         optional.
849         (gomp_target_task_fn): Assert "devicep->async_run_func".
850         (clear_unsupported_flags): New function to remove unsupported flags
851         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
852         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
853         * testsuite/libgomp.c/target-33.c:
854         Remove xfail for offload_target_nvptx.
855         * testsuite/libgomp.c/target-34.c: Likewise.
857 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
859         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
860         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
861         * testsuite/libgomp.c/target-34.c: Likewise.
862         * testsuite/libgomp.c/target-link-1.c: Add xfail for
863         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
865 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
867         * testsuite/libgomp.c/target-38.c: New test.
869 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
871         PR libgomp/93515
872         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
874 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
876         * testsuite/lib/libgomp.exp
877         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
878         and not as 'source' argument to libgomp_target_compile.
880 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
882         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
883         (gcn_gfx801_s): Remove.
884         (isa_hsa_name): Remove gfx801.
885         (isa_gcc_name): Remove gfx801/carizzo.
886         (isa_code): Remove gfx801.
888 2020-02-03  Julian Brown  <julian@codesourcery.com>
889             Tobias Burnus  <tobias@codesourcery.com>
891         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
892         and *_finalize variants; document acc_attach and acc_detach; update
893         references from OpenACC 2.0 to 2.6.
894         * openacc.f90 (openacc_version): Update to 201711.
895         * openacc_lib.h (openacc_version): Update to 201711.
896         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
897         openacc_version to 201711.
898         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
900 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
902         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
903         and vgpr_count fields.
904         (struct kernel_info): Add a field for a hsa_kernel_description.
905         (run_kernel): Reduce the number of threads/workers if the requested
906         number would require too many VGPRs.
907         (init_basic_kernel_info): Initialize description field with
908         the hsa_kernel_description entry for the kernel.
910 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
912         PR bootstrap/93409
913         * plugin/configfrag.ac (enable_offload_targets): Skip
914         HSA and GCN plugin besides -m32 also for -mx32.
915         * configure: Regenerate.
917 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
919         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
921 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
923         * plugin-gcn.c (struct agent_info): Add fields "name" and
924         "vendor_name" ...
925         (GOMP_OFFLOAD_init_device): ... and init from here.
926         (struct hsa_context_info): Add field "driver_version_s" ...
927         (init_hsa_contest): ... and init from here.
928         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
929         implementation.
930         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
931         Enable test execution for amdgcn and host offloading targets.
932         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
933         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
934         (expect_device_properties): Split function into ...
935         (expect_device_string_properties): ... this new function ...
936         (expect_device_memory): ... and this new function.
937         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
938         Add test.
940 2020-01-28  Julian Brown  <julian@codesourcery.com>
942         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
943         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
944         component/non-component variable refs in a single directive.
945         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
947 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
949         * configure.ac: Handle `--with-toolexeclibdir='.
950         * Makefile.in: Regenerate.
951         * aclocal.m4: Regenerate.
952         * configure: Regenerate.
953         * testsuite/Makefile.in: Regenerate.
955 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
957         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
958         (expect_device_properties): Remove "expected_free_mem" argument,
959         change "expected_total_mem" argument type to size_t;
960         change types of acc_get_property results to size_t,
961         adapt format strings.
962         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
963         Use %zu instead of %zd to print size_t values.
964         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
965         rename to ...
966         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
967         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
968         rename to ...
969         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
971 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
973         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
974         the device id.
976 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
978         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
979         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
980         Adjust test dimensions for amdgcn.
981         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
982         gang/worker/vector expectations dynamically.
983         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
984         (main): Likewise.
985         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
986         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
987         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
988         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
989         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
990         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
991         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
992         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
993         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
994         (acc_gang): Recognise acc_device_radeon.
995         (acc_worker): Likewise.
996         (acc_vector): Likewise.
997         (main): Set expectations for amdgcn.
998         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
999         (main): Adjust gang/worker/vector expectations dynamically.
1000         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1001         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1002         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1003         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1004         for amdgcn.
1006 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
1008         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1009         acc_device_radeon.
1010         (openacc): Likewise.
1011         * openacc.f90 (openacc_kinds): Likewise.
1012         (openacc): Likewise.
1013         * openacc.h (acc_device_t): Likewise.
1014         * openacc_lib.h: Likewise.
1015         * testsuite/lib/libgomp.exp
1016         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1017         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1018         (cb_compute_construct_end): Likewise.
1019         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1020         (cb_enqueue_launch_start): Likewise.
1021         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1022         (cb_enter_data_end): Likewise.
1023         (cb_exit_data_start): Likewise.
1024         (cb_exit_data_end): Likewise.
1025         (cb_compute_construct_end): Likewise.
1026         (cb_enqueue_launch_start): Likewise.
1027         (cb_enqueue_launch_end): Likewise.
1028         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1029         (main): Likewise.
1031 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1033         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
1034         to use this instead of 'enum gomp_device_property'.
1035         (GOMP_OFFLOAD_get_property): Rename to...
1036         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
1037         * libgomp.h (struct gomp_device_descr): Move
1038         'GOMP_OFFLOAD_openacc_get_property'...
1039         (struct acc_dispatch_t): ... here.  Adjust all users.
1040         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1042         * target.c (gomp_map_vars_internal)
1043         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1044         paths.
1046 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
1048         PR libgomp/93219
1049         * libgomp.h (gomp_print_string): Change return type from void to int.
1050         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
1051         not all characters have been written.
1053 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
1055         * libgomp.texi: Fix typos, use https.
1057 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1059         * testsuite/libgomp.fortran/optional-map.f90: Add test for
1060         unallocated/disassociated actual arguments to nonallocatable/nonpointer
1061         dummy arguments; those are/shall be regarded as absent arguments.
1062         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1063         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1065 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
1067         Update copyright years.
1069         * libgomp.texi: Bump @copying's copyright year.
1071 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
1073         PR libgomp/93065
1074         * oacc-init.c (goacc_runtime_deinitialize): New function.
1076 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
1078         PR bootstrap/93074
1079         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1080         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
1082 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
1083             Frederik Harwath  <frederik@codesourcery.com>
1084             Thomas Schwinge  <tschwinge@codesourcery.com>
1086         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1087         * libgomp-plugin.h (gomp_device_property_value): New union.
1088         (gomp_device_property_value): New prototype.
1089         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1090         constant.
1091         (acc_device_property_t): New enum.
1092         (acc_get_property, acc_get_property_string): New prototypes.
1093         * oacc-init.c (acc_get_device_type): Also assert that result
1094         is not `acc_device_current'.
1095         (get_property_any, acc_get_property, acc_get_property_string):
1096         New functions.
1097         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1098         `acc_property_memory', `acc_property_free_memory',
1099         `acc_property_name', `acc_property_vendor' and
1100         `acc_property_driver' constants.  Add `acc_device_property' data
1101         type.
1102         (openacc_internal): Add `acc_get_property' and
1103         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
1104         `acc_get_property_string_h', `acc_get_property_l' and
1105         `acc_get_property_string_l'.
1106         * oacc-host.c (host_get_property): New function.
1107         (host_dispatch): Wire it.
1108         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1109         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1110         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1111         * libgomp.texi (OpenACC Runtime Library Routines): Add
1112         `acc_get_property'.
1113         (acc_get_property): New node.
1114         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1115         function (stub).
1116         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1117         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1118         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1119         calls.
1120         (GOMP_OFFLOAD_get_property): New function.
1121         (struct ptx_device): Add new field "name".
1122         (cuda_driver_version_s): Add new static variable ...
1123         (nvptx_init): ... and init from here.
1125         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1126         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1127         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1128         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1129         with test helper functions.
1131         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1133 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
1135         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1136         variable.
1138 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
1140         * target.c (gomp_map_vars_internal): Restore 'omp declare target
1141         link' handling.
1143 2019-12-19  Julian Brown  <julian@codesourcery.com>
1145         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1146         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1147         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1149 2019-12-19  Julian Brown  <julian@codesourcery.com>
1150             Cesar Philippidis  <cesar@codesourcery.com>
1152         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1153         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1154         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1155         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1156         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1157         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1158         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1159         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1160         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1161         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1162         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1163         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1164         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1166 2019-12-19  Julian Brown  <julian@codesourcery.com>
1168         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1169         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1170         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1171         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1172         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1173         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1174         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1175         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1176         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1177         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1178         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1179         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1181 2019-12-19  Julian Brown  <julian@codesourcery.com>
1183         * libgomp.h (struct target_var_desc): Add do_detach flag.
1184         * oacc-init.c (acc_shutdown_1): Free aux block if present.
1185         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1186         struct components.  Tidy up and add some new checks.
1187         (goacc_enter_data_internal): Update call to find_group_last.
1188         (goacc_exit_data_internal): Support detach operations and
1189         GOMP_MAP_STRUCT.
1190         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1191         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
1192         attach/detach in enter/exit data detection code.
1193         * target.c (gomp_map_vars_existing): Initialise do_detach field of
1194         tgt_var_desc.
1195         (gomp_map_vars_internal): Support attach.
1196         (gomp_unmap_vars_internal): Support detach.
1198 2019-12-19  Julian Brown  <julian@codesourcery.com>
1199             Thomas Schwinge  <thomas@codesourcery.com>
1201         * libgomp.h (struct splay_tree_aux): Add attach_count field.
1202         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1203         * libgomp.map (OACC_2.6): New section. Add acc_attach,
1204         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1205         acc_detach_finalize_async.
1206         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1207         acc_detach, acc_detach_async, acc_detach_finalize,
1208         acc_detach_finalize_async): New functions.
1209         * openacc.h (acc_attach, acc_attach_async, acc_detach,
1210         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1211         prototypes.
1212         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1213         (gomp_remove_var_internal): Free attachment counts if present.
1214         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1215         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1217 2019-12-19  Julian Brown  <julian@codesourcery.com>
1218             Cesar Philippidis  <cesar@codesourcery.com>
1220         * libgomp.h (gomp_map_val): Add prototype.
1221         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1222         open-coding device-address calculation.
1223         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1224         non-present case.
1226 2019-12-19  Julian Brown  <julian@codesourcery.com>
1228         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1229         field for virtual_refcount.
1230         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1231         (gomp_free_memmap): Remove prototype.
1232         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1233         instead of calling gomp_free_memmap.
1234         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1235         dynamic_refcount.
1236         (acc_unmap_data): Open code instead of forcing target_mem_desc's
1237         to_free field to NULL then calling gomp_unmap_vars.  Handle
1238         REFCOUNT_INFINITY on target blocks.
1239         (goacc_enter_data): Rename to...
1240         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
1241         handling for mapping groups.  Use virtual_refcount instead of
1242         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1243         map_map_vars_async call.  Re-do lookup for target pointer return value.
1244         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1245         renamed goacc_enter_datum function.
1246         (goacc_exit_data): Rename to...
1247         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
1248         (acc_delete, acc_delete_async, acc_delete_finalize,
1249         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1250         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1251         goacc_exit_datum function.
1252         (gomp_acc_remove_pointer, find_pointer): Remove functions.
1253         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1254         New functions.
1255         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1256         goacc_exit_data_internal helper functions.
1257         * target.c (gomp_map_vars_internal): Handle
1258         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
1259         semantics.
1260         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1261         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1262         virtual_refcount field instead of dynamic_refcount.
1263         (gomp_free_memmap): Remove function.
1264         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1265         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1266         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1268 2019-12-19  Julian Brown  <julian@codesourcery.com>
1269             Thomas Schwinge  <thomas@codesourcery.com>
1271         * libgomp.h (struct splay_tree_aux): New.
1272         (struct splay_tree_key_s): Replace link_key field with aux pointer.
1273         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1274         to aux struct.
1275         (gomp_remove_var_internal): Free aux block if present.
1276         (gomp_load_image_to_device): Zero-initialise aux field instead of
1277         link_key field.
1278         (omp_target_associate_pointer): Zero-initialise aux field.
1280 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
1282         PR middle-end/86416
1283         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1284         q or none.
1285         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1286         L or none.
1288 2019-12-19  Julian Brown  <julian@codesourcery.com>
1289             Maciej W. Rozycki  <macro@codesourcery.com>
1290             Tobias Burnus  <tobias@codesourcery.com>
1291             Thomas Schwinge  <thomas@codesourcery.com>
1293         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1294         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1295         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1296         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1297         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1298         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1299         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1300         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1301         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1303 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
1305         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1306         called...
1307         (goacc_insert_pointer): ... from here, "present" case.
1308         (goacc_insert_pointer): Inline function into...
1309         (GOACC_enter_exit_data): ... here, and simplify.
1311         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1312         called...
1313         (goacc_insert_pointer): ... from here, "not present" case.
1315         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
1316         all users.
1318         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1319         'goacc_enter_data', 'goacc_exit_data'.
1321         * oacc-mem.c (delete_copyout): Refactor into...
1322         (goacc_exit_data): ... this.  Adjust all users.
1324         * oacc-mem.c (present_create_copy): Refactor into...
1325         (goacc_enter_data): ... this.  Adjust all users.
1327         * target.c (gomp_unmap_vars_internal): Add a safeguard to
1328         'gomp_remove_var'.
1330         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1331         like 'GOMP_MAP_FROM'.
1333         PR libgomp/92726
1334         PR libgomp/92970
1335         PR libgomp/92984
1336         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1337         fails.
1338         (GOACC_enter_exit_data): Simplify accordingly.
1339         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1340         subsuming...
1341         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1342         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1343         file.
1344         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1345         subsuming...
1346         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1347         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1348         file.
1349         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1350         subsuming...
1351         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1353         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1354         'finalize' handling.
1356         PR libgomp/92848
1357         * oacc-mem.c (acc_map_data, present_create_copy)
1358         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1359         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1360         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1361         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1362         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1363         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1364         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1365         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1366         Remove "XFAIL"s.
1368         * target.c (gomp_unmap_tgt): Make it 'static'.
1369         * libgomp.h (gomp_unmap_tgt): Remove.
1371 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
1373         PR middle-end/86416
1374         * testsuite/libgomp.c/pr86416-1.c: New.
1375         * testsuite/libgomp.c/pr86416-2.c: New.
1377 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
1379         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1380         all symbols as public except for the 'use â€¦, only' imported symbol,
1381         which is private.
1382         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1383         all symbols from module openacc_kinds as PUBLIC
1384         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1385         fix comment typo.
1386         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1388 2019-12-13  Julian Brown  <julian@codesourcery.com>
1390         PR libgomp/92881
1392         * libgomp.h (gomp_remove_var_async): Add prototype.
1393         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1394         gomp_remove_var.
1395         * target.c (gomp_unref_tgt): Change return type to bool, indicating
1396         whether target_mem_desc was unmapped.
1397         (gomp_unref_tgt_void): New.
1398         (gomp_remove_var): Reimplement in terms of...
1399         (gomp_remove_var_internal): ...this new helper function.
1400         (gomp_remove_var_async): New, implemented using above helper function.
1401         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1402         gomp_unref_tgt.
1404 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
1406         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1407         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1408         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1409         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1410         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1411         Likewise.
1412         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1413         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1415 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
1417         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1418         as public except for the 'use â€¦, only' imported symbol, which is
1419         private.
1420         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1421         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1422         attributes for acc_copyout_finalize and acc_delete_finalize.
1424 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
1426         PR fortran/92899
1427         * testsuite/libgomp.fortran/atomic1.f90: New test.
1429 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1431         PR libgomp/92843
1432         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1433         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
1434         assertions.
1435         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1436         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1437         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1438         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1439         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1441         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1442         * oacc-mem.c: ... here.
1443         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1444         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1445         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1446         Remove.
1447         * libgomp_g.h: Update.
1449         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1450         * oacc-async.c: ... here.
1451         * oacc-int.h (goacc_wait): Declare.
1452         * libgomp_g.h: Update
1454         PR libgomp/92854
1455         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1456         New file.
1457         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1458         Likewise.
1459         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1460         Likewise.
1461         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1462         Likewise.
1463         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1464         Likewise.
1465         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1466         Likewise.
1468 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1469             Julian Brown  <julian@codesourcery.com>
1471         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1472         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1474 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1476         * omp_lib.h.in: Fix spelling of function declaration
1477         omp_get_cancell(l)ation.
1478         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1479         Fix typos.
1480         * env.c: Fix comment typos.
1481         * oacc-host.c: Likewise.
1482         * ordered.c: Likewise.
1483         * task.c: Likewise.
1484         * team.c: Likewise.
1485         * config/gcn/task.c: Likewise.
1486         * config/gcn/team.c: Likewise.
1487         * config/nvptx/task.c: Likewise.
1488         * config/nvptx/team.c: Likewise.
1489         * plugin/plugin-gcn.c: Likewise.
1490         * testsuite/libgomp.fortran/jacobi.f: Likewise.
1491         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1492         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1494 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1496         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1497         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1498         unnecessary 'dg-additional-options "-w"'.
1500 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1501             Julian Brown  <julian@codesourcery.com>
1503         PR libgomp/92116
1504         PR libgomp/92877
1506         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
1507         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1508         Adjust all users.
1509         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1510         Remove XFAIL.
1511         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1512         Likewise.
1513         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1515 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1517         PR libgomp/92503
1518         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1519         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1520         file.
1521         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1522         Likewise.
1523         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1524         Likewise.
1525         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1526         Likewise.
1527         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1528         Likewise.
1529         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1530         Likewise.
1531         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1532         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1533         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1534         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1535         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1536         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1537         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1538         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1539         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1540         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1542         PR libgomp/92840
1543         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1544         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1545         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1546         New file.
1547         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1548         Likewise.
1549         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1550         Likewise.
1551         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1552         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1554         PR libgomp/92511
1555         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1556         this file...
1557         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1558         this file...
1559         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1560         file...
1561         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1562         file...
1563         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1564         ... with their content moved into, and extended in this new file.
1565         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1566         New file.
1567         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1568         Likewise.
1569         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1570         Likewise.
1571         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1572         Likewise.
1574         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1576         PR libgomp/92854
1577         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1579         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1581         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1583 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
1585         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1586         unique.
1587         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1588         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1589         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1590         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1591         Ditto.
1592         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1593         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1595 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1597         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1599 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
1600             Kwok Cheung Yeung <kcy@codesourcery.com>
1602         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1603         if input it a NULL pointer.
1604         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1605         diagnostic of NULL pointer.
1606         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1607         * testsuite/libgomp.fortran/optional-map.f90: New.
1608         * testsuite/libgomp.fortran/use_device_addr-1.f90
1609         (test_dummy_opt_callee_1_absent): New.
1610         (test_dummy_opt_call_1): Call it.
1611         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1612         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1613         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1614         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1615         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1616         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1617         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1618         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1619         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1620         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1621         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1622         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1623         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1624         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1625         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1626         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1628 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
1630         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1631         expect dg-output of 'Error termination.' for GCN.
1632         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1633         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1635 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
1637         PR fortran/92756
1638         * testsuite/libgomp.fortran/teams1.f90: New test.
1639         * testsuite/libgomp.fortran/teams2.f90: New test.
1641 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
1643         * oacc-init.c (acc_known_device_type): Add function.
1644         (unknown_device_type_error): Add function.
1645         (name_of_acc_device_t): Change to call unknown_device_type_error
1646         on unknown type.
1647         (resolve_device): Use acc_known_device_type.
1648         (acc_init): Fail if acc_device_t argument is not valid.
1649         (acc_shutdown): Likewise.
1650         (acc_get_num_devices): Likewise.
1651         (acc_set_device_type): Likewise.
1652         (acc_get_device_num): Likewise.
1653         (acc_set_device_num): Likewise.
1654         (acc_on_device): Add comment that argument validity is not checked.
1656 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
1658         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1659         Recognize amdgcn.
1660         (check_effective_target_openacc_amdgcn_accel_present): New proc.
1661         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1662         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1663         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1664         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1666 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1668         PR libgomp/91938
1669         * configure.tgt: Avoid IE tls on *-*-musl*.
1671 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
1673         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1674         adding a common-block test case.
1676 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
1678         PR c++/60228
1679         * testsuite/libgomp.c++/udr-20.C: New test.
1680         * testsuite/libgomp.c++/udr-21.C: New test.
1682 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
1684         * testsuite/lib/libgomp.exp
1685         (check_effective_target_offload_target_nvptx): New proc.
1686         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1687         'dg-skip-if'.
1688         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1689         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1690         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1692 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1694         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1695         * testsuite/libgomp.c/pr39591-2.c: Likewise.
1696         * testsuite/libgomp.c/pr39591-3.c: Likewise.
1697         * testsuite/libgomp.c/private-1.c: Likewise.
1698         * testsuite/libgomp.c/task-1.c: Likewise.
1699         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1701 2019-11-20  Julian Brown  <julian@codesourcery.com>
1703         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1704         aq->mutex here.
1705         (queue_push_launch): Lock aq->mutex before calling
1706         wait_for_queue_nonfull.
1707         (queue_push_callback): Likewise.
1708         (queue_push_asyncwait): Likewise.
1709         (queue_push_placeholder): Likewise.
1711 2019-11-20  Julian Brown  <julian@codesourcery.com>
1713         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1714         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1715         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1716         return code.
1718 2019-11-20  Julian Brown  <julian@codesourcery.com>
1720         PR libgomp/92511
1722         * oacc-mem.c (present_create_copy): Fix device pointer return value in
1723         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
1724         in non-present/create case.
1725         (delete_copyout): Change error condition to fail only on copies outside
1726         of mapped block.  Adjust error message accordingly.
1727         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1728         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1729         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1730         message.
1731         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1732         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1733         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1735 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
1737         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1738         libatomic in build-tree testing.
1740 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
1742         * testsuite/Makefile.in: Regenerate.
1744 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
1746         * testsuite/libgomp.c/target-print-1.c: New file.
1747         * testsuite/libgomp.fortran/target-print-1.f90: New file.
1748         * testsuite/libgomp.oacc-c/print-1.c: New file.
1749         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1751 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1752             Kwok Cheung Yeung  <kcy@codesourcery.com>
1753             Julian Brown  <julian@codesourcery.com>
1754             Tom de Vries  <tom@codesourcery.com>
1756         * plugin/Makefrag.am: Add amdgcn plugin support.
1757         * plugin/configfrag.ac: Likewise.
1758         * plugin/plugin-gcn.c: New file.
1759         * configure: Regenerate.
1760         * Makefile.in: Regenerate.
1761         * testsuite/Makefile.in: Regenerate.
1763 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1765         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1766         and use team_malloc variants.
1767         (gomp_gcn_exit_kernel): Use team_free.
1768         * libgomp.h (TEAM_ARENA_SIZE): Define.
1769         (TEAM_ARENA_START): Define.
1770         (TEAM_ARENA_FREE): Define.
1771         (TEAM_ARENA_END): Define.
1772         (team_malloc): New function.
1773         (team_malloc_cleared): New function.
1774         (team_free): New function.
1775         * team.c (gomp_new_team): Initialize and use team_malloc.
1776         (free_team): Use team_free.
1777         (gomp_free_thread): Use team_free.
1778         (gomp_pause_host): Use team_free.
1779         * work.c (gomp_init_work_share): Use team_malloc.
1780         (gomp_fini_work_share): Use team_free.
1782 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1783             Kwok Cheung Yeung  <kcy@codesourcery.com>
1784             Julian Brown  <julian@codesourcery.com>
1785             Tom de Vries  <tom@codesourcery.com>
1787         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1788         * Makefile.in: Regenerate.
1789         * config.h.in (PLUGIN_GCN): Add new undef.
1790         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1791         * config/gcn/affinity-fmt.c: New file.
1792         * config/gcn/bar.c: New file.
1793         * config/gcn/bar.h: New file.
1794         * config/gcn/doacross.h: New file.
1795         * config/gcn/icv-device.c: New file.
1796         * config/gcn/oacc-target.c: New file.
1797         * config/gcn/simple-bar.h: New file.
1798         * config/gcn/target.c: New file.
1799         * config/gcn/task.c: New file.
1800         * config/gcn/team.c: New file.
1801         * config/gcn/time.c: New file.
1802         * configure.ac: Add amdgcn*-*-*.
1803         * configure: Regenerate.
1804         * configure.tgt: Add amdgcn*-*-*.
1805         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1806         * libgomp.h (gcn_thrs): Add amdgcn variant.
1807         (set_gcn_thrs): Likewise.
1808         (gomp_thread): Likewise.
1809         * oacc-int.h (goacc_thread): Likewise.
1810         * oacc-target.c: New file.
1811         * openacc.f90 (acc_device_gcn): New parameter.
1812         * openacc.h (acc_device_t): Add acc_device_gcn.
1813         * team.c (gomp_free_pool_helper): Add amdgcn support.
1815 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1816             Julian Brown  <julian@codesourcery.com>
1818         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1819         parameter.
1820         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1821         queue constructor.
1822         * oacc-host.c (host_openacc_async_construct): Add device parameter.
1823         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1824         device parameter.
1826 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1828         * configure.tgt (nvptx*-*-*): Add "accel" directory.
1829         * config/nvptx/libgomp-plugin.c: Move ...
1830         * config/accel/libgomp-plugin.c: ... to here.
1831         * config/nvptx/lock.c: Move ...
1832         * config/accel/lock.c: ... to here.
1833         * config/nvptx/mutex.c: Move ...
1834         * config/accel/mutex.c: ... to here.
1835         * config/nvptx/mutex.h: Move ...
1836         * config/accel/mutex.h: ... to here.
1837         * config/nvptx/oacc-async.c: Move ...
1838         * config/accel/oacc-async.c: ... to here.
1839         * config/nvptx/oacc-cuda.c: Move ...
1840         * config/accel/oacc-cuda.c: ... to here.
1841         * config/nvptx/oacc-host.c: Move ...
1842         * config/accel/oacc-host.c: ... to here.
1843         * config/nvptx/oacc-init.c: Move ...
1844         * config/accel/oacc-init.c: ... to here.
1845         * config/nvptx/oacc-mem.c: Move ...
1846         * config/accel/oacc-mem.c: ... to here.
1847         * config/nvptx/oacc-plugin.c: Move ...
1848         * config/accel/oacc-plugin.c: ... to here.
1849         * config/nvptx/omp-lock.h: Move ...
1850         * config/accel/omp-lock.h: ... to here.
1851         * config/nvptx/openacc.f90: Move ...
1852         * config/accel/openacc.f90: ... to here.
1853         * config/nvptx/pool.h: Move ...
1854         * config/accel/pool.h: ... to here.
1855         * config/nvptx/proc.c: Move ...
1856         * config/accel/proc.c: ... to here.
1857         * config/nvptx/ptrlock.c: Move ...
1858         * config/accel/ptrlock.c: ... to here.
1859         * config/nvptx/ptrlock.h: Move ...
1860         * config/accel/ptrlock.h: ... to here.
1861         * config/nvptx/sem.c: Move ...
1862         * config/accel/sem.c: ... to here.
1863         * config/nvptx/sem.h: Move ...
1864         * config/accel/sem.h: ... to here.
1865         * config/nvptx/thread-stacksize.h: Move ...
1866         * config/accel/thread-stacksize.h: ... to here.
1868 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
1869             Tobias Burnus  <tobias@codesourcery.com>
1870             Frederik Harwath  <frederik@codesourcery.com>
1871             Thomas Schwinge  <thomas@codesourcery.com>
1873         libgomp/
1874         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1875         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1876         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1878 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
1879             Kwok Cheung Yeung  <kcy@codesourcery.com>
1881         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1882         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1884 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
1886         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1888         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1889         run'.
1890         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1891         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1893 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
1895         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1896         Add expected warnings about missing reduction clauses.
1897         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1898         Likewise.
1899         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1900         Likewise.
1901         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1902         Likewise.
1904 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1906         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1907         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1908         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1909         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1910         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1911         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1913 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1915         PR fortran/92305
1916         * testsuite/libgomp.fortran/allocatable2.f90: Use
1917         unique numbers with 'stop'.
1918         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1919         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1920         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1921         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1922         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1924 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
1926         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1927         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1928         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1929         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1930         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1931         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1933 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1935         * testsuite/libgomp.fortran/target9.f90: New.
1937 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1939         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1940         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1941         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1942         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1943         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1944         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1945         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1946         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1947         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1948         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1949         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1950         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1951         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1952         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1953         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1954         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1955         * testsuite/libgomp.fortran/associate1.f90: Ditto.
1956         * testsuite/libgomp.fortran/associate2.f90: Ditto.
1957         * testsuite/libgomp.fortran/associate3.f90: Ditto.
1958         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1959         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1960         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1961         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1962         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1963         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1964         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1965         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1966         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1967         * testsuite/libgomp.fortran/character1.f90: Ditto.
1968         * testsuite/libgomp.fortran/character2.f90: Ditto.
1969         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1970         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1971         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1972         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1973         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1974         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1975         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1976         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1977         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1978         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1979         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1980         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1981         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1982         * testsuite/libgomp.fortran/do1.f90: Ditto.
1983         * testsuite/libgomp.fortran/do2.f90: Ditto.
1984         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1985         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1986         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1987         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1988         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1989         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1990         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1991         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1992         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1993         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1994         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1995         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1996         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1997         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1998         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1999         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2000         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2001         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2002         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2003         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2004         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2005         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2006         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2007         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2008         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2009         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2010         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2011         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2012         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2013         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2014         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2015         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2016         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2017         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2018         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2019         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2020         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2021         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2022         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2023         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2024         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2025         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2026         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2027         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2028         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2029         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2030         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2031         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2032         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2033         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2034         * testsuite/libgomp.fortran/lib1.f90: Ditto.
2035         * testsuite/libgomp.fortran/lib4.f90: Ditto.
2036         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2037         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2038         * testsuite/libgomp.fortran/nested1.f90: Ditto.
2039         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2040         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2041         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2042         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2043         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2044         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2045         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2046         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2047         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2048         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2049         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2050         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2051         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2052         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2053         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2054         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2055         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2056         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2057         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2058         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2059         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2060         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2061         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2062         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2063         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2064         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2065         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2066         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2067         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2068         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2069         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2070         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2071         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2072         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2073         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2074         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2075         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2076         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2077         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2078         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2079         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2080         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2081         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2082         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2083         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2084         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2085         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2086         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2087         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2088         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2089         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2090         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2091         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2092         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2093         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2094         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2095         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2096         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2097         * testsuite/libgomp.fortran/reference1.f90: Ditto.
2098         * testsuite/libgomp.fortran/reference2.f90: Ditto.
2099         * testsuite/libgomp.fortran/retval1.f90: Ditto.
2100         * testsuite/libgomp.fortran/retval2.f90: Ditto.
2101         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2102         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2103         * testsuite/libgomp.fortran/simd1.f90: Ditto.
2104         * testsuite/libgomp.fortran/simd2.f90: Ditto.
2105         * testsuite/libgomp.fortran/simd3.f90: Ditto.
2106         * testsuite/libgomp.fortran/simd4.f90: Ditto.
2107         * testsuite/libgomp.fortran/simd5.f90: Ditto.
2108         * testsuite/libgomp.fortran/simd6.f90: Ditto.
2109         * testsuite/libgomp.fortran/simd7.f90: Ditto.
2110         * testsuite/libgomp.fortran/stack.f90: Ditto.
2111         * testsuite/libgomp.fortran/strassen.f90: Ditto.
2112         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2113         * testsuite/libgomp.fortran/tabs2.f: Ditto.
2114         * testsuite/libgomp.fortran/target1.f90: Ditto.
2115         * testsuite/libgomp.fortran/target2.f90: Ditto.
2116         * testsuite/libgomp.fortran/target3.f90: Ditto.
2117         * testsuite/libgomp.fortran/target4.f90: Ditto.
2118         * testsuite/libgomp.fortran/target5.f90: Ditto.
2119         * testsuite/libgomp.fortran/target6.f90: Ditto.
2120         * testsuite/libgomp.fortran/target7.f90: Ditto.
2121         * testsuite/libgomp.fortran/target8.f90: Ditto.
2122         * testsuite/libgomp.fortran/task1.f90: Ditto.
2123         * testsuite/libgomp.fortran/task2.f90: Ditto.
2124         * testsuite/libgomp.fortran/task3.f90: Ditto.
2125         * testsuite/libgomp.fortran/task4.f90: Ditto.
2126         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2127         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2128         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2129         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2130         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2131         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2132         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2133         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2134         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2135         * testsuite/libgomp.fortran/udr1.f90: Ditto.
2136         * testsuite/libgomp.fortran/udr10.f90: Ditto.
2137         * testsuite/libgomp.fortran/udr11.f90: Ditto.
2138         * testsuite/libgomp.fortran/udr12.f90: Ditto.
2139         * testsuite/libgomp.fortran/udr13.f90: Ditto.
2140         * testsuite/libgomp.fortran/udr14.f90: Ditto.
2141         * testsuite/libgomp.fortran/udr15.f90: Ditto.
2142         * testsuite/libgomp.fortran/udr2.f90: Ditto.
2143         * testsuite/libgomp.fortran/udr3.f90: Ditto.
2144         * testsuite/libgomp.fortran/udr4.f90: Ditto.
2145         * testsuite/libgomp.fortran/udr5.f90: Ditto.
2146         * testsuite/libgomp.fortran/udr6.f90: Ditto.
2147         * testsuite/libgomp.fortran/udr7.f90: Ditto.
2148         * testsuite/libgomp.fortran/udr8.f90: Ditto.
2149         * testsuite/libgomp.fortran/udr9.f90: Ditto.
2150         * testsuite/libgomp.fortran/vla1.f90: Ditto.
2151         * testsuite/libgomp.fortran/vla2.f90: Ditto.
2152         * testsuite/libgomp.fortran/vla3.f90: Ditto.
2153         * testsuite/libgomp.fortran/vla4.f90: Ditto.
2154         * testsuite/libgomp.fortran/vla5.f90: Ditto.
2155         * testsuite/libgomp.fortran/vla6.f90: Ditto.
2156         * testsuite/libgomp.fortran/vla7.f90: Ditto.
2157         * testsuite/libgomp.fortran/vla8.f90: Ditto.
2158         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2159         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2161 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2163         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2164         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2165         Ditto; add 'dg-do run' for torture testing.
2166         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
2167         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2168         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2169         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2170         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2171         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2172         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2173         * testsuite/libgomp.fortran/task2.f90: Ditto.
2174         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2175         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2176         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2177         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2178         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2179         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2181 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
2183         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2184         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2185         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2186         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2187         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2188         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2189         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2190         Use 'stop' not abort().
2191         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2192         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2193         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2194         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2195         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2196         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2197         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2198         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2199         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2200         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2201         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2202         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2203         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2204         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2205         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2206         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2207         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2208         Ditto.
2209         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2210         Ditto.
2211         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2212         Ditto.
2213         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2214         Ditto.
2215         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2216         Ditto.
2217         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2218         Ditto.
2219         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2220         Ditto.
2221         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2222         Ditto.
2223         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2224         Ditto.
2225         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2226         Ditto.
2227         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2228         Ditto.
2229         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2230         Ditto.
2231         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2232         Ditto.
2233         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2234         Ditto.
2235         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2236         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2237         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2238         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2239         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2240         Likewise and also add 'dg-do run'.
2241         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2242         Ditto.
2244 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
2245             Tobias Burnus  <tobias@codesourcery.com>
2247         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2248         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2249         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2251 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
2253         PR libgomp/92081
2254         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2255         than 0.
2257 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
2259         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2260         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2262 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
2264         PR middle-end/92036
2265         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2266         file.
2268 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
2270         PR testsuite/91884
2271         * testsuite/libgomp.fortran/fortran.exp: Conditionally
2272         add -lquadmath.
2273         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2275 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
2277         PR libgomp/92028
2278         * target.c (gomp_map_vars_internal): Readd the previous
2279         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2280         though do that just in the !not_found_cnt case.
2282 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
2284         * gfortran.dg/gomp/target-simd.f90: New.
2286 2019-10-02  Julian Brown  <julian@codesourcery.com>
2287             Cesar Philippidis  <cesar@codesourcery.com>
2289         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2290         * target.c (FIELD_TGT_EMPTY): Define.
2291         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
2292         as switch instead of list of ifs.
2293         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2295 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
2297         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2298         include. Replace alloca () with __builtin_alloca ().
2299         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2301 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
2303         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2304         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2305         * oacc-parallel.c: Don't include "libgomp_g.h".
2306         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2307         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2308         * aclocal.m4: Regenerated.
2309         * config.h.in: Regenerated.
2310         * configure: Regenerated.
2311         * Makefile.in: Regenerated.
2313 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
2315         * libgomp_g.h: Include stdint.h instead of gstdint.h.
2317 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
2319         * configure: Regenerate.
2321 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
2323         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2324         string is initialized.
2326 2019-09-06  Florian Weimer  <fweimer@redhat.com>
2328         * configure: Regenerate.
2330 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
2332         PR other/79543
2333         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2334         scanning to conform to the GNU Coding Standards.
2335         * configure: Regenerate.
2337 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
2339         PR libgomp/91530
2340         * testsuite/libgomp.c/scan-21.c: New test.
2341         * testsuite/libgomp.c/scan-22.c: New test.
2343 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
2345         PR libgomp/91530
2346         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2347         targets.
2348         * testsuite/libgomp.c/scan-12.c: Likewise.
2349         * testsuite/libgomp.c/scan-13.c: Likewise.
2350         * testsuite/libgomp.c/scan-14.c: Likewise.
2351         * testsuite/libgomp.c/scan-15.c: Likewise.
2352         * testsuite/libgomp.c/scan-16.c: Likewise.
2353         * testsuite/libgomp.c/scan-17.c: Likewise.
2354         * testsuite/libgomp.c/scan-18.c: Likewise.
2355         * testsuite/libgomp.c/scan-19.c: Likewise.
2356         * testsuite/libgomp.c/scan-20.c: Likewise.
2357         * testsuite/libgomp.c++/scan-9.C: Likewise.
2358         * testsuite/libgomp.c++/scan-10.C: Likewise.
2359         * testsuite/libgomp.c++/scan-11.C: Likewise.
2360         * testsuite/libgomp.c++/scan-12.C: Likewise.
2361         * testsuite/libgomp.c++/scan-14.C: Likewise.
2362         * testsuite/libgomp.c++/scan-15.C: Likewise.
2363         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
2364         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2365         * testsuite/libgomp.c++/scan-16.C: Likewise.
2367 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
2369         PR fortran/91473
2370         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2371         -std=legacy so invalid code in the test case is accepted.
2373 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2375         PR fortran/91422
2376         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2377         dimension.
2379 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
2381         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2382         perform the lookup in the first loop only if !not_found_cnt, otherwise
2383         perform lookups for it in the second loop guarded with
2384         if (not_found_cnt || has_firstprivate).
2385         * testsuite/libgomp.c/target-37.c: New test.
2386         * testsuite/libgomp.c++/target-22.C: New test.
2388 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
2390         * testsuite/libgomp.c/target-18.c (struct S): New type.
2391         (foo): Use use_device_addr clause instead of use_device_ptr clause
2392         where required by OpenMP 5.0, add further tests for both use_device_ptr
2393         and use_device_addr clauses.
2394         * testsuite/libgomp.c++/target-9.C (struct S): New type.
2395         (foo): Use use_device_addr clause instead of use_device_ptr clause
2396         where required by OpenMP 5.0, add further tests for both use_device_ptr
2397         and use_device_addr clauses.  Add t and u arguments.
2398         (main): Adjust caller.
2400 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
2402         * testsuite/libgomp.c++/loop-13.C: New test.
2403         * testsuite/libgomp.c++/loop-14.C: New test.
2404         * testsuite/libgomp.c++/loop-15.C: New test.
2406 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
2408         PR middle-end/91301
2409         * testsuite/libgomp.c++/for-27.C: New test.
2411 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
2413         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2414         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2416 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
2418         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2420 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
2422         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2423         * testsuite/libgomp.c++/scan-16.C: Likewise.
2425 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
2427         * testsuite/libgomp.c/scan-19.c: New test.
2428         * testsuite/libgomp.c/scan-20.c: New test.
2430         * testsuite/libgomp.c/scan-11.c: New test.
2431         * testsuite/libgomp.c/scan-12.c: New test.
2432         * testsuite/libgomp.c/scan-13.c: New test.
2433         * testsuite/libgomp.c/scan-14.c: New test.
2434         * testsuite/libgomp.c/scan-15.c: New test.
2435         * testsuite/libgomp.c/scan-16.c: New test.
2436         * testsuite/libgomp.c/scan-17.c: New test.
2437         * testsuite/libgomp.c/scan-18.c: New test.
2438         * testsuite/libgomp.c++/scan-9.C: New test.
2439         * testsuite/libgomp.c++/scan-10.C: New test.
2440         * testsuite/libgomp.c++/scan-11.C: New test.
2441         * testsuite/libgomp.c++/scan-12.C: New test.
2442         * testsuite/libgomp.c++/scan-13.C: New test.
2443         * testsuite/libgomp.c++/scan-14.C: New test.
2444         * testsuite/libgomp.c++/scan-15.C: New test.
2445         * testsuite/libgomp.c++/scan-16.C: New test.
2447 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
2449         * testsuite/libgomp.c/scan-9.c: New test.
2450         * testsuite/libgomp.c/scan-10.c: New test.
2452 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
2454         * testsuite/libgomp.c++/scan-1.C: New test.
2455         * testsuite/libgomp.c++/scan-2.C: New test.
2456         * testsuite/libgomp.c++/scan-3.C: New test.
2457         * testsuite/libgomp.c++/scan-4.C: New test.
2458         * testsuite/libgomp.c++/scan-5.C: New test.
2459         * testsuite/libgomp.c++/scan-6.C: New test.
2460         * testsuite/libgomp.c++/scan-7.C: New test.
2461         * testsuite/libgomp.c++/scan-8.C: New test.
2462         * testsuite/libgomp.c/scan-1.c: New test.
2463         * testsuite/libgomp.c/scan-2.c: New test.
2464         * testsuite/libgomp.c/scan-3.c: New test.
2465         * testsuite/libgomp.c/scan-4.c: New test.
2466         * testsuite/libgomp.c/scan-5.c: New test.
2467         * testsuite/libgomp.c/scan-6.c: New test.
2468         * testsuite/libgomp.c/scan-7.c: New test.
2469         * testsuite/libgomp.c/scan-8.c: New test.
2471 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2473         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2474         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2475         Likewise.
2477         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2478         check.
2480 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
2482         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2483         file.
2485 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2487         PR fortran/90743
2488         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2489         case.
2490         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2491         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2492         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2493         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2495         PR testsuite/90861
2496         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2498         PR middle-end/90862
2499         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2501 2019-06-16  Tom de Vries  <tdevries@suse.de>
2503         PR tree-optimization/89376
2504         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2506 2019-06-15  Tom de Vries  <tdevries@suse.de>
2508         PR tree-optimization/89713
2509         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2510         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2512 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
2514         PR middle-end/90779
2515         * testsuite/libgomp.c/pr90779.c: New test.
2516         * testsuite/libgomp.fortran/pr90779.f90: New test.
2518 2019-06-15  Tom de Vries  <tdevries@suse.de>
2520         PR tree-optimization/90009
2521         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2523 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
2525         PR tree-optimization/89713
2526         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2528 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
2530         PR target/90811
2531         * testsuite/libgomp.c/pr90811.c: New test.
2533 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
2535         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2536         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2538 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
2540         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2541         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2542         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2543         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2545 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2547         * configure.ac: Call AX_COUNT_CPUS.
2548         Substitute CPU_COUNT.
2549         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2550         count fallback.
2551         * aclocal.m4: Regenerate.
2552         * configure: Regenerate.
2553         * Makefile.in, testsuite/Makefile.in: Regenerate.
2555 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
2557         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2558         to ...
2559         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2560         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2561         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2563 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
2565         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2567         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2569         PR libgomp/90641
2570         * work.c (gomp_init_work_share): Instead of aligning final ordered
2571         value to multiples of long long alignment, align to that the
2572         first part (ordered team ids) and if inline_ordered_team_ids
2573         is not on a long long alignment boundary within the structure,
2574         use __alignof__ (long long) - 1 pad size always.
2575         * loop.c (GOMP_loop_start): Fix *mem computation if
2576         inline_ordered_team_ids is not aligned on long long alignment boundary
2577         within the structure.
2578         * loop-ull.c (GOMP_loop_ull_start): Likewise.
2579         * sections.c (GOMP_sections2_start): Likewise.
2581 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
2583         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2584         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2586         PR libgomp/90585
2587         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
2588         HAVE_INTTYPES_H is defined.
2589         (print_uint64_t): New typedef.
2590         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2591         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2592         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2593         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
2594         before casting to void *.
2595         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2596         * oacc-mem.c: Don't include config.h nor stdint.h.
2597         * target.c: Don't include config.h.
2598         * oacc-cuda.c: Likewise.
2599         * oacc-host.c: Don't include stdint.h.
2601 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
2603         PR libgomp/90527
2604         * alloc.c (_GNU_SOURCE): Define.
2606 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
2608         * acc_prof.h: New file.
2609         * oacc-profiling.c: Likewise.
2610         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2611         Add these, respectively.
2612         * Makefile.in: Regenerate.
2613         * env.c (initialize_env): Call goacc_profiling_initialize.
2614         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2615         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2616         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2617         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2618         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2619         acc_prof_register, acc_prof_unregister, and acc_register_library.
2620         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2621         GOMP_PLUGIN_goacc_thread.
2622         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2623         prof_callbacks_enabled members.
2624         (goacc_prof_enabled, goacc_profiling_initialize)
2625         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2626         (goacc_profiling_dispatch): Declare.
2627         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2628         (GOACC_PROFILING_SETUP_P): Define.
2629         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2630         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2631         OpenACC Profiling Interface.
2632         * oacc-cuda.c (acc_get_current_cuda_device)
2633         (acc_get_current_cuda_context, acc_get_cuda_stream)
2634         (acc_set_cuda_stream): Likewise.
2635         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2636         (acc_init, acc_set_device_type, acc_get_device_type)
2637         (acc_get_device_num, goacc_lazy_initialize): Likewise.
2638         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2639         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2640         (acc_unmap_data, present_create_copy, delete_copyout)
2641         (update_dev_host): Likewise.
2642         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2643         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2644         Likewise.
2645         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2646         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2647         Likewise.
2648         * libgomp.texi: Update.
2649         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2650         file.
2651         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2652         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2653         Likewise.
2654         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2655         Likewise.
2656         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2657         Likewise.
2658         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2659         Likewise.
2661 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
2663         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2664         (struct goacc_asyncqueue_list): Likewise.
2665         (goacc_aq): Likewise.
2666         (goacc_aq_list): Likewise.
2667         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2668         (GOMP_OFFLOAD_openacc_async_test): Remove.
2669         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2670         (GOMP_OFFLOAD_openacc_async_wait): Remove.
2671         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2672         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2673         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2674         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2675         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2676         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2677         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2678         (GOMP_OFFLOAD_openacc_async_exec): Declare.
2679         (GOMP_OFFLOAD_openacc_async_construct): Declare.
2680         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2681         (GOMP_OFFLOAD_openacc_async_test): Declare.
2682         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2683         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2684         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2685         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2686         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2688         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2689         (gomp_acc_insert_pointer): Adjust declaration.
2690         (gomp_copy_host2dev): New declaration.
2691         (gomp_copy_dev2host): Likewise.
2692         (gomp_map_vars_async): Likewise.
2693         (gomp_unmap_tgt): Likewise.
2694         (gomp_unmap_vars_async): Likewise.
2695         (gomp_fini_device): Likewise.
2697         * oacc-async.c (get_goacc_thread): New function.
2698         (get_goacc_thread_device): New function.
2699         (lookup_goacc_asyncqueue): New function.
2700         (get_goacc_asyncqueue): New function.
2701         (acc_async_test): Adjust code to use new async design.
2702         (acc_async_test_all): Likewise.
2703         (acc_wait): Likewise.
2704         (acc_wait_async): Likewise.
2705         (acc_wait_all): Likewise.
2706         (acc_wait_all_async): Likewise.
2707         (goacc_async_free): New function.
2708         (goacc_init_asyncqueues): Likewise.
2709         (goacc_fini_asyncqueues): Likewise.
2710         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2711         design.
2712         (acc_set_cuda_stream): Likewise.
2713         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2714         (host_openacc_register_async_cleanup): Remove.
2715         (host_openacc_async_exec): New function.
2716         (host_openacc_async_test): Adjust parameters.
2717         (host_openacc_async_test_all): Remove.
2718         (host_openacc_async_wait): Remove.
2719         (host_openacc_async_wait_async): Remove.
2720         (host_openacc_async_wait_all): Remove.
2721         (host_openacc_async_wait_all_async): Remove.
2722         (host_openacc_async_set_async): Remove.
2723         (host_openacc_async_synchronize): New function.
2724         (host_openacc_async_serialize): New function.
2725         (host_openacc_async_host2dev): New function.
2726         (host_openacc_async_dev2host): New function.
2727         (host_openacc_async_queue_callback): New function.
2728         (host_openacc_async_construct): New function.
2729         (host_openacc_async_destruct): New function.
2730         (struct gomp_device_descr host_dispatch): Remove initialization of old
2731         interface, add initialization of new async sub-struct.
2732         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2733         (goacc_attach_host_thread_to_device): Remove old async code usage.
2734         * oacc-int.h (goacc_init_asyncqueues): New declaration.
2735         (goacc_fini_asyncqueues): Likewise.
2736         (goacc_async_copyout_unmap_vars): Likewise.
2737         (goacc_async_free): Likewise.
2738         (get_goacc_asyncqueue): Likewise.
2739         (lookup_goacc_asyncqueue): Likewise.
2740         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2741         design.
2742         (present_create_copy): Adjust code to use new async design.
2743         (delete_copyout): Likewise.
2744         (update_dev_host): Likewise.
2745         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2746         async design.
2747         (gomp_acc_remove_pointer): Adjust code to use new async design.
2748         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2749         design.
2750         (GOACC_enter_exit_data): Likewise.
2751         (goacc_wait): Likewise.
2752         (GOACC_update): Likewise.
2753         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2754         when called, warn as obsolete in comment.
2755         * target.c (goacc_device_copy_async): New function.
2756         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2757         add goacc_device_copy_async case.
2758         (gomp_copy_dev2host): Likewise.
2759         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2760         (gomp_map_pointer): Likewise.
2761         (gomp_map_fields_existing): Likewise.
2762         (gomp_map_vars_internal): New always_inline function, renamed from
2763         gomp_map_vars.
2764         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2765         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2766         passing goacc_asyncqueue argument.
2767         (gomp_unmap_tgt): Remove static, add attribute_hidden.
2768         (gomp_unref_tgt): New function.
2769         (gomp_unmap_vars_internal): New always_inline function, renamed from
2770         gomp_unmap_vars.
2771         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2772         (gomp_unmap_vars_async): Implement by calling
2773         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2774         (gomp_fini_device): New function.
2775         (gomp_exit_data): Adjust gomp_copy_dev2host call.
2776         (gomp_load_plugin_for_device): Remove old interface, adjust to load
2777         new async interface.
2778         (gomp_target_fini): Adjust code to call gomp_fini_device.
2780         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2781         (struct ptx_stream): Remove.
2782         (struct nvptx_thread): Remove current_stream field.
2783         (cuda_map_create): Remove.
2784         (cuda_map_destroy): Remove.
2785         (map_init): Remove.
2786         (map_fini): Remove.
2787         (map_pop): Remove.
2788         (map_push): Remove.
2789         (struct goacc_asyncqueue): Define.
2790         (struct nvptx_callback): Define.
2791         (struct ptx_free_block): Define.
2792         (struct ptx_device): Remove null_stream, active_streams, async_streams,
2793         stream_lock, and next fields.
2794         (enum ptx_event_type): Remove.
2795         (struct ptx_event): Remove.
2796         (ptx_event_lock): Remove.
2797         (ptx_events): Remove.
2798         (init_streams_for_device): Remove.
2799         (fini_streams_for_device): Remove.
2800         (select_stream_for_async): Remove.
2801         (nvptx_init): Remove ptx_events and ptx_event_lock references.
2802         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2803         case.
2804         (nvptx_open_device): Add free_blocks initialization, remove
2805         init_streams_for_device call.
2806         (nvptx_close_device): Remove fini_streams_for_device call, add
2807         free_blocks destruct code.
2808         (event_gc): Remove.
2809         (event_add): Remove.
2810         (nvptx_exec): Adjust parameters and code.
2811         (nvptx_free): Likewise.
2812         (nvptx_host2dev): Remove.
2813         (nvptx_dev2host): Remove.
2814         (nvptx_set_async): Remove.
2815         (nvptx_async_test): Remove.
2816         (nvptx_async_test_all): Remove.
2817         (nvptx_wait): Remove.
2818         (nvptx_wait_async): Remove.
2819         (nvptx_wait_all): Remove.
2820         (nvptx_wait_all_async): Remove.
2821         (nvptx_get_cuda_stream): Remove.
2822         (nvptx_set_cuda_stream): Remove.
2823         (GOMP_OFFLOAD_alloc): Adjust code.
2824         (GOMP_OFFLOAD_free): Likewise.
2825         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2826         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2827         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2828         (GOMP_OFFLOAD_openacc_async_wait): Remove.
2829         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2830         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2831         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2832         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2833         (cuda_free_argmem): New function.
2834         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2835         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2836         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2837         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2838         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2839         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2840         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2841         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2842         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2843         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2844         (cuda_callback_wrapper): New function.
2845         (cuda_memcpy_sanity_check): New function.
2846         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2847         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2848         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2849         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2851 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
2853         PR target/87835
2854         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2856 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
2858         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2860 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
2862         * team.c (gomp_team_start): Initialize pool->threads[0].
2864 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
2866         * testsuite/libgomp.oacc-c++/c++.exp: Specify
2867         "-foffload=$offload_target".
2868         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2869         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2870         * testsuite/lib/libgomp.exp
2871         (check_effective_target_openacc_nvidia_accel_configured): Remove,
2872         as (conceptually) merged into
2873         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
2874         users.
2876         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2877         * testsuite/libgomp-test-support.exp.in: Adjust.
2878         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
2879         openacc_device_types_s.
2880         (offload_target_to_openacc_device_type): New proc.
2881         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2882         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2883         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2884         * Makefile.in: Regenerate.
2885         * configure: Likewise.
2886         * testsuite/Makefile.in: Likewise.
2888         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2889         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2890         instead of OFFLOAD_TARGETS.
2891         * target.c (gomp_target_init): Adjust.
2892         * testsuite/libgomp-test-support.exp.in: Likewise.
2893         * testsuite/lib/libgomp.exp: Likewise.  Populate
2894         openacc_device_types_s instead of offload_targets_s_openacc.
2895         (check_effective_target_openacc_nvidia_accel_selected)
2896         (check_effective_target_openacc_host_selected): Adjust.
2897         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2898         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2899         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2900         * Makefile.in: Regenerate.
2901         * config.h.in: Likewise.
2902         * configure: Likewise.
2903         * testsuite/Makefile.in: Likewise.
2905         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2906         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
2907         "offloading: supported, but hardware not accessible".
2908         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2909         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2911 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
2913         PR c/87924
2914         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2915         goacc_wait().
2916         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2917         and related adjustment.
2919 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
2921         PR c++/88988
2922         * testsuite/libgomp.c++/pr88988.C: New test.
2924 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
2926         PR middle-end/89002
2927         * testsuite/libgomp.c/pr89002.c: New test.
2929 2019-01-28  Richard Biener  <rguenther@suse.de>
2931         PR testsuite/89064
2932         PR tree-optimization/86865
2933         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2935 2019-01-24  Tom de Vries  <tdevries@suse.de>
2937         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2938         once instantiated_devices drops to 0.
2940 2019-01-23  Tom de Vries  <tdevries@suse.de>
2942         PR target/PR88946
2943         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2944         cuMemFree.
2945         (nvptx_exec): Don't call map_push if mapnum == 0.
2946         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2948 2019-01-23  Tom de Vries  <tdevries@suse.de>
2950         PR target/88941
2951         PR target/88939
2952         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2953         (map_fini): Remove "assert (!s->map->active)".
2954         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2956 2019-01-23  Tom de Vries  <tdevries@suse.de>
2958         PR target/87835
2959         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2960         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2962 2019-01-15  Tom de Vries  <tdevries@suse.de>
2964         PR target/80547
2965         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2966         New test.
2968 2019-01-12  Tom de Vries  <tdevries@suse.de>
2970         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2971         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2972         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2973         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2975 2019-01-12  Tom de Vries  <tdevries@suse.de>
2977         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2979 2019-01-12  Tom de Vries  <tdevries@suse.de>
2981         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2982         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2983         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2985 2019-01-12  Tom de Vries  <tdevries@suse.de>
2987         PR target/85486
2988         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2989         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2991 2019-01-12  Tom de Vries  <tdevries@suse.de>
2993         PR target/85381
2994         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2995         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2997 2019-01-12  Tom de Vries  <tdevries@suse.de>
2999         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3000         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3001         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3003 2019-01-12  Tom de Vries  <tdevries@suse.de>
3005         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3006         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3007         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3009 2019-01-12  Tom de Vries  <tdevries@suse.de>
3011         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3012         resources diagnostic.
3014 2019-01-12  Tom de Vries  <tdevries@suse.de>
3016         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3017         vector length to be 128.
3018         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3019         length 2097152 to be reduced to 1024 instead of 32.
3021 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
3022             James Norris  <jnorris@codesourcery.com>
3024         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3025         Library Routines", and "Environment Variables".
3027 2019-01-11  Tom de Vries  <tdevries@suse.de>
3029         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3030         num_workers 16.
3032 2019-01-11  Tom de Vries  <tdevries@suse.de>
3034         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3035         -foffload=-w.
3036         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3037         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3038         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3039         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3041 2019-01-11  Tom de Vries  <tdevries@suse.de>
3043         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3044         test.
3046 2019-01-10  Nathan Sidwell  <nathan@acm.org>
3047             Julian Brown  <julian@codesourcery.com>
3049         PR lto/71959
3050         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3051         * testsuite/libgomp.oacc-c++/pr71959.C: New.
3053 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3055         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3056         and paste code.
3058 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3060         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
3061         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3062         write.
3064 2019-01-09  Tom de Vries  <tdevries@suse.de>
3066         PR target/88756
3067         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3068         #define instead of "const int".
3069         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3070         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3071         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3072         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3074 2019-01-09  Tom de Vries  <tdevries@suse.de>
3076         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3077         one worker.
3079 2019-01-07  Tom de Vries  <tdevries@suse.de>
3081         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3082         GOMP_OPENACC_DIM argument.
3084 2019-01-03  Tom de Vries  <tdevries@suse.de>
3086         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3087         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3089 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3091         Update copyright years.
3093 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3095         * libgomp.texi: Bump @copying's copyright year.
3097 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3099         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3100         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3101         (GOACC_declare): Redefine the "device" argument to "flags".
3103 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3104             Cesar Philippidis  <cesar@codesourcery.com>
3106         * target.c (struct gomp_coalesce_chunk): New structure.
3107         (struct gomp_coalesce_buf): Update the chunks member to use that
3108         type.  Adjust all users.
3110 2018-12-19  Tom de Vries  <tdevries@suse.de>
3112         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3113         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3114         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3116 2018-12-19  Tom de Vries  <tdevries@suse.de>
3118         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3119         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3120         gcc/testsuite/gcc.dg/goacc.
3121         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3123 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3124             Chung-Lin Tang  <cltang@codesourcery.com>
3126         * oacc-mem.c (acc_present_or_create): Remove definition and change
3127         to alias of acc_create.
3128         (acc_present_or_copyin): Remove definition and change to alias of
3129         acc_copyin.
3130         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3131         of acc_present_or_create.
3132         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3133         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3134         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3135         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3136         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3137         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3138         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3139         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3140         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3141         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3142         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3143         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3144         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3145         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3146         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3147         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3149 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3151         PR libgomp/88495
3152         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3153         "identical parameters".
3154         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3155         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3157         PR libgomp/88484
3158         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3159         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3161         PR libgomp/88407
3162         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3163         (nvptx_wait_async): Unseen async-argument is a no-op.
3164         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3165         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3166         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3167         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3168         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3169         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3170         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
3171         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3172         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
3174         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3175         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3177 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
3179         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3180         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3181         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3183 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3185         PR libgomp/88370
3186         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3187         (acc_set_cuda_stream): Clarify.
3188         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3189         "async_valid_p".
3190         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3191         acc_async_sync".
3192         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3193         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3194         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3195         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3197 2018-12-14  Tom de Vries  <tdevries@suse.de>
3199         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3200         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3201         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3202         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3203         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3205 2018-12-13  Tom de Vries  <tdevries@suse.de>
3207         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3208         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3209         * fortran.c (omp_display_affinity_): ... here.
3210         * libgomp.h (gomp_print_string): Declare.
3211         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
3212         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3213         write.
3215 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
3217         PR libgomp/88460
3218         * testsuite/libgomp.c++/for-24.C (results): Include it in
3219         omp declare target region.
3220         (main): Use map (always, tofrom: results) instead of
3221         map (tofrom: results).
3223 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
3225         PR fortran/88463
3226         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3227         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3229         * testsuite/libgomp.c-c++-common/for-16.c: New test.
3231 2018-12-12  Andreas Schwab  <schwab@suse.de>
3233         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3234         clobbered.
3236 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
3238         PR fortran/88411
3239         * testsuite/libgomp.fortran/async_io_8.f90: New test.
3241 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
3242             Jakub Jelinek  <jakub@redhat.com>
3244         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3245         devicep->host2dev_func.
3247 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
3249         PR libgomp/87995
3250         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3251         tls_runtime effective target.
3252         (t): New threadprivate variable.
3253         (main): Set t in threads which execute iterations of the worksharing
3254         loop.  Propagate that to the task after the loop and don't abort
3255         if the current taskgroup hasn't been cancelled.
3257 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
3259         * testsuite/libgomp.c/task-reduction-3.c: New test.
3261         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3263 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
3265         PR libgomp/88288
3266         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3267         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3269 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
3271         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3273 2018-10-19  Richard Biener  <rguenther@suse.de>
3275         PR tree-optimization/88182
3276         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3278 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
3280         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3281         (RUNTEST): Don't define.
3282         (RUNTESTDEFAULTFLAGS): Add.
3283         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3284         (distclean-am): Depend on distclean-DEJAGNU.
3285         (check-am): If -j% option is present in MFLAGS and if
3286         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3287         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3288         * testsuite/Makefile.in: Regenerated.
3290 2018-11-26  Richard Biener  <rguenther@suse.de>
3292         PR tree-optimization/88182
3293         * testsuite/libgomp.c++/pr88182.C: New testcase.
3295 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
3297         PR bootstrap/88106
3298         * config/mingw32/affinity-fmt.c: New file.
3300 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
3302         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3303         (gomp_display_affinity): Use __builtin_choose_expr to handle
3304         properly handle argument having integral, or pointer or some other
3305         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
3306         with uint64_t type instead of %llx and unsigned long long.
3308         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3309         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3311 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3313         * affinity.c: Include <string.h>, <stdio.h>.
3314         (gomp_display_affinity_place): Remove cpusetp.
3315         * teams.c: Include <limits.h>.
3317 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
3319         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3320         in_reduction clause for s[0].
3322         * affinity.c (gomp_display_affinity_place): New function.
3323         * affinity-fmt.c: New file.
3324         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3325         * config/linux/affinity.c (gomp_display_affinity_place): New function.
3326         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3327         Move these functions to ...
3328         * config/nvptx/teams.c: ... here.  New file.
3329         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3330         New functions.
3331         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3332         functions.
3333         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3334         and _aligned_malloc.
3335         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3336         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3337         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3338         gomp_affinity_format_len): New variables.
3339         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3340         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
3341         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3342         modifiers.  Display (non-default) chunk sizes.  Print
3343         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3344         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
3345         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3346         * fortran.c: Include stdio.h and string.h.
3347         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3348         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3349         (omp_set_affinity_format_, omp_get_affinity_format_,
3350         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3351         omp_pause_resource_all_): New functions.
3352         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3353         switch.
3354         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3355         functions to ...
3356         * teams.c: ... here.  New file.
3357         * libgomp_g.h: Include gstdint.h.
3358         (GOMP_loop_nonmonotonic_runtime_start,
3359         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3360         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3361         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3362         GOMP_parallel_loop_nonmonotonic_runtime,
3363         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3364         GOMP_loop_ull_nonmonotonic_runtime_start,
3365         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3366         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3367         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3368         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3369         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3370         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3371         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3372         GOMP_teams_reg): Declare.
3373         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3374         gomp_aligned_alloc uses fallback implementation.
3375         (gomp_aligned_alloc, gomp_aligned_free): Declare.
3376         (enum gomp_schedule_type): Add GFS_MONOTONIC.
3377         (struct gomp_doacross_work_share): Add extra field.
3378         (struct gomp_work_share): Add task_reductions field.
3379         (struct gomp_taskgroup): Add workshare and reductions fields.
3380         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3381         (gomp_thread_handle): New typedef.
3382         (gomp_display_affinity_place, gomp_set_affinity_format,
3383         gomp_display_string, gomp_display_affinity,
3384         gomp_display_affinity_thread): Declare.
3385         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3386         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3387         gomp_workshare_task_reduction_register): Declare.
3388         (gomp_team_start): Add taskgroup argument.
3389         (gomp_pause_host): Declare.
3390         (gomp_init_work_share, gomp_work_share_start): Change bool argument
3391         to size_t.
3392         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3393         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3394         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3395         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3396         GOMP_loop_ull_doacross_start,
3397         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3398         GOMP_loop_maybe_nonmonotonic_runtime_next,
3399         GOMP_loop_maybe_nonmonotonic_runtime_start,
3400         GOMP_loop_nonmonotonic_runtime_next,
3401         GOMP_loop_nonmonotonic_runtime_start,
3402         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3403         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3404         GOMP_loop_ull_nonmonotonic_runtime_next,
3405         GOMP_loop_ull_nonmonotonic_runtime_start,
3406         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3407         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3408         GOMP_taskgroup_reduction_register,
3409         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3410         GOMP_teams_reg and GOMP_taskwait_depend.
3411         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3412         omp_{capture,display}_affinity{,_}, and
3413         omp_[gs]et_affinity_format{,_}.
3414         * loop.c: Include string.h.
3415         (GOMP_loop_runtime_next): Add ialias.
3416         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3417         (gomp_loop_static_start, gomp_loop_dynamic_start,
3418         gomp_loop_guided_start, gomp_loop_ordered_static_start,
3419         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3420         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3421         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3422         or gomp_doacross_init callers.
3423         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3424         GOMP_loop_doacross_start): New functions.
3425         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3426         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3427         Mask off GFS_MONOTONIC bit.
3428         (GOMP_loop_maybe_nonmonotonic_runtime_next,
3429         GOMP_loop_maybe_nonmonotonic_runtime_start,
3430         GOMP_loop_nonmonotonic_runtime_next,
3431         GOMP_loop_nonmonotonic_runtime_start,
3432         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3433         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3434         functions.
3435         (gomp_parallel_loop_start): Pass NULL as taskgroup to
3436         gomp_team_start.
3437         * loop_ull.c: Include string.h.
3438         (GOMP_loop_ull_runtime_next): Add ialias.
3439         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3440         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3441         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3442         gomp_loop_ull_ordered_dynamic_start,
3443         gomp_loop_ull_ordered_guided_start,
3444         gomp_loop_ull_doacross_static_start,
3445         gomp_loop_ull_doacross_dynamic_start,
3446         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3447         and gomp_doacross_ull_init callers.
3448         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3449         GOMP_loop_ull_doacross_start): New functions.
3450         (GOMP_loop_ull_runtime_start,
3451         GOMP_loop_ull_ordered_runtime_start,
3452         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3453         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3454         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3455         GOMP_loop_ull_nonmonotonic_runtime_next,
3456         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3457         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3458         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3459         (omp_pause_resource_t, omp_depend_t): New typedefs.
3460         (enum omp_lock_hint_t): Renamed to ...
3461         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
3462         enumerators using numbers and omp_lock_hint_* as their aliases.
3463         (omp_lock_hint_t): New typedef.  Rename to ...
3464         (omp_sync_hint_t): ... this.
3465         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3466         omp_sync_hint_t instead of omp_lock_hint_t.
3467         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3468         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3469         Declare.
3470         (omp_target_is_present, omp_target_disassociate_ptr):
3471         Change first argument from void * to const void *.
3472         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3473         from void * to const void *.
3474         (omp_target_associate_ptr): Change first and second arguments from
3475         void * to const void *.
3476         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3477         omp_pause_hard): New parameters.
3478         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3479         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3480         New interfaces.
3481         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3482         omp_pause_hard): New parameters.
3483         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3484         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3485         New externals.
3486         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3487         EXTRA argument.  If not needed to prepare array, if extra is 0,
3488         clear ws->doacross, otherwise allocate just doacross structure and
3489         extra payload.  If array is needed, allocate also extra payload.
3490         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3491         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3492         doacross == NULL.
3493         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3494         gomp_team_start.
3495         (GOMP_parallel): Likewise.  Formatting fix.
3496         (GOMP_parallel_reductions): New function.
3497         (GOMP_cancellation_point): If taskgroup has workshare
3498         flag set, check cancelled of prev taskgroup if any.
3499         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3500         on prev taskgroup if any.
3501         * sections.c: Include string.h.
3502         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3503         (GOMP_sections_start): Adjust gomp_work_share_start caller.
3504         (GOMP_sections2_start): New function.
3505         (GOMP_parallel_sections_start, GOMP_parallel_sections):
3506         Pass NULL as taskgroup to gomp_team_start.
3507         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3508         gomp_work_share_start callers.
3509         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3510         If taskgroup has workshare flag set, check cancelled on prev
3511         taskgroup if any.  Guard all cancellation tests with
3512         gomp_cancel_var test.
3513         (omp_target_is_present, omp_target_disassociate_ptr):
3514         Change ptr argument from void * to const void *.
3515         (omp_target_memcpy): Change src argument from void * to const void *.
3516         (omp_target_memcpy_rect): Likewise.
3517         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
3518         instead of char * where needed.
3519         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3520         from void * to const void *.
3521         (omp_pause_resource, omp_pause_resource_all): New functions.
3522         * task.c (gomp_task_handle_depend): Handle new depend array format
3523         in addition to the old.  Handle mutexinoutset kinds the same as
3524         inout for now, handle unspecified kinds.
3525         (gomp_create_target_task): If taskgroup has workshare flag set, check
3526         cancelled on prev taskgroup if any.  Guard all cancellation tests with
3527         gomp_cancel_var test.  Handle new depend array format count in
3528         addition to the old.
3529         (GOMP_task): Likewise.  Adjust function comment.
3530         (gomp_task_run_pre): If taskgroup has workshare flag set, check
3531         cancelled on prev taskgroup if any.  Guard all cancellation tests with
3532         gomp_cancel_var test.
3533         (GOMP_taskwait_depend): New function.
3534         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3535         format in addition to the old.  Handle mutexinoutset kinds the same as
3536         inout for now, handle unspecified kinds.  Fix a function comment typo.
3537         (gomp_taskgroup_init): New function.
3538         (GOMP_taskgroup_start): Use it.
3539         (gomp_reduction_register, gomp_create_artificial_team,
3540         GOMP_taskgroup_reduction_register,
3541         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3542         gomp_parallel_reduction_register,
3543         gomp_workshare_task_reduction_register,
3544         gomp_workshare_taskgroup_start,
3545         GOMP_workshare_task_reduction_unregister): New functions.
3546         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3547         check cancelled on prev taskgroup if any.  Guard all cancellation
3548         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
3549         by calling GOMP_taskgroup_reduction_register.
3550         * team.c (gomp_thread_attr): Remove comment.
3551         (struct gomp_thread_start_data): Add handle field.
3552         (gomp_thread_start): Call pthread_detach.
3553         (gomp_new_team): Adjust gomp_init_work_share caller.
3554         (gomp_free_pool_helper): Call pthread_detach.
3555         (gomp_team_start): Add taskgroup argument, initialize implicit
3556         tasks' taskgroup field to that.  Don't call
3557         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
3558         (gomp_team_end): Determine nesting by thr->ts.level != 0
3559         rather than thr->ts.team != NULL.
3560         (gomp_pause_pool_helper, gomp_pause_host): New functions.
3561         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3562         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3563         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3564         if more than 1 allocate also extra payload at the end of array.  Never
3565         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3566         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3567         return true instead of ws.
3568         * Makefile.in: Regenerated.
3569         * configure: Regenerated.
3570         * config.h.in: Regenerated.
3571         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3572         in some cases.
3573         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3574         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3575         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3576         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3577         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3578         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3579         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3580         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3581         * testsuite/libgomp.c-c++-common/for-10.c: New test.
3582         * testsuite/libgomp.c-c++-common/for-11.c: New test.
3583         * testsuite/libgomp.c-c++-common/for-12.c: New test.
3584         * testsuite/libgomp.c-c++-common/for-13.c: New test.
3585         * testsuite/libgomp.c-c++-common/for-14.c: New test.
3586         * testsuite/libgomp.c-c++-common/for-15.c: New test.
3587         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3588         define a different N(test), don't define N(f0) to N(f14), but instead
3589         define N(f20) to N(f34) using != comparisons.
3590         * testsuite/libgomp.c-c++-common/for-7.c: New test.
3591         * testsuite/libgomp.c-c++-common/for-8.c: New test.
3592         * testsuite/libgomp.c-c++-common/for-9.c: New test.
3593         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3594         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3595         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3596         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3597         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3598         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3599         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3600         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3601         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3602         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3603         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3604         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3605         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3606         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3607         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3608         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3609         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3610         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3611         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3612         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3613         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3614         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3615         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3616         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3617         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3618         * testsuite/libgomp.c++/depend-1.C: New test.
3619         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3620         * testsuite/libgomp.c++/depobj-1.C: New test.
3621         * testsuite/libgomp.c++/for-16.C: New test.
3622         * testsuite/libgomp.c++/for-21.C: New test.
3623         * testsuite/libgomp.c++/for-22.C: New test.
3624         * testsuite/libgomp.c++/for-23.C: New test.
3625         * testsuite/libgomp.c++/for-24.C: New test.
3626         * testsuite/libgomp.c++/for-25.C: New test.
3627         * testsuite/libgomp.c++/for-26.C: New test.
3628         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3629         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3630         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3631         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3632         * testsuite/libgomp.c++/task-reduction-10.C: New test.
3633         * testsuite/libgomp.c++/task-reduction-11.C: New test.
3634         * testsuite/libgomp.c++/task-reduction-12.C: New test.
3635         * testsuite/libgomp.c++/task-reduction-13.C: New test.
3636         * testsuite/libgomp.c++/task-reduction-14.C: New test.
3637         * testsuite/libgomp.c++/task-reduction-15.C: New test.
3638         * testsuite/libgomp.c++/task-reduction-16.C: New test.
3639         * testsuite/libgomp.c++/task-reduction-17.C: New test.
3640         * testsuite/libgomp.c++/task-reduction-18.C: New test.
3641         * testsuite/libgomp.c++/task-reduction-19.C: New test.
3642         * testsuite/libgomp.c/task-reduction-1.c: New test.
3643         * testsuite/libgomp.c++/task-reduction-1.C: New test.
3644         * testsuite/libgomp.c/task-reduction-2.c: New test.
3645         * testsuite/libgomp.c++/task-reduction-2.C: New test.
3646         * testsuite/libgomp.c++/task-reduction-3.C: New test.
3647         * testsuite/libgomp.c++/task-reduction-4.C: New test.
3648         * testsuite/libgomp.c++/task-reduction-5.C: New test.
3649         * testsuite/libgomp.c++/task-reduction-6.C: New test.
3650         * testsuite/libgomp.c++/task-reduction-7.C: New test.
3651         * testsuite/libgomp.c++/task-reduction-8.C: New test.
3652         * testsuite/libgomp.c++/task-reduction-9.C: New test.
3653         * testsuite/libgomp.c/teams-1.c: New test.
3654         * testsuite/libgomp.c/teams-2.c: New test.
3655         * testsuite/libgomp.c/thread-limit-4.c: New test.
3656         * testsuite/libgomp.c/thread-limit-5.c: New test.
3657         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3659 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
3661         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3662         acc_memcpy_to/from_device functions, now with async parameter.
3663         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3664         (acc_memcpy_from_device): Likewise.
3665         (acc_memcpy_to_device_async): New API function.
3666         (acc_memcpy_from_device_async): Likewise.
3667         (present_create_copy): Add async parameter and async setting/unsetting.
3668         (acc_create): Adjust present_create_copy call.
3669         (acc_copyin): Likewise.
3670         (acc_present_or_create): Likewise.
3671         (acc_present_or_copyin): Likewise.
3672         (acc_create_async): New API function.
3673         (acc_copyin_async): New API function.
3674         (delete_copyout): Add async parameter and async setting/unsetting.
3675         (acc_delete): Adjust delete_copyout call.
3676         (acc_copyout): Likewise.
3677         (acc_delete_async): New API function.
3678         (acc_copyout_async): Likewise.
3679         (update_dev_host): Add async parameter and async setting/unsetting.
3680         (acc_update_device): Adjust update_dev_host call.
3681         (acc_update_self): Likewise.
3682         (acc_update_device_async): New API function.
3683         (acc_update_self_async): Likewise.
3684         * openacc.h (acc_copyin_async): Declare new API function.
3685         (acc_create_async): Likewise.
3686         (acc_copyout_async): Likewise.
3687         (acc_delete_async): Likewise.
3688         (acc_update_device_async): Likewise.
3689         (acc_update_self_async): Likewise.
3690         (acc_memcpy_to_device_async): Likewise.
3691         (acc_memcpy_from_device_async): Likewise.
3692         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3693         (acc_copyin_async_64_h): New subroutine.
3694         (acc_copyin_async_array_h): New subroutine.
3695         (acc_create_async_32_h): New subroutine.
3696         (acc_create_async_64_h): New subroutine.
3697         (acc_create_async_array_h): New subroutine.
3698         (acc_copyout_async_32_h): New subroutine.
3699         (acc_copyout_async_64_h): New subroutine.
3700         (acc_copyout_async_array_h): New subroutine.
3701         (acc_delete_async_32_h): New subroutine.
3702         (acc_delete_async_64_h): New subroutine.
3703         (acc_delete_async_array_h): New subroutine.
3704         (acc_update_device_async_32_h): New subroutine.
3705         (acc_update_device_async_64_h): New subroutine.
3706         (acc_update_device_async_array_h): New subroutine.
3707         (acc_update_self_async_32_h): New subroutine.
3708         (acc_update_self_async_64_h): New subroutine.
3709         (acc_update_self_async_array_h): New subroutine.
3710         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3711         (acc_copyin_async_64_h): New subroutine.
3712         (acc_copyin_async_array_h): New subroutine.
3713         (acc_create_async_32_h): New subroutine.
3714         (acc_create_async_64_h): New subroutine.
3715         (acc_create_async_array_h): New subroutine.
3716         (acc_copyout_async_32_h): New subroutine.
3717         (acc_copyout_async_64_h): New subroutine.
3718         (acc_copyout_async_array_h): New subroutine.
3719         (acc_delete_async_32_h): New subroutine.
3720         (acc_delete_async_64_h): New subroutine.
3721         (acc_delete_async_array_h): New subroutine.
3722         (acc_update_device_async_32_h): New subroutine.
3723         (acc_update_device_async_64_h): New subroutine.
3724         (acc_update_device_async_array_h): New subroutine.
3725         (acc_update_self_async_32_h): New subroutine.
3726         (acc_update_self_async_64_h): New subroutine.
3727         (acc_update_self_async_array_h): New subroutine.
3728         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3729         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3730         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3731         acc_memcpy_to_device_async*, acc_update_device_async*, and
3732         acc_update_self_async* entries.
3733         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3734         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3735         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3737 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
3739         PR bootstrap/82856
3740         * Makefile.am: Include multilib.am
3741         (AUTOMAKE_OPTIONS): Add info-in-builddir.
3742         (CLEANFILES): Remove libgomp.info.
3743         * configure.ac: Remove AC_PREREQ.
3744         * testsuite/Makefile.am (RUNTEST): Remove quotes.
3745         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3746         Regenerate.
3748 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
3749             Julian Brown  <julian@codesourcery.com>
3751         * testsuite/libgomp.oacc-c++/this.C: New.
3753 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
3755         * plugin/plugin-nvptx.c (struct cuda_map): New.
3756         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3757         h_tail with (cuda_map *) map.
3758         (cuda_map_create): New function.
3759         (cuda_map_destroy): New function.
3760         (map_init): Update to use a linked list of cuda_map objects.
3761         (map_fini): Likewise.
3762         (map_pop): Likewise.
3763         (map_push): Likewise.  Return CUdeviceptr instead of void.
3764         (init_streams_for_device): Remove stales references to ptx_stream
3765         members.
3766         (select_stream_for_async): Likewise.
3767         (nvptx_exec): Update call to map_init.
3769 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
3770             Julian Brown  <julian@codesourcery.com>
3772         PR middle-end/86336
3773         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3775 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
3776         Thomas Koenig <tkoenig@gcc.gnu.org>
3778         PR fortran/25829
3779         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3780         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3781         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3782         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3783         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3784         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3785         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3787 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
3788             Tom de Vries  <tdevries@suse.de>
3790         PR target/85590
3791         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3792         (cuOccupancyMaxPotentialBlockSize): Declare.
3793         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3794         CUDA_ONE_CALL_MAYBE_NULL.
3795         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3796         CUoccupancyB2DSize and declare
3797         cuOccupancyMaxPotentialBlockSize.
3798         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3799         default num_gangs and num_workers when the driver supports it.
3801 2018-08-08  Tom de Vries  <tdevries@suse.de>
3803         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3804         CUDA_ONE_CALL_MAYBE_NULL.
3805         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3806         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3807         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3808         are not found.
3810 2018-08-08  Tom de Vries  <tdevries@suse.de>
3812         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3813         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3814         present.
3816 2018-08-08  Tom de Vries  <tdevries@suse.de>
3818         * plugin/plugin-nvptx.c
3819         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3820         (nvptx_open_device): Use
3821         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3823 2018-08-08  Tom de Vries  <tdevries@suse.de>
3825         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3826         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
3828 2018-08-07  Tom de Vries  <tdevries@suse.de>
3830         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3831         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3832         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
3833         corresponding call in CUDA_ONE_CALL.  Add def/undef of
3834         CUDA_ONE_CALL_MAYBE_NULL.
3835         (CUDA_CALL_EXISTS): Define.
3837 2018-08-07  Tom de Vries  <tdevries@suse.de>
3839         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3840         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3841         corresponding undefs right after.
3843 2018-08-04  Tom de Vries  <tdevries@suse.de>
3845         * plugin/configfrag.ac: For --without-cuda-driver, set
3846         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
3847         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3848         * configure: Regenerate.
3850 2018-08-02  Tom de Vries  <tdevries@suse.de>
3852         PR target/86660
3853         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3854         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3855         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3856         Same.
3857         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3858         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3859         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3861 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3862             Thomas Schwinge <thomas@codesourcery.com>
3864         * config/nvptx/oacc-parallel.c: Truncate.
3866 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3867             James Norris <jnorris@codesourcery.com>
3869         * plugin/plugin-nvptx.c (struct map): Removed.
3870         (map_init, map_pop): Remove use of struct map.
3871         (map_push): Likewise and change argument list.
3872         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3874 2018-08-01  Tom de Vries  <tdevries@suse.de>
3876         * plugin/cuda-lib.def: New file.  Factor out of ...
3877         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3878         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3879         using CUDA_CALLS.
3881 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3883         Revert 'AsyncI/O patch committed'.
3884         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3885                 Thomas Koenig <tkoenig@gcc.gnu.org>
3887         PR fortran/25829
3888         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3889         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3890         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3891         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3892         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3893         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3894         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3896 2018-07-30  Tom de Vries  <tdevries@suse.de>
3898         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3899         (nvptx_exec): Ensure worker and vector default dims don't exceed
3900         targ_fn->max_threads_per_block.
3902 2018-07-30  Tom de Vries  <tdevries@suse.de>
3904         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3905         (nvptx_open_device): Init default_dims for device.
3906         (nvptx_exec): Use default_dims from device.
3908 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
3910         PR testsuite/86660
3911         * testsuite/libgomp.c++/for-15.C (results): Include it in
3912         omp declare target region.
3913         (main): Use map (always, tofrom: results) instead of
3914         map (tofrom: results).
3916         PR middle-end/86660
3917         * testsuite/libgomp.c/pr86660.c: New test.
3919 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3920             Tom de Vries  <tdevries@suse.de>
3922         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3923         sufficient resources to launch a kernel, and give a hint on how to fix
3924         it.
3926 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3927             Tom de Vries  <tdevries@suse.de>
3929         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3930         max_threads_per_block and max_threads_per_multiprocessor fields.
3931         (nvptx_open_device): Initialize new fields.
3932         (nvptx_exec): Use num_sms, and new fields.
3934 2018-07-26  Tom de Vries  <tdevries@suse.de>
3936         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3937         to correct locations.  Remove xfail.
3939 2018-07-26  Tom de Vries  <tdevries@suse.de>
3941         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3942         acc_wait.  Move acc_async_test calls to correct locations.  Remove
3943         xfail.
3945 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3946         Thomas Koenig <tkoenig@gcc.gnu.org>
3948         PR fortran/25829
3949         * testsuite/libgomp.fortran/async_io_1.f90: New test.
3950         * testsuite/libgomp.fortran/async_io_2.f90: New test.
3951         * testsuite/libgomp.fortran/async_io_3.f90: New test.
3952         * testsuite/libgomp.fortran/async_io_4.f90: New test.
3953         * testsuite/libgomp.fortran/async_io_5.f90: New test.
3954         * testsuite/libgomp.fortran/async_io_6.f90: New test.
3955         * testsuite/libgomp.fortran/async_io_7.f90: New test.
3957 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
3959         PR middle-end/86542
3960         * testsuite/libgomp.c++/pr86542.C: New test.
3962         PR middle-end/86539
3963         * testsuite/libgomp.c++/pr86539.C: New test.
3965 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
3967         PR c++/86443
3968         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3969         (results): Make sure the variable is not inside declare target region.
3970         (qux): Remove unused function.
3972 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
3974         PR c++/86443
3975         * testsuite/libgomp.c++/for-15.C: New test.
3977 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
3979         PR c++/86291
3980         * testsuite/libgomp.c++/pr86291.C: New test.
3982 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
3984         * libgomp.texi (Top): Move www.openmp.org to https.
3985         (Enabling OpenMP): Ditto.
3986         (omp_get_active_level): Ditto.
3987         (omp_get_ancestor_thread_num): Ditto.
3988         (omp_get_cancellation): Ditto.
3989         (omp_get_default_device): Ditto.
3990         (omp_get_dynamic): Ditto.
3991         (omp_get_level): Ditto.
3992         (omp_get_max_active_levels): Ditto.
3993         (omp_get_max_task_priority): Ditto.
3994         (omp_get_max_threads): Ditto.
3995         (omp_get_nested): Ditto.
3996         (omp_get_num_devices): Ditto.
3997         (omp_get_num_procs): Ditto.
3998         (omp_get_num_teams): Ditto.
3999         (omp_get_num_threads): Ditto.
4000         (omp_get_proc_bind): Ditto.
4001         (omp_get_schedule): Ditto.
4002         (omp_get_team_num): Ditto.
4003         (omp_get_team_size): Ditto.
4004         (omp_get_thread_limit): Ditto.
4005         (omp_get_thread_num): Ditto.
4006         (omp_in_parallel): Ditto.
4007         (omp_in_final): Ditto.
4008         (omp_is_initial_device): Ditto.
4009         (omp_set_default_device): Ditto.
4010         (omp_set_dynamic): Ditto.
4011         (omp_set_max_active_levels): Ditto.
4012         (omp_set_nested): Ditto.
4013         (omp_set_num_threads): Ditto.
4014         (omp_set_schedule): Ditto.
4015         (omp_init_lock): Ditto.
4016         (omp_set_lock): Ditto.
4017         (omp_test_lock): Ditto.
4018         (omp_unset_lock): Ditto.
4019         (omp_destroy_lock): Ditto.
4020         (omp_init_nest_lock): Ditto.
4021         (omp_set_nest_lock): Ditto.
4022         (omp_test_nest_lock): Ditto.
4023         (omp_unset_nest_lock): Ditto.
4024         (omp_destroy_nest_lock): Ditto.
4025         (omp_get_wtick): Ditto.
4026         (omp_get_wtime): Ditto.
4027         (OMP_CANCELLATION): Ditto.
4028         (OMP_DISPLAY_ENV): Ditto.
4029         (OMP_DEFAULT_DEVICE): Ditto.
4030         (OMP_DYNAMIC): Ditto.
4031         (OMP_MAX_ACTIVE_LEVELS): Ditto.
4032         (OMP_MAX_TASK_PRIORITY): Ditto.
4033         (OMP_NESTED): Ditto.
4034         (OMP_NUM_THREADS): Ditto.
4035         (OMP_PROC_BIND): Ditto.
4036         (OMP_PLACES): Ditto.
4037         (OMP_STACKSIZE): Ditto.
4038         (OMP_SCHEDULE): Ditto.
4039         (OMP_THREAD_LIMIT): Ditto.
4040         (OMP_WAIT_POLICY): Ditto.
4042 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
4043             James Norris  <jnorris@codesourcery.com>
4044             Julian Brown  <julian@codesourcery.com>
4045             Thomas Schwinge  <thomas@codesourcery.com>
4046             Tom de Vries  <tom@codesourcery.com>
4048         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4049         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4050         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4051         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4052         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4053         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4054         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4055         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4056         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4057         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4058         Likewise.
4059         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4060         Likewise.
4061         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4062         Likewise.
4063         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4064         Likewise.
4065         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4066         Likewise.
4067         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4068         Likewise.
4069         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4070         Likewise.
4071         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4072         Likewise.
4073         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4074         Likewise.
4075         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4076         Likewise.
4077         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4078         Likewise.
4079         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4080         Likewise.
4081         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4082         Likewise.
4083         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4084         Likewise.
4085         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4086         Likewise.
4087         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4088         Likewise.
4089         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4090         Likewise.
4091         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4092         Likewise.
4093         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4094         Likewise.
4095         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4096         Likewise.
4097         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4098         Likewise.
4099         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4100         Likewise.
4101         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4102         Likewise.
4103         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4104         Likewise.
4105         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4106         Likewise.
4107         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4108         Likewise.
4109         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4110         Likewise.
4111         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4112         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4113         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4114         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4115         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4116         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4117         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4118         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4119         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4120         Likewise.
4121         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4122         Likewise.
4123         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4124         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4125         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4126         Likewise.
4127         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4128         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4129         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4130         Likewise.
4131         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4132         Likewise.
4133         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4134         Likewise.
4135         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4136         Likewise.
4137         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4138         Likewise.
4139         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4140         Likewise.
4141         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4142         Likewise.
4143         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4144         Likewise.
4145         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4146         Likewise.
4147         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4148         Likewise.
4149         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4150         Likewise.
4151         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4152         Likewise.
4153         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4154         Likewise.
4155         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4156         Likewise.
4157         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4158         Likewise.
4159         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4160         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4161         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4162         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4163         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4164         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4165         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4167 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
4168             Thomas Schwinge <thomas@codesourcery.com>
4169             Cesar Philippidis  <cesar@codesourcery.com>
4171         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4172         (gomp_acc_remove_pointer): Update declaration.
4173         (gomp_acc_declare_allocate): Declare.
4174         (gomp_remove_var): Declare.
4175         * libgomp.map (OACC_2.5): Define.
4176         * oacc-mem.c (acc_map_data): Update refcount.
4177         (acc_unmap_data): Likewise.
4178         (present_create_copy): Likewise.
4179         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4180         (acc_copyin): Likewise.
4181         (FLAG_FINALIZE): Define.
4182         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4183         (acc_delete_finalize): New function.
4184         (acc_delete_finalize_async): New function.
4185         (acc_copyout_finalize): New function.
4186         (acc_copyout_finalize_async): New function.
4187         (gomp_acc_insert_pointer): Update refcounts.
4188         (gomp_acc_remove_pointer): Return if data is not present on the
4189         accelerator.
4190         * oacc-parallel.c (find_pset): Rename to find_pointer.
4191         (find_pointer): Add support for GOMP_MAP_POINTER.
4192         (handle_ftn_pointers): New function.
4193         (GOACC_parallel_keyed): Update refcounts of variables.
4194         (GOACC_enter_exit_data): Add support for finalized data mappings.
4195         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4196         of fortran arrays.
4197         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4198         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4199         for GOMP_MAP_FORCE_FROM.
4200         * openacc.f90 (module openacc_internal): Add
4201         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4202         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4203         acc_copyout_finalize and acc_delete_finalize.
4204         (acc_copyout_finalize_32_h): New subroutine.
4205         (acc_copyout_finalize_64_h): New subroutine.
4206         (acc_copyout_finalize_array_h): New subroutine.
4207         (acc_delete_finalize_32_h): New subroutine.
4208         (acc_delete_finalize_64_h): New subroutine.
4209         (acc_delete_finalize_array_h): New subroutine.
4210         * openacc.h (acc_copyout_finalize): Declare.
4211         (acc_copyout_finalize_async): Declare.
4212         (acc_delete_finalize): Declare.
4213         (acc_delete_finalize_async): Declare.
4214         * openacc_lib.h (acc_copyout_finalize): New interface.
4215         (acc_delete_finalize): New interface.
4216         * target.c (gomp_map_vars): Update dynamic_refcount.
4217         (gomp_remove_var): New function.
4218         (gomp_unmap_vars): Use it.
4219         (gomp_unload_image_from_device): Likewise.
4220         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4221         case to utilize OpenACC 2.5 data clause semantics.
4222         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4223         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4224         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4225         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4226         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4227         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4228         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4229         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4230         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4231         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4232         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4233         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4234         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4235         utilize OpenACC 2.5 data clause semantics.
4236         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4237         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4238         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4239         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4240         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4241         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4242         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4243         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4244         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4246 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
4248         PR fortran/85841
4249         PR testsuite/85865
4250         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4251         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4252         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4253         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4254         * testsuite/libgomp.fortran/task2.f90: Ditto.
4255         * testsuite/libgomp.fortran/vla1.f90: Ditto.
4256         * testsuite/libgomp.fortran/vla2.f90: Ditto.
4257         * testsuite/libgomp.fortran/vla3.f90: Ditto.
4258         * testsuite/libgomp.fortran/vla4.f90: Ditto.
4259         * testsuite/libgomp.fortran/vla5.f90: Ditto.
4260         * testsuite/libgomp.fortran/vla6.f90: Ditto.
4261         * testsuite/libgomp.fortran/vla8.f90: Ditto.
4262         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4263         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4265 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
4267         PR c++/85782
4268         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4270 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4272         PR libgomp/82901
4273         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4274         to GOACC_enter_exit_data.
4276 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4278         PR libgomp/83792
4279         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4280         (async_synchronous_p): New function.
4281         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4282         async_valid_p.
4283         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4284         async_valid_stream_id_p.
4285         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4286         * oacc-parallel.c (GOACC_parallel_keyed): Same.
4288 2018-05-07  Tom de Vries  <tom@codesourcery.com>
4290         PR testsuite/85677
4291         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4292         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4294 2018-05-03  Tom de Vries  <tom@codesourcery.com>
4296         PR testsuite/85106
4297         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4298         extra_tool_flags if it contains an -foffload=-fdump-* flag.
4299         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4300         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4302 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4304         PR libgomp/85411
4305         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4306         GOMP_OPENACC_DIM ...
4307         * env.c (parse_gomp_openacc_dim): ... here.  New function.
4308         (initialize_env): Call parse_gomp_openacc_dim.
4309         (goacc_default_dims): Define.
4310         * libgomp.h (goacc_default_dims): Declare.
4311         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4312         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4313         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4314         GOMP_PLUGIN_acc_default_dim.
4315         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4316         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4318 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4320         PR testsuite/83791
4321         * testsuite/libgomp.c++/udr-9.C: Update.
4322         * testsuite/libgomp.c++/atomic-16.C: Remove.
4323         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4324         * testsuite/libgomp.c++/loop-13.C: Remove.
4325         * testsuite/libgomp.c++/loop-14.C: Remove.
4326         * testsuite/libgomp.c++/loop-15.C: Remove.
4327         * testsuite/libgomp.c++/monotonic-1.C: Remove.
4328         * testsuite/libgomp.c++/monotonic-2.C: Remove.
4329         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4330         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4331         * testsuite/libgomp.c++/ordered-1.C: Remove.
4332         * testsuite/libgomp.c++/pr45784.C: Remove.
4333         * testsuite/libgomp.c++/pr64824.C: Remove.
4334         * testsuite/libgomp.c++/pr64868.C: Remove.
4335         * testsuite/libgomp.c++/pr66199-1.C: Remove.
4336         * testsuite/libgomp.c++/pr66199-2.C: Remove.
4337         * testsuite/libgomp.c++/pr66199-3.C: Remove.
4338         * testsuite/libgomp.c++/pr66199-4.C: Remove.
4339         * testsuite/libgomp.c++/pr66199-5.C: Remove.
4340         * testsuite/libgomp.c++/pr66199-6.C: Remove.
4341         * testsuite/libgomp.c++/pr66199-7.C: Remove.
4342         * testsuite/libgomp.c++/pr66199-8.C: Remove.
4343         * testsuite/libgomp.c++/pr66199-9.C: Remove.
4344         * testsuite/libgomp.c++/pr69389.C: Remove.
4345         * testsuite/libgomp.c++/simd10.C: Remove.
4346         * testsuite/libgomp.c++/simd11.C: Remove.
4347         * testsuite/libgomp.c++/simd12.C: Remove.
4348         * testsuite/libgomp.c++/simd13.C: Remove.
4349         * testsuite/libgomp.c++/target-1.C: Remove.
4350         * testsuite/libgomp.c++/target-3.C: Remove.
4351         * testsuite/libgomp.c++/target-4.C: Remove.
4352         * testsuite/libgomp.c++/target-5.C: Remove.
4353         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4354         * testsuite/libgomp.c++/taskloop-1.C: Remove.
4355         * testsuite/libgomp.c++/taskloop-2.C: Remove.
4356         * testsuite/libgomp.c++/taskloop-3.C: Remove.
4357         * testsuite/libgomp.c++/taskloop-4.C: Remove.
4358         * testsuite/libgomp.c++/udr-9.C: Remove.
4359         * testsuite/libgomp.c++/for-10.C: Remove.
4360         * testsuite/libgomp.c++/for-11.C: Remove.
4361         * testsuite/libgomp.c++/for-12.C: Remove.
4362         * testsuite/libgomp.c++/for-13.C: Remove.
4363         * testsuite/libgomp.c++/for-14.C: Remove.
4364         * testsuite/libgomp.c++/for-9.C: Remove.
4365         * testsuite/libgomp.c/atomic-18.c: Move ...
4366         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4367         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4368         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4369         * testsuite/libgomp.c/loop-13.c: Move ...
4370         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4371         * testsuite/libgomp.c/loop-14.c: Move ...
4372         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4373         * testsuite/libgomp.c/loop-15.c: Remove.
4374         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4375         * testsuite/libgomp.c/monotonic-1.c: Move ...
4376         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4377         * testsuite/libgomp.c/monotonic-2.c: Move ...
4378         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4379         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4380         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4381         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4382         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4383         * testsuite/libgomp.c/ordered-4.c: Move ...
4384         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4385         * testsuite/libgomp.c/pr45784.c: Move ...
4386         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4387         * testsuite/libgomp.c/pr64824.c: Move ...
4388         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4389         * testsuite/libgomp.c/pr64868.c: Move ...
4390         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4391         * testsuite/libgomp.c/pr66199-1.c: Move ...
4392         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4393         * testsuite/libgomp.c/pr66199-2.c: Move ...
4394         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4395         * testsuite/libgomp.c/pr66199-3.c: Move ...
4396         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4397         * testsuite/libgomp.c/pr66199-4.c: Move ...
4398         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4399         * testsuite/libgomp.c/pr66199-5.c: Move ...
4400         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4401         * testsuite/libgomp.c/pr66199-6.c: Move ...
4402         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4403         * testsuite/libgomp.c/pr66199-7.c: Move ...
4404         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4405         * testsuite/libgomp.c/pr66199-8.c: Move ...
4406         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4407         * testsuite/libgomp.c/pr66199-9.c: Move ...
4408         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4409         * testsuite/libgomp.c/pr69389.c: Move ...
4410         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4411         * testsuite/libgomp.c/simd-14.c: Move ...
4412         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4413         * testsuite/libgomp.c/simd-15.c: Move ...
4414         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4415         * testsuite/libgomp.c/simd-16.c: Move ...
4416         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4417         * testsuite/libgomp.c/simd-17.c: Move ...
4418         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4419         * testsuite/libgomp.c/target-1.c: Move ...
4420         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4421         * testsuite/libgomp.c/target-10.c: Move ...
4422         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4423         * testsuite/libgomp.c/target-13.c: Move ...
4424         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4425         * testsuite/libgomp.c/target-2.c: Move ...
4426         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4427         * testsuite/libgomp.c/taskgroup-1.c: Move ...
4428         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4429         * testsuite/libgomp.c/taskloop-1.c: Move ...
4430         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4431         * testsuite/libgomp.c/taskloop-2.c: Move ...
4432         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4433         * testsuite/libgomp.c/taskloop-3.c: Move ...
4434         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4435         * testsuite/libgomp.c/taskloop-4.c: Move ...
4436         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4437         * testsuite/libgomp.c/udr-1.c: Move ...
4438         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4439         * testsuite/libgomp.c/for-1.c: Move ...
4440         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4441         * testsuite/libgomp.c/for-1.h: Move ...
4442         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4443         * testsuite/libgomp.c/for-2.c: Move ...
4444         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4445         * testsuite/libgomp.c/for-2.h: Move ...
4446         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4447         * testsuite/libgomp.c/for-3.c: Move ...
4448         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4449         * testsuite/libgomp.c/for-4.c: Move ...
4450         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4451         * testsuite/libgomp.c/for-5.c: Move ...
4452         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4453         * testsuite/libgomp.c/for-6.c: Move ...
4454         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4456 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4458         PR libgomp/82428
4459         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4460         __builtin_goacc_parlevel_{id,size}.
4461         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4462         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4463         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4464         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4465         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4466         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4467         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4468         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4469         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4470         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4471         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4472         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4473         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4474         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4475         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4476         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4477         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4478         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4479         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4480         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4481         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4482         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4483         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4485 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4487         PR testsuite/85106
4488         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4490 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4492         PR testsuite/85106
4493         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4495 2018-04-29  Julian Brown  <julian@codesourcery.com>
4496             Tom de Vries  <tom@codesourcery.com>
4498         PR testsuite/85527
4499         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4500         arbitrary order for iterations of atomic subtract check.
4502 2018-04-28  Tom de Vries  <tom@codesourcery.com>
4504         PR testsuite/85527
4505         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4506         atomic capture results obtained in parallel loop to an array, instead of
4507         to a scalar.
4509 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4511         PR libgomp/84020
4512         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4513         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4514         (process_GOMP_NVPTX_JIT): New function.
4515         (link_ptx): Use process_GOMP_NVPTX_JIT.
4517 2018-04-26  Richard Biener <rguenther@suse.de>
4518             Tom de Vries  <tom@codesourcery.com>
4520         PR lto/85422
4521         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4523 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4525         PR target/85519
4526         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4527         recursion depth from 25 to 23.
4528         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4530 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
4532         * configure: Regenerated.
4534 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
4535             Tom de Vries  <tom@codesourcery.com>
4537         PR target/85445
4538         * testsuite/libgomp.oacc-c++/ref-1.C: New.
4540 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
4542         PR libgomp/85463
4543         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4544         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4545         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4546         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4547         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4548         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4550         PR libfortran/85166
4551         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4552         abort".
4553         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4555 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
4557         * configure: Regenerated.
4559 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
4561         PR jit/85384
4562         * configure: Regenerate.
4564 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
4565             Tom de Vries  <tom@codesourcery.com>
4567         PR middle-end/84955
4568         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4569         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4571 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
4573         PR fortran/83064
4574         PR testsuite/85346
4575         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4576         test from gfortran.dg to here.
4578 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4580         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4581         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4583 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4585         PR middle-end/84955
4586         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4587         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4589 2018-04-05  Tom de Vries  <tom@codesourcery.com>
4591         PR target/85204
4592         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4594 2018-03-26  Tom de Vries  <tom@codesourcery.com>
4596         PR tree-optimization/85063
4597         * testsuite/libgomp.c/switch-conversion-2.c: New test.
4598         * testsuite/libgomp.c/switch-conversion.c: New test.
4599         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4600         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4602 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
4604         PR fortran/84381
4605         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4606         call abort by STOP n.
4607         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4608         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4609         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4610         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4611         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4612         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4613         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4614         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4615         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4616         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4617         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4618         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4619         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4620         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4621         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4622         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4623         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4624         * testsuite/libgomp.fortran/associate1.f90: Likewise.
4625         * testsuite/libgomp.fortran/associate2.f90: Likewise.
4626         * testsuite/libgomp.fortran/associate3.f90: Likewise.
4627         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4628         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4629         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4630         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4631         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4632         * testsuite/libgomp.fortran/character1.f90: Likewise.
4633         * testsuite/libgomp.fortran/character2.f90: Likewise.
4634         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4635         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4636         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4637         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4638         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4639         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4640         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4641         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4642         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4643         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4644         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4645         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4646         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4647         * testsuite/libgomp.fortran/do1.f90: Likewise.
4648         * testsuite/libgomp.fortran/do2.f90: Likewise.
4649         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4650         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4651         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4652         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4653         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4654         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4655         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4656         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4657         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4658         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4659         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4660         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4661         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4662         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4663         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4664         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4665         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4666         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4667         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4668         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4669         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4670         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4671         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4672         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4673         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4674         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4675         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4676         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4677         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4678         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4679         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4680         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4681         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4682         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4683         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4684         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4685         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4686         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4687         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4688         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4689         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4690         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4691         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4692         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4693         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4694         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4695         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4696         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4697         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4698         * testsuite/libgomp.fortran/lib1.f90: Likewise.
4699         * testsuite/libgomp.fortran/lib2.f: Likewise.
4700         * testsuite/libgomp.fortran/lib3.f: Likewise.
4701         * testsuite/libgomp.fortran/lib4.f90: Likewise.
4702         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4703         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4704         * testsuite/libgomp.fortran/nested1.f90: Likewise.
4705         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4706         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4707         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4708         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4709         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4710         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4711         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4712         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4713         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4714         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4715         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4716         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4717         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4718         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4719         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4720         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4721         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4722         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4723         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4724         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4725         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4726         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4727         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4728         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4729         * testsuite/libgomp.fortran/pr25162.f: Likewise.
4730         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4731         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4732         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4733         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4734         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4735         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4736         * testsuite/libgomp.fortran/pr28390.f: Likewise.
4737         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4738         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4739         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4740         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4741         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4742         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4743         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4744         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4745         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4746         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4747         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4748         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4749         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4750         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4751         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4752         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4753         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4754         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4755         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4756         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4757         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4758         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4759         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4760         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4761         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4762         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4763         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4764         * testsuite/libgomp.fortran/reference1.f90: Likewise.
4765         * testsuite/libgomp.fortran/reference2.f90: Likewise.
4766         * testsuite/libgomp.fortran/retval1.f90: Likewise.
4767         * testsuite/libgomp.fortran/retval2.f90: Likewise.
4768         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4769         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4770         * testsuite/libgomp.fortran/simd1.f90: Likewise.
4771         * testsuite/libgomp.fortran/simd2.f90: Likewise.
4772         * testsuite/libgomp.fortran/simd3.f90: Likewise.
4773         * testsuite/libgomp.fortran/simd4.f90: Likewise.
4774         * testsuite/libgomp.fortran/simd5.f90: Likewise.
4775         * testsuite/libgomp.fortran/simd6.f90: Likewise.
4776         * testsuite/libgomp.fortran/simd7.f90: Likewise.
4777         * testsuite/libgomp.fortran/stack.f90: Likewise.
4778         * testsuite/libgomp.fortran/strassen.f90: Likewise.
4779         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4780         * testsuite/libgomp.fortran/tabs2.f: Likewise.
4781         * testsuite/libgomp.fortran/target1.f90: Likewise.
4782         * testsuite/libgomp.fortran/target2.f90: Likewise.
4783         * testsuite/libgomp.fortran/target3.f90: Likewise.
4784         * testsuite/libgomp.fortran/target4.f90: Likewise.
4785         * testsuite/libgomp.fortran/target5.f90: Likewise.
4786         * testsuite/libgomp.fortran/target6.f90: Likewise.
4787         * testsuite/libgomp.fortran/target7.f90: Likewise.
4788         * testsuite/libgomp.fortran/target8.f90: Likewise.
4789         * testsuite/libgomp.fortran/task1.f90: Likewise.
4790         * testsuite/libgomp.fortran/task2.f90: Likewise.
4791         * testsuite/libgomp.fortran/task3.f90: Likewise.
4792         * testsuite/libgomp.fortran/task4.f90: Likewise.
4793         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4794         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4795         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4796         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4797         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4798         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4799         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4800         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4801         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4802         * testsuite/libgomp.fortran/udr1.f90: Likewise.
4803         * testsuite/libgomp.fortran/udr10.f90: Likewise.
4804         * testsuite/libgomp.fortran/udr11.f90: Likewise.
4805         * testsuite/libgomp.fortran/udr12.f90: Likewise.
4806         * testsuite/libgomp.fortran/udr13.f90: Likewise.
4807         * testsuite/libgomp.fortran/udr14.f90: Likewise.
4808         * testsuite/libgomp.fortran/udr15.f90: Likewise.
4809         * testsuite/libgomp.fortran/udr2.f90: Likewise.
4810         * testsuite/libgomp.fortran/udr3.f90: Likewise.
4811         * testsuite/libgomp.fortran/udr4.f90: Likewise.
4812         * testsuite/libgomp.fortran/udr5.f90: Likewise.
4813         * testsuite/libgomp.fortran/udr6.f90: Likewise.
4814         * testsuite/libgomp.fortran/udr7.f90: Likewise.
4815         * testsuite/libgomp.fortran/udr8.f90: Likewise.
4816         * testsuite/libgomp.fortran/udr9.f90: Likewise.
4817         * testsuite/libgomp.fortran/vla1.f90: Likewise.
4818         * testsuite/libgomp.fortran/vla2.f90: Likewise.
4819         * testsuite/libgomp.fortran/vla3.f90: Likewise.
4820         * testsuite/libgomp.fortran/vla4.f90: Likewise.
4821         * testsuite/libgomp.fortran/vla5.f90: Likewise.
4822         * testsuite/libgomp.fortran/vla6.f90: Likewise.
4823         * testsuite/libgomp.fortran/vla7.f90: Likewise.
4824         * testsuite/libgomp.fortran/vla8.f90: Likewise.
4825         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4826         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4827         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4828         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4829         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4830         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4831         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4832         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4833         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4834         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4835         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4836         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4837         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4838         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4839         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4840         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4841         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4842         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4843         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4844         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4845         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4846         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4847         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4848         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4849         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4850         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4851         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4852         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4853         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4854         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4855         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4856         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4857         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4858         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4859         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4860         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4861         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4862         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4863         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4864         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4865         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4866         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4867         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4868         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4869         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4870         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4871         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4872         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4873         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4874         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4875         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4876         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4877         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4878         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4879         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4880         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4881         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4882         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4883         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4884         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4885         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4886         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4887         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4888         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4889         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4890         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4891         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4892         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4893         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4894         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4895         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4896         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4897         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4898         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4899         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4900         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4901         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4902         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4903         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4904         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4905         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4906         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4907         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4908         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4909         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4910         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4911         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4912         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4913         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4914         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4915         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4916         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4917         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4918         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4920 2018-03-20  Richard Biener  <rguenther@suse.de>
4922         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4923         parallelizable loop.
4925 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
4927         PR target/84148
4928         * configure: Regenerate.
4930 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
4932         PR fortran/84418
4933         * libgomp.fortran/pr84418-1.f90: New test.
4934         * libgomp.fortran/pr84418-2.f90: New test.
4936 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
4938         PR fortran/84313
4939         * testsuite/libgomp.fortran/threadprivate4.f90: Add
4940         -std=f2003 -fall-intrinsics into dg-additional-options.
4942 2018-02-08  Martin Jambor  <mjambor@suse.cz>
4944         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4945         clonable.
4947 2018-02-08  Martin Jambor  <mjambor@suse.cz>
4949         * testsuite/libgomp.hsa.c/staticvar.c: New test.
4951 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4953         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4954         [__cplusplus]: Declare extern "C".
4956 2018-02-07  Tom de Vries  <tom@codesourcery.com>
4958         PR libgomp/84217
4959         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4961 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
4962             Jakub Jelinek  <jakub@redhat.com>
4964         PR libgomp/84096
4965         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4966         instead of omp_lock_t.
4968 2018-01-25  Tom de Vries  <tom@codesourcery.com>
4970         PR target/84028
4971         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4973 2018-01-24  Tom de Vries  <tom@codesourcery.com>
4975         PR target/83589
4976         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4978 2018-01-24  Tom de Vries  <tom@codesourcery.com>
4980         PR target/81352
4981         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4983 2018-01-19  Tom de Vries  <tom@codesourcery.com>
4984             Cesar Philippidis  <cesar@codesourcery.com>
4986         PR target/83920
4987         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4988         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4990 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
4992         Update copyright years.
4994         * libgomp.texi: Bump @copying's copyright year.
4996 2017-12-30  Tom de Vries  <tom@codesourcery.com>
4998         PR libgomp/83046
4999         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5000         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5002 2017-12-27  Tom de Vries  <tom@codesourcery.com>
5004         PR c++/83046
5005         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5006         (test_nonstatic): Fix return type to workaround PR83046.
5008 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
5010         PR testsuite/83281
5011         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5012         j suffix instead of i.
5013         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5014         Likewise.
5016 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
5018         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5019         call to acc_wait (1).
5021 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
5023         PR fortran/81304
5024         * testsuite/libgomp.fortran/pr81304.f90: New test.
5026 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
5028         PR fortran/81841
5029         * libgomp.fortran/pr81841.f90: New test.
5031 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
5033         PR libgomp/83106
5034         * target.c (gomp_target_init): Compute lengths just once and
5035         use them in both malloc size and subsequent copying.
5037 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5039         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5040         * acinclude.m4: Add cet.m4.
5041         * configure: Regenerate.
5042         * Makefile.in: Likewise.
5043         * testsuite/Makefile.in: Likewise.
5045 2017-11-15  Tom de Vries  <tom@codesourcery.com>
5047         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5048         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
5049         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5050         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
5051         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5052         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
5054 2017-11-14  Tom de Vries  <tom@codesourcery.com>
5056         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5057         non-nvidia devices.
5059 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
5061         PR c++/82835
5062         * testsuite/libgomp.c++/pr82835.C: New test.
5064 2017-11-06  Martin Liska  <mliska@suse.cz>
5066         * testsuite/libgomp.c++/loop-2.C: Return a value
5067         for functions with non-void return type, or change type to void,
5068         or add -Wno-return-type for test.
5069         * testsuite/libgomp.c++/loop-4.C: Likewise.
5070         * testsuite/libgomp.c++/parallel-1.C: Likewise.
5071         * testsuite/libgomp.c++/shared-1.C: Likewise.
5072         * testsuite/libgomp.c++/single-1.C: Likewise.
5073         * testsuite/libgomp.c++/single-2.C: Likewise.
5075 2017-10-31  Tom de Vries  <tom@codesourcery.com>
5077         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5078         "do {} while (false)".
5079         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5080         after HSA_DEBUG call.
5082 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
5084         * target.c (struct gomp_coalesce_buf): New type.
5085         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5086         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5087         (gomp_copy_host2dev): Add CBUF argument, if copying into
5088         the cached ranges, memcpy into buffer instead of copying
5089         into device.
5090         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5091         Add CBUF argument, pass it through to other calls.
5092         (gomp_map_vars): Aggregate copies from host to device if small enough
5093         and with small enough gaps in between into memcpy into a buffer and
5094         fewer host to device copies from the buffer.
5095         (gomp_update): Adjust gomp_copy_host2dev caller.
5097 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
5099         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5100         run" directive.
5101         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5102         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5103         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5104         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5106 2017-10-16  Tom de Vries  <tom@codesourcery.com>
5108         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5109         openacc_nvidia_accel_selected.
5110         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5111         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5112         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5113         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5114         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5115         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5116         openacc_nvidia_accel_selected. Skip for shared memory device.
5117         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5118         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5120 2017-10-09  Martin Jambor  <mjambor@suse.cz>
5122         PR hsa/82416
5123         * testsuite/libgomp.hsa.c/pr82416.c: New test.
5125 2017-10-07  Tom de Vries  <tom@codesourcery.com>
5127         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5128         Remove acc_device_nvidia references.
5129         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5130         Same.
5132 2017-10-05  Tom de Vries  <tom@codesourcery.com>
5134         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5135         vector_length(32) clause from acc parallel directive.
5136         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5138 2017-10-04  Tom de Vries  <tom@codesourcery.com>
5140         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5141         (main): Reduce sum of arr elements.  Assert that hres is exactly
5142         representable in 32-bit floating point.
5143         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5144         (main): Reduce sum of arr elements.  Assert that hres and hmres are
5145         exactly representable in 32-bit floating point.
5146         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5148 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5150         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5151         setting.
5152         * testsuite/libgomp.c++/pr69393.C: Same.
5153         * testsuite/libgomp.c++/taskloop-1.C: Same.
5154         * testsuite/libgomp.c++/taskloop-3.C: Same.
5155         * testsuite/libgomp.c++/taskloop-4.C: Same.
5156         * testsuite/libgomp.c/for-4.c: Same.
5157         * testsuite/libgomp.c/pr66199-3.c: Same.
5158         * testsuite/libgomp.c/pr66199-4.c: Same.
5159         * testsuite/libgomp.c/pr66199-6.c: Same.
5160         * testsuite/libgomp.c/taskloop-1.c: Same.
5161         * testsuite/libgomp.c/taskloop-3.c: Same.
5162         * testsuite/libgomp.c/taskloop-4.c: Same.
5163         * testsuite/libgomp.fortran/aligned1.f03: Same.
5164         * testsuite/libgomp.fortran/condinc1.f: Same.
5165         * testsuite/libgomp.fortran/condinc3.f90: Same.
5166         * testsuite/libgomp.fortran/crayptr1.f90: Same.
5167         * testsuite/libgomp.fortran/crayptr2.f90: Same.
5168         * testsuite/libgomp.fortran/crayptr3.f90: Same.
5169         * testsuite/libgomp.fortran/omp_cond1.f: Same.
5170         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5171         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5172         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5173         * testsuite/libgomp.fortran/recursion1.f90: Same.
5174         * testsuite/libgomp.fortran/target2.f90: Same.
5175         * testsuite/libgomp.fortran/target5.f90: Same.
5176         * testsuite/libgomp.fortran/task3.f90: Same.
5178 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5180         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5181         vector_length(32) clause from acc parallel directive.
5182         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5184 2017-09-27  Tom de Vries  <tom@codesourcery.com>
5186         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5187         Remove acc_device_nvidia references.
5189 2017-09-16  Tom de Vries  <tom@codesourcery.com>
5191         PR c/81875
5192         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5194 2017-09-14  Tom de Vries  <tom@codesourcery.com>
5196         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5197         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5198         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5199         * testsuite/libgomp.c/c.exp: Include test-cases from
5200         libgomp.c-c++-common.
5201         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
5202         files.
5204 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
5206         PR c++/81314
5207         * testsuite/libgomp.c++/pr81314.C: New test.
5209 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
5211         * libgomp.texi (Top): www.openacc.org now uses https.
5212         (Enabling OpenACC): Ditto.
5213         (acc_get_num_devices): Ditto.
5214         (acc_set_device_type): Ditto.
5215         (acc_get_device_type): Ditto.
5216         (acc_set_device_num): Ditto.
5217         (acc_get_device_num): Ditto.
5218         (acc_async_test): Ditto.
5219         (acc_async_test_all): Ditto.
5220         (acc_wait): Ditto.
5221         (acc_wait_all): Ditto.
5222         (acc_wait_all_async): Ditto.
5223         (acc_wait_async): Ditto.
5224         (acc_init): Ditto.
5225         (acc_shutdown): Ditto.
5226         (acc_on_device): Ditto.
5227         (acc_malloc): Ditto.
5228         (acc_free): Ditto.
5229         (acc_copyin): Ditto.
5230         (acc_present_or_copyin): Ditto.
5231         (acc_create): Ditto.
5232         (acc_present_or_create): Ditto.
5233         (acc_copyout): Ditto.
5234         (acc_delete): Ditto.
5235         (acc_update_device): Ditto.
5236         (acc_update_self): Ditto.
5237         (acc_map_data): Ditto.
5238         (acc_unmap_data): Ditto.
5239         (acc_deviceptr): Ditto.
5240         (acc_hostptr): Ditto.
5241         (acc_is_present): Ditto.
5242         (acc_memcpy_to_device): Ditto.
5243         (acc_memcpy_from_device): Ditto.
5244         (acc_get_current_cuda_device): Ditto.
5245         (acc_get_current_cuda_context): Ditto.
5246         (acc_get_cuda_stream): Ditto.
5247         (acc_set_cuda_stream): Ditto.
5248         (ACC_DEVICE_TYPE): Ditto.
5249         (ACC_DEVICE_NUM): Ditto.
5250         (OpenACC Library Interoperability): Ditto.
5252 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
5254         PR c/81687
5255         * testsuite/libgomp.c/pr81687-1.c: New test.
5256         * testsuite/libgomp.c/pr81687-2.c: New test.
5258 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
5260         PR c/69389
5261         * testsuite/libgomp.c/pr69389.c: New test.
5262         * testsuite/libgomp.c++/pr69389.C: New test.
5264 2017-08-07  Tom de Vries  <tom@codesourcery.com>
5266         PR middle-end/78266
5267         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5268         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5270 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
5272         PR c/45784
5273         * testsuite/libgomp.c/pr45784.c: New test.
5274         * testsuite/libgomp.c++/pr45784.C: New test.
5276 2017-07-19  Tom de Vries  <tom@codesourcery.com>
5278         * testsuite/libgomp.oacc-c/vec.c: New test.
5280 2017-07-03  Tom de Vries  <tom@codesourcery.com>
5282         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5284 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5286         * plugin/plugin-nvptx.c (notify_var): New function.
5287         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5289 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5291         * env.c (parse_unsigned_long_1): Factor out of ...
5292         (parse_unsigned_long): ... here.
5293         (parse_int_1): Factor out of ...
5294         (parse_int): ... here.
5295         (parse_int_secure): New function.
5296         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5297         * secure_getenv.h: Factor out of ...
5298         * plugin/plugin-hsa.c: ... here.
5299         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5301 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
5303         PR c++/81130
5304         * testsuite/libgomp.c++/pr81130.C: New test.
5306 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5308         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5309         default args.
5310         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5311         dg-xfail-run-if default args.
5313 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5315         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5316         * testsuite/libgomp.c/pr39591-3.c: Likewise.
5318 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
5320         PR libgomp/80822
5321         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5322         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
5323         sibling lists, depending on level just pick up what CPUs to put
5324         together into a place vs. whether add multiple ordered places.
5326 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
5328         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5329         * libgomp.map (OACC_2.0.1): Add these.
5330         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5331         for "acc_wait", and "acc_wait_all", respectively.
5332         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5333         for "acc_wait", and "acc_wait_all", respectively.
5334         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5335         * libgomp.texi (acc_wait, acc_wait_all): Update.
5336         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5337         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5338         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5340         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5341         acc_present_or_copyin and acc_present_or_create procedures,
5342         respectively.
5343         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5344         generally different variants of OpenACC Runtime Library functions.
5345         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5347         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5348         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5350         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5351         of preprocessor definitions.
5352         * libgomp.h (strong_alias): Guard by "#ifdef
5353         HAVE_ATTRIBUTE_ALIAS".
5354         * oacc-mem.c: Provide "acc_pcreate" as alias for
5355         "acc_present_or_create", and "acc_pcopyin" as alias for
5356         "acc_present_or_copyin".
5357         * libgomp.map: New version "OACC_2.0.1".
5358         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5359         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5360         its content into...
5361         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5362         Extend testing.
5364         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5365         when disabling nvptx offloading.
5367 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
5369         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5370         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5371         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5373         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5374         * testsuite/lib/libgomp.exp
5375         (check_effective_target_openacc_nvidia_accel_configured): New
5376         proc.
5377         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5378         (check_effective_target_c++): New procs.
5379         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5380         (check_effective_target_c++): Likewise.
5382 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
5384         PR middle-end/80809
5385         * testsuite/libgomp.c/pr80809-2.c: New test.
5386         * testsuite/libgomp.c/pr80809-3.c: New test.
5388         PR middle-end/80809
5389         * testsuite/libgomp.c/pr80809-1.c: New test.
5391         PR middle-end/80853
5392         * testsuite/libgomp.c/pr80853.c: New test.
5394 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
5396         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5397         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5398         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5399         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5400         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5402         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5403         Debug output for failure.
5405 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5407         * testsuite/lib/libgomp.exp: Load scanlang.exp.
5409 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
5411         PR bootstrap/80531
5412         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5413         bootstrap compare failures.
5415 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
5417         * testsuite/libgomp.c/target-36.c: New testcase.
5419 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
5421         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5422         instead of char.
5424 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
5426         PR libgomp/80394
5427         * testsuite/libgomp.c/pr80394.c: New test.
5429 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
5431         PR libgomp/79876
5432         * config/posix/thread-stacksize.h: New file.
5433         * config/darwin/thread-stacksize.h: New file.
5434         * config/nvptx/thread-stacksize.h: New file.
5435         * env.c: Include thread-stacksize.h.
5436         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5437         instead of 0.  Call pthread_attr_setstacksize even if
5438         GOMP_DEFAULT_STACKSIZE is non-zero.
5440 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
5442         * env.c (initialize_env): Initialize stacksize to 0.
5444 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
5446         PR c++/80029
5447         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5449 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
5451         PR c/79940
5452         * testsuite/libgomp.c/pr79940.c: New test.
5454 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5456         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5457         targets.
5458         Add __float128 options.
5460 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
5462         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5463         hppa*-*-* dg-skip-if directive.
5465 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
5467         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5468         dg-skip-if directive into a comment.
5470 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
5471             Chung-Lin Tang  <cltang@codesourcery.com>
5473         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5474         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5475         add additional case.
5476         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5477         "openacc_nvidia_accel_selected".
5478         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5479         Add num_workers(8) clause.
5481 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
5483         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5484         hppa*-*-*.
5485         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5486         include complex.h on hppa*-*-hpux*.
5487         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5489 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
5491         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5493         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5494         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
5495         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5496         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
5497         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5498         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
5499         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5500         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
5501         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5502         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
5504 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
5506         * libgomp-plugin.h: #include <stdbool.h>.
5507         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5508         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5509         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5510         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5511         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5512         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5513         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5514         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5515         (GOMP_OFFLOAD_openacc_register_async_cleanup)
5516         (GOMP_OFFLOAD_openacc_async_test)
5517         (GOMP_OFFLOAD_openacc_async_test_all)
5518         (GOMP_OFFLOAD_openacc_async_wait)
5519         (GOMP_OFFLOAD_openacc_async_wait_async)
5520         (GOMP_OFFLOAD_openacc_async_wait_all)
5521         (GOMP_OFFLOAD_openacc_async_wait_all_async)
5522         (GOMP_OFFLOAD_openacc_async_set_async)
5523         (GOMP_OFFLOAD_openacc_create_thread_data)
5524         (GOMP_OFFLOAD_openacc_destroy_thread_data)
5525         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5526         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5527         (GOMP_OFFLOAD_openacc_get_cuda_stream)
5528         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5529         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5530         these.
5531         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5532         (GOMP_OFFLOAD_unload_image): Fix argument types.
5534 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
5536         * testsuite/lib/libgomp.exp
5537         (check_effective_target_hsa_offloading_selected_nocache): Fix up
5538         check_compile invocation.  Fix up removal of executable.  Drop
5539         bogus "2>&1" argument.
5541         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5542         directive.
5544 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
5545             Martin Jambor  <mjambor@suse.cz>
5547         * plugin/hsa.h: Moved to top level include.
5548         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5550 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
5552         PR other/79046
5553         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5554         of cat to get version from BASE-VER file.
5555         * testsuite/Makefile.in: Regenerated.
5557 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
5559         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5560         for _WIN64.
5562 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
5564         * plugin/hsa.h: Add GCC runtime library exception.
5565         * plugin/hsa_ext_finalize.h: Likewise.
5567         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5568         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
5569         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5570         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5571         plugin/include/cuda as include dir and -ldl instead of -lcuda as
5572         library to link ptx plugin against.
5573         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5574         (CUDA_CALLS): Define.
5575         (cuda_lib, cuda_lib_inited): New variables.
5576         (init_cuda_lib): New function.
5577         (CUDA_CALL_PREFIX): Define.
5578         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5579         (CUDA_CALL): Use FN instead of (FN).
5580         (CUDA_CALL_NOCHECK): Define.
5581         (cuda_error, fini_streams_for_device, select_stream_for_async,
5582         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5583         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5584         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5585         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5586         CUDA_CALL_NOCHECK.
5587         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
5588         CUDA_CALL_NOCHECK.
5589         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5590         Use CUDA_CALL_NOCHECK.
5591         * plugin/cuda/cuda.h: New file.
5592         * config.h.in: Regenerated.
5593         * configure: Regenerated.
5595         PR other/79046
5596         * configure.ac: Add GCC_BASE_VER.
5597         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5598         get version from BASE-VER file.
5599         * testsuite/Makefile.in: Regenerated.
5600         * configure: Regenerated.
5601         * Makefile.in: Regenerated.
5603 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
5605         PR libgomp/60670
5606         * Makefile.am: Make fincludedir multilib-aware.
5607         * Makefile.in: Regenerate.
5609 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
5611         Update copyright years.
5613         * libgomp.texi: Bump @copying's copyright year.
5615 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5617         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5618         pthread_spinlock_t instead of gomp_mutex_t lock.
5619         (gomp_get_thread_pool): Likewise.
5620         (gomp_release_thread_pool): Likewise.
5621         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5622         Likewise.
5624 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5626         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5627         thread pool in case nthreads == 1.
5629 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5631         * config/nvptx/env.c: Delete.
5632         * icv.c: Move definitions of ICV variables back ...
5633         * env.c: ...here.  Do not compile environment-related functionality if
5634         LIBGOMP_OFFLOADED_ONLY is set.
5636 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5638         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5639         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5640         * configure: Regenerate.
5641         * config.h.in: Likewise.
5643 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5645         * Makefile.in: Regenerate with automake-1.11.6.
5646         * aclocal.m4: Likewise.
5647         * configure: Likewise.
5648         * testsuite/Makefile.in: Likewise.
5650 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
5652         * config/nvptx/critical.c: Delete to use generic implementation.
5654 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
5656         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5657         ../../affinity.c as fallback.
5658         * config/nvptx/affinity.c: Delete to use fallback implementation.
5660 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
5661             Jakub Jelinek  <jakub@redhat.com>
5662             Dmitry Melnik  <dm@ispras.ru>
5664         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5665         * Makefile.in. Regenerate.
5666         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5667         (LIBGOMP_USE_PTHREADS): ...here; new define.
5668         * configure: Regenerate.
5669         * config.h.in: Likewise.
5670         * config/posix/affinity.c: Move to...
5671         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
5672         interface by LIBGOMP_USE_PTHREADS. 
5673         * critical.c: Split out GOMP_atomic_{start,end} into...
5674         * atomic.c: ...here (new file).
5675         * env.c: Split out ICV definitions into...
5676         * icv.c: ...here (new file) and...
5677         * icv-device.c: ...here. New file.
5678         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5679         (gomp_destroy_lock_30): Ditto.
5680         (gomp_set_lock_30): Ditto.
5681         (gomp_unset_lock_30): Ditto.
5682         (gomp_test_lock_30): Ditto.
5683         (gomp_init_nest_lock_30): Ditto.
5684         (gomp_destroy_nest_lock_30): Ditto.
5685         (gomp_set_nest_lock_30): Ditto.
5686         (gomp_unset_nest_lock_30): Ditto.
5687         (gomp_test_nest_lock_30): Ditto.
5688         * lock.c: New.
5689         * config/nvptx/lock.c: New.
5690         * config/nvptx/bar.c: New.
5691         * config/nvptx/bar.h: New.
5692         * config/nvptx/doacross.h: New.
5693         * config/nvptx/error.c: New.
5694         * config/nvptx/icv-device.c: New.
5695         * config/nvptx/mutex.h: New.
5696         * config/nvptx/pool.h: New.
5697         * config/nvptx/proc.c: New.
5698         * config/nvptx/ptrlock.h: New.
5699         * config/nvptx/sem.h: New.
5700         * config/nvptx/simple-bar.h: New.
5701         * config/nvptx/target.c: New.
5702         * config/nvptx/task.c: New.
5703         * config/nvptx/team.c: New.
5704         * config/nvptx/time.c: New.
5705         * config/posix/simple-bar.h: New.
5706         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
5707         (gomp_num_teams_var): Declare.
5708         (struct gomp_thread_pool): Change threads_dock member to
5709         gomp_simple_barrier_t.
5710         [__nvptx__] (gomp_thread): New implementation.
5711         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5712         (gomp_thread_destructor): Ditto.
5713         (gomp_init_thread_affinity): Ditto.
5714         * team.c: Guard uses of Pthreads-specific interfaces by
5715         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
5716         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5717         * config/nvptx/alloc.c: Delete.
5718         * config/nvptx/barrier.c: Ditto.
5719         * config/nvptx/fortran.c: Ditto.
5720         * config/nvptx/iter.c: Ditto.
5721         * config/nvptx/iter_ull.c: Ditto.
5722         * config/nvptx/loop.c: Ditto.
5723         * config/nvptx/loop_ull.c: Ditto.
5724         * config/nvptx/ordered.c: Ditto.
5725         * config/nvptx/parallel.c: Ditto.
5726         * config/nvptx/priority_queue.c: Ditto.
5727         * config/nvptx/sections.c: Ditto.
5728         * config/nvptx/single.c: Ditto.
5729         * config/nvptx/splay-tree.c: Ditto.
5730         * config/nvptx/work.c: Ditto.
5731         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5732         -foffload=-lgfortran in addition to -lgfortran.
5733         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5734         * plugin/plugin-nvptx.c: Include <limits.h>.
5735         (struct targ_fn_descriptor): Add new fields.
5736         (struct ptx_device): Ditto.  Set them...
5737         (nvptx_open_device): ...here.
5738         (nvptx_adjust_launch_bounds): New.
5739         (nvptx_host2dev): Allow NULL 'nvthd'.
5740         (nvptx_dev2host): Ditto.
5741         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5742         (link_ptx): Adjust log sizes.
5743         (nvptx_host2dev): Allow NULL 'nvthd'.
5744         (nvptx_dev2host): Ditto.
5745         (nvptx_set_clocktick): New.  Use it...
5746         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
5747         fields.
5748         (GOMP_OFFLOAD_dev2dev): New.
5749         (nvptx_adjust_launch_bounds): New.
5750         (nvptx_stacks_size): New.
5751         (nvptx_stacks_alloc): New.
5752         (nvptx_stacks_free): New.
5753         (GOMP_OFFLOAD_run): New.
5754         (GOMP_OFFLOAD_async_run): New (stub).
5756 2016-11-23  Martin Jambor  <mjambor@suse.cz>
5758         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5759         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5760         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5762 2016-11-23  Martin Liska  <mliska@suse.cz>
5763             Martin Jambor  <mjambor@suse.cz>
5765         * plugin/hsa.h: New file.
5766         * plugin/hsa_ext_finalize.h: New file.
5767         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
5768         header file unistd.h, and functions secure_getenv, __secure_getenv,
5769         getuid, geteuid, getgid and getegid.
5770         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5771         -D_GNU_SOURCE.
5772         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5773         Handle various cases of secure_getenv presence, add an implementation
5774         when we can test effective UID and GID.
5775         (struct hsa_runtime_fn_info): New structure.
5776         (hsa_runtime_fn_info hsa_fns): New variable.
5777         (hsa_runtime_lib): Likewise.
5778         (support_cpu_devices): Likewise.
5779         (init_enviroment_variables): Load newly introduced ENV
5780         variables.
5781         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5782         (hsa_fatal): Likewise.
5783         (DLSYM_FN): New macro.
5784         (init_hsa_runtime_functions): New function.
5785         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5786         structure.  Depending on environment, also allow CPU devices.
5787         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5788         (get_kernarg_memory_region): Likewise.
5789         (GOMP_OFFLOAD_init_device): Likewise.
5790         (destroy_hsa_program): Likewise.
5791         (init_basic_kernel_info): New function.
5792         (GOMP_OFFLOAD_load_image): Use it.
5793         (create_and_finalize_hsa_program): Call hsa run-time functions via
5794         hsa_fns structure.
5795         (create_single_kernel_dispatch): Likewise.
5796         (release_kernel_dispatch): Likewise.
5797         (init_single_kernel): Likewise.
5798         (parse_target_attributes): Allow up multiple HSA grid dimensions.
5799         (get_group_size): New function.
5800         (run_kernel): Likewise.
5801         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5802         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5803         structure.
5804         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5805         * testsuite/libgomp-test-support.exp.in: Likewise.
5806         * Makefile.in: Regenerated.
5807         * aclocal.m4: Likewise.
5808         * config.h.in: Likewise.
5809         * configure: Likewise.
5810         * testsuite/Makefile.in: Likewise.
5812 2016-11-15  Martin Jambor  <mjambor@suse.cz>
5813             Alexander Monakov  <amonakov@ispras.ru>
5815         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5816         mapping clauses to target constructs.
5817         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5819 2016-11-15  Matthias Klose  <doko@ubuntu.com>
5821         * configure: Regenerate.
5823 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
5825         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5826         * omp_lib.h.in (openmp_version): Likewise.
5827         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5828         of 201307.
5829         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5831         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5832         (fib_wrapper): Add map(from: x) clause.
5833         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5834         (e_53_2): Likewise.
5835         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5836         (accum): Add map(tmp) clause.
5837         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5838         (accum): Add map(tofrom: tmp) clause.
5839         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5840         (gramSchmidt): Likewise.
5841         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5842         map(tofrom: sum) clause.
5843         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5844         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
5845         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5846         only allowed on the loop iterator.
5847         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5848         * testsuite/libgomp.fortran/taskloop2.f90: New test.
5849         * testsuite/libgomp.fortran/taskloop4.f90: New test.
5850         * testsuite/libgomp.fortran/doacross1.f90: New test.
5851         * testsuite/libgomp.fortran/doacross3.f90: New test.
5852         * testsuite/libgomp.fortran/taskloop1.f90: New test.
5853         * testsuite/libgomp.fortran/taskloop3.f90: New test.
5854         * testsuite/libgomp.fortran/doacross2.f90: New test.
5855         * testsuite/libgomp.c/doacross-1.c (main): Add missing
5856         #pragma omp atomic read.
5857         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5858         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5860 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
5861             Nathan Sidwell  <nathan@acm.org>
5863         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5864         to determine default geometry.
5865         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5866         dimension.
5868 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
5870         * hashtab.h: Use standard GPLv3 with runtime exception
5871         boilerplate.
5873 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
5875         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5876         size when allocating new thread.
5878 2016-09-14  Marek Polacek  <polacek@redhat.com>
5880         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5882 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
5884         PR fortran/71014
5885         * testsuite/libgomp.fortran/pr71014.f90: New test.
5887 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
5889         PR middle-end/70895
5890         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5891         firstprivate clauses.
5892         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5893         copy clauses.
5894         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5895         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5896         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5897         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5898         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5899         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5900         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5901         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5902         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5903         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5904         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5905         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5907 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
5909         PR fortran/70598
5910         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5912 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
5914         PR c++/58706
5915         * testsuite/libgomp.c++/pr58706.C: New test.
5917 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
5919         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5920         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5921         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5922         Likewise.
5923         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5924         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5925         Likewise.
5926         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5928         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5929         test, and don't hardcode -O0.
5931 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
5933         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5935 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
5937         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5938         test.
5940 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
5942         PR middle-end/71734
5943         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5944         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5946 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
5948         PR fortran/71717
5949         * testsuite/libgomp.fortran/associate3.f90: New test.
5951 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
5953         * testsuite/libgomp.c++/target-21.C: New test.
5955 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
5957         * testsuite/libgomp.c++/target-20.C: New test.
5959 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5960             Cesar Philippidis  <cesar@codesourcery.com>
5962         PR middle-end/71373
5963         * libgomp.oacc-c/nested-function-1.c: New file.
5964         * libgomp.oacc-c/nested-function-2.c: Likewise.
5965         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5966         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5967         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5969 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5971         PR c/71381
5972         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5973         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5974         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5976 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
5978         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5979         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5981 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
5983         PR c/70688
5984         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5986 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
5988         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5989         instead of invalid schedule(static, 0).
5990         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5992 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
5994         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5995         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5996         parameter, use to set async stream around call to gomp_unmap_vars,
5997         call gomp_unmap_vars() with 'do_copyfrom' set to true.
5998         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5999         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6000         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6001         (event_add): Add int parameter, initialize 'val' field when
6002         adding new ptx_event struct.
6003         (nvptx_evec): Adjust event_add() call arguments.
6004         (nvptx_host2dev): Likewise.
6005         (nvptx_dev2host): Likewise.
6006         (nvptx_wait_async): Likewise.
6007         (nvptx_wait_all_async): Likewise.
6008         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6009         pass to event_add() call.
6010         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6011         parameter.
6012         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6013         call openacc.register_async_cleanup_func() hook.
6014         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6015         * target.c (gomp_copy_from_async): Delete function.
6016         (gomp_map_vars): Remove async_refcount.
6017         (gomp_unmap_vars): Likewise.
6018         (gomp_load_image_to_device): Likewise.
6019         (omp_target_associate_ptr): Likewise.
6020         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6021         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6022         (gomp_copy_from_async): Remove.
6024 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6026         * target.c (gomp_device_copy): New function.
6027         (gomp_copy_host2dev): Likewise.
6028         (gomp_copy_dev2host): Likewise.
6029         (gomp_free_device_memory): Likewise.
6030         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6031         (gomp_map_pointer): Likewise.
6032         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6033         NULL value from alloc_func plugin hook.
6034         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6035         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6036         (gomp_unmap_vars): Likewise.
6037         (gomp_update): Adjust to call gomp_copy_dev2host and
6038         gomp_copy_host2dev functions.
6039         (gomp_unload_image_from_device): Handle false value from
6040         unload_image_func plugin hook.
6041         (gomp_init_device): Handle false value from init_device_func
6042         plugin hook.
6043         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6044         (omp_target_free): Adjust to call gomp_free_device_memory.
6045         (omp_target_memcpy): Handle return values from host2dev_func,
6046         dev2host_func, and dev2dev_func plugin hooks.
6047         (omp_target_memcpy_rect_worker): Likewise.
6048         (gomp_target_fini): Handle false value from fini_device_func
6049         plugin hook.
6050         * libgomp.h (struct gomp_device_descr): Adjust return type of
6051         init_device_func, fini_device_func, unload_image_func, free_func,
6052         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6053         * oacc-init.c (acc_shutdown_1): Handle false value from
6054         fini_device_func plugin hook.
6055         * oacc-host.c (host_init_device): Change return type to bool.
6056         (host_fini_device): Likewise.
6057         (host_unload_image): Likewise.
6058         (host_free): Likewise.
6059         (host_dev2host): Likewise.
6060         (host_host2dev): Likewise.
6061         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6062         (acc_memcpy_to_device): Likewise.
6063         (acc_memcpy_from_device): Likewise.
6064         (delete_copyout): Add libfnname parameter, handle free_func
6065         hook fatal error case.
6066         (acc_delete): Adjust delete_copyout call.
6067         (acc_copyout): Likewise.
6068         (update_dev_host): Move gomp_mutex_unlock to after
6069         host2dev/dev2host hook calls.
6071         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6072         to 'hsa_error_msg', for clarity.
6073         (hsa_fatal): Likewise.
6074         (hsa_error): New function.
6075         (init_hsa_context): Change return type to bool, adjust to return
6076         false on error.
6077         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6078         return value.
6079         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6080         return false on error.
6081         (get_agent_info): Adjust to return NULL on error.
6082         (destroy_hsa_program): Change return type to bool, adjust to
6083         return false on error.
6084         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6085         (destroy_module): Change return type to bool, adjust to
6086         return false on error.
6087         (GOMP_OFFLOAD_unload_image): Likewise.
6088         (GOMP_OFFLOAD_fini_device): Likewise.
6089         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6090         (GOMP_OFFLOAD_free): Change to return false when called.
6091         (GOMP_OFFLOAD_dev2host): Likewise.
6092         (GOMP_OFFLOAD_host2dev): Likewise.
6093         (GOMP_OFFLOAD_dev2dev): Likewise.
6095         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6096         (CUDA_CALL): Likewise.
6097         (CUDA_CALL_ASSERT): Likewise.
6098         (map_init): Change return type to bool, use CUDA_CALL* macros.
6099         (map_fini): Likewise.
6100         (init_streams_for_device): Change return type to bool, adjust
6101         call to map_init.
6102         (fini_streams_for_device): Change return type to bool, adjust
6103         call to map_fini.
6104         (select_stream_for_async): Release stream_lock before calls to
6105         GOMP_PLUGIN_fatal, adjust call to map_init.
6106         (nvptx_init): Use CUDA_CALL* macros.
6107         (nvptx_attach_host_thread_to_device): Change return type to bool,
6108         use CUDA_CALL* macros.
6109         (nvptx_open_device): Use CUDA_CALL* macros.
6110         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6111         macros.
6112         (nvptx_get_num_devices): Use CUDA_CALL* macros.
6113         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6114         (nvptx_exec): Use CUDA_CALL* macros.
6115         (nvptx_alloc): Use CUDA_CALL* macros.
6116         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6117         (nvptx_host2dev): Likewise.
6118         (nvptx_dev2host): Likewise.
6119         (nvptx_wait): Use CUDA_CALL* macros.
6120         (nvptx_wait_async): Likewise.
6121         (nvptx_wait_all): Likewise.
6122         (nvptx_wait_all_async): Likewise.
6123         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6124         use CUDA_CALL* macros, adjust call to map_fini.
6125         (GOMP_OFFLOAD_init_device): Change return type to bool,
6126         adjust code accordingly.
6127         (GOMP_OFFLOAD_fini_device): Likewise.
6128         (GOMP_OFFLOAD_load_image): Adjust calls to
6129         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6130         use CUDA_CALL* macros.
6131         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6132         return code.
6133         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6134         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6135         handle error return.
6136         (GOMP_OFFLOAD_dev2host): Likewise.
6137         (GOMP_OFFLOAD_host2dev): Likewise.
6138         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6139         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6141 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
6143         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6144         (acc_free): Likewise.
6145         (acc_memcpy_to_device): Likewise.
6146         (acc_memcpy_from_device): Likewise.
6147         (acc_deviceptr): Likewise.
6148         (acc_hostptr): Likewise.
6149         (acc_is_present): Likewise.
6150         (acc_map_data): Likewise.
6151         (acc_unmap_data): Likewise.
6152         (present_create_copy): Likewise.
6153         (delete_copyout): Likewise.
6154         (update_dev_host): Likewise.
6155         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6156         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6157         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6158         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6159         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6160         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6161         it only runs on nvptx targets.
6162         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6163         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6164         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6165         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6166         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6167         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6168         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6169         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6170         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6171         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6172         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6173         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6174         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6175         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6176         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6177         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6178         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6179         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6180         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6181         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6182         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6183         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6184         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6186 2016-05-23  Martin Jambor  <mjambor@suse.cz>
6188         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6190 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
6192         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6193         to gomp_init_targets_once.
6194         (acc_set_device_type): Remove !cached_base_dev condition on call to
6195         gomp_init_targets_once, move call to before acc_device_lock acquire,
6196         to avoid deadlock.
6197         (acc_get_device_num): Remove !cached_base_dev condition on call to
6198         gomp_init_targets_once.
6199         (acc_set_device_num): Likewise.
6201 2016-05-16  Martin Jambor  <mjambor@suse.cz>
6203         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
6205 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
6207         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6208         expected partitioning.
6210 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
6212         PR middle-end/70626
6213         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6214         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6215         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6217 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
6219         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6220         non-fatal.
6222 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
6224         PR middle-end/70680
6225         * testsuite/libgomp.c/pr70680-1.c: New test.
6226         * testsuite/libgomp.c/pr70680-2.c: New test.
6228 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6230         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6231         pass parameter variables to subroutines.
6233 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6235         PR middle-end/70643
6236         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6238 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
6240         PR testsuite/68242
6241         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6242         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6244 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
6246         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6247         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6248         GOACC_declare prototype.
6250         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6251         Merge this file, and...
6252         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6253         ... this file, and...
6254         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6255         ... this file, and...
6256         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6257         ... this file, and...
6258         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6259         ... this file, and...
6260         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6261         ... this file, and...
6262         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6263         ... this file, and...
6264         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6265         ... this file, and...
6266         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6267         ... this file, and...
6268         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6269         ... this file, and...
6270         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6271         ... this file, and...
6272         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6273         ... this file, and...
6274         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6275         ... this file into...
6276         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6277         file.
6279         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6280         Make failure observable.
6282 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
6284         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6285         field.
6286         * target.c (gomp_target_fallback_firstprivate,
6287         gomp_target_unshare_firstprivate): Removed.
6288         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6289         before waiting for dependencies.
6290         (gomp_target_task_fn): Don't copy firstprivate vars here.
6291         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6292         firstprivate_copies here.
6293         (gomp_create_target_task): Don't initialize firstprivate_copies field.
6294         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6295         explicit/implicit firstprivate.
6297 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
6299         PR lto/70289
6300         PR ipa/70348
6301         PR tree-optimization/70373
6302         PR middle-end/70533
6303         PR middle-end/70534
6304         PR middle-end/70535
6305         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6306         test.
6307         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6308         test.
6309         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6310         test.
6311         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6312         test.
6313         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6314         test.
6315         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6316         test.
6317         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6318         test.
6319         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6320         test.
6321         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6322         test.
6323         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6324         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6325         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6326         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6327         test.
6328         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6329         test.
6330         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6331         test.
6332         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6333         test.
6334         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6335         coverage.
6336         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6337         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6338         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6339         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6340         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6341         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6342         coverage.
6343         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6344         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6345         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6346         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6347         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6348         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6349         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6350         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6351         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6352         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6353         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6354         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6355         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6356         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6357         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6359 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
6360             James Norris  <jnorris@codesourcery.com>
6361             Nathan Sidwell  <nathan@codesourcery.com>
6362             Julian Brown  <julian@codesourcery.com>
6363             Cesar Philippidis  <cesar@codesourcery.com>
6364             Chung-Lin Tang  <cltang@codesourcery.com>
6365             Tom de Vries  <tom@codesourcery.com>
6367         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6368         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6369         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6370         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6371         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6372         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6373         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6374         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6375         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6376         XFAIL.
6377         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6378         Incorporate...
6379         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6380         file.
6381         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6382         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6383         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6384         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6385         Likewise.
6386         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6387         Likewise.
6388         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6389         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6390         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6391         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6392         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6393         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6394         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6395         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6396         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6397         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6398         Likewise.
6399         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6400         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6401         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6402         file...
6403         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6404         file into...
6405         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6406         file.  Update.
6407         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6408         file.
6409         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6410         Likewise.
6411         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6412         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6413         ... this new file.  Update.
6414         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6415         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6416         ... this new file.  Update.
6417         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6418         file.  Incorporate...
6419         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6420         file, and...
6421         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6422         file, and...
6423         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6424         file.
6425         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6427 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
6429         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6430         set-torture-options.
6432 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
6434         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6435         gcc-dg-runtest.
6436         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6437         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6438         -fno-builtin-acc_on_device instead of -O0.
6439         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6440         -O0.
6441         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6442         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6443         Likewise.
6444         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6445         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6446         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6447         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6448         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6449         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6450         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6451         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6452         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6453         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6454         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6455         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6456         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6457         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6458         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6459         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6460         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6461         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6462         Don't specify -O2.
6463         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6464         Likewise.
6465         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6466         Likewise.
6468 2016-03-24  Martin Liska  <mliska@suse.cz>
6470         * plugin/plugin-hsa.c (packet_store_release): New function
6471         that is taken from the HSA runtime manual.
6472         (GOMP_OFFLOAD_run): Use the function.
6474 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
6476         PR c++/70376
6477         * testsuite/libgomp.c++/pr70376.C: New test.
6479 2016-03-23  Tom de Vries  <tom@codesourcery.com>
6481         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6482         initialization of lresult and lvresult.
6483         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6485 2016-03-23  James Norris  <jnorris@codesourcery.com>
6486             Daichi Fukuoka <dc-fukuoka@sgi.com>
6488         PR libgomp/69414
6489         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6490         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6491         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6492         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6494 2016-03-23  Martin Liska  <mliska@suse.cz>
6496         PR hsa/70337
6497         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6498         argument just in case a dispatched kernel uses that argument.
6500 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
6502         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6503         -ftree-parallelize-loops/-fopenacc changes.
6504         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6505         Likewise.
6506         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6507         Likewise.
6508         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6509         Likewise.
6510         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6511         Likewise.
6512         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6513         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6515 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
6517         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6518         always_ld_library_path the path to libgcc_s.
6520 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
6522         PR testsuite/70009
6523         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6525 2016-03-09  Tom de Vries  <tom@codesourcery.com>
6527         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6528         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6529         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6530         Same.
6531         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6532         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6533         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6534         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6536 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6538         * testsuite/lib/libgomp.exp
6539         (check_effective_target_hsa_offloading_selected_nocache): New.
6540         (check_effective_target_hsa_offloading_selected): Likewise.
6541         * testsuite/libgomp.hsa.c/c.exp: Likewise.
6542         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6543         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6544         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6545         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6546         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6547         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6548         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6549         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6550         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6551         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6552         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6553         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6554         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6555         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6556         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6557         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6559 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6561         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6562         non-shared memory accelerators.
6563         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6564         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6565         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6566         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6567         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6568         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6569         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6570         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6571         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6573 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6575         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6576         ALWAYS_CFLAGS.
6578 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
6580         PR libgomp/69555
6581         * testsuite/libgomp.c++/pr69555-1.C: New test.
6582         * testsuite/libgomp.c++/pr69555-2.C: New test.
6584 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
6585             Martin Jambor  <mjambor@suse.cz>
6587         * testsuite/lib/libgomp.exp
6588         (check_effective_target_offload_device_shared_as): New proc.
6589         * testsuite/libgomp.c++/declare_target-1.C: New test.
6591 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
6593         PR driver/68463
6594         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6596 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
6598         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6599         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6600         dims.
6601         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6602         -ftree-parallelize-loops/-fopenacc changes.
6603         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6604         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6605         Likewise.
6606         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6607         Likewise.
6608         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6609         Likewise.
6610         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6611         Likewise.
6612         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6613         Likewise.
6614         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6615         Likewise.
6616         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6617         Likewise.
6618         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6619         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6620         Likewise.
6621         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6622         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6623         Likewise.
6624         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6625         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6626         Likewise.
6628 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
6630         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6632 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
6634         PR driver/69805
6635         * testsuite/libgomp.c/pr69805.c: New test.
6637 2016-02-16  Tom de Vries  <tom@codesourcery.com>
6639         PR lto/67709
6640         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6642 2016-02-09  Tom de Vries  <tom@codesourcery.com>
6644         PR tree-optimization/69599
6645         * testsuite/libgomp.c/omp-nested-3.c: New test.
6646         * testsuite/libgomp.c/pr46032-2.c: New test.
6647         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6648         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6650 2016-02-09  Tom de Vries  <tom@codesourcery.com>
6652         PR lto/69707
6653         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6655 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6657         * testsuite/libgomp.c/target-31.c: Fix testcase.
6659 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6661         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6662         clause.
6663         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6664         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6665         reduction and map clauses.
6666         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6668 2016-02-02  James Norris  <jnorris@codesourcery.com>
6670         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6672 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
6674         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6675         * oacc-parallel.c (GOACC_host_data): Remove function definition.
6677         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6678         cases.
6680         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6681         variables.
6682         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6683         (hsa_kmt_lib): Set variables.
6684         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6685         always_ld_library_path.
6686         * Makefile.in: Regenerate.
6687         * configure: Likewise.
6688         * testsuite/Makefile.in: Likewise.
6690         * plugin/configfrag.ac (offload_additional_options)
6691         (offload_additional_lib_paths): Don't amend for hsa offloading.
6692         * configure: Regenerate.
6694         * plugin/configfrag.ac: Don't configure for offloading target if
6695         we don't build the corresponding plugin.
6696         * configure: Regenerate.
6698 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
6700         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6701         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6703 2016-01-26  Tom de Vries  <tom@codesourcery.com>
6705         PR tree-optimization/69110
6706         * testsuite/libgomp.c/pr69110.c: New test.
6708 2016-01-25  Richard Biener  <rguenther@suse.de>
6710         PR lto/69393
6711         * testsuite/libgomp.c++/pr69393.C: New testcase.
6713 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
6715         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6716         function wasn't mapped to the device with non-shared memory.
6718 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
6720         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6722 2016-01-19  Martin Jambor  <mjambor@suse.cz>
6723             Martin Liska  <mliska@suse.cz>
6725         * plugin/Makefrag.am: Add HSA plugin requirements.
6726         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6727         (HSA_RUNTIME_LIB): Likewise.
6728         (HSA_RUNTIME_CPPFLAGS): Likewise.
6729         (HSA_RUNTIME_INCLUDE): New substitution.
6730         (HSA_RUNTIME_LIB): Likewise.
6731         (HSA_RUNTIME_LDFLAGS): Likewise.
6732         (hsa-runtime): New configure option.
6733         (hsa-runtime-include): Likewise.
6734         (hsa-runtime-lib): Likewise.
6735         (PLUGIN_HSA): New substitution variable.
6736         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6737         configure options.
6738         (PLUGIN_HSA_CPPFLAGS): Likewise.
6739         (PLUGIN_HSA_LDFLAGS): Likewise.
6740         (PLUGIN_HSA_LIBS): Likewise.
6741         Check that we have access to HSA run-time.
6742         * libgomp-plugin.h (offload_target_type): New element
6743         OFFLOAD_TARGET_TYPE_HSA.
6744         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6745         args.
6746         (bool gomp_create_target_task): Updated.
6747         (gomp_device_descr): Extra parameter of run_func and async_run_func,
6748         new field can_run_func.
6749         * libgomp_g.h (GOMP_target_ext): Update prototype.
6750         * oacc-host.c (host_run): Added a new parameter args.
6751         * target.c (calculate_firstprivate_requirements): New function.
6752         (copy_firstprivate_data): Likewise.
6753         (gomp_target_fallback_firstprivate): Use them.
6754         (gomp_target_unshare_firstprivate): New function.
6755         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6756         devices.
6757         (GOMP_target): Do host fallback for all shared memory devices.  Do not
6758         pass any args to plugins.
6759         (GOMP_target_ext): Introduce device-specific argument parameter args.
6760         Allow host fallback if device shares memory.  Do not remap data if
6761         device has shared memory.
6762         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
6763         like host fallback for mappings.
6764         (GOMP_target_data): Treat shared memory devices like host fallback.
6765         (GOMP_target_data_ext): Likewise.
6766         (GOMP_target_update): Likewise.
6767         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
6768         gomp_create_target_task.
6769         (GOMP_target_enter_exit_data): Likewise.
6770         (omp_target_alloc): Treat shared memory devices like host fallback.
6771         (omp_target_free): Likewise.
6772         (omp_target_is_present): Likewise.
6773         (omp_target_memcpy): Likewise.
6774         (omp_target_memcpy_rect): Likewise.
6775         (omp_target_associate_ptr): Likewise.
6776         (gomp_load_plugin_for_device): Also load can_run.
6777         * task.c (GOMP_PLUGIN_target_task_completion): Free
6778         firstprivate_copies.
6779         (gomp_create_target_task): Accept new argument args and store it to
6780         ttask.
6781         * plugin/plugin-hsa.c: New file.
6783 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6785         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6786         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6787         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6788         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6789         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6790         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6791         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6792         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6793         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6794         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6795         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6796         Same.
6797         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6798         Same.
6799         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6800         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6801         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6802         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6803         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6804         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6805         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6806         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6807         Same.
6808         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6810 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
6812         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6814 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
6816         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6818 2016-01-12  James Norris  <jnorris@codesourcery.com>
6820         * libgomp.texi: Updates for OpenACC.
6822 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
6824         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6826 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
6828         PR fortran/66680
6829         * testsuite/libgomp.fortran/pr66680.f90: New test.
6831 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
6833         PR middle-end/68960
6834         * testsuite/libgomp.c/pr68960.c: New test.
6836 2016-01-06  Nathan Sidwell  <nathan@acm.org>
6838         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6839         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6841 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
6843         Update copyright years.
6845         * libgomp.texi: Bump @copying's copyright year.
6847 2015-12-31  Nathan Sidwell  <nathan@acm.org>
6849         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6850         dg-additional-options syntax.
6851         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6852         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6853         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6854         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6855         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6856         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6857         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6858         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6859         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6860         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6861         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6862         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6863         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6864         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6865         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6866         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6867         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6868         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6870 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
6872         * libgomp.h (REFCOUNT_LINK): Define.
6873         (struct splay_tree_key_s): Add link_key.
6874         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6875         Replace target address of the pointer with target address of newly
6876         mapped object in the splay tree.  Set link pointer on target to the
6877         device address of the mapped object.
6878         (gomp_unmap_vars): Restore target address of the pointer in the splay
6879         tree for REFCOUNT_LINK objects after unmapping.
6880         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6881         declare target link" objects.
6882         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
6883         "omp declare target link" objects, which were mapped for the image.
6884         (gomp_exit_data): Restore target address of the pointer in the splay
6885         tree for REFCOUNT_LINK objects after unmapping.
6886         * testsuite/libgomp.c/target-link-1.c: New file.
6888 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
6890         * libgomp.h (gomp_device_state): New enum.
6891         (struct gomp_device_descr): Replace is_initialized with state.
6892         (gomp_fini_device): Remove declaration.
6893         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6894         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6895         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
6896         (acc_set_device_type): Use state instead of is_initialized.
6897         (acc_set_device_num): Likewise.
6898         * target.c (resolve_device): Use state instead of is_initialized.
6899         Do not initialize finalized device.
6900         (gomp_map_vars): Do nothing if device is finalized.
6901         (gomp_unmap_vars): Likewise.
6902         (gomp_update): Likewise.
6903         (GOMP_offload_register_ver): Use state instead of is_initialized.
6904         (GOMP_offload_unregister_ver): Likewise.
6905         (gomp_init_device): Likewise.
6906         (gomp_unload_device): Likewise.
6907         (gomp_fini_device): Remove.
6908         (gomp_get_target_fn_addr): Do nothing if device is finalized.
6909         (GOMP_target): Go to host fallback if device is finalized.
6910         (GOMP_target_ext): Likewise.
6911         (gomp_exit_data): Do nothing if device is finalized.
6912         (gomp_target_task_fn): Go to host fallback if device is finalized.
6913         (gomp_target_fini): New static function.
6914         (gomp_target_init): Use state instead of is_initialized.
6915         Call gomp_target_fini at exit.
6917 2015-12-09  Tom de Vries  <tom@codesourcery.com>
6919         PR tree-optimization/68716
6920         * testsuite/libgomp.c/omp-nested-2.c: New test.
6922 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
6924         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6925         target openacc_nvidia_accel_selected.
6926         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6927         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6928         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6929         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6931 2015-12-01  Julian Brown  <julian@codesourcery.com>
6932             James Norris  <James_Norris@mentor.com>
6934         * oacc-parallel.c (GOACC_host_data): New function.
6935         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6936         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6937         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6938         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6939         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6940         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6941         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6943 2015-11-30  James Norris  <jnorris@codesourcery.com>
6944             Cesar Philippidis  <cesar@codesourcery.com>
6946         libgomp/
6947         * libgomp.oacc-fortran/routine-5.f90: New test.
6948         * libgomp.oacc-fortran/routine-7.f90: New test.
6949         * libgomp.oacc-fortran/routine-9.f90: New test.
6951 2015-11-30  Tom de Vries  <tom@codesourcery.com>
6953         PR tree-optimization/46032
6954         * testsuite/libgomp.c/pr46032.c: New test.
6956 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
6958         PR libgomp/68579
6959         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6960         (gomp_create_target_task): Call it before freeing
6961         GOMP_TARGET_TASK_DATA tasks.
6963         PR c/63326
6964         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6965         in between case label and OpenMP standalone directives.
6966         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6968 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
6970         * configure: Regenerate.
6972 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
6974         * testsuite/libgomp.c/target-35.c: New test.
6976 2015-11-22  James Norris  <jnorris@codesourcery.com>
6977             Cesar Philippidis  <cesar@codesourcery.com>
6979         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6980         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6981         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6982         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6983         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6985 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
6987         PR middle-end/68221
6988         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6989         * testsuite/libgomp.c/reduction-12.c: Likewise.
6990         * testsuite/libgomp.c++/reduction-11.C: Likewise.
6991         * testsuite/libgomp.c++/reduction-12.C: Likewise.
6993 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
6995         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6996         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6997         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6998         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6999         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7000         and fix.
7001         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7002         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7004 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
7006         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7007         worker & gang cases.
7008         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7010 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
7012         * config/nvptx/priority_queue.c: New file.
7014 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7016         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7017         sections.
7019 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7020             Aldy Hernandez  <aldyh@redhat.com>
7021             Ilya Verbin  <ilya.verbin@intel.com>
7023         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7024         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7025         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7026         iterators or IV by chunk size.
7027         * parallel.c (gomp_resolve_num_threads): Don't assume that
7028         if thr->ts.team is non-NULL, then pool must be non-NULL.
7029         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7030         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7031         GOMP_PLUGIN_target_task_completion.
7032         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7033         * Makefile.in: Regenerate.
7034         * libgomp.h: Shuffle prototypes and forward definitions around so
7035         priority queues can be defined.
7036         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7037         (enum gomp_target_task_state): New enum.
7038         (struct gomp_target_task): Add state, tgt, task and team fields.
7039         (gomp_create_target_task): Change return type to bool, add
7040         state argument.
7041         (gomp_target_task_fn): Change return type to bool.
7042         (struct gomp_device_descr): Add async_run_func.
7043         (struct gomp_task): Remove children, next_child, prev_child,
7044         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7045         Add pnode field.
7046         (struct gomp_taskgroup): Remove children.
7047         Add taskgroup_queue.
7048         (struct gomp_team): Change task_queue type to a priority queue.
7049         (splay_compare): Define inline.
7050         (priority_queue_offset): New.
7051         (priority_node_to_task): New.
7052         (task_to_priority_node): New.
7053         * oacc-mem.c: Do not include splay-tree.h.
7054         * priority_queue.c: New file.
7055         * priority_queue.h: New file.
7056         * splay-tree.c: Do not include splay-tree.h.
7057         (splay_tree_foreach_internal): New.
7058         (splay_tree_foreach): New.
7059         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7060         (splay_tree_callback): Define typedef.
7061         * target.c (splay_compare): Move to libgomp.h.
7062         (GOMP_target): Don't adjust *thr in any way around running offloaded
7063         task.
7064         (GOMP_target_ext): Likewise.  Handle target nowait.
7065         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7066         return value from gomp_create_target_task, if false, fallthrough
7067         as if no dependencies exist.
7068         (gomp_target_task_fn): Change return type to bool, return true
7069         if the task should have another part scheduled later.  Handle
7070         target nowait.
7071         (gomp_load_plugin_for_device): Initialize async_run.
7072         * task.c (gomp_init_task): Initialize children_queue.
7073         (gomp_clear_parent_in_list): New.
7074         (gomp_clear_parent_in_tree): New.
7075         (gomp_clear_parent): Handle priorities.
7076         (GOMP_task): Likewise.
7077         (priority_queue_move_task_first,
7078         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7079         New functions.
7080         (gomp_create_target_task): Use priority queues.  Change return type
7081         to bool, add state argument, return false if for async
7082         {{enter,exit} data,update} constructs no dependencies need to be
7083         waited for, handle target nowait.  Set task->fn to NULL instead of
7084         gomp_target_task_fn.
7085         (verify_children_queue): Remove.
7086         (priority_list_upgrade_task): New.
7087         (priority_queue_upgrade_task): New.
7088         (verify_task_queue): Remove.
7089         (priority_list_downgrade_task): New.
7090         (priority_queue_downgrade_task): New.
7091         (gomp_task_run_pre): Use priority queues.
7092         Abstract code out to priority_queue_downgrade_task.
7093         (gomp_task_run_post_handle_dependers): Use priority queues.
7094         (gomp_task_run_post_remove_parent): Likewise.
7095         (gomp_task_run_post_remove_taskgroup): Likewise.
7096         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
7097         tasks specially.
7098         (GOMP_taskwait): Likewise.
7099         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
7100         priority-queue_upgrade_task.
7101         (GOMP_taskgroup_start): Use priority queues.
7102         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
7103         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
7104         barrier.
7105         * taskloop.c (GOMP_taskloop): Handle priorities.
7106         * team.c (gomp_new_team): Call priority_queue_init.
7107         (free_team): Call priority_queue_free.
7108         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7109         team created for target nowait in implicit parallel region.
7110         (gomp_team_start): For nested check, test thr->ts.level instead of
7111         thr->ts.team != NULL.
7112         * testsuite/libgomp.c/doacross-3.c: New test.
7113         * testsuite/libgomp.c/ordered-5.c: New test.
7114         * testsuite/libgomp.c/priority.c: New test.
7115         * testsuite/libgomp.c/target-31.c: New test.
7116         * testsuite/libgomp.c/target-32.c: New test.
7117         * testsuite/libgomp.c/target-33.c: New test.
7118         * testsuite/libgomp.c/target-34.c: New test.
7120 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7122         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7124         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7125         loop is sequential.
7127 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7129         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7130         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7132 2015-11-12  James Norris  <jnorris@codesourcery.com>
7133             Joseph Myers  <joseph@codesourcery.com>
7135         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7136         * oacc-parallel.c (GOACC_declare): New function.
7137         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7138         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7139         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7140         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7141         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7143 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
7145         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7147 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
7149         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7150         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7152 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7154         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7155         inadvertent commit.
7157 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7159         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7160         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7161         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7162         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7163         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7165 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
7167         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7168         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7170 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
7171             Ilya Verbin  <ilya.verbin@intel.com>
7173         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7174         GOMP_loop_nonmonotonic_dynamic_start,
7175         GOMP_loop_nonmonotonic_guided_next,
7176         GOMP_loop_nonmonotonic_guided_start,
7177         GOMP_loop_ull_nonmonotonic_dynamic_next,
7178         GOMP_loop_ull_nonmonotonic_dynamic_start,
7179         GOMP_loop_ull_nonmonotonic_guided_next,
7180         GOMP_loop_ull_nonmonotonic_guided_start,
7181         GOMP_parallel_loop_nonmonotonic_dynamic,
7182         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7183         (GOMP_target_41): Renamed to ...
7184         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7185         arguments.
7186         (GOMP_target_data_41): Renamed to ...
7187         (GOMP_target_data_ext): ... this.
7188         (GOMP_target_update_41): Renamed to ...
7189         (GOMP_target_update_ext): ... this.
7190         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7191         GOMP_target_data_ext and GOMP_target_update_ext instead of
7192         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7193         Export GOMP_loop_nonmonotonic_dynamic_next,
7194         GOMP_loop_nonmonotonic_dynamic_start,
7195         GOMP_loop_nonmonotonic_guided_next,
7196         GOMP_loop_nonmonotonic_guided_start,
7197         GOMP_loop_ull_nonmonotonic_dynamic_next,
7198         GOMP_loop_ull_nonmonotonic_dynamic_start,
7199         GOMP_loop_ull_nonmonotonic_guided_next,
7200         GOMP_loop_ull_nonmonotonic_guided_start,
7201         GOMP_parallel_loop_nonmonotonic_dynamic and
7202         GOMP_parallel_loop_nonmonotonic_guided.
7203         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7204         GOMP_parallel_loop_nonmonotonic_guided,
7205         GOMP_loop_nonmonotonic_dynamic_start,
7206         GOMP_loop_nonmonotonic_guided_start,
7207         GOMP_loop_nonmonotonic_dynamic_next,
7208         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7209         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7210         GOMP_loop_ull_nonmonotonic_guided_start,
7211         GOMP_loop_ull_nonmonotonic_dynamic_next,
7212         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7213         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7214         functions.
7215         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
7216         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7217         Use gomp_map_val function.
7218         (gomp_target_fallback_firstprivate): New static function.
7219         (GOMP_target_41): Renamed to ...
7220         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7221         arguments.  Move firstprivate fallback handling into a new
7222         function.
7223         (GOMP_target_data_41): Renamed to ...
7224         (GOMP_target_data_ext): ... this.
7225         (GOMP_target_update_41): Renamed to ...
7226         (GOMP_target_update_ext): ... this.
7227         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7228         gomp_map_0len_lookup instead of gomp_map_lookup.
7229         (omp_target_is_present): Use gomp_map_0len_lookup instead of
7230         gomp_map_lookup.
7231         * testsuite/libgomp.c/target-28.c: Likewise.
7232         * testsuite/libgomp.c/monotonic-1.c: New test.
7233         * testsuite/libgomp.c/monotonic-2.c: New test.
7234         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7235         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7236         * testsuite/libgomp.c/pr66199-5.c: New test.
7237         * testsuite/libgomp.c/pr66199-6.c: New test.
7238         * testsuite/libgomp.c/pr66199-7.c: New test.
7239         * testsuite/libgomp.c/pr66199-8.c: New test.
7240         * testsuite/libgomp.c/pr66199-9.c: New test.
7241         * testsuite/libgomp.c/reduction-11.c: New test.
7242         * testsuite/libgomp.c/reduction-12.c: New test.
7243         * testsuite/libgomp.c/reduction-13.c: New test.
7244         * testsuite/libgomp.c/reduction-14.c: New test.
7245         * testsuite/libgomp.c/reduction-15.c: New test.
7246         * testsuite/libgomp.c/target-12.c (main): Adjust for
7247         omp_target_is_present change for one-past-last element.
7248         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7249         the same var is both mapped and privatized.
7250         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7251         handling of zero-length array sections.
7252         * testsuite/libgomp.c/target-28.c: New test.
7253         * testsuite/libgomp.c/target-29.c: New test.
7254         * testsuite/libgomp.c/target-30.c: New test.
7255         * testsuite/libgomp.c/target-teams-1.c: New test.
7256         * testsuite/libgomp.c++/member-6.C: New test.
7257         * testsuite/libgomp.c++/member-7.C: New test.
7258         * testsuite/libgomp.c++/monotonic-1.C: New test.
7259         * testsuite/libgomp.c++/monotonic-2.C: New test.
7260         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7261         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7262         * testsuite/libgomp.c++/pr66199-3.C: New test.
7263         * testsuite/libgomp.c++/pr66199-4.C: New test.
7264         * testsuite/libgomp.c++/pr66199-5.C: New test.
7265         * testsuite/libgomp.c++/pr66199-6.C: New test.
7266         * testsuite/libgomp.c++/pr66199-7.C: New test.
7267         * testsuite/libgomp.c++/pr66199-8.C: New test.
7268         * testsuite/libgomp.c++/pr66199-9.C: New test.
7269         * testsuite/libgomp.c++/reduction-11.C: New test.
7270         * testsuite/libgomp.c++/reduction-12.C: New test.
7271         * testsuite/libgomp.c++/target-13.C: New test.
7272         * testsuite/libgomp.c++/target-14.C: New test.
7273         * testsuite/libgomp.c++/target-15.C: New test.
7274         * testsuite/libgomp.c++/target-16.C: New test.
7275         * testsuite/libgomp.c++/target-17.C: New test.
7276         * testsuite/libgomp.c++/target-18.C: New test.
7277         * testsuite/libgomp.c++/target-19.C: New test.
7279 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7281         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7282         and reduction copy.
7283         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7284         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7285         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7286         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7287         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7288         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7289         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7290         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7291         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7292         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7293         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7294         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7295         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7296         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7298 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7300         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7301         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7302         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7303         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7304         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7305         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7306         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7307         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7309 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
7311         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7312         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7313         (GOMP_OFFLOAD_openacc_parallel): Likewise.
7314         * oacc-host.c (host_openacc_exec): Likewise.
7315         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7317 2015-11-03  Julian Brown  <julian@codesourcery.com>
7318             Thomas Schwinge  <thomas@codesourcery.com>
7320         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7321         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7322         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7323         Likewise.
7324         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7325         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7327 2015-11-03  James Norris  <jnorris@codesourcery.com>
7329         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7330         file.
7331         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7332         Likewise.
7333         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7334         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7335         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7336         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7337         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7339 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
7341         * openacc.h (enum acc_device_t): Reformat. Ensure layout
7342         compatibility.
7343         (enum acc_async_t): Reformat.
7344         (acc_on_device): Declare compatible with builtin and provide C++
7345         wrapper.
7346         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7348 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
7349             Cesar Philippidis  <cesar@codesourcery.com>
7351         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7352         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7353         ... this.  Add a description of the test at the top of the file.
7354         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7355         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7356         ... this.  Add a description of the test at the top of the file.
7358 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
7360         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7361         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7362         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7363         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7364         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7365         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7367 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
7369         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7370         dimensions.
7372 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7374         PR testsuite/68063
7375         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7377 2015-10-27  James Norris  <jnorris@codesourcery.com>
7379         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7380         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7382 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
7384         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7385         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7387         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7388         acc_device_nvidia usage.
7389         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7390         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7391         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7393         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7394         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7396         PR libgomp/66518
7397         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7399         PR libgomp/65437
7400         PR libgomp/66518
7401         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7402         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7404 2015-10-23  Tom de Vries  <tom@codesourcery.com>
7406         PR testsuite/68063
7407         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7409 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
7411         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7412         vector_length.
7413         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7415 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
7416             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
7418         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7419         to 0 when mapnum is 0.
7421 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7423         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7424         Cast to int from int32_t.
7426 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
7427             Aldy Hernandez  <aldyh@redhat.com>
7428             Ilya Verbin  <ilya.verbin@intel.com>
7430         * config/linux/affinity.c (omp_get_place_num_procs,
7431         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7432         * config/linux/doacross.h: New file.
7433         * config/posix/affinity.c (omp_get_place_num_procs,
7434         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7435         * config/posix/doacross.h: New file.
7436         * env.c: Include gomp-constants.h.
7437         (struct gomp_task_icv): Rename run_sched_modifier to
7438         run_sched_chunk_size.
7439         (gomp_max_task_priority_var): New variable.
7440         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7441         (handle_omp_display_env): Change _OPENMP value from 201307 to
7442         201511.  Print OMP_MAX_TASK_PRIORITY.
7443         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7444         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7445         chunk_size and run_sched_modifier to run_sched_chunk_size.
7446         (omp_get_max_task_priority, omp_get_initial_device,
7447         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7448         omp_get_partition_place_nums): New functions.
7449         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7450         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7451         to chunk_size.
7452         (omp_get_num_places_, omp_get_place_num_procs_,
7453         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7454         omp_get_place_proc_ids_8_, omp_get_place_num_,
7455         omp_get_partition_num_places_, omp_get_partition_place_nums_,
7456         omp_get_partition_place_nums_8_, omp_get_initial_device_,
7457         omp_get_max_task_priority_): New functions.
7458         * libgomp_g.h (GOMP_loop_doacross_static_start,
7459         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7460         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7461         GOMP_loop_ull_doacross_dynamic_start,
7462         GOMP_loop_ull_doacross_guided_start,
7463         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7464         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7465         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7466         GOMP_target_data_41, GOMP_target_update_41,
7467         GOMP_target_enter_exit_data): New prototypes.
7468         (GOMP_task): Add prototype argument.
7469         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7470         (struct gomp_doacross_work_share): New type.
7471         (struct gomp_work_share): Add doacross field.
7472         (struct gomp_task_icv): Rename run_sched_modifier to
7473         run_sched_chunk_size.
7474         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7475         GOMP_TASK_UNDEFERRED.  Add comments.
7476         (struct gomp_task_depend_entry): Add comments.
7477         (struct gomp_task): Likewise.
7478         (struct gomp_taskgroup): Likewise.
7479         (struct gomp_target_task): New type.
7480         (struct gomp_team): Add comment.
7481         (gomp_get_place_proc_ids_8, gomp_doacross_init,
7482         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7483         gomp_create_target_task, gomp_target_task_fn): New prototypes.
7484         (struct target_var_desc): New type.
7485         (struct target_mem_desc): Adjust comment.  Use struct
7486         target_var_desc instead of splay_tree_key for list.
7487         (REFCOUNT_INFINITY): Define.
7488         (struct splay_tree_key_s): Remove copy_from field.
7489         (struct gomp_device_descr): Add dev2dev_func field.
7490         (enum gomp_map_vars_kind): New enum.
7491         (gomp_map_vars): Add one argument.
7492         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7493         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7494         omp_get_place_num_procs, omp_get_place_num_procs_,
7495         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7496         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7497         omp_get_place_num_, omp_get_partition_num_places,
7498         omp_get_partition_num_places_, omp_get_partition_place_nums,
7499         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7500         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7501         omp_target_free, omp_target_is_present, omp_target_memcpy,
7502         omp_target_memcpy_rect, omp_target_associate_ptr and
7503         omp_target_disassociate_ptr.
7504         (GOMP_4.0.2): Renamed to ...
7505         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
7506         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7507         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7508         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7509         GOMP_loop_doacross_static_start, GOMP_doacross_post,
7510         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7511         GOMP_loop_ull_doacross_guided_start,
7512         GOMP_loop_ull_doacross_runtime_start,
7513         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7514         GOMP_doacross_ull_wait.
7515         * libgomp.texi: Document omp_get_max_task_priority.
7516         Rename modifier argument to chunk_size for omp_set_schedule and
7517         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
7518         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7519         to run_sched_chunk_size renaming.
7520         (GOMP_loop_ordered_runtime_start): Likewise.
7521         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7522         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7523         GOMP_parallel_loop_runtime_start): New functions.
7524         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7525         to run_sched_chunk_size renaming.
7526         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7527         GOMP_loop_doacross_guided_start): New functions or aliases.
7528         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7529         run_sched_modifier to run_sched_chunk_size renaming.
7530         (GOMP_loop_ull_ordered_runtime_start): Likewise.
7531         (gomp_loop_ull_doacross_static_start,
7532         gomp_loop_ull_doacross_dynamic_start,
7533         gomp_loop_ull_doacross_guided_start,
7534         GOMP_loop_ull_doacross_runtime_start): New functions.
7535         (GOMP_loop_ull_doacross_static_start,
7536         GOMP_loop_ull_doacross_dynamic_start,
7537         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7538         * oacc-mem.c (acc_map_data, present_create_copy,
7539         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7540         to gomp_map_vars.
7541         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7542         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7543         instead of false to gomp_map_vars.
7544         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
7545         * omp.h.in (omp_lock_hint_t): New type.
7546         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7547         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7548         omp_get_place_num, omp_get_partition_num_places,
7549         omp_get_partition_place_nums, omp_get_initial_device,
7550         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7551         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7552         omp_target_associate_ptr, omp_target_disassociate_ptr): New
7553         prototypes.
7554         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7555         (omp_lock_hint_none, omp_lock_hint_uncontended,
7556         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7557         omp_lock_hint_speculative): New parameters.
7558         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7559         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7560         omp_get_place_num, omp_get_partition_num_places,
7561         omp_get_partition_place_nums, omp_get_initial_device,
7562         omp_get_max_task_priority): New interfaces.
7563         (omp_set_schedule, omp_get_schedule): Rename modifier argument
7564         to chunk_size.
7565         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7566         (omp_lock_hint_none, omp_lock_hint_uncontended,
7567         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7568         omp_lock_hint_speculative): New parameters.
7569         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7570         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7571         omp_get_place_num, omp_get_partition_num_places,
7572         omp_get_partition_place_nums, omp_get_initial_device,
7573         omp_get_max_task_priority): New functions and subroutines.
7574         * ordered.c: Include stdarg.h and string.h.
7575         (MAX_COLLAPSED_BITS): Define.
7576         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7577         gomp_doacross_ull_init, GOMP_doacross_ull_post,
7578         GOMP_doacross_ull_wait): New functions.
7579         * target.c: Include errno.h.
7580         (resolve_device): If device is not initialized, call
7581         gomp_init_device on it.
7582         (gomp_map_lookup): New function.
7583         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7584         Don't bump refcount if REFCOUNT_INFINITY.  Handle
7585         GOMP_MAP_ALWAYS_TO_P.
7586         (get_kind): Rename is_openacc argument to short_mapkind.
7587         (gomp_map_pointer): Use gomp_map_lookup.
7588         (gomp_map_fields_existing): New function.
7589         (gomp_map_vars): Rename is_openacc argument to short_mapkind
7590         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
7591         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7592         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7593         Adjust for tgt->list changed type and copy_from living in there.
7594         (gomp_copy_from_async): Adjust for tgt->list changed type and
7595         copy_from living in there.
7596         (gomp_unmap_vars): Likewise.
7597         (gomp_update): Likewise.  Rename is_openacc argument to
7598         short_mapkind.  Don't fail if object is not mapped.
7599         (gomp_load_image_to_device): Initialize refcount to
7600         REFCOUNT_INFINITY.
7601         (gomp_target_fallback): New function.
7602         (gomp_get_target_fn_addr): Likewise.
7603         (GOMP_target): Adjust gomp_map_vars caller, use
7604         gomp_get_target_fn_addr and gomp_target_fallback.
7605         (GOMP_target_41): New function.
7606         (gomp_target_data_fallback): New function.
7607         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7608         (GOMP_target_data_41): New function.
7609         (GOMP_target_update): Adjust gomp_update caller.
7610         (GOMP_target_update_41): New function.
7611         (gomp_exit_data, GOMP_target_enter_exit_data,
7612         gomp_target_task_fn, omp_target_alloc, omp_target_free,
7613         omp_target_is_present, omp_target_memcpy,
7614         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7615         omp_target_associate_ptr, omp_target_disassociate_ptr,
7616         gomp_load_plugin_for_device): New functions.
7617         * task.c: Include gomp-constants.h.  Include taskloop.c
7618         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7619         (gomp_task_handle_depend): New function.
7620         (GOMP_task): Use it.  Add priority argument.  Use
7621         gomp-constant.h constants instead of hardcoded numbers.
7622         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7623         (gomp_create_target_task): New function.
7624         (verify_children_queue, verify_taskgroup_queue,
7625         verify_task_queue): New functions.
7626         (gomp_task_run_pre): Call verify_*_queue functions.
7627         If an upcoming tied task is about to leave the sibling or
7628         taskgroup queues in an invalid state, adjust appropriately.
7629         Remove taskgroup argument.  Add comments.
7630         (gomp_task_run_post_handle_dependers): Add comments.
7631         (gomp_task_run_post_remove_parent): Likewise.
7632         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7633         (GOMP_taskwait): Likewise.  Add comments.
7634         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7635         problem such that the first non parent_depends_on task does not
7636         end up at the end of the children queue.
7637         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7638         GOMP_TASK_UNDEFERRED.
7639         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7640         * taskloop.c: New file.
7641         * testsuite/lib/libgomp.exp
7642         (check_effective_target_offload_device_nonshared_as): New proc.
7643         * testsuite/libgomp.c/affinity-2.c: New test.
7644         * testsuite/libgomp.c/doacross-1.c: New test.
7645         * testsuite/libgomp.c/doacross-2.c: New test.
7646         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7647         Add map clause to target.
7648         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7649         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7650         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7651         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7652         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7653         Likewise.
7654         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7655         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7656         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7657         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7658         not defined.  Use those where needed.
7659         * testsuite/libgomp.c/for-4.c: New test.
7660         * testsuite/libgomp.c/for-5.c: New test.
7661         * testsuite/libgomp.c/for-6.c: New test.
7662         * testsuite/libgomp.c/linear-1.c: New test.
7663         * testsuite/libgomp.c/ordered-4.c: New test.
7664         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7665         only allowed on the loop iterator.
7666         * testsuite/libgomp.c/pr66199-3.c: New test.
7667         * testsuite/libgomp.c/pr66199-4.c: New test.
7668         * testsuite/libgomp.c/reduction-7.c: New test.
7669         * testsuite/libgomp.c/reduction-8.c: New test.
7670         * testsuite/libgomp.c/reduction-9.c: New test.
7671         * testsuite/libgomp.c/reduction-10.c: New test.
7672         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7673         map(tofrom:s).
7674         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7675         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7676         * testsuite/libgomp.c/target-11.c: New test.
7677         * testsuite/libgomp.c/target-12.c: New test.
7678         * testsuite/libgomp.c/target-13.c: New test.
7679         * testsuite/libgomp.c/target-14.c: New test.
7680         * testsuite/libgomp.c/target-15.c: New test.
7681         * testsuite/libgomp.c/target-16.c: New test.
7682         * testsuite/libgomp.c/target-17.c: New test.
7683         * testsuite/libgomp.c/target-18.c: New test.
7684         * testsuite/libgomp.c/target-19.c: New test.
7685         * testsuite/libgomp.c/target-20.c: New test.
7686         * testsuite/libgomp.c/target-21.c: New test.
7687         * testsuite/libgomp.c/target-22.c: New test.
7688         * testsuite/libgomp.c/target-23.c: New test.
7689         * testsuite/libgomp.c/target-24.c: New test.
7690         * testsuite/libgomp.c/target-25.c: New test.
7691         * testsuite/libgomp.c/target-26.c: New test.
7692         * testsuite/libgomp.c/target-27.c: New test.
7693         * testsuite/libgomp.c/taskloop-1.c: New test.
7694         * testsuite/libgomp.c/taskloop-2.c: New test.
7695         * testsuite/libgomp.c/taskloop-3.c: New test.
7696         * testsuite/libgomp.c/taskloop-4.c: New test.
7697         * testsuite/libgomp.c++/ctor-13.C: New test.
7698         * testsuite/libgomp.c++/doacross-1.C: New test.
7699         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7700         Replace offload_device with offload_device_nonshared_as.
7701         * testsuite/libgomp.c++/for-12.C: New test.
7702         * testsuite/libgomp.c++/for-13.C: New test.
7703         * testsuite/libgomp.c++/for-14.C: New test.
7704         * testsuite/libgomp.c++/linear-1.C: New test.
7705         * testsuite/libgomp.c++/member-1.C: New test.
7706         * testsuite/libgomp.c++/member-2.C: New test.
7707         * testsuite/libgomp.c++/member-3.C: New test.
7708         * testsuite/libgomp.c++/member-4.C: New test.
7709         * testsuite/libgomp.c++/member-5.C: New test.
7710         * testsuite/libgomp.c++/ordered-1.C: New test.
7711         * testsuite/libgomp.c++/reduction-5.C: New test.
7712         * testsuite/libgomp.c++/reduction-6.C: New test.
7713         * testsuite/libgomp.c++/reduction-7.C: New test.
7714         * testsuite/libgomp.c++/reduction-8.C: New test.
7715         * testsuite/libgomp.c++/reduction-9.C: New test.
7716         * testsuite/libgomp.c++/reduction-10.C: New test.
7717         * testsuite/libgomp.c++/reference-1.C: New test.
7718         * testsuite/libgomp.c++/simd14.C: New test.
7719         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7720         * testsuite/libgomp.c++/target-5.C: New test.
7721         * testsuite/libgomp.c++/target-6.C: New test.
7722         * testsuite/libgomp.c++/target-7.C: New test.
7723         * testsuite/libgomp.c++/target-8.C: New test.
7724         * testsuite/libgomp.c++/target-9.C: New test.
7725         * testsuite/libgomp.c++/target-10.C: New test.
7726         * testsuite/libgomp.c++/target-11.C: New test.
7727         * testsuite/libgomp.c++/target-12.C: New test.
7728         * testsuite/libgomp.c++/taskloop-1.C: New test.
7729         * testsuite/libgomp.c++/taskloop-2.C: New test.
7730         * testsuite/libgomp.c++/taskloop-3.C: New test.
7731         * testsuite/libgomp.c++/taskloop-4.C: New test.
7732         * testsuite/libgomp.c++/taskloop-5.C: New test.
7733         * testsuite/libgomp.c++/taskloop-6.C: New test.
7734         * testsuite/libgomp.c++/taskloop-7.C: New test.
7735         * testsuite/libgomp.c++/taskloop-8.C: New test.
7736         * testsuite/libgomp.c++/taskloop-9.C: New test.
7737         * testsuite/libgomp.fortran/affinity1.f90: New test.
7738         * testsuite/libgomp.fortran/affinity2.f90: New test.
7740 2015-10-13  Tom de Vries  <tom@codesourcery.com>
7742         PR tree-optimization/67476
7743         * testsuite/libgomp.c/autopar-3.c: New test.
7744         * testsuite/libgomp.c/autopar-4.c: New test.
7745         * testsuite/libgomp.c/autopar-5.c: New test.
7746         * testsuite/libgomp.c/autopar-6.c: New test.
7747         * testsuite/libgomp.c/autopar-7.c: New test.
7748         * testsuite/libgomp.c/autopar-8.c: New test.
7750 2015-10-12  James Norris  <jnorris@codesourcery.com>
7752         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7753         initializer.
7755 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
7757         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7758         using load_gcc_lib.
7760 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
7762         * oacc-ptx.h: Remove file, moving its content into...
7763         * config/nvptx/fortran.c: ... here...
7764         * config/nvptx/oacc-init.c: ..., here...
7765         * config/nvptx/oacc-parallel.c: ..., and here.
7766         * config/nvptx/openacc.f90: New file.
7767         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7768         (link_ptx): Don't link in predefined bits of PTX code.
7770 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
7771             Bernd Schmidt <bernds@codesourcery.com>
7773         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7774         (struct targ_ptx_obj): New.
7775         (nvptx_tdata): Move earlier, change data format.
7776         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
7777         objects.
7778         (GOMP_OFFLOAD_load_image): Adjust.
7780 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
7782         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7783         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7784         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7785         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7786         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7787         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7788         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7789         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7790         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7791         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7792         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7793         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7794         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7795         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7796         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7797         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7798         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7799         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7800         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7801         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7802         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7803         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7804         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7805         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7806         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7807         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7808         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7809         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7810         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7811         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7812         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7813         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7814         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7815         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7816         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7817         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7818         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7819         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7820         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7821         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7822         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7823         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7824         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7825         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7826         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7827         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7828         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7829         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7830         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7831         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7832         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7833         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7834         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7835         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7836         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7837         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7838         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7839         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7840         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7841         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7842         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7843         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7844         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7846 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7848         * oacc-init.c (acc_on_device): Force optimization level.
7850 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7852         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7853         (cuda_errlist): Delete.
7854         (cuda_error): Reimplement.
7856 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
7858         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7859         array.
7860         * libgomp.map (GOACC_parallel_keyed): New.
7861         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
7862         all callers.
7863         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
7864         and take keyed varargs list.  Adjust call to exec_func.
7865         (GOACC_parallel): Force host fallback.
7866         * libgomp_g.h (GOACC_parallel): Remove.
7867         (GOACC_parallel_keyed): Declare.
7868         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7869         (struct targ_gn_descriptor): Replace name field with launch field.
7870         (nvptx_exec): Lose separate geometry args, take array.  Process
7871         dynamic dimensions and adjust.
7872         (struct nvptx_tdata): Replace fn_names field with fn_descs.
7873         (GOMP_OFFLOAD_load_image): Adjust for change in function table
7874         data.
7875         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7876         passing.
7877         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7878         passing.
7880 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
7882         PR libgomp/67141
7883         * oacc-int.h (goacc_host_init): Add declaration.
7884         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7885         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7887 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
7888             Sebastian Pop  <s.pop@samsung.com>
7890         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7891         match o/p.
7892         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7893         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7894         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7895         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7896         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7898 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
7900         * configure.tgt: Add missing ;; in between nvptx and rtems
7901         snippets.
7903 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7905         * config/posix/pool.h (gomp_adjust_thread_attr): New.
7906         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7907         (gomp_thread_pool_reservoir): Add priority member.
7908         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7909         priority.
7910         (parse_thread_pools): Likewise.
7911         * team.c (gomp_team_start): Call configuration provided
7912         gomp_adjust_thread_attr(). Destroy thread attributes if
7913         necessary.
7914         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7916 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7918         * config/posix/pool.h: New.
7919         * config/rtems/pool.h: Likewise.
7920         * config/rtems/proc.c: Likewise.
7921         * libgomp.h (gomp_thread_destructor): Declare.
7922         * team.c: Include configuration provided "pool.h".
7923         (gomp_get_thread_pool): Define in configuration.
7924         (gomp_team_end): Call configuration defined
7925         gomp_release_thread_pool().
7927 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7929         * config/rtems/bar.c: New.
7930         * config/rtems/bar.h: Likewise.
7931         * config/rtems/mutex.c: Likewise.
7932         * config/rtems/mutex.h: Likewise.
7933         * config/rtems/sem.c: Likewise.
7934         * config/rtems/sem.h: Likewise.
7935         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7936         <sys/lock.h> header file.
7937         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7938         supported by Newlib.
7939         * configure: Regenerate.
7941 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7943         * team.c (gomp_new_thread_pool): Delete and move content to ...
7944         (gomp_get_thread_pool): ... new function.  Allocate and
7945         initialize thread pool on demand.
7946         (get_last_team): Use gomp_get_thread_pool().
7947         (gomp_team_start): Delete thread pool initialization.
7949 2015-09-03  Tom de Vries  <tom@codesourcery.com>
7951         PR tree-optimization/65637
7952         * testsuite/libgomp.c/autopar-2.c: New test.
7954 2015-08-29  Tom de Vries  <tom@codesourcery.com>
7956         PR tree-optimization/46193
7957         * testsuite/libgomp.c/pr46193.c: New test.
7959 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
7961         libgomp/
7962         * libgomp.map: Add 4.0.2 version.
7963         * target.c (offload_image_descr): Add version field.
7964         (gomp_load_image_to_device): Add version argument.  Adjust plugin
7965         call.  Improve load mismatch diagnostic.
7966         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
7967         call.
7968         (GOMP_offload_regster): Make stub function, move bulk to ...
7969         (GOMP_offload_register_ver): ... here.  Process version argument.
7970         (GOMP_offload_unregister): Make stub function, move bulk to ...
7971         (GOMP_offload_unregister_ver): ... here.  Process version argument.
7972         (gomp_init_device): Process version field.
7973         (gomp_unload_device): Process version field.
7974         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7975         macros.  Check plugin version.
7976         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
7977         loader and unloader types.
7978         * oacc-host.c: Include gomp-constants.h.
7979         (host_version): New.
7980         (host_load_image, host_unload_image): Adjust.
7981         (host_dispatch): Add host_version.
7982         * plugin/plugin-nvptx.c: Include gomp-constants.h.
7983         (GOMP_OFFLOAD_version): New.
7984         (GOMP_OFFLOAD_load_image): Add version arg and check it.
7985         (GOMP_OFFLOAD_unload_image): Likewise.
7986         * plugin/plugin-host.c: Include gomp-constants.h.
7987         (GOMP_OFFLOAD_version): New.
7988         (GOMP_OFFLOAD_load_image): Add version arg.
7989         (GOMP_OFFLOAD_unload_image): Likewise.
7991 2015-08-24  Tom de Vries  <tom@codesourcery.com>
7993         PR tree-optimization/65468
7994         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7996 2015-08-24  Tom de Vries  <tom@codesourcery.com>
7998         PR tree-optimization/65468
7999         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8001 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
8003         PR libgomp/66761
8004         PR libgomp/67303
8005         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8006         (gomp_iter_guided_next): Idem.
8007         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8008         (gomp_iter_ull_guided_next): Idem.
8009         * config/linux/wait.h (do_spin): Idem.
8011 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8013         * libgomp-plugin.h (enum offload_target_type): Remove
8014         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8015         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8016         * openacc.h (enum acc_device_t): Likewise.
8017         * openacc_lib.h: Likewise.
8018         * oacc-init.c (name_of_acc_device_t): Don't handle it.
8019         (acc_on_device): Just use __builtin_acc_on_device.
8020         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8021         of acc_on_device builtin.
8022         * plugin/plugin-host.h: Remove file.
8023         * plugin/plugin-host.c: Likewise, but salvage some content into...
8024         * oacc-host.c: ... this file.
8025         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8026         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8027         * Makefile.in: Regenerate.
8028         * configure: Likewise.
8029         * testsuite/lib/libgomp.exp
8030         (check_effective_target_openacc_host_nonshm_selected): Remove.
8031         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8032         ACC_DEVICE_TYPE=host_nonshm.
8033         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8034         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8035         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8036         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8037         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8038         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8040 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8041             Jakub Jelinek  <jakub@redhat.com>
8043         * config/nvptx/affinity.c: New file.
8044         * config/nvptx/alloc.c: Likewise.
8045         * config/nvptx/bar.c: Likewise.
8046         * config/nvptx/barrier.c: Likewise.
8047         * config/nvptx/critical.c: Likewise.
8048         * config/nvptx/env.c: Likewise.
8049         * config/nvptx/error.c: Likewise.
8050         * config/nvptx/fortran.c: Likewise.
8051         * config/nvptx/iter.c: Likewise.
8052         * config/nvptx/iter_ull.c: Likewise.
8053         * config/nvptx/libgomp-plugin.c: Likewise.
8054         * config/nvptx/lock.c: Likewise.
8055         * config/nvptx/loop.c: Likewise.
8056         * config/nvptx/loop_ull.c: Likewise.
8057         * config/nvptx/mutex.c: Likewise.
8058         * config/nvptx/oacc-async.c: Likewise.
8059         * config/nvptx/oacc-cuda.c: Likewise.
8060         * config/nvptx/oacc-host.c: Likewise.
8061         * config/nvptx/oacc-init.c: Likewise.
8062         * config/nvptx/oacc-mem.c: Likewise.
8063         * config/nvptx/oacc-parallel.c: Likewise.
8064         * config/nvptx/oacc-plugin.c: Likewise.
8065         * config/nvptx/omp-lock.h: Likewise.
8066         * config/nvptx/ordered.c: Likewise.
8067         * config/nvptx/parallel.c: Likewise.
8068         * config/nvptx/proc.c: Likewise.
8069         * config/nvptx/ptrlock.c: Likewise.
8070         * config/nvptx/sections.c: Likewise.
8071         * config/nvptx/sem.c: Likewise.
8072         * config/nvptx/single.c: Likewise.
8073         * config/nvptx/splay-tree.c: Likewise.
8074         * config/nvptx/target.c: Likewise.
8075         * config/nvptx/task.c: Likewise.
8076         * config/nvptx/team.c: Likewise.
8077         * config/nvptx/time.c: Likewise.
8078         * config/nvptx/work.c: Likewise.
8079         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8080         * configure: Regenerate.
8081         * configure.tgt (config_path): Set to "nvptx" for target
8082         nvptx*-*-*.
8084 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8086         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8088 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
8090         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8091         (cuda_errlist): Constify.
8092         (errmsg):  Move into ...
8093         (cuda_error): ... here.  Make smaller.
8094         (_XSTR, _STR): Delete.
8095         (cuda_synames): Delete.
8096         (verify_device_library): Delete.
8097         (nvptx_init): Don't call it.
8099 2015-07-28  Tom de Vries  <tom@codesourcery.com>
8101         * testsuite/libgomp.c/uns-outer-4.c: New test.
8103 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
8105         * testsuite/libgomp.c/pr66714.c: New test.
8107 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8109         PR libgomp/66950
8110         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8111         (fib_ref): New function.
8112         (fib): Correct corner cases in the recursion.
8113         (main): Replace the non-simd loop with fib_ref call.
8114         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8115         subroutine.
8116         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
8117         for the last array element value.  Replace the non-simd loop with
8118         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
8119         of the last array element with according Fibonacci sequence element.
8120         (fib): Correct corner cases in the recursion.
8122 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
8124         * target.c (gomp_offload_image_to_device): Rename to ...
8125         (gomp_load_image_to_device): ... here.
8126         (GOMP_offload_register): Adjust call.
8127         (gomp_init_device): Likewise.
8128         (gomp_unload_image_from_device): New.  Broken out of ...
8129         (GOMP_offload_unregister): ... here.  Call it.
8130         (gomp_unload_device): New.
8131         * libgomp.h (gomp_unload_device): Declare.
8132         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8133         mem maps.
8135 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
8137         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8138         wait=-specific if.
8139         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8140         !=0 condition.
8141         (goacc_waits): Move !num_waits handling to ...
8142         (GOACC_wait): ... here, the only caller that might have zero waits.
8144         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8145         (struct ptx_image_data): Move earlier, add fns field.
8146         (struct ptx_device): Add images and image_lock fields.
8147         (ptx_images, ptx_image_lock): Delete.
8148         (nvptx_open_device): Initialize images and image_lock fields.
8149         (nvptx_close_device): Destroy image_lock.
8150         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8151         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8152         fields.
8154 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
8156         * target.c (GOMP_offload_register): Use int for device type arg.
8157         (GOMP_offload_unregister): Likewise.
8159         * target.c (struct_offload_image_descr): Constify host_table.
8160         (gomp_offload_image_to_device): Likewise.
8161         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8163         * libgomp.h (gomp_device_descr): Constify target data arguments.
8164         * target.c (struct offload_image_descr): Constify target_data.
8165         (gomp_offload_image_to_device): Likewise.
8166         (GOMP_offload_register): Likewise.
8167         (GOMP_offload_unregister): Likewise.
8168         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8169         GOMP_OFFLOAD_unload_image): Constify target data.
8170         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8171         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8173 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
8175         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8176         Workaround driver library const error.
8177         (struct nvptx_tdata, nvptx_tdata_t): New.
8178         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8179         type.
8181 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8183         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8184         of EPS parameter from integer to real.
8185         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8186         type of EPS parameter from integer to real.
8188 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8190         * team.c (get_last_team): New.
8191         (gomp_new_team): Recycle last non-nested team if possible.
8192         (gomp_team_end): Move team work share list free lock destruction
8193         to ...
8194         (free_team): ... here.
8196 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8198         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8199         and ref from int to double.  Replaced their comparison with
8200         an inequality of their difference and EPS.
8201         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8202         comparison of pri and a reference number with an inequality of their
8203         difference and EPS.
8204         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8205         the comparison of sum and sum_ref with an inequality of their
8206         difference and EPS.
8207         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8208         the comparison of pri and a reference number with an inequality of
8209         their difference and EPS.
8211 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8213         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8214         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8215         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8216         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8217         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8218         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8219         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8220         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8221         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8222         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8223         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8224         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8225         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8226         variables.
8227         (vec_mult): Likewise.  Add #pragma omp taskwait.
8228         (main): Adjust caller.
8229         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8230         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8231         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8232         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8233         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8234         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8235         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8236         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8237         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8238         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8239         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8240         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8241         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8242         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8243         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8244         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8245         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8246         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8247         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8248         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8249         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8250         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8251         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8252         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8253         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8254         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8255         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8256         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8257         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8258         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8259         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8260         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8261         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8262         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8263         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8264         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8265         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8266         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8267         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8268         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8269         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8270         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8271         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8272         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8273         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8274         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8275         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8276         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8277         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8278         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8279         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8280         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8281         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8282         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8283         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8284         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8285         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8286         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8287         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8288         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8289         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8290         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8291         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8292         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8293         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8294         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8295         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8296         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8297         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8298         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8299         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8300         (vec_mult): Add !$omp taskwait.
8301         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8302         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8303         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8304         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8305         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8306         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8307         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8308         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8309         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8310         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8311         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8312         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8313         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8314         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8315         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8316         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8317         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8318         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8319         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8320         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8321         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8322         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8323         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8324         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8325         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8326         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8327         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8328         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8329         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8330         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8331         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8332         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8333         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8334         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8335         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8336         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8337         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8338         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8339         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8340         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8341         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8342         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8343         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8344         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8345         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8346         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8347         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8348         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8349         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8350         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8351         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8352         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8353         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8354         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8355         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8356         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8357         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8358         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8359         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8360         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8361         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8362         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8363         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8364         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8365         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8366         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8367         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8369 2015-07-10  Tom de Vries  <tom@codesourcery.com>
8371         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8372         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8374 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
8376         PR libgomp/65099
8377         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8378         in a 64-bit configuration.
8379         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8380         offloading testing if no such device is available.
8381         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8382         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8384 2015-07-08  Tom de Vries  <tom@codesourcery.com>
8386         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8387         second call to f.
8388         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8390 2015-07-07  Tom de Vries  <tom@codesourcery.com>
8392         PR tree-optimization/66642
8393         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8394         iteration count case.
8395         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8396         function, factor out of ...
8397         (main): ... here.  Test low iteration count case.
8399 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8401         * libgomp.h (gomp_thread_pool): Comment last_team field.
8403 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
8405         * testsuite/libgomp.c++/pr66702-1.C: Require
8406         vect_simd_clones effective target.
8407         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8409 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8411         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8412         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8413         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8414         "-O2".
8416 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8418         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8419         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8420         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8421         * testsuite/libgomp.c++/pr64824.C: Same.
8422         * testsuite/libgomp.c++/pr64868.C: Same.
8423         * testsuite/libgomp.c++/pr66199-1.C: Same.
8424         * testsuite/libgomp.c++/pr66199-2.C: Same.
8425         * testsuite/libgomp.c++/target-2.C: Same.
8426         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8427         -std=<standard> option.
8428         * testsuite/libgomp.c++/udr-11.C: Same.
8429         * testsuite/libgomp.c++/udr-12.C: Same.
8430         * testsuite/libgomp.c++/udr-13.C: Same.
8431         * testsuite/libgomp.c++/udr-14.C: Same.
8432         * testsuite/libgomp.c++/udr-15.C: Same.
8433         * testsuite/libgomp.c++/udr-16.C: Same.
8434         * testsuite/libgomp.c++/udr-17.C: Same.
8435         * testsuite/libgomp.c++/udr-18.C: Same.
8436         * testsuite/libgomp.c++/udr-19.C: Same.
8437         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8438         * testsuite/libgomp.c++/simd-1.C: Same.
8439         * testsuite/libgomp.c++/simd-2.C: Same.
8440         * testsuite/libgomp.c++/simd-3.C: Same.
8441         * testsuite/libgomp.c++/simd-4.C: Same.
8442         * testsuite/libgomp.c++/simd-5.C: Same.
8443         * testsuite/libgomp.c++/simd-6.C: Same.
8444         * testsuite/libgomp.c++/simd-7.C: Same.
8445         * testsuite/libgomp.c++/simd-8.C: Same.
8446         * testsuite/libgomp.c++/simd-9.C: Same.
8447         * testsuite/libgomp.c++/simd10.C: Same.
8448         * testsuite/libgomp.c++/simd11.C: Same.
8449         * testsuite/libgomp.c++/simd12.C: Same.
8450         * testsuite/libgomp.c++/simd13.C: Same.
8452 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
8454         PR middle-end/66702
8455         * testsuite/libgomp.c++/pr66702-1.C: New test.
8456         * testsuite/libgomp.c++/pr66702-2.C: New test.
8458 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8460         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8461         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8462         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8463         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8465 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8467         PR tree-optimization/66652
8468         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8469         using restrict pointers.
8470         (main): Add arguments to calls to f.
8471         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8473 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
8475         * configure.ac: Fix check for header <sys/sysctl.h>.
8476         * configure: Regenerate.
8477         * config.h.in: Likewise.
8479 2015-06-23  Tom de Vries  <tom@codesourcery.com>
8481         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8482         abort.
8483         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8485 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
8487         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8488         acc_device_nvidia.
8490         PR libgomp/66518
8491         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8492         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8494 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8496         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
8497         dg-additional-options for any remaining options.
8498         * testsuite/libgomp.c/atomic-2.c: Same.
8499         * testsuite/libgomp.c/atomic-4.c: Same.
8500         * testsuite/libgomp.c/atomic-5.c: Same.
8501         * testsuite/libgomp.c/atomic-6.c: Same.
8502         * testsuite/libgomp.c/autopar-1.c: Same.
8503         * testsuite/libgomp.c/copyin-1.c: Same.
8504         * testsuite/libgomp.c/copyin-2.c: Same.
8505         * testsuite/libgomp.c/copyin-3.c: Same.
8506         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8507         * testsuite/libgomp.c/nestedfn-5.c: Same.
8508         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8509         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8510         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8511         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8512         * testsuite/libgomp.c/pr32362-1.c: Same.
8513         * testsuite/libgomp.c/pr32362-2.c: Same.
8514         * testsuite/libgomp.c/pr32362-3.c: Same.
8515         * testsuite/libgomp.c/pr39591-1.c: Same.
8516         * testsuite/libgomp.c/pr39591-2.c: Same.
8517         * testsuite/libgomp.c/pr39591-3.c: Same.
8518         * testsuite/libgomp.c/pr58392.c: Same.
8519         * testsuite/libgomp.c/pr58756.c: Same.
8520         * testsuite/libgomp.c/simd-1.c: Same.
8521         * testsuite/libgomp.c/simd-10.c: Same.
8522         * testsuite/libgomp.c/simd-11.c: Same.
8523         * testsuite/libgomp.c/simd-12.c: Same.
8524         * testsuite/libgomp.c/simd-13.c: Same.
8525         * testsuite/libgomp.c/simd-14.c: Same.
8526         * testsuite/libgomp.c/simd-15.c: Same.
8527         * testsuite/libgomp.c/simd-2.c: Same.
8528         * testsuite/libgomp.c/simd-3.c: Same.
8529         * testsuite/libgomp.c/simd-4.c: Same.
8530         * testsuite/libgomp.c/simd-5.c: Same.
8531         * testsuite/libgomp.c/simd-6.c: Same.
8532         * testsuite/libgomp.c/simd-7.c: Same.
8533         * testsuite/libgomp.c/simd-8.c: Same.
8534         * testsuite/libgomp.c/simd-9.c: Same.
8536 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8538         * testsuite/libgomp.c/pr35625.c: Fix typo.
8540 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8542         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8543         in dg-options.
8544         * testsuite/libgomp.c/atomic-3.c: Same.
8545         * testsuite/libgomp.c/debug-1.c: Same.
8546         * testsuite/libgomp.c/nqueens-1.c: Same.
8547         * testsuite/libgomp.c/pr26171.c: Same.
8548         * testsuite/libgomp.c/pr48591.c: Same.
8549         * testsuite/libgomp.c/pr64824.c: Same.
8550         * testsuite/libgomp.c/pr64868.c: Same.
8551         * testsuite/libgomp.c/pr66133.c: Same.
8552         * testsuite/libgomp.c/pr66199-1.c: Same.
8553         * testsuite/libgomp.c/pr66199-2.c: Same.
8554         * testsuite/libgomp.c/target-8.c: Same.
8556 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8558         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8559         -std={gnu99,c99}.
8560         * testsuite/libgomp.c/for-1.c: Same.
8561         * testsuite/libgomp.c/for-2.c: Same.
8562         * testsuite/libgomp.c/for-3.c: Same.
8563         * testsuite/libgomp.c/pr35625.c: Same.
8564         * testsuite/libgomp.c/pr39154.c: Same.
8565         * testsuite/libgomp.c/simd-16.c: Same.
8566         * testsuite/libgomp.c/simd-17.c: Same.
8568 2015-06-13  Tom de Vries  <tom@codesourcery.com>
8570         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8572 2015-06-13  Tom de Vries  <tom@codesourcery.com>
8574         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8575         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8576         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8577         (N): Define.
8578         (main): Use N instead of hardcoded constants.
8580 2015-06-05  Tom de Vries  <tom@codesourcery.com>
8582         merge from gomp4 branch:
8583         2015-05-28  Tom de Vries  <tom@codesourcery.com>
8585         PR tree-optimization/65443
8586         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8587         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8588         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8590 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8592         * testsuite/libgomp.graphite/bounds.c: Adjust for
8593         cleanup-tree-dump removal.
8594         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8595         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8596         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8597         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8598         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8599         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8600         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8601         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8602         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8603         * testsuite/libgomp.graphite/pr41118.c: Likewise.
8605 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
8607         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8608         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8609         (futex_wake) [!__x86_64__]: Ditto.
8611 2015-05-28  Julian Brown  <julian@codesourcery.com>
8613         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8614         function comment. Only call gomp_fatal if new argument is true.
8615         (acc_dev_num_out_of_range): New function.
8616         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8617         acc_dev_num_out_of_range as appropriate.
8618         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8619         (acc_get_device_num, acc_set_device_num): Update calls to
8620         resolve_device.
8621         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8622         output.
8624 2015-05-28  Julian Brown  <julian@codesourcery.com>
8626         PR libgomp/65742
8627         * oacc-init.c (plugin/plugin-host.h): Include.
8628         (acc_on_device): Check whether we're in an offloaded region for
8629         host_nonshm
8630         plugin. Don't use __builtin_acc_on_device.
8631         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8632         nonshm_exec flag in thread-local data.
8633         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8634         data for host_nonshm plugin.
8635         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8636         for host_nonshm plugin.
8637         * plugin/plugin-host.h: New.
8639 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8641         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8643 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8645         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8646         Declare as int.
8647         (FUTEX_PRIVATE_FLAG): Remove L suffix.
8648         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8649         Declare as int.
8651 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8653         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
8655 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
8657         * target.c (gomp_map_pointer): New function abstracting out
8658         GOMP_MAP_POINTER handling.
8659         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8660         gomp_map_pointer().
8662 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
8664         PR middle-end/66199
8665         * testsuite/libgomp.c/pr66199-1.c: New test.
8666         * testsuite/libgomp.c/pr66199-2.c: New test.
8667         * testsuite/libgomp.c++/pr66199-1.C: New test.
8668         * testsuite/libgomp.c++/pr66199-2.C: New test.
8669         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8670         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8672 2015-05-19  Julian Brown  <julian@codesourcery.com>
8674         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8675         on cuInit failure.
8677 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
8679         PR middle-end/66133
8680         * testsuite/libgomp.c/pr66133.c: New test.
8682 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
8684         * Makefile.in: Regenerated with automake-1.11.6.
8685         * aclocal.m4: Likewise.
8686         * config.h.in: Likewise.
8687         * configure: Likewise.
8688         * testsuite/Makefile.in: Likewise.
8690 2015-05-08  Jason Merrill  <jason@redhat.com>
8692         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8693         _Complex.
8695         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8697 2015-05-06  Julian Brown  <julian@codesourcery.com>
8699         * oacc-init.c (acc_device_lock): Add explanatory comment.
8700         (resolve_device): Add comment about locking requirement.
8701         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8702         gomp_init_device and gomp_fini_device calls.
8703         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8704         (acc_get_device_num, acc_set_device_num): Add locking around
8705         resolve_device and gomp_init_device calls.
8707 2015-05-06  Julian Brown  <julian@codesourcery.com>
8709         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8710         goacc_thread_lock on error paths.
8711         * oacc-mem.c (lookup_host): Remove locking from function. Note
8712         locking requirement for caller in function comment.
8713         (lookup_dev): Likewise.
8714         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8715         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8716         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8717         Add locking.
8719 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
8721         PR testsuite/65205
8722         PR libgomp/65993
8723         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8724         don't expect "0x" prefix for "%p" format specifier, don't expect
8725         "(nil)" for NULL pointer.
8726         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8727         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8728         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8729         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8730         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8731         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8732         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8733         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8734         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8735         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8736         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8737         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8738         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8739         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8740         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8741         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8742         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8743         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8744         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8745         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8746         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8747         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8748         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8749         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8750         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8751         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8752         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8753         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8754         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8755         accurately specify what we're looking for.
8756         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8757         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8758         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8759         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8760         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8762 2015-04-30  James Norris  <jnorris@codesourcery.com>
8764         PR testsuite/65205
8765         * testsuite/lib/libgomp.exp
8766         (check_effective_target_openacc_host_selected)
8767         (check_effective_target_openacc_host_nonshm_selected): New
8768         procedures.
8769         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8770         dg-shouldfail.
8771         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8772         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8773         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8774         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8775         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8776         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8777         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8778         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8779         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8780         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8781         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8782         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8783         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8784         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8785         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8786         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8787         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8788         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8789         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8790         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8791         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8792         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8793         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8794         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8795         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8796         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8797         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8798         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8799         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8800         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8801         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8802         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8803         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8804         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8805         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8806         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8807         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8808         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8809         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8810         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8811         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8812         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8813         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8815 2015-04-08  Julian Brown  <julian@codesourcery.com>
8817         * libgomp.h (target_mem_desc: Remove mem_map field.
8818         (acc_dispatch_t): Remove open_device_func, close_device_func,
8819         get_device_num_func, set_device_num_func, target_data members.
8820         Change create_thread_data_func argument to device number instead of
8821         generic pointer.
8822         * oacc-async.c (assert.h): Include.
8823         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8824         (acc_wait_all, acc_wait_all_async): Use current host thread's
8825         active device, not base_dev.
8826         * oacc-cuda.c (acc_get_current_cuda_device)
8827         (acc_get_current_cuda_context, acc_get_cuda_stream)
8828         (acc_set_cuda_stream): Likewise.
8829         * oacc-host.c (host_dispatch): Don't set open_device_func,
8830         close_device_func, get_device_num_func or set_device_num_func.
8831         * oacc-init.c (base_dev, init_key): Remove.
8832         (cached_base_dev): New.
8833         (name_of_acc_device_t): New.
8834         (acc_init_1): Initialise default-numbered device, not zeroth.
8835         (acc_shutdown_1): Close all devices of a given type.
8836         (goacc_destroy_thread): Don't use base_dev.
8837         (lazy_open, lazy_init, lazy_init_and_open): Remove.
8838         (goacc_attach_host_thread_to_device): New.
8839         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8840         (acc_get_num_devices): Don't use base_dev.
8841         (acc_set_device_type): Reimplement.
8842         (acc_get_device_type): Don't use base_dev.
8843         (acc_get_device_num): Tweak logic.
8844         (acc_set_device_num): Likewise.
8845         (acc_on_device): Use acc_get_device_type.
8846         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8847         (goacc_lazy_initialize): Reimplement with acc_init and
8848         goacc_attach_host_thread_to_device.
8849         * oacc-int.h (goacc_thread): Add base_dev field.
8850         (base_dev): Remove extern declaration.
8851         (goacc_attach_host_thread_to_device): Add prototype.
8852         * oacc-mem.c (acc_malloc): Use current thread's device instead of
8853         base_dev.
8854         (acc_free): Likewise.
8855         (acc_memcpy_to_device): Likewise.
8856         (acc_memcpy_from_device): Likewise.
8857         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8858         goacc_lazy_initialize (throughout).
8859         (GOACC_parallel): Use tgt_offset to locate target functions.
8860         * target.c (gomp_map_vars): Don't set tgt->mem_map.
8861         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8862         (gomp_load_plugin_for_device): Remove open_device, close_device,
8863         get_device_num, set_device_num openacc hook initialisation. Don't set
8864         openacc.target_data.
8865         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8866         (GOMP_OFFLOAD_openacc_close_device)
8867         (GOMP_OFFLOAD_openacc_get_device_num)
8868         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8869         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8870         to int.
8871         * plugin/plugin-nvptx.c (ptx_inited): Remove.
8872         (instantiated_devices, ptx_dev_lock): New.
8873         (struct ptx_image_data): New.
8874         (ptx_devices, ptx_images, ptx_image_lock): New.
8875         (fini_streams_for_device): Reorder cuStreamDestroy call.
8876         (nvptx_get_num_devices): Remove forward declaration.
8877         (nvptx_init): Change return type to bool.
8878         (nvptx_fini): Remove.
8879         (nvptx_attach_host_thread_to_device): New.
8880         (nvptx_open_device): Return struct ptx_device* instead of void*.
8881         (nvptx_close_device): Change argument type to struct ptx_device*,
8882         return type to void.
8883         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8884         (kernel_target_data, kernel_host_table): Remove static globals.
8885         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8886         (GOMP_OFFLOAD_init_device): Reimplement.
8887         (GOMP_OFFLOAD_fini_device): Likewise.
8888         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8889         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8890         (GOMP_OFFLOAD_host2dev): Use ORD argument.
8891         (GOMP_OFFLOAD_openacc_open_device)
8892         (GOMP_OFFLOAD_openacc_close_device)
8893         (GOMP_OFFLOAD_openacc_set_device_num)
8894         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8895         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8896         (device number).
8898         testsuite/
8899         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8901 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
8903         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8904         * libgomp.h (struct gomp_memory_mapping): Remove.
8905         (struct target_mem_desc): Change type of mem_map from
8906         gomp_memory_mapping * to splay_tree_s *.
8907         (struct gomp_device_descr): Remove register_image_func, get_table_func.
8908         Add load_image_func, unload_image_func.
8909         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8910         Remove offload_regions_registered.
8911         (gomp_init_tables): Remove.
8912         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8913         to splay_tree_s *.
8914         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8915         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8916         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8917         offload_regions_registered.
8918         Initialize load_image_func, unload_image_func, mem_map.root.
8919         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8920         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8921         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8922         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8923         gomp_memory_mapping *.  Use dev's lock and splay_tree.
8924         (lookup_dev): Use dev's lock.
8925         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8926         (acc_is_present): Likewise.
8927         (acc_map_data): Likewise.
8928         (acc_unmap_data): Likewise.  Use dev's lock.
8929         (present_create_copy): Likewise.
8930         (delete_copyout): Pass dev to lookup_host instead of mem_map.
8931         (update_dev_host): Likewise.
8932         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
8933         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8934         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8935         (GOMP_OFFLOAD_get_table): Remove
8936         (GOMP_OFFLOAD_load_image): New function.
8937         (GOMP_OFFLOAD_unload_image): New function.
8938         * target.c (register_lock): New mutex for offload image registration.
8939         (num_devices): Do not guard with PLUGIN_SUPPORT.
8940         (gomp_realloc_unlock): New static function.
8941         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
8942         before gomp_fatal.
8943         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8944         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
8945         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8946         mem_map's.
8947         (gomp_unmap_vars): Likewise.
8948         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
8949         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
8950         (gomp_offload_image_to_device): New static function.
8951         (GOMP_offload_register): Add mutex lock.
8952         Call gomp_offload_image_to_device for all initialized devices.
8953         Replace gomp_realloc with gomp_realloc_unlock.
8954         (GOMP_offload_unregister): New function.
8955         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
8956         get_table_func from the plugin with calls to init_device_func and
8957         gomp_offload_image_to_device.
8958         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8959         to splay_tree_s *.
8960         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
8961         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
8962         (GOMP_target_data): Do not call gomp_init_tables.
8963         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
8964         (gomp_load_plugin_for_device): Replace register_image and get_table
8965         with load_image and unload_image in DLSYM ().
8966         (gomp_register_images_for_device): Remove function.
8967         (gomp_target_init): Do not initialize current_device.mem_map.*,
8968         current_device.offload_regions_registered.
8969         Remove call to gomp_register_images_for_device.
8970         Do not free offload_images and num_offload_images.
8972 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
8974         PR fortran/65597
8975         * testsuite/libgomp.fortran/pr65597.f90: New test.
8977 2015-03-27  Tom de Vries  <tom@codesourcery.com>
8979         PR testsuite/65594
8980         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8981         (init, check): New function.
8982         (foo): Change return type to void.
8983         (main): Call init and check.
8985 2015-03-27  Tom de Vries  <tom@codesourcery.com>
8987         PR testsuite/65594
8988         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8989         (foo): Use M for non-inner loops to scale down test-case.
8991 2015-03-25  Kai Tietz  <ktietz@redhat.com>
8993         PR libgomp/64972
8994         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8995         (GOACC_data_start): Likewise.
8996         * target.c (gomp_map_vars): Likewise.
8998 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
9000         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9001         hppa*-*-hpux*.
9003 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
9005         * testsuite/libgomp.c/target-10.c: New test.
9006         * testsuite/libgomp.c++/target-4.C: New test.
9008 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
9010         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9011         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9013 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9015         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9016         * configure.ac (*-*-rtems*): Assume Pthread is supported.
9017         (pthread.h): Check for this header file.
9018         * configure: Regenerate.
9020 2015-02-25  Tom de Vries  <tom@codesourcery.com>
9022         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9023         (check_reduction_op, check_reduction_macro, max, min):
9024         Declare.
9025         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9026         function.
9027         (main): Use new functions.
9029 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
9031         * target.c (gomp_load_plugin_for_device): Use const char * instead of
9032         char * for variables holding dlerror return values.
9033         (DLSYM_OPT): Ditto.
9035 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9037         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9039 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9040             Cesar Philippidis  <cesar@codesourcery.com>
9042         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9043         GOACC_ctaid, and GOACC_nctaid routines.
9045 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
9047         PR c/64824
9048         * testsuite/libgomp.c/atomic-18.c: New test.
9049         * testsuite/libgomp.c++/atomic-16.C: New test.
9051 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
9053         PR c/64824
9054         PR c/64868
9055         * testsuite/libgomp.c/pr64824.c: New test.
9056         * testsuite/libgomp.c/pr64868.c: New test.
9057         * testsuite/libgomp.c++/pr64824.C: New test.
9058         * testsuite/libgomp.c++/pr64868.C: New test.
9060 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
9062         PR libgomp/64635
9063         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9064         Link with -lpthread.
9065         * config/aix/plugin-suffix.h: Delete.
9067 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
9069         PR libgomp/64635
9070         * configure.tgt (*-*-aix*): Use config_path "aix posix".
9071         (*-*-darwin*): Use config_path "bsd darwin posix".
9072         (*-*-hpux*): Use config_path "hpux posix".
9073         * target.c: Add include of plugin-suffix.h and use
9074         SONAME_SUFFIX macro.
9075         * config/aix/plugin-suffix.h: New file.
9076         * config/darwin/plugin-suffix.h: New file.
9077         * config/hpux/plugin-suffix.h: New file.
9078         * config/posix/plugin-suffix.h: New file.
9080 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
9082         PR middle-end/64734
9083         * libgomp.c/pr64734.c: New test.
9085 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9087         PR libgomp/64672
9088         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9090 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9092         PR libgomp/64707
9093         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9094         dg-options.
9096 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
9098         PR libgomp/64625
9099         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9100         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9101         formal parameter.  Update all users.
9102         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9103         Document unused formal parameter.
9105 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
9107         * oacc-parallel.c: Don't include <alloca.h>.
9108         (GOACC_parallel): Use gomp_alloca instead of alloca.
9110 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
9112         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9114 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
9115             James Norris  <jnorris@codesourcery.com>
9116             Tom de Vries  <tom@codesourcery.com>
9117             Julian Brown  <julian@codesourcery.com>
9118             Cesar Philippidis  <cesar@codesourcery.com>
9119             Nathan Sidwell  <nathan@codesourcery.com>
9120             Tobias Burnus  <burnus@net-b.de>
9122         * Makefile.am (search_path): Add $(top_srcdir)/../include.
9123         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9124         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9125         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9126         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9127         Include $(top_srcdir)/plugin/Makefrag.am.
9128         (nodist_libsubinclude_HEADERS): Add openacc.h.
9129         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9130         openacc.f90, openacc.mod, openacc_kinds.mod.
9131         (omp_lib.mod): Generalize into...
9132         (%.mod): ... this new rule.
9133         (openacc_kinds.mod, openacc.mod): New rules.
9134         * plugin/configfrag.ac: New file.
9135         * configure.ac: Move plugin/offloading support into it.  Include
9136         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
9137         * plugin/Makefrag.am: New file.
9138         * testsuite/Makefile.am (OFFLOAD_TARGETS)
9139         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9140         export.
9141         (libgomp-test-support.exp): New rule.
9142         (all-local): Depend on it.
9143         * Makefile.in: Regenerate.
9144         * testsuite/Makefile.in: Regenerate.
9145         * config.h.in: Likewise.
9146         * configure: Likewise.
9147         * configure.tgt: Harden shell syntax.
9148         * env.c: Include "oacc-int.h".
9149         (parse_acc_device_type): New function.
9150         (gomp_debug_var, goacc_device_type, goacc_device_num): New
9151         variables.
9152         (initialize_env): Initialize those.  Call
9153         goacc_runtime_initialize.
9154         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9155         (gomp_fatal): Call gomp_vfatal.
9156         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9157         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9158         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9159         (splay_tree_node, splay_tree, splay_tree_key)
9160         (struct target_mem_desc, struct splay_tree_key_s)
9161         (struct gomp_memory_mapping, struct acc_dispatch_t)
9162         (struct gomp_device_descr, gomp_acc_insert_pointer)
9163         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9164         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9165         (gomp_free_memmap, gomp_fini_device): New declarations.
9166         (gomp_vdebug, gomp_debug): New macros.
9167         Include "splay-tree.h".
9168         * libgomp.map (OACC_2.0): New symbol version.  Use for
9169         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9170         acc_set_device_type_h_, acc_get_device_type,
9171         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9172         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9173         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9174         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9175         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9176         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9177         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9178         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9179         acc_copyin_array_h_, acc_present_or_copyin,
9180         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9181         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9182         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9183         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9184         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9185         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9186         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9187         acc_update_device, acc_update_device_32_h_,
9188         acc_update_device_64_h_, acc_update_device_array_h_,
9189         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9190         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9191         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9192         acc_is_present_64_h_, acc_is_present_array_h_,
9193         acc_memcpy_to_device, acc_memcpy_from_device,
9194         acc_get_current_cuda_device, acc_get_current_cuda_context,
9195         acc_get_cuda_stream, acc_set_cuda_stream.
9196         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
9197         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9198         GOACC_update, GOACC_wait, GOACC_get_thread_num,
9199         GOACC_get_num_threads.
9200         (GOMP_PLUGIN_1.0): New symbol version.  Use for
9201         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9202         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9203         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9204         GOMP_PLUGIN_acc_thread.
9205         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9206         environment variable.
9207         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9208         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9209         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9210         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9211         (splay_tree_remove): New declarations.
9212         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9213         (splay_tree_remove, splay_tree_lookup): Move into...
9214         * splay-tree.c: ... this new file.
9215         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9216         (splay_tree_node, splay_tree, splay_tree_key)
9217         (struct target_mem_desc, struct splay_tree_key_s)
9218         (struct gomp_device_descr): Don't declare.
9219         (num_devices_openmp): New variable.
9220         (gomp_get_num_devices ): Use it.
9221         (gomp_init_targets_once): New function.
9222         (gomp_get_num_devices ): Use it.
9223         (get_kind, gomp_copy_from_async, gomp_free_memmap)
9224         (gomp_fini_device, gomp_register_image_for_device): New functions.
9225         (gomp_map_vars): Add devaddrs parameter.
9226         (gomp_update): Add mm parameter.
9227         (gomp_init_device): Move most of it into...
9228         (gomp_init_tables): ... this new function.
9229         (gomp_register_images_for_device): Remove function.
9230         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9231         Make them hidden instead of static.
9232         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9233         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9234         (GOMP_target_end_data, GOMP_target_update)
9235         (gomp_load_plugin_for_device, gomp_target_init): Update for
9236         OpenACC changes.
9237         * oacc-async.c: New file.
9238         * oacc-cuda.c: Likewise.
9239         * oacc-host.c: Likewise.
9240         * oacc-init.c: Likewise.
9241         * oacc-int.h: Likewise.
9242         * oacc-mem.c: Likewise.
9243         * oacc-parallel.c: Likewise.
9244         * oacc-plugin.c: Likewise.
9245         * oacc-plugin.h: Likewise.
9246         * oacc-ptx.h: Likewise.
9247         * openacc.f90: Likewise.
9248         * openacc.h: Likewise.
9249         * openacc_lib.h: Likewise.
9250         * plugin/plugin-host.c: Likewise.
9251         * plugin/plugin-nvptx.c: Likewise.
9252         * libgomp-plugin.c: Likewise.
9253         * libgomp-plugin.h: Likewise.
9254         * libgomp_target.h: Remove file after merging content into the
9255         former file.  Update all users.
9256         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9257         (offload_targets_s, offload_targets_s_openacc): New variables.
9258         (check_effective_target_openacc_nvidia_accel_present)
9259         (check_effective_target_openacc_nvidia_accel_selected): New
9260         procedures.
9261         (libgomp_init): Update for OpenACC changes.
9262         * testsuite/libgomp-test-support.exp.in: New file.
9263         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9264         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9265         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9266         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9267         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9268         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9269         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9270         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9271         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9272         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9273         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9274         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9275         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9276         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9277         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9278         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9279         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9280         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9281         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9282         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9283         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9284         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9285         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9286         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9287         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9288         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9289         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9290         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9291         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9292         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9293         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9294         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9295         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9296         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9297         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9298         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9299         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9300         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9301         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9302         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9303         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9304         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9305         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9306         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9307         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9308         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9309         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9310         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9311         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9312         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9313         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9314         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9315         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9316         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9317         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9318         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9319         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9320         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9321         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9322         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9323         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9324         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9325         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9326         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9327         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9328         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9329         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9330         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9331         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9332         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9333         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9334         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9335         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9336         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9337         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9338         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9339         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9340         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9341         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9342         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9343         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9344         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9345         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9346         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9347         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9348         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9349         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9350         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9351         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9352         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9353         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9354         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9355         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9356         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9357         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9358         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9359         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9360         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9361         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9362         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9363         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9364         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9365         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9366         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9367         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9368         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9369         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9370         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9371         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9372         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9373         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9374         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9375         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9376         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9377         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9378         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9379         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9380         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9381         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9382         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9383         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9384         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9385         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9386         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9387         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9388         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9389         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9390         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9391         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9392         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9393         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9394         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9395         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9396         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9397         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9398         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9399         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9400         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9401         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9402         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9403         Likewise.
9404         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9405         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9406         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9407         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9408         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9409         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9410         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9411         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9412         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9413         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9414         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9415         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9416         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9417         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9418         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9419         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9420         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9421         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9422         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9423         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9424         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9425         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9426         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9427         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9428         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9429         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9430         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9431         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9432         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9433         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9434         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9435         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9436         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9437         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9438         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9439         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9440         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9441         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9442         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9443         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9444         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9445         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9446         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9447         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9448         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9449         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9450         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9451         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9452         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9453         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9454         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9455         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9456         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9457         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9458         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9459         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9460         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9461         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9462         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9463         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9465 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
9466             Julian Brown  <julian@codesourcery.com>
9467             David Malcolm  <dmalcolm@redhat.com>
9469         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9470         to "GNU Offloading and Multi Processing Runtime Library".  Change
9471         all users.
9472         * configure: Regenerate.
9473         * libgomp.texi: Update.
9475 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
9477         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9478         "$tgt_dir/lib32".
9479         * configure: Regenerate.
9481         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9482         "intelmic" in $offload_targets.
9484 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
9486         Update copyright years.
9488         * libgomp.texi: Bump @copying's copyright year.
9490 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9492         * testsuite/lib/libgomp.exp: Load target-utils.exp.
9493         Move load of target-supports.exp earlier.
9495 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
9497         * testsuite/libgomp.c/target-9.c: New test.
9499 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
9501         * config.h.in: Regenerate.
9502         * configure: Regenerate.
9503         * configure.ac: Add GCC_CHECK_EMUTLS.
9504         * libgomp.h: Add check for USE_EMUTLS: this case
9505         is equal to HAVE_TLS.
9506         * team.c: Likewise.
9508 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
9510         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9512 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9513             Ilya Verbin  <ilya.verbin@intel.com>
9515         * testsuite/libgomp.c/target-critical-1.c: New test.
9517 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
9519         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9520         to dg-options unless expensive testing is on.
9521         (TESTITERS): Define to N if not defined.
9522         (main): Use TESTITERS instead of N.
9523         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9524         dg-additional-options depending on whether expensive testing is on.
9525         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9526         Decrease N to 100000 and CHUNKSZ to 10000.
9528 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
9530         PR fortran/63938
9531         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9532         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
9534 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
9536         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9538 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
9540         PR bootstrap/63784
9541         * configure: Regenerated.
9543 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
9545         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9546         vect_simd_clones effective target.
9547         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9549 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
9551         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9552         of 32 as block_size.
9553         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9554         instead of 32 as block_size.
9556 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9557             Ilya Verbin  <ilya.verbin@intel.com>
9559         * Makefile.in: Regenerate.
9560         * configure: Regenerate.
9561         * configure.ac: Set up offload_additional_options,
9562         offload_additional_lib_paths and offload_targets.
9563         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9564         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9565         * testsuite/Makefile.in: Regenerate.
9566         * testsuite/lib/libgomp.exp (libgomp_init): Append
9567         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
9568         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
9569         build directory to LD_LIBRARY_PATH for intelmic offload targets.
9571 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9572             Ilya Verbin  <ilya.verbin@intel.com>
9573             Kirill Yukhin  <kirill.yukhin@intel.com>
9574             Ilya Tocar  <ilya.tocar@intel.com>
9576         * testsuite/lib/libgomp.exp
9577         (check_effective_target_offload_device): New.
9578         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9579         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9580         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9581         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9582         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9583         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9584         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9585         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9586         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9587         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9588         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9589         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9590         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9591         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9592         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9593         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9594         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9595         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9596         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9597         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9598         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9599         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9600         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9601         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9602         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9603         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9604         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9605         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9606         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9607         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9608         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9609         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9610         * testsuite/libgomp.c/target-7.c: Fix test.
9611         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9612         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9613         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9614         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9615         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9616         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9617         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9618         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9619         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9620         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9621         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9622         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9623         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9624         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9625         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9626         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9627         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9628         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9629         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9630         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9631         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9632         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9633         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9634         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9635         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9636         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9637         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9638         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9639         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9640         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9641         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9643 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
9644             Ilya Verbin  <ilya.verbin@intel.com>
9645             Thomas Schwinge  <thomas@codesourcery.com>
9646             Andrey Turetskiy  <andrey.turetskiy@intel.com>
9648         * libgomp.map (GOMP_4.0.1): New symbol version.
9649         Add GOMP_offload_register.
9650         * libgomp_target.h: New file.
9651         * splay-tree.h: New file.
9652         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9653         (gomp_target_init): New forward declaration.
9654         (gomp_is_initialized): New static variable.
9655         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9656         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9657         New structures.
9658         (offload_images, num_offload_images, devices, num_devices): New static
9659         variables.
9660         (splay_compare): New static function.
9661         (struct gomp_device_descr): New structure.
9662         (gomp_get_num_devices): Call gomp_target_init.
9663         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9664         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9665         (GOMP_offload_register): New function.
9666         (GOMP_target): Arrange for host callback to be performed in a separate
9667         initial thread and contention group, inheriting ICVs from
9668         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
9669         Add device initialization and lookup for target function in splay tree.
9670         (GOMP_target_data): Add device initialization and call gomp_map_vars.
9671         (GOMP_target_end_data): Call gomp_unmap_vars.
9672         (GOMP_target_update): Add device initialization and call gomp_update.
9673         (gomp_load_plugin_for_device, gomp_register_images_for_device)
9674         (gomp_target_init): New static functions.
9676 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
9677             Thomas Schwinge  <thomas@codesourcery.com>
9678             Ilya Verbin  <ilya.verbin@intel.com>
9679             Andrey Turetskiy  <andrey.turetskiy@intel.com>
9681         * config.h.in: Regenerate.
9682         * configure: Regenerate.
9683         * configure.ac: Check for libdl, required for plugin support.
9684         (PLUGIN_SUPPORT): Define if plugins are supported.
9685         (enable_offload_targets): Support Intel MIC targets.
9686         (OFFLOAD_TARGETS): List of target names suitable for offloading.
9688 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9690         PR target/63610
9691         * configure: Regenerate.
9693 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9695         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9697 2014-10-06  Marek Polacek  <polacek@redhat.com>
9699         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9700         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9701         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9702         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9704 2014-10-06  Marek Polacek  <polacek@redhat.com>
9706         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9707         * testsuite/libgomp.c/nqueens-1.c: Likewise.
9708         * testsuite/libgomp.c/pr26943-3.c: Likewise.
9709         * testsuite/libgomp.c/pr26943-4.c: Likewise.
9710         * testsuite/libgomp.c/pr36802-2.c: Likewise.
9711         * testsuite/libgomp.c/pr36802-3.c: Likewise.
9712         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9713         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9714         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9715         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9716         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9717         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9718         * testsuite/libgomp.c/omp-single-1.c: Likewise.
9719         * testsuite/libgomp.c/omp-single-2.c: Likewise.
9720         * testsuite/libgomp.c/omp_matvec.c: Likewise.
9721         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9722         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9723         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
9724         declarations.
9726 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
9728         PR libgomp/61200
9729         * testsuite/libgomp.c/pr61200.c: New test.
9731 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
9733         PR c++/63248
9734         * testsuite/libgomp.c++/pr63248.C: New test.
9736 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
9738         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9739         is not zero, but taskgroup->children is NULL and there are
9740         any task->children, schedule those instead of waiting.
9741         * testsuite/libgomp.c/depend-6.c: New test.
9742         * testsuite/libgomp.c/depend-7.c: New test.
9743         * testsuite/libgomp.c/depend-8.c: New test.
9744         * testsuite/libgomp.c/depend-9.c: New test.
9745         * testsuite/libgomp.c/depend-10.c: New test.
9747 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
9749         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9750         (struct gomp_taskwait): New type.
9751         (struct gomp_task): Add taskwait and parent_depends_on, remove
9752         in_taskwait and taskwait_sem fields.
9753         (gomp_finish_task): Don't destroy taskwait_sem.
9754         * task.c (gomp_init_task): Don't init in_taskwait, instead init
9755         taskwait and parent_depends_on.
9756         (GOMP_task): For if (0) tasks with depend clause that depend on
9757         earlier tasks don't defer them, instead call
9758         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9759         Initialize redundant_out field, for redundant out entries just
9760         move them at the end of linked list instead of removing them
9761         completely, and set redundant_out flag instead of redundant.
9762         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9763         that task.
9764         (gomp_task_run_post_handle_dependers): If parent is in
9765         gomp_task_maybe_wait_for_dependencies and newly runnable task
9766         is not parent_depends_on, queue it in parent->children linked
9767         list after all runnable tasks with parent_depends_on set.
9768         Adjust for addition of taskwait indirection.
9769         (gomp_task_run_post_remove_parent): If parent is in
9770         gomp_task_maybe_wait_for_dependencies and task to be removed
9771         is parent_depends_on, decrement n_depend and if needed awake
9772         parent.  Adjust for addition of taskwait indirection.
9773         (GOMP_taskwait): Adjust for addition of taskwait indirection.
9774         (gomp_task_maybe_wait_for_dependencies): New function.
9775         * testsuite/libgomp.c/depend-5.c: New test.
9777 2014-07-13  Tobias Burnus  <burnus@net-b.de>
9779         * testsuite/libgomp.fortran/pr34020.f90: Make compile
9780         with TS 18508/Fortran 2015.
9782 2014-07-06  Marek Polacek  <polacek@redhat.com>
9784         PR c/6940
9785         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9787 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
9789         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9790         matches regex $lang_source_re, add $lang_include_flags to options.
9791         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9792         * testsuite/libgomp.c++/c++.exp: Likewise.
9793         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
9794         and lang_include_flags instead of adding -fintrinsic-modules-path= to
9795         ALWAYS_CFLAGS.
9796         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9798 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
9800         * testsuite/libgomp.fortran/fortran.exp: Explain
9801         gfortran-dg-runtest usage.
9803 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
9805         * testsuite/libgomp.fortran/simd5.f90: New test.
9806         * testsuite/libgomp.fortran/simd6.f90: New test.
9807         * testsuite/libgomp.fortran/simd7.f90: New test.
9809 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
9811         * testsuite/libgomp.c/for-2.c: Define SC to static for
9812         #pragma omp for simd testing.
9813         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9814         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9815         SC macro.
9816         * testsuite/libgomp.c/simd-14.c: New test.
9817         * testsuite/libgomp.c/simd-15.c: New test.
9818         * testsuite/libgomp.c/simd-16.c: New test.
9819         * testsuite/libgomp.c/simd-17.c: New test.
9820         * testsuite/libgomp.c++/for-10.C: Define SC to static for
9821         #pragma omp for simd testing.
9822         * testsuite/libgomp.c++/simd10.C: New test.
9823         * testsuite/libgomp.c++/simd11.C: New test.
9824         * testsuite/libgomp.c++/simd12.C: New test.
9825         * testsuite/libgomp.c++/simd13.C: New test.
9827         * testsuite/libgomp.fortran/aligned1.f03: New test.
9828         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9829         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9830         tasks with !$omp parallel !$omp single.
9831         * testsuite/libgomp.fortran/target8.f90: New test.
9832         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9833         not to use trim in the combiner, instead call elemental function.
9834         (fn): New elemental function.
9835         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9836         Make elemental.
9837         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9838         omp_in): Likewise.
9839         * testsuite/libgomp.fortran/udr12.f90: New test.
9840         * testsuite/libgomp.fortran/udr13.f90: New test.
9841         * testsuite/libgomp.fortran/udr14.f90: New test.
9842         * testsuite/libgomp.fortran/udr15.f90: New test.
9844 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
9846         * omp_lib.f90.in (openmp_version): Set to 201307.
9847         * omp_lib.h.in (openmp_version): Likewise.
9848         * testsuite/libgomp.c/target-8.c: New test.
9849         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9850         and inbranch clauses.
9851         * testsuite/libgomp.fortran/depend-3.f90: New test.
9852         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9853         openmp_version.
9854         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9855         * testsuite/libgomp.fortran/target1.f90: New test.
9856         * testsuite/libgomp.fortran/target2.f90: New test.
9857         * testsuite/libgomp.fortran/target3.f90: New test.
9858         * testsuite/libgomp.fortran/target4.f90: New test.
9859         * testsuite/libgomp.fortran/target5.f90: New test.
9860         * testsuite/libgomp.fortran/target6.f90: New test.
9861         * testsuite/libgomp.fortran/target7.f90: New test.
9863 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
9865         PR fortran/60928
9866         * testsuite/libgomp.fortran/allocatable9.f90: New test.
9867         * testsuite/libgomp.fortran/allocatable10.f90: New test.
9868         * testsuite/libgomp.fortran/allocatable11.f90: New test.
9869         * testsuite/libgomp.fortran/allocatable12.f90: New test.
9870         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9871         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9872         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9873         * testsuite/libgomp.fortran/associate1.f90: New test.
9874         * testsuite/libgomp.fortran/associate2.f90: New test.
9875         * testsuite/libgomp.fortran/procptr1.f90: New test.
9877 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
9879         * testsuite/libgomp.fortran/simd1.f90: New test.
9880         * testsuite/libgomp.fortran/udr1.f90: New test.
9881         * testsuite/libgomp.fortran/udr2.f90: New test.
9882         * testsuite/libgomp.fortran/udr3.f90: New test.
9883         * testsuite/libgomp.fortran/udr4.f90: New test.
9884         * testsuite/libgomp.fortran/udr5.f90: New test.
9885         * testsuite/libgomp.fortran/udr6.f90: New test.
9886         * testsuite/libgomp.fortran/udr7.f90: New test.
9887         * testsuite/libgomp.fortran/udr8.f90: New test.
9888         * testsuite/libgomp.fortran/udr9.f90: New test.
9889         * testsuite/libgomp.fortran/udr10.f90: New test.
9890         * testsuite/libgomp.fortran/udr11.f90: New test.
9892 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
9894         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9895         vect_simd_clones effective target.
9896         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9898 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
9900         PR middle-end/61252
9901         * testsuite/libgomp.c++/simd-9.C: New test.
9903 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
9905         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9906         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9907         texts according to their @menu entry positions.
9909 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
9911         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9912         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9913         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9914         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9915         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9916         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9917         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9918         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9919         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9920         * testsuite/libgomp.fortran/depend-1.f90: New test.
9921         * testsuite/libgomp.fortran/depend-2.f90: New test.
9922         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9923         * testsuite/libgomp.fortran/simd1.f90: New test.
9924         * testsuite/libgomp.fortran/simd2.f90: New test.
9925         * testsuite/libgomp.fortran/simd3.f90: New test.
9926         * testsuite/libgomp.fortran/simd4.f90: New test.
9927         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9929 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
9931         * testsuite/libgomp.c/simd-10.c: New test.
9932         * testsuite/libgomp.c/simd-11.c: New test.
9933         * testsuite/libgomp.c/simd-12.c: New test.
9934         * testsuite/libgomp.c/simd-13.c: New test.
9936 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
9938         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9939         atomic type clauses in any order and optional comma in between.
9940         * testsuite/libgomp.c++/atomic-15.C: Likewise.
9941         * testsuite/libgomp.c/atomic-17.c: Likewise.
9943         * testsuite/libgomp.c/simd-7.c: New test.
9944         * testsuite/libgomp.c/simd-8.c: New test.
9945         * testsuite/libgomp.c/simd-9.c: New test.
9946         * testsuite/libgomp.c/loop-16.c: New test.
9948 2014-04-02  Richard Henderson  <rth@redhat.com>
9950         * config/linux/futex.h (futex_wait): Get error value from errno.
9951         (futex_wake): Likewise.
9953 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
9955         PR c++/60331
9956         * testsuite/libgomp.c++/udr-11.C: New test.
9957         * testsuite/libgomp.c++/udr-12.C: New test.
9958         * testsuite/libgomp.c++/udr-13.C: New test.
9959         * testsuite/libgomp.c++/udr-14.C: New test.
9960         * testsuite/libgomp.c++/udr-15.C: New test.
9961         * testsuite/libgomp.c++/udr-16.C: New test.
9962         * testsuite/libgomp.c++/udr-17.C: New test.
9963         * testsuite/libgomp.c++/udr-18.C: New test.
9964         * testsuite/libgomp.c++/udr-19.C: New test.
9966 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9968         Update copyright years
9970 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9972         * hashtab.h: Use the standard form for the copyright notice.
9974 2014-01-02  Tobias Burnus  <burnus@net-b.de>
9976         * libgomp.texi: Bump @copying's copyright year.
9978 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
9980         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9981         alloca () with __builtin_alloca ().
9982         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9983         * testsuite/libgomp.c/lock-3.c: Likewise.
9984         * testsuite/libgomp.c/pr48591.c: Likewise.
9986 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
9988         PR testsuite/59534
9989         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9990         comparisons.
9992 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
9994         PR libgomp/58756
9995         * testsuite/libgomp.c/pr58756.c: New test.
9997 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
9999         PR libgomp/59467
10000         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10001         !$omp parallel.
10003 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
10005         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10006         ALWAYS_CFLAGS.
10007         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10008         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10009         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10010         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10011         Likewise.
10013         * libgomp_g.h: Include <stddef.h> for size_t.
10015         * libgomp.spec.in: Update comment about libgomp's dependencies.
10016         * configure.ac: Likewise.
10017         * configure: Regenerate.
10019 2013-10-16  Tobias Burnus  <burnus@net-b.de>
10021         * libgomp.texi: (Runtime Library Routines): Update references for
10022         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10023         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10024         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10025         (Environment Variables): Update references for OpenMP 4.0. Add
10026         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10027         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10028         order.
10030 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
10032         * env.c (parse_bind_var): Initialize value to avoid
10033         (false positive) warning.
10035 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
10037         PR libgomp/58691
10038         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10039         to check variable.
10040         (gomp_init_num_threads): Move i variable declaration into
10041         #ifdef CPU_ALLOC_SIZE block.
10042         * config/linux/affinity.c (gomp_affinity_init_level): Test
10043         gomp_places_list_len == 0 rather than gomp_places_list == 0
10044         when checking for topology reading error.
10045         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10046         * env.c (parse_affinity): Add ignore argument, if true, don't populate
10047         gomp_places_list, only parse env var and always return false.
10048         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
10049         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10050         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10051         and either of these variables were parsed correctly into a places
10052         list.
10054 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10055             Jakub Jelinek  <jakub@redhat.com>
10057         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10058         of 5 loopfn matches.
10059         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10060         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10061         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10062         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10063         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10064         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10065         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10066         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10068 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10070         * Makefile.am (omp_lib.mod): Streamline rule.
10071         * Makefile.in: Regenerate.
10073         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10074         exceptions.
10076         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10077         * testsuite/libgomp.fortran/lib1.f90: Likewise.
10078         * testsuite/libgomp.fortran/lib2.f: Likewise.
10079         * testsuite/libgomp.fortran/lib3.f: Likewise.
10081         * configure.ac: Typo fix.
10082         * configure: Regenerate.
10084         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10085         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10087         * omp.h.in: Don't touch the user's namespace.
10089 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
10090             Tobias Burnus  <burnus@net-b.de>
10091             Richard Henderson  <rth@redhat.com>
10093         * target.c: New file.
10094         * Makefile.am (libgomp_la_SOURCES): Add target.c.
10095         * Makefile.in: Regenerated.
10096         * libgomp_g.h (GOMP_task): Add depend argument.
10097         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10098         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10099         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10100         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10101         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10102         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10103         GOMP_taskgroup_start, GOMP_taskgroup_end,
10104         GOMP_parallel_sections): New prototypes.
10105         * fortran.c (omp_is_initial_device): Add ialias_redirect.
10106         (omp_is_initial_device_): New function.
10107         (ULP, STR1, STR2, ialias_redirect): Removed.
10108         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10109         omp_set_default_device_8_, omp_get_default_device_,
10110         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10111         functions.
10112         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10113         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10114         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10115         @@GOMP_4.0.
10116         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10117         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10118         omp_set_default_device, omp_set_default_device_,
10119         omp_set_default_device_8_, omp_get_default_device,
10120         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10121         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10122         omp_get_team_num_): Export @@OMP_4.0.
10123         * team.c (struct gomp_thread_start_data): Add place field.
10124         (gomp_thread_start): Clear thr->thread_pool and
10125         thr->task before returning.  Use gomp_team_barrier_wait_final
10126         instead of gomp_team_barrier_wait.  Initialize thr->place.
10127         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10128         team_cancelled and task_queued_count fields.
10129         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10130         before calling pthread_exit.
10131         (gomp_free_thread): No longer static.  Use
10132         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10133         (gomp_team_start): Add flags argument.  Set
10134         thr->thread_pool->threads_busy to nthreads immediately after creating
10135         new pool.  Use gomp_managed_threads_lock instead of
10136         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
10137         (gomp_team_end): Use gomp_managed_threads_lock instead of
10138         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
10139         of gomp_team_barrier_wait.  If team->team_cancelled, call
10140         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
10141         rather than thr->ts.work_share.
10142         (initialize_team): Don't call gomp_sem_init here.
10143         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10144         caller.
10145         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10146         * env.c (gomp_global_icv): Add default_device_var, target_data and
10147         bind_var initializers.
10148         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10149         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10150         gomp_places_list_len): New variables.
10151         (parse_bind_var, parse_one_place, parse_places_var): New functions.
10152         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10153         sized places.
10154         (gomp_cancel_var): New global variable.
10155         (parse_int): New function.
10156         (handle_omp_display_env): New function.
10157         (initialize_env): Use it.  Initialize default_device_var.
10158         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
10159         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
10160         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
10161         been successfully parsed (and call gomp_init_affinity in that case).
10162         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10163         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10164         omp_get_team_num, omp_is_initial_device): New functions.
10165         * libgomp.h: Include stdlib.h.
10166         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10167         Define.
10168         (struct target_mem_desc): Forward declare.
10169         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10170         and thread_limit_var fields.
10171         (gomp_get_num_devices): New prototype.
10172         (gomp_cancel_var): New extern decl.
10173         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10174         team_cancelled and task_queued_count fields.  Add comments about
10175         task_{,queued_,running_}count.
10176         (gomp_cancel_kind): New enum.
10177         (gomp_work_share_end_cancel): New prototype.
10178         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10179         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10180         and depend fields.
10181         (struct gomp_taskgroup): New type.
10182         (struct gomp_task_depend_entry,
10183         struct gomp_dependers_vec): New types.
10184         (gomp_finish_task): Free depend_hash if non-NULL.
10185         (struct gomp_team_state): Add place_partition_off
10186         and place_partition_len fields.
10187         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10188         gomp_places_list_len): New extern decls.
10189         (struct gomp_thread): Add place field.
10190         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10191         (gomp_init_thread_affinity): Add place argument.
10192         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10193         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10194         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10195         gomp_affinity_init_level, gomp_affinity_print_place): New
10196         prototypes.
10197         (gomp_team_start): Add flags argument.
10198         (gomp_thread_limit_var, gomp_remaining_threads_count,
10199         gomp_remaining_threads_lock): Remove.
10200         (gomp_managed_threads_lock): New variable.
10201         (struct gomp_thread_pool): Add threads_busy field.
10202         (gomp_free_thread): New prototype.
10203         * task.c: Include hashtab.h.
10204         (hash_entry_type): New typedef.
10205         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10206         (gomp_init_task): Clear dependers, depend_hash, depend_count,
10207         copy_ctors_done and taskgroup fields.
10208         (GOMP_task): Add depend argument, handle depend clauses.  If
10209         gomp_team_barrier_cancelled or if it's taskgroup has been
10210         cancelled, don't queue or start new tasks.  Set copy_ctors_done
10211         field if needed.  Initialize taskgroup field.  If copy_ctors_done
10212         and already cancelled, don't discard the task.  If taskgroup is
10213         non-NULL, enqueue the task into taskgroup queue.  Increment
10214         num_children field in taskgroup.  Increment task_queued_count.
10215         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10216         gomp_task_run_post_remove_taskgroup): New inline functions.
10217         (gomp_task_run_post_handle_depend_hash,
10218         gomp_task_run_post_handle_dependers,
10219         gomp_task_run_post_handle_depend): New functions.
10220         (GOMP_taskwait): Use them.  If more than one new tasks
10221         have been queued, wake other threads if needed.
10222         (gomp_barrier_handle_tasks): Likewise.  If
10223         gomp_team_barrier_cancelled, don't start any new tasks, just free
10224         all tasks.
10225         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10226         * omp_lib.f90.in
10227         (omp_proc_bind_kind, omp_proc_bind_false,
10228         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10229         omp_proc_bind_spread): New params.
10230         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10231         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10232         omp_get_team_num, omp_is_initial_device): New interfaces.
10233         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10234         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10235         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10236         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10237         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10238         useless use omp_lib_kinds.
10239         * omp.h.in (omp_proc_bind_t): New typedef.
10240         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10241         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10242         omp_get_team_num, omp_is_initial_device): New prototypes.
10243         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10244         through to gomp_team_start.
10245         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10246         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10247         Adjust gomp_parallel_loop_start callers.
10248         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10249         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10250         GOMP_loop_end_cancel): New functions.
10251         (GOMP_parallel_end): Add ialias_redirect.
10252         * hashtab.h: New file.
10253         * libgomp.texi (Environment Variables): Minor cleanup,
10254         update section refs to OpenMP 4.0rc2.
10255         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10256         environment variables.
10257         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10258         team->work_shares_to_free to thr->ts.work_share before calling
10259         free_work_share.
10260         (gomp_work_share_end_cancel): New function.
10261         * config/linux/proc.c: Include errno.h.
10262         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10263         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10264         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
10265         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
10266         gomp_cpuset_size is sizeof (cpu_set_t).
10267         (gomp_init_num_threads): Initialize gomp_cpuset_size,
10268         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10269         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10270         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
10271         contain any logical CPUs.
10272         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10273         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
10274         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10275         pthread_getaffinity_np.  Check gomp_places_list instead of
10276         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
10277         * config/linux/bar.c (gomp_barrier_wait_end,
10278         gomp_barrier_wait_last): Use BAR_* defines.
10279         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
10280         from state where needed.  Set work_share_cancelled to 0 on last
10281         thread.
10282         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10283         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10284         functions.
10285         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10286         Add cpusetsize argument.
10287         (gomp_cpuset_size, gomp_cpusetp): Declare.
10288         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10289         (affinity_counter): Remove.
10290         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10291         if CPU_ALLOC_SIZE isn't defined.
10292         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10293         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10294         bind current thread to the first place.
10295         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
10296         pthread_setaffinity_np to gomp_places_list[place].
10297         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10298         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10299         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10300         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10301         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10302         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10303         (gomp_barrier_t): Add awaited_final field.
10304         (gomp_barrier_init): Initialize awaited_final field.
10305         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10306         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10307         prototypes.
10308         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
10309         defines.
10310         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10311         gomp_team_barrier_cancelled): New inline functions.
10312         (gomp_barrier_last_thread,
10313         gomp_team_barrier_set_task_pending,
10314         gomp_team_barrier_clear_task_pending,
10315         gomp_team_barrier_set_waiting_for_tasks,
10316         gomp_team_barrier_waiting_for_tasks,
10317         gomp_team_barrier_done): Use BAR_* defines.
10318         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10319         (gomp_barrier_wait_end): Use BAR_* defines.
10320         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10321         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10322         Use BAR_* defines.
10323         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10324         gomp_team_barrier_cancel): New functions.
10325         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10326         argument.
10327         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10328         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10329         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10330         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10331         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10332         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10333         (gomp_barrier_t): Add cancellable field.
10334         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10335         gomp_team_barrier_cancel): New prototypes.
10336         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10337         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10338         gomp_team_barrier_cancelled): New inline functions.
10339         (gomp_barrier_wait_start, gomp_barrier_last_thread,
10340         gomp_team_barrier_set_task_pending,
10341         gomp_team_barrier_clear_task_pending,
10342         gomp_team_barrier_set_waiting_for_tasks,
10343         gomp_team_barrier_waiting_for_tasks,
10344         gomp_team_barrier_done): Use BAR_* defines.
10345         * barrier.c (GOMP_barrier_cancel): New function.
10346         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10347         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10348         omp_proc_bind_spread): New params.
10349         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10350         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10351         omp_get_team_num, omp_is_initial_device): New externals.
10352         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10353         New functions.
10354         (gomp_resolve_num_threads): Adjust for thread_limit now being in
10355         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10356         infinity.  If not nested, just return minimum of max_num_threads
10357         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10358         to the returned value.  Otherwise, don't update atomically
10359         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10360         (GOMP_parallel_end): Adjust for thread_limit now being in
10361         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10362         infinity.  Adjust threads_busy in the pool rather than
10363         gomp_remaining_threads_count.  Remember team->nthreads and call
10364         gomp_team_end before adjusting threads_busy, if not nested
10365         afterwards, just set it to 1 non-atomically.  Add ialias.
10366         (GOMP_parallel_start): Adjust gomp_team_start caller.
10367         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10368         * testsuite/libgomp.c/affinity-1.c: New test.
10369         * testsuite/libgomp.c/atomic-15.c: New test.
10370         * testsuite/libgomp.c/atomic-16.c: New test.
10371         * testsuite/libgomp.c/atomic-17.c: New test.
10372         * testsuite/libgomp.c/cancel-for-1.c: New test.
10373         * testsuite/libgomp.c/cancel-for-2.c: New test.
10374         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10375         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10376         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10377         * testsuite/libgomp.c/cancel-sections-1.c: New test.
10378         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10379         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10380         * testsuite/libgomp.c/depend-1.c: New test.
10381         * testsuite/libgomp.c/depend-2.c: New test.
10382         * testsuite/libgomp.c/depend-3.c: New test.
10383         * testsuite/libgomp.c/depend-4.c: New test.
10384         * testsuite/libgomp.c/for-1.c: New test.
10385         * testsuite/libgomp.c/for-1.h: New file.
10386         * testsuite/libgomp.c/for-2.c: New test.
10387         * testsuite/libgomp.c/for-2.h: New file.
10388         * testsuite/libgomp.c/for-3.c: New test.
10389         * testsuite/libgomp.c/pr58392.c: New test.
10390         * testsuite/libgomp.c/simd-1.c: New test.
10391         * testsuite/libgomp.c/simd-2.c: New test.
10392         * testsuite/libgomp.c/simd-3.c: New test.
10393         * testsuite/libgomp.c/simd-4.c: New test.
10394         * testsuite/libgomp.c/simd-5.c: New test.
10395         * testsuite/libgomp.c/simd-6.c: New test.
10396         * testsuite/libgomp.c/target-1.c: New test.
10397         * testsuite/libgomp.c/target-2.c: New test.
10398         * testsuite/libgomp.c/target-3.c: New test.
10399         * testsuite/libgomp.c/target-4.c: New test.
10400         * testsuite/libgomp.c/target-5.c: New test.
10401         * testsuite/libgomp.c/target-6.c: New test.
10402         * testsuite/libgomp.c/target-7.c: New test.
10403         * testsuite/libgomp.c/taskgroup-1.c: New test.
10404         * testsuite/libgomp.c/thread-limit-1.c: New test.
10405         * testsuite/libgomp.c/thread-limit-2.c: New test.
10406         * testsuite/libgomp.c/thread-limit-3.c: New test.
10407         * testsuite/libgomp.c/udr-1.c: New test.
10408         * testsuite/libgomp.c/udr-2.c: New test.
10409         * testsuite/libgomp.c/udr-3.c: New test.
10410         * testsuite/libgomp.c++/affinity-1.C: New test.
10411         * testsuite/libgomp.c++/atomic-10.C: New test.
10412         * testsuite/libgomp.c++/atomic-11.C: New test.
10413         * testsuite/libgomp.c++/atomic-12.C: New test.
10414         * testsuite/libgomp.c++/atomic-13.C: New test.
10415         * testsuite/libgomp.c++/atomic-14.C: New test.
10416         * testsuite/libgomp.c++/atomic-15.C: New test.
10417         * testsuite/libgomp.c++/cancel-for-1.C: New test.
10418         * testsuite/libgomp.c++/cancel-for-2.C: New test.
10419         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10420         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10421         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10422         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10423         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10424         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10425         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10426         * testsuite/libgomp.c++/cancel-test.h: New file.
10427         * testsuite/libgomp.c++/for-9.C: New test.
10428         * testsuite/libgomp.c++/for-10.C: New test.
10429         * testsuite/libgomp.c++/for-11.C: New test.
10430         * testsuite/libgomp.c++/simd-1.C: New test.
10431         * testsuite/libgomp.c++/simd-2.C: New test.
10432         * testsuite/libgomp.c++/simd-3.C: New test.
10433         * testsuite/libgomp.c++/simd-4.C: New test.
10434         * testsuite/libgomp.c++/simd-5.C: New test.
10435         * testsuite/libgomp.c++/simd-6.C: New test.
10436         * testsuite/libgomp.c++/simd-7.C: New test.
10437         * testsuite/libgomp.c++/simd-8.C: New test.
10438         * testsuite/libgomp.c++/target-1.C: New test.
10439         * testsuite/libgomp.c++/target-2.C: New test.
10440         * testsuite/libgomp.c++/target-2-aux.cc: New file.
10441         * testsuite/libgomp.c++/target-3.C: New test.
10442         * testsuite/libgomp.c++/taskgroup-1.C: New test.
10443         * testsuite/libgomp.c++/udr-1.C: New test.
10444         * testsuite/libgomp.c++/udr-2.C: New test.
10445         * testsuite/libgomp.c++/udr-3.C: New test.
10446         * testsuite/libgomp.c++/udr-4.C: New test.
10447         * testsuite/libgomp.c++/udr-5.C: New test.
10448         * testsuite/libgomp.c++/udr-6.C: New test.
10449         * testsuite/libgomp.c++/udr-7.C: New test.
10450         * testsuite/libgomp.c++/udr-8.C: New test.
10451         * testsuite/libgomp.c++/udr-9.C: New test.
10453 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
10455         PR testsuite/57605
10456         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10457         ALWAYS_CFLAGS.
10459 2013-09-20  Alan Modra  <amodra@gmail.com>
10461         * configure: Regenerate.
10463 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
10465         * testsuite/libgomp.c/sections-2.c: New test.
10467 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
10469         * testsuite/libgomp.fortran/strassen.f90:
10470         Add dg-skip-if aarch64_tiny.
10472 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
10473             Cesar Philippidis  <cesar@codesourcery.com>
10475         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10476         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10477         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10478         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10479         * testsuite/libgomp.graphite/graphite.exp: Likewise.
10480         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10481         Use dg-runtest rather than gfortran-dg-runtest.
10483 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
10485         * testsuite/libgomp.c/icv-2.c: Extend current handling of
10486         Linux-based x86 systems to cover all GNU systems.
10487         * testsuite/libgomp.c/lock-3.c: Likewise.
10488         * testsuite/libgomp.c/pr48591.c: Likewise.
10490 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
10492         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10493         GNU/Hurd, as done for Linux-based systems.
10495         * config/posix/ptrlock.h: Fix comment.
10497 2013-05-27  Tobias Burnus  <burnus@net-b.de>
10499         PR fortran/57423
10500         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10501         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10502         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10503         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10504         omp_destroy_nest_lock): Correct arguments to match the one in
10505         the OpenMP spec.
10506         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10507         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10508         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10509         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10511 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
10513         * testsuite/libgomp.c/loop-13.c: New test.
10514         * testsuite/libgomp.c/loop-14.c: New test.
10515         * testsuite/libgomp.c/loop-15.c: New test.
10516         * testsuite/libgomp.c++/loop-13.C: New test.
10517         * testsuite/libgomp.c++/loop-14.C: New test.
10518         * testsuite/libgomp.c++/loop-15.C: New test.
10520 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
10522         PR middle-end/56217
10523         * testsuite/libgomp.c++/pr56217.C: New test.
10525 2013-02-01  Alan Modra  <amodra@gmail.com>
10527         * task.c (GOMP_task, GOMP_taskwait): Comment.
10529 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
10530             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
10532         PR libgomp/55561
10533         * config/linux/wait.h (do_spin): Use atomic load for addr.
10534         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10535         for intptr and ptrlock.
10536         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10537         for ptrlock.
10539 2013-01-22  Alan Modra  <amodra@gmail.com>
10541         PR libgomp/51376
10542         PR libgomp/56073
10543         * task.c (GOMP_task): Revert 2011-12-09 change.
10544         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
10545         barrier to read task->children..
10546         (gomp_barrier_handle_tasks): ..and matching atomic store with
10547         release barrier here when setting parent->children to NULL.
10549 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
10550             Tobias Burnus  <burnus@net-b.de>
10552         PR driver/55884
10553         * testsuite/libgomp.fortran/fortran.exp: Use
10554         -fintrinsic-modules-path= instead of
10555         -fintrinsic-modules-path.
10557 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
10559         Update copyright years.
10561 2012-12-19  Tobias Burnus  <burnus@net-b.de>
10563         * testsuite/libgomp.fortran/fortran.exp: Set
10564         -fintrinsic-modules-path.
10566 2012-12-19  Tobias Burnus  <burnus@net-b.de>
10568         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10569         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10571 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
10573         PR libgomp/55411
10574         * team.c (gomp_free_thread): Decrease gomp_managed_threads
10575         if pool had any threads_used.
10577 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
10579         * testsuite/libgomp.c++/pr24455.C: Use
10580         -Wl,-undefined,dynamic_lookup on darwin.
10582 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
10584         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10586 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
10588         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10590 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
10591             Jim MacArthur  <jim.macarthur@arm.com>
10592             Marcus Shawcroft  <marcus.shawcroft@arm.com>
10593             Nigel Stephens  <nigel.stephens@arm.com>
10594             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
10595             Richard Earnshaw  <rearnsha@arm.com>
10596             Sofiane Naci  <sofiane.naci@arm.com>
10597             Stephen Thomas  <stephen.thomas@arm.com>
10598             Tejas Belagod  <tejas.belagod@arm.com>
10599             Yufeng Zhang  <yufeng.zhang@arm.com>
10601         * configure.tgt: Add AArch64.
10603 2012-10-04  Jason Merrill  <jason@redhat.com>
10605         * testsuite/libgomp.c++/tls-init1.C: New.
10607 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
10609         * configure: Regenerated.
10611 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
10613         * config/linux/mips/futex.h (sys_futex0): Change to static
10614         function with noinline, nomips16 attributes under MIPS16. Adjust
10615         asm statement to place 'li v0,SYS_futex' immediately before
10616         syscall insn.
10618 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
10620         * libgomp.texi (Library Index): Renamed from "Index" to prevent
10621         conflict with index.html on case-insensitive file systems.
10623 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
10625         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10626         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10628 2012-07-02  Richard Guenther  <rguenther@suse.de>
10629             Michael Matz  <matz@suse.de>
10630             Tobias Grosser <tobias@grosser.es>
10631             Sebastian Pop <sebpop@gmail.com>
10633         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10634         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10635         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10636         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10638 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
10640         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10642 2012-06-22  Richard Guenther  <rguenther@suse.de>
10644         Merge from graphite branch
10645         2012-01-13  Tobias Grosser  <tobias@grosser.es>
10647         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10648         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10650 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
10652         PR middle-end/53580
10653         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10654         use GOMP_barrier () call instead.
10655         * testsuite/libgomp.c/pr26943-3.c: Likewise.
10656         * testsuite/libgomp.c/pr26943-4.c: Likewise.
10657         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10658         call GOMP_barrier instead.
10659         * testsuite/libgomp.fortran/vla5.f90: Likewise.
10661 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
10663         PR libgomp/52993
10664         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10665         argument to memset call.
10667 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
10669         * configure: Regenerated.
10671 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10673         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10675 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
10677         PR bootstrap/52812
10678         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10680 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
10682         PR middle-end/52547
10683         * testsuite/libgomp.c/pr52547.c: New test.
10685 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
10687         * testsuite/lib/libgomp.exp: load fortran-modules.exp
10689 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10691         * configure.tgt (mips-sgi-irix6*): Remove.
10693 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10695         * configure.tgt (alpha*-dec-osf*): Remove.
10697         * config/osf/sem.h: Remove.
10698         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10700 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
10702         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10704 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10706         PR libstdc++/52188
10707         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10708         Remove ENABLE_SYMVERS_SOL2.
10709         * configure: Regenerate.
10710         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10711         (PREPROCESS): New variable.
10712         (libgomp.ver): New target.
10713         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10714         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10715         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10716         Use libgomp.ver.
10717         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10718         * Makefile.in: Regenerate.
10720 2012-02-14  Walter Lee  <walt@tilera.com>
10722         * configure.tgt: Handle tilegx and tilepro.
10723         * config/linux/tile/futex.h: New file.
10725 2012-02-08  Richard Guenther  <rguenther@suse.de>
10727         PR tree-optimization/46886
10728         * testsuite/libgomp.c/pr46886.c: New testcase.
10730 2012-01-25  Matthias Klose  <doko@ubuntu.com>
10732         * config/linux/arm: Remove empty directory.
10733         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10735 2011-12-09  Alan Modra  <amodra@gmail.com>
10737         PR libgomp/51376
10738         * task.c (GOMP_taskwait): Don't access task->children outside of
10739         task_lock mutex region.
10740         (GOMP_task): Likewise.
10742 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
10744         PR libgomp/51132
10745         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10746         to file scope.
10747         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10748         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10749         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10750         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10751         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10753 2011-12-02  Alan Modra  <amodra@gmail.com>
10755         * config/linux/affinity.c: Use atomic rather than sync builtin.
10756         * config/linux/lock.c: Likewise.
10757         * config/linux/ptrlock.h: Likewise.
10758         * config/linux/ptrlock.c: Likewise.
10759         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10760         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10761         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10762         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10763         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10764         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10765         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10766         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10767         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10768         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10770 2011-11-30  Alan Modra  <amodra@gmail.com>
10772         PR libgomp/51298
10773         * config/linux/bar.h: Use atomic rather than sync builtins.
10774         * config/linux/bar.c: Likewise.  Add missing acquire
10775         synchronisation on generation field.
10776         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10777         double unlock.
10779 2011-11-30  Alan Modra  <amodra@gmail.com>
10781         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10782         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10783         * config/linux/mutex.h: Use atomic rather than sync builtins.
10784         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
10785         * config/linux/omp-lock.h: Comment fix.
10786         * config/linux/arm/mutex.h: Delete.
10787         * config/linux/powerpc/mutex.h: Delete.
10788         * config/linux/ia64/mutex.h: Delete.
10789         * config/linux/mips/mutex.h: Delete.
10791 2011-11-30  Alan Modra  <amodra@gmail.com>
10793         PR libgomp/51249
10794         * config/linux/sem.h: Rewrite.
10795         * config/linux/sem.c: Rewrite.
10797 2011-11-28  Richard Henderson  <rth@redhat.com>
10799         * libgomp.h (enum memmodel): New.
10801 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
10803         * configure: Regenerate.
10805 2011-10-10  Matthias Klose  <doko@ubuntu.com>
10807         * config/posix95: Remove empty directory.
10809 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
10811         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10813 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
10815         PR fortran/49792
10816         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10817         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10819 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10821         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10823 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10825         PR libgomp/49965
10826         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10828 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
10830         * config/linux/proc.h: New.
10831         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
10832         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
10833         (gomp_init_num_threads): Update call to cpuset_popcount.
10834         (get_num_procs): Ditto.
10835         * config/linux/affinity.c (gomp_init_affinity): Call
10836         gomp_cpuset_popcount.
10838 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
10840         PR fortran/42041
10841         PR fortran/46752
10842         * omp.h.in (omp_in_final): New prototype.
10843         * omp_lib.f90.in (omp_in_final): New interface.
10844         (omp_integer_kind, omp_logical_kind): Remove
10845         and replace all its uses in the module with 4.
10846         (openmp_version): Change to 201107.
10847         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10848         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10849         kind for the parameters.
10850         (omp_in_final): New external.
10851         (openmp_version): Change to 201107.
10852         * task.c (omp_in_final): New function.
10853         (gomp_init_task): Initialize final_task.
10854         (GOMP_task): Remove unused attribute from flags.  Handle final
10855         tasks.
10856         (GOMP_taskyield): New function.
10857         (omp_in_final): Return true if if (false) or final (true) task
10858         or descendant of final (true).
10859         * fortran.c (omp_in_final_): New function.
10860         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10861         (GOMP_3.0): Export GOMP_taskyield.
10862         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10863         variables.
10864         (parse_unsigned_long_list): New function.
10865         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
10866         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
10867         even if parse_affinity returned false.
10868         * config/linux/affinity.c (gomp_init_affinity): Handle
10869         gomp_cpu_affinity_len == 0.
10870         * libgomp_g.h (GOMP_taskyield): New prototype.
10871         * libgomp.h (struct gomp_task): Add final_task field.
10872         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10873         * team.c (gomp_team_start): Override new task's nthreads_var icv
10874         if list form OMP_NUM_THREADS has been used and it has value for
10875         the new nesting level.
10877         * testsuite/libgomp.c/atomic-11.c: New test.
10878         * testsuite/libgomp.c/atomic-12.c: New test.
10879         * testsuite/libgomp.c/atomic-13.c: New test.
10880         * testsuite/libgomp.c/atomic-14.c: New test.
10881         * testsuite/libgomp.c/reduction-6.c: New test.
10882         * testsuite/libgomp.c/task-5.c: New test.
10883         * testsuite/libgomp.c++/atomic-2.C: New test.
10884         * testsuite/libgomp.c++/atomic-3.C: New test.
10885         * testsuite/libgomp.c++/atomic-4.C: New test.
10886         * testsuite/libgomp.c++/atomic-5.C: New test.
10887         * testsuite/libgomp.c++/atomic-6.C: New test.
10888         * testsuite/libgomp.c++/atomic-7.C: New test.
10889         * testsuite/libgomp.c++/atomic-8.C: New test.
10890         * testsuite/libgomp.c++/atomic-9.C: New test.
10891         * testsuite/libgomp.c++/task-8.C: New test.
10892         * testsuite/libgomp.c++/reduction-4.C: New test.
10893         * testsuite/libgomp.fortran/allocatable7.f90: New test.
10894         * testsuite/libgomp.fortran/allocatable8.f90: New test.
10895         * testsuite/libgomp.fortran/crayptr3.f90: New test.
10896         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10897         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10898         * testsuite/libgomp.fortran/pointer1.f90: New test.
10899         * testsuite/libgomp.fortran/pointer2.f90: New test.
10900         * testsuite/libgomp.fortran/task4.f90: New test.
10902 2011-08-02  Tobias Burnus  <burnus@net-b.de>
10904         * libgomp.texi: Update OpenMP spec references to 3.1.
10905         (omp_in_final,OMP_PROC_BIND): New sections.
10906         (OMP_NUM_THREADS): Document that the value can be now a list.
10907         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10909 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
10911         * config/linux/x86/futex.h: Check __x86_64__ instead of
10912         __LP64__.
10914 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
10916         PR middle-end/49897
10917         PR middle-end/49898
10918         * testsuite/libgomp.c/pr49897-1.c: New test.
10919         * testsuite/libgomp.c/pr49897-2.c: New test.
10920         * testsuite/libgomp.c/pr49898-1.c: New test.
10921         * testsuite/libgomp.c/pr49898-2.c: New test.
10923 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
10925         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10926         for ia32 instead of ilp32.
10928         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10929         * testsuite/libgomp.c/atomic-6.c: Likewise.
10931 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
10933         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10934         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10936 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10938         PR libgomp/45351
10939         * config/osf/sem.h: New file.
10940         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10942 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10944         PR target/49541
10945         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10946         ldflags.
10948 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
10950         * config/linux/wait.h (do_spin): New inline, largely copied
10951         from do_wait, just don't do futex_wait here, instead return true if
10952         it should be done.
10953         (do_wait): Implement using do_spin.
10954         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10955         to prototype.
10956         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10957         __sync_bool_compare_and_swap, pass the oldval to
10958         gomp_mutex_lock_slow.
10959         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10960         If all mutex contenders are just spinning and not sleeping, don't
10961         change state to 2 unnecessarily.  Optimize the loop when state has
10962         already become 2 to use just one atomic operation per loop instead
10963         of two.
10964         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10965         to prototype.
10966         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10967         __sync_bool_compare_and_swap, pass the oldval to
10968         gomp_mutex_lock_slow.
10970 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
10972         PR libgomp/49490
10973         * iter.c (gomp_iter_static_next): For chunk size 0
10974         only use n ceil/ nthreads size for the first
10975         n % nthreads threads in the team instead of
10976         all threads except for the last few ones which
10977         get less work or none at all.
10978         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10979         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10980         chunk argument, set run_sched_modifier to 0 for static
10981         resp. 1 for other kinds.  If chunk argument is 0
10982         and not static, set value to 1.
10984 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
10986         PR c++/49043
10987         * testsuite/libgomp.c++/pr49043.C: New test.
10989         PR c++/48869
10990         * testsuite/libgomp.c++/pr48869.C: New test.
10992 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
10994         PR fortran/48894
10995         * fortran.c: Include limits.h.
10996         (TO_INT): Define.
10997         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10998         *set.
10999         (omp_set_num_threads_8_, omp_set_schedule_8_,
11000         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11001         omp_get_team_size_8_): Use TO_INT macro.
11002         * testsuite/libgomp.fortran/pr48894.f90: New test.
11004 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
11006         PR middle-end/48591
11007         * testsuite/libgomp.c/pr48591.c: New test.
11009 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11011         PR bootstrap/48135
11012         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11013         * configure: Regenerate.
11015 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
11017         PR fortran/47886
11018         * testsuite/libgomp.fortran/task3.f90: New test.
11020 2011-02-24  Tobias Burnus  <burnus@net-b.de>
11022         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11024 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
11026         PR libgomp/47854
11027         * libgomp.texi (omp_get_wtime): Don't say time in the past
11028         must be Unix Epoch.
11030 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
11032         PR libgomp/47804
11033         * testsuite/libgomp.fortran/fortran.exp: Check for both
11034         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
11035         but $blddir != "", still append ${blddir}/${lang_library_path}
11036         to ld_library_path.
11038 2011-02-16  Tobias Burnus  <burnus@net-b.de>
11040         PR libgomp/47758
11041         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11042         of libquadmath.a before adding its libpath to ldflags.
11044 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
11046         PR libgomp/47731
11047         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11048         to FUTEX_WAIT futex syscall.
11049         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11051 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11053         * configure: Regenerate.
11055 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
11057         PR libstdc++/36104
11058         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11060 2011-01-16  Gerald Pfeifer
11062         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11064 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
11066         PR fortran/46874
11067         * libgomp.fortran/allocatable6.f90: New test.
11069 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11071         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11072         * configure: Regenerate.
11074 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
11076         PR target/40125
11077         PR lto/46695
11078         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11079         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11080         * aclocal.m4: Regenerate.
11081         * configure: Regenerate.
11082         * Makefile.in: Regenerate.
11083         * testsuite/Makefile.in: Regenerate.
11085 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
11087         PR fortran/46753
11088         * libgomp.fortran/pr46753.f90: New test.
11090         PR libgomp/43706
11091         * env.c (initialize_env): Default to spin count 300000
11092         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11093         is specified.
11095         PR libgomp/45240
11096         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11097         at the end if sync builtins aren't supported.
11099 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11101         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11103 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11105         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11107 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
11109         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11111 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
11112             Tobias Burnus  <burnus@net-b.de>
11114         PR fortran/32049
11115         * configure.ac:
11116         * configure: Regenerate.
11118 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
11120         * config/linux/futex.h: New.
11121         * config/linux/arm/mutex.h: New.
11122         * configure.tgt (arm*-*-linux*): Add config path.
11124 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
11126         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11128 2010-09-23  Tobias Burnus  <burnus@net-b.de>
11130         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11131         Change Fortran datatype to LOGICAL.
11132         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11133         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11135 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11137         * configure: Regenerate.
11139 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
11141         * libgomp.texi: Add function keyword to a couple of Fortran
11142         interfaces, use integer instead of int for Fortran.
11144 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
11146         * libgomp.texi: Fix spelling and pasto problems throughout.
11147         Adjust prototypes to match code.
11149 2010-07-24  Tobias Burnus  <burnus@net-b.de>
11151         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11152         silence -fwhole-file warning.
11154 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11156         * configure.tgt (*-*-solaris2.[56]*): Removed.
11158 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11160         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11161         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11162         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11163         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11164         targetting solaris2*.
11165         * configure: Regenerate.
11166         * config.h.in: Regenerate.
11168         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11169         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11170         Add libgomp_version_dep.
11171         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11172         versioning.
11173         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11174         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11175         * Makefile.in: Regenerate.
11177         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11178         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11179         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11180         to common block, protected by
11181         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11183 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
11185         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
11187 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
11189         PR bootstrap/43170
11190         * configure: Regenerate.
11192 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11194         PR other/43620
11195         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11196         * configure: Regenerate.
11197         * Makefile.in: Regenerate.
11198         * testsuite/Makefile.in: Regenerate.
11200 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
11202         PR c/43893
11203         * testsuite/libgomp.c/pr43893.c: New test.
11204         * testsuite/libgomp.c++/pr43893.C: New test.
11206 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
11208         PR middle-end/43570
11209         * testsuite/libgomp.fortran/vla8.f90: New test.
11211 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
11213         PR libgomp/43706
11214         * config/linux/affinity.c (gomp_init_affinity): Decrease
11215         gomp_available_cpus if affinity mask confines the process to fewer
11216         CPUs.
11217         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11218         non-NULL, just return gomp_available_cpus.
11220         PR libgomp/43569
11221         * sections.c (gomp_sections_init): Initialize ws->mode.
11223 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
11225         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11226         not unused bar variable.
11227         * configure: Regenerate.
11229 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11231         * Makefile.in: Regenerate.
11232         * aclocal.m4: Regenerate.
11233         * testsuite/Makefile.in: Regenerate.
11235 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
11237         PR libgomp/42942
11238         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11239         (initialize_env): Adjust callers.
11240         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11241         when the argument is 0.
11243         * testsuite/libgomp.c/pr42942.c: New test.
11245 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
11247         PR middle-end/42644
11248         PR middle-end/42130
11249         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11250         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11252 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11254         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11255         * testsuite/libgomp.c++/task-6.C: Likewise.
11257 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
11259         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11261 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
11263         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11264         * configure: Regenerate.
11266 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
11268         PR fortran/42866
11269         * testsuite/libgomp.fortran/allocatable5.f90: New test.
11271 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
11273         * configure.ac: Test for executability of GFORTRAN.
11274         * configure: Regenerate.
11276 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11278         * configure: Regenerate.
11280 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
11282         PR libgomp/42602
11283         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11285 2010-01-03  Richard Guenther  <rguenther@suse.de>
11287         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11289 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
11291         * testsuite/libgomp.graphite/pr4118.c: New.
11293 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11295         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11296         for darwin, protect the test with require-effective-target tls_runtime.
11297         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11299 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11301         PR target/41605
11302         * testsuite/lib/libgomp.exp: Provide -B options to allow for
11303         link spec %s substitutions for static libraries.
11305 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
11307         PR testsuite/42135
11308         * libgomp.graphite/force-parallel-2.c: Reduce array size.
11310 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11312         * Makefile.in: Regenerate.
11313         * configure: Regenerate.
11314         * testsuite/Makefile.in: Regenerate.
11316 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
11318         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11319         settings for LC_ALL and LANG.
11321 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
11323         PR fortran/42162
11324         * testsuite/libgomp.fortran/pr42162.f90: New test.
11326 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
11328         PR middle-end/42029
11329         * testsuite/libgomp.c/pr42029.c: New test.
11331 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
11333         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11334         *s.  Accept ld version without text in ()s.
11335         * configure: Regenerated.
11337 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
11339         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11341 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11343         PR libgomp/41418
11344         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11345         or a hyphen (happens with fortran language disabled).
11346         * configure: Regenerate.
11348 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11350         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11351         use sed script portable to Solaris /bin/sed for extracting ld
11352         version.
11353         * configure: Regenerate.
11355 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
11357         * testsuite/libgomp.graphite/bounds.c: New test.
11359 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11361         * Makefile.am (libgomp_la_LINK): New.
11362         * Makefile.in: Regenerate.
11364 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11366         * configure.ac (AC_PREREQ): Bump to 2.64.
11368 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11370         * Makefile.am (install-html, install-pdf): Remove.
11371         * Makefile.in: Regenerate.
11373         * Makefile.in: Regenerate.
11374         * aclocal.m4: Regenerate.
11375         * config.h.in: Regenerate.
11376         * configure: Regenerate.
11377         * testsuite/Makefile.in: Regenerate.
11379 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11381         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11382         * Makefile.in: Regenerate.
11384 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
11386         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11387         * Makefile.in: Regenerate.
11389 2009-08-19  Tobias Burnus  <burnus@net-b.de>
11391         PR fortran/41102
11392         omp_lib.h.in: Fix -std=f95 errors.
11394 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
11396         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11397         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11398         * testsuite/libgomp.graphite/graphite.exp: New.
11400 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
11402         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11403         only build.
11405 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
11407         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11408         needed memory barrier semantics.
11409         * config/linux/mips/mutex.h: New file.
11411 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11413         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11415 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
11417         * configure: Regenerate.
11419 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
11421         PR testsuite/40699
11422         PR testsuite/40707
11423         PR testsuite/40709
11424         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11425         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11426         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11428 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
11430         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11431         options when choosing a multilib.
11433 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
11435         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11436         ld_library_path.  Use add_path.  Add just find_libgcc_s to
11437         ld_library_path, not every libgcc multilib directory.
11438         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11439         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11440         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11441         Use add_path.
11442         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11444 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
11446         * Makefile.am (LTLDFLAGS): Define.
11447         (LINK): Define.
11448         * Makefile.in: Regenerate.
11450 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
11452         PR fortran/39718
11453         * testsuite/libgomp.fortran/fortran.exp: Don't link with
11454         libgfortranbegin, check existence of libgfortran.a instead of
11455         libgfortranbegin.a.
11457 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
11459         PR libgomp/40174
11460         * team.c (gomp_thread_start): Destroy thr->release semaphore.
11461         (gomp_free_pool_helper): Likewise.
11463 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
11464             Jakub Jelinek  <jakub@redhat.com>
11466         PR fortran/35423
11467         * testsuite/libgomp.fortran/workshare2.f90: New test.
11469 2009-04-09  Nick Clifton  <nickc@redhat.com>
11471         * iter.c: Change copyright header to refer to version 3 of the
11472         GNU General Public License with version 3.1 of the GCC Runtime
11473         Library Exception and to point readers at the COPYING3 and
11474         COPYING3.RUNTIME files and the FSF's license web page.
11475         * alloc.c: Likewise.
11476         * barrier.c: Likewise.
11477         * config/bsd/proc.c: Likewise.
11478         * config/linux/affinity.c: Likewise.
11479         * config/linux/alpha/futex.h: Likewise.
11480         * config/linux/bar.c: Likewise.
11481         * config/linux/bar.h: Likewise.
11482         * config/linux/ia64/futex.h: Likewise.
11483         * config/linux/ia64/mutex.h: Likewise.
11484         * config/linux/lock.c: Likewise.
11485         * config/linux/mips/futex.h: Likewise.
11486         * config/linux/mutex.c: Likewise.
11487         * config/linux/mutex.h: Likewise.
11488         * config/linux/powerpc/futex.h: Likewise.
11489         * config/linux/proc.c: Likewise.
11490         * config/linux/ptrlock.c: Likewise.
11491         * config/linux/ptrlock.h: Likewise.
11492         * config/linux/s390/futex.h: Likewise.
11493         * config/linux/sem.c: Likewise.
11494         * config/linux/sem.h: Likewise.
11495         * config/linux/sparc/futex.h: Likewise.
11496         * config/linux/wait.h: Likewise.
11497         * config/linux/x86/futex.h: Likewise.
11498         * config/mingw32/proc.c: Likewise.
11499         * config/mingw32/time.c: Likewise.
11500         * config/posix/affinity.c: Likewise.
11501         * config/posix/bar.c: Likewise.
11502         * config/posix/bar.h: Likewise.
11503         * config/posix/lock.c: Likewise.
11504         * config/posix/mutex.h: Likewise.
11505         * config/posix/proc.c: Likewise.
11506         * config/posix/ptrlock.h: Likewise.
11507         * config/posix/sem.c: Likewise.
11508         * config/posix/sem.h: Likewise.
11509         * config/posix/time.c: Likewise.
11510         * config/posix95/lock.c: Likewise.
11511         * critical.c: Likewise.
11512         * env.c: Likewise.
11513         * error.c: Likewise.
11514         * fortran.c: Likewise.
11515         * iter_ull.c: Likewise.
11516         * libgomp.h: Likewise.
11517         * libgomp_f.h.in: Likewise.
11518         * libgomp_g.h: Likewise.
11519         * loop.c: Likewise.
11520         * loop_ull.c: Likewise.
11521         * omp.h.in: Likewise.
11522         * omp_lib.f90.in: Likewise.
11523         * omp_lib.h.in: Likewise.
11524         * ordered.c: Likewise.
11525         * parallel.c: Likewise.
11526         * sections.c: Likewise.
11527         * single.c: Likewise.
11528         * task.c: Likewise.
11529         * team.c: Likewise.
11530         * work.c: Likewise.
11532 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
11534         * testsuite/config/default.exp: Change copyright header to refer to
11535         version 3 of the GNU General Public License and to point readers
11536         at the COPYING3 file and the FSF's license web page.
11538 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
11540         PR middle-end/39573
11541         * libgomp.c++/pr39573.C: New test.
11543 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
11545         PR other/39591
11546         * testsuite/libgomp.c/pr39591-1.c: New test.
11547         * testsuite/libgomp.c/pr39591-2.c: New test.
11548         * testsuite/libgomp.c/pr39591-3.c: New test.
11550 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
11552         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11553         * testsuite/libgomp.c/atomic-6.c: Ditto.
11555 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
11557         PR c/39495
11558         * testsuite/libgomp.c/loop-12.c: New test.
11559         * testsuite/libgomp.c/loop-11.c: New test.
11560         * testsuite/libgomp.c++/loop-11.C: New test.
11561         * testsuite/libgomp.c++/loop-12.C: New test.
11562         * testsuite/libgomp.c++/for-8.C: New test.
11564 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11566         * configure: Regenerate.
11568 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
11570         PR middle-end/39154
11571         * testsuite/libgomp.c/pr39154.c: New test.
11573 2009-01-30  Ian Lance Taylor  <iant@google.com>
11575         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11576         libgomp_ld_is_gold.  Get gold version number.
11577         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11578         * configure: Rebuild.
11580 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11582         * testsuite/lib/libgomp.exp: Add -B option for targets that
11583         use libgfortran.a%s in their specs.
11585 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
11587         PR libgomp/38086
11588         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11589         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11590         HAVE_AS_SYMVER_DIRECTIVE is not defined.
11591         * configure: Regenerated.
11592         * config.h.in: Likewise.
11594 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
11596         PR c++/38650
11597         * testsuite/libgomp.c/pr38650.c: New test.
11598         * testsuite/libgomp.c++/pr38650.C: New test.
11600 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
11602         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11604 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
11606         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11608 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11610         * configure: Regenerate.
11612 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
11614         PR middle-end/36802
11615         * testsuite/libgomp.c/pr36802-1.c: New test.
11616         * testsuite/libgomp.c/pr36802-2.c: New test.
11617         * testsuite/libgomp.c/pr36802-3.c: New test.
11619 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
11621         PR libgomp/38270
11622         * config/linux/powerpc/mutex.h: New.
11624 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
11626         PR c++/38257
11627         * testsuite/libgomp.c++/for-7.C: New test.
11629         PR c++/38348
11630         * testsuite/libgomp.c++/for-6.C: New test.
11632 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
11634         PR testsuite/28870
11635         * testsuite/lib/libgomp.exp: Include new timeout library files.
11636         (libgomp_target_compile): Set timeout value from new proc.
11638 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
11640         PR libgomp/37938
11641         * config/linux/ia64/mutex.h: New.
11643 2008-11-04  Tobias Burnus  <burnus@net-b.de>
11645         PR libgomp/37935
11646         * libgomp.texi (Runtime library routines, environment variables):
11647         Update for OpenMP version 3.0.
11649 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
11650             Steve Ellcey  <sje@cup.hp.com>
11652         * configure: Regenerate for new libtool.
11653         * Makefile.in: Ditto.
11654         * testsuite/Makefile.in: Ditto.
11656 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
11657             Andreas Tobler  <a.tobler@schweiz.org>
11659         * config/bsd/proc.c: New file.
11660         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
11661         * configure.ac: Check for header <sys/sysctl.h>
11662         * configure: Regenerate.
11663         * config.h.in: Likewise.
11665 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
11667         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11669 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
11671         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11672         * Makefile.in: Regenerated.
11673         * testsuite/Makefile.in: Regenerated.
11675 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
11677         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
11678         depend on blddir if blddir exists.
11679         (libgomp_target_compile): Likewise.
11680         * testsuite/libgomp.c++/c++.exp: Likewise.
11681         * testsuite/libgomp.fortran/fortran.exp: Likewise.
11683 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11685         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
11686         Do not list GPL as Invariant Section.
11688 2008-07-28  Ilie Garbacea  <ilie@mips.com>
11689             Chao-ying Fu  <fu@mips.com>
11691         * configure.tgt: Enable futex for MIPS.
11692         * config/linux/mips/futex.h: New file.
11694 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
11696         * team.c (gomp_team_end): Free team immediately if it has
11697         just one thread.
11699 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
11701         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11702         * testsuite/libgomp.fortran/fortran.exp: Same.
11703         * testsuite/libgomp.c/c.exp: Same.
11704         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11705         directory to library path first.
11707 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
11709         * env.c (parse_stacksize): Add cast to avoid warning.
11710         (parse_spincount): Likewise.
11712 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
11714         * testsuite/libgomp.c/loop-10.c: New test.
11715         * libgomp.c/loop-3.c (main): Add lastprivate clause.
11716         * libgomp.c++/loop-6.C (main): Likewise.
11718         PR debug/36617
11719         * testsuite/libgomp.c/debug-1.c: New test.
11721 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
11723         * testsuite/libgomp.c/nqueens-1.c: New test.
11725         PR c++/36523
11726         * testsuite/libgomp.c++/task-7.C: New function.
11728 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11730         * configure: Regenerate.
11732 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11734         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11735         mutex when HAVE_SYNC_BUILTINS isn't defined.
11737 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11739         * libgomp.texi (omp_test_lock): Fix typo.
11741 2008-06-12  Tobias Burnus  <burnus@net-b.de>
11743         * omp_lib.f90.in: Add "implicit none".
11745 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
11747         PR middle-end/36506
11748         * testsuite/libgomp.c/reduction-5.c: New test.
11750 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
11752         * libgomp.h (struct gomp_task): Add in_tied_task field.
11753         * task.c (gomp_init_task): Initialize it.
11754         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
11755         unconditionally.  Don't call gomp_team_barrier_wake if
11756         current task is implicit or if(0) from implicit and number of
11757         running tasks is equal to nthreads - 1.
11759         PR libgomp/36471
11760         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11761         omp_get_team_size_8): Fix pastos.
11763         PR libgomp/36469
11764         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11765         * configure: Regenerated.
11766         * config.h.in: Regenerated.
11767         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11768         defined.
11770 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
11772         PR bootstrap/36452
11773         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11774         (GOMP_loop_ull_dynamic_start): Likewise.
11775         (GOMP_loop_ull_guided_start): Likewise.
11776         (GOMP_loop_ull_ordered_static_start): Likewise.
11777         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11778         (GOMP_loop_ull_ordered_guided_start): Likewise.
11780 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
11781             Richard Henderson  <rth@redhat.com>
11782             Ulrich Drepper  <drepper@redhat.com>
11783             Jakob Blomer  <jakob.blomer@ira.uka.de>
11785         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11786         Substitute also OMP_*LOCK_25*.
11787         * configure: Regenerated.
11788         * config.h.in: Regenerated.
11789         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11790         ptrlock.c and task.c.
11791         * Makefile.in: Regenerated.
11792         * testsuite/Makefile.in: Regenerated.
11793         * task.c: New file.
11794         * loop_ull.c: New file.
11795         * iter_ull.c: New file.
11796         * libgomp.h: Include ptrlock.h.
11797         (enum gomp_task_kind): New type.
11798         (struct gomp_team): Add task_lock, task_queue, task_count,
11799         task_running_count, single_count fields.  Add
11800         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11801         Remove work_share_lock, generation_mask,
11802         oldest_live_gen, num_live_gen and init_work_shares fields, add
11803         work work_share_list_alloc, work_share_list_free and work_share_chunk
11804         fields.  Change work_shares from pointer to pointers into an array.
11805         Change ordered_release field into gomp_sem_t ** from flexible array
11806         member.  Add implicit_task and initial_work_shares fields.
11807         Move close to the end of the struct.
11808         (struct gomp_team_state): Add single_count, last_work_share,
11809         active_level and level fields, remove work_share_generation.
11810         (gomp_barrier_handle_tasks): New prototype.
11811         (gomp_finish_task): New inline function.
11812         (struct gomp_work_share): Move chunk_size, end, incr into
11813         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11814         next_ll fields.  Reshuffle fields.  Add next_alloc,
11815         next_ws, next_free and inline_ordered_team_ids fields, change
11816         ordered_team_ids into pointer from flexible array member.
11817         Add mode field.  Put lock and next into a different cache line
11818         from most of the write-once fields.
11819         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11820         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11821         gomp_iter_ull_guided_next): New prototypes.
11822         (gomp_new_icv): New prototype.
11823         (struct gomp_thread): Add thread_pool and task fields.
11824         (struct gomp_thread_pool): New type.
11825         (gomp_new_team): New prototype.
11826         (gomp_team_start): Change type of last argument.
11827         (gomp_new_work_share): Removed.
11828         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11829         (gomp_work_share_init_done): New static inline.
11830         (gomp_throttled_spin_count_var, gomp_available_cpus,
11831         gomp_managed_threads): New extern decls.
11832         (gomp_init_task): New prototype.
11833         (gomp_spin_count_var): New extern var decl.
11834         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11835         or no alias support, or if not PIC.
11836         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11837         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11838         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11839         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11840         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11841         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11842         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11843         gomp_test_nest_lock_25): New prototypes.
11844         (omp_lock_symver, strong_alias): Define.
11845         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11846         decls.
11847         (gomp_end_task): New.
11848         (struct gomp_task_icv, gomp_global_icv): New.
11849         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11850         (struct gomp_task): New.
11851         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11852         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11853         (gomp_icv): New.
11854         (gomp_schedule_type): Reorder enum to match
11855         omp_sched_t.
11856         * team.c (struct gomp_thread_start_data): Add thread_pool and task
11857         fields.
11858         (gomp_thread_start): Add gomp_team_barrier_wait call.
11859         For non-nested case remove clearing of docked thread thr fields.
11860         Use pool fields instead of global gomp_* variables.  Use
11861         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
11862         Create tasks for each member thread.
11863         (free_team): Only destroy team barrier, task_lock here and free it.
11864         (gomp_free_thread): Free last_team if non-NULL.
11865         (gomp_team_end): Call gomp_team_barrier_wait instead of
11866         gomp_barrier_wait.  For nested case call one extra
11867         gomp_barrier_wait.  Move here some destruction from free_team.
11868         Call free_team on pool->last_team if any, rather than freeing
11869         current team.  Destroy work_share_list_free_lock ifndef
11870         HAVE_SYNC_BUILTINS.
11871         (gomp_new_icv): New function.
11872         (gomp_threads, gomp_threads_size, gomp_threads_used,
11873         gomp_threads_dock): Removed.
11874         (gomp_thread_destructor): New variable.
11875         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11876         functions.
11877         (gomp_team_start): Create new pool if current thread doesn't have
11878         one.  Use pool fields instead of global gomp_* variables.
11879         Initialize thread_pool field for new threads.  Clear single_count.
11880         Change last argument from ws to team, don't create
11881         new team, set ts.work_share to &team->work_shares[0] and clear
11882         ts.last_work_share.  Don't clear ts.work_share_generation.
11883         If number of threads changed, adjust atomically gomp_managed_threads.
11884         Use gomp_init_task instead of gomp_new_task,
11885         set thr->task to the corresponding implicit_task array entry.
11886         Create tasks for each member thread.  Initialize ts.level.
11887         (initialize_team): Call pthread_key_create on
11888         gomp_thread_destructor.
11889         (team_destructor): New function.
11890         (new_team): Removed.
11891         (gomp_new_team): New function.
11892         (free_team): Free gomp_work_share blocks chained through next_alloc,
11893         instead of freeing work_shares and destroying work_share_lock.
11894         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
11895         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
11896         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11897         of gomp_barrier_wait.
11898         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11899         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
11900         if gomp_work_share_start returned true.  Don't unlock ws->lock.
11901         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11902         of gomp_barrier_wait.
11903         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
11904         gomp_work_share_init_done if gomp_work_share_start returned true.
11905         Don't unlock ws->lock.
11906         * work.c: Include stddef.h.
11907         (free_work_share): Use work_share_list_free_lock instead
11908         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
11909         Call gomp_fini_work_share and then either free ws if orphaned, or
11910         put it into work_share_list_free list of the current team.
11911         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11912         functions.
11913         (gomp_work_share_start, gomp_work_share_end,
11914         gomp_work_share_end_nowait): Rewritten.
11915         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11916         (openmp_version): Set to 200805.
11917         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11918         omp_sched_guided, omp_sched_auto): New parameters.
11919         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11920         omp_set_max_active_levels, omp_get_max_active_levels,
11921         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11922         omp_get_active_level): New interfaces.
11923         * omp_lib.h.in (openmp_version): Set to 200805.
11924         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11925         omp_sched_guided, omp_sched_auto): New parameters.
11926         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11927         omp_set_max_active_levels, omp_get_max_active_levels,
11928         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11929         omp_get_active_level): New externals.
11930         * loop.c: Include limits.h.
11931         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11932         GFS_AUTO.
11933         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11934         Likewise.  Use gomp_icv.
11935         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11936         ts.static_trip here.
11937         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11938         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
11939         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11940         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
11941         don't unlock ws->lock, otherwise lock it.
11942         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11943         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
11944         (gomp_parallel_loop_start): Call gomp_new_team instead of
11945         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
11946         Adjust gomp_team_start caller.  Pass 0 as second argument to
11947         gomp_resolve_num_threads.
11948         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11949         If adding ws->chunk_size nthreads + 1 times after end won't
11950         overflow, set ws->mode to 1.
11951         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11952         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11953         GOMP_loop_ull_ordered_static_start,
11954         GOMP_loop_ull_ordered_dynamic_start,
11955         GOMP_loop_ull_ordered_guided_start,
11956         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11957         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11958         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11959         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11960         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11961         prototypes.
11962         * libgomp.map: Export lock routines also @@OMP_2.0.
11963         (GOMP_loop_ordered_dynamic_first,
11964         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11965         GOMP_loop_ordered_static_first): Remove.
11966         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11967         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11968         GOMP_loop_ull_ordered_dynamic_next,
11969         GOMP_loop_ull_ordered_dynamic_start,
11970         GOMP_loop_ull_ordered_guided_next,
11971         GOMP_loop_ull_ordered_guided_start,
11972         GOMP_loop_ull_ordered_runtime_next,
11973         GOMP_loop_ull_ordered_runtime_start,
11974         GOMP_loop_ull_ordered_static_next,
11975         GOMP_loop_ull_ordered_static_start,
11976         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11977         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11978         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11979         (omp_set_schedule, omp_get_schedule,
11980         omp_get_thread_limit, omp_set_max_active_levels,
11981         omp_get_max_active_levels, omp_get_level,
11982         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11983         omp_set_schedule_, omp_set_schedule_8_,
11984         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11985         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11986         omp_get_max_active_levels_, omp_get_level_,
11987         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11988         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11989         New exports @@OMP_3.0.
11990         * omp.h.in (omp_sched_t): New type.
11991         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11992         omp_set_max_active_levels, omp_get_max_active_levels,
11993         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11994         omp_get_active_level): New prototypes.
11995         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11996         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11997         gomp_thread_limit_var, gomp_remaining_threads_count,
11998         gomp_remaining_threads_lock): New variables.
11999         (parse_spincount): New function.
12000         (initialize_env): Call gomp_init_num_threads unconditionally.
12001         Initialize gomp_available_cpus.  Call parse_spincount,
12002         initialize gomp_{,throttled_}spin_count_var
12003         depending on presence and value of OMP_WAIT_POLICY and
12004         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
12005         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12006         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
12007         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
12008         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
12009         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12010         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12011         (gomp_global_icv): New.
12012         (parse_schedule): Use it.  Parse "auto".
12013         (omp_set_num_threads): Use gomp_icv.
12014         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12015         Likewise.
12016         (omp_get_max_threads): Move from parallel.c.
12017         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12018         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12019         add ialias.
12020         (parse_stacksize, parse_wait_policy): New functions.
12021         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12022         both wrappers for compatibility and new locks.
12023         (omp_set_schedule, omp_get_schedule,
12024         omp_get_thread_limit, omp_set_max_active_levels,
12025         omp_get_max_active_levels, omp_get_level,
12026         omp_get_ancestor_thread_num, omp_get_team_size,
12027         omp_get_active_level): New ialias_redirect.
12028         (omp_set_schedule_, omp_set_schedule_8_,
12029         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12030         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12031         omp_get_max_active_levels_, omp_get_level_,
12032         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12033         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12034         New functions.
12035         * parallel.c: Include limits.h.
12036         (gomp_resolve_num_threads): Add count argument.  Rewritten.
12037         (GOMP_parallel_start): Call gomp_new_team and pass that as last
12038         argument to gomp_team_start.  Pass 0 as second argument to
12039         gomp_resolve_num_threads.
12040         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12041         if gomp_thread_limit_var != ULONG_MAX.
12042         (omp_in_parallel): Implement using ts.active_level.
12043         (omp_get_max_threads): Move to env.c.
12044         (omp_get_level, omp_get_ancestor_thread_num,
12045         omp_get_team_size, omp_get_active_level): New functions,
12046         add ialias.
12047         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12048         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
12049         gomp_iter_dynamic_next instead of the _locked variant and don't take
12050         lock around it, otherwise acquire it before calling
12051         gomp_iter_dynamic_next_locked.
12052         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12053         gomp_iter_dynamic_next instead of the _locked variant and don't take
12054         lock around it.
12055         (GOMP_parallel_sections_start): Call gomp_new_team instead of
12056         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
12057         Adjust gomp_team_start caller.  Pass count as second argument to
12058         gomp_resolve_num_threads, don't adjust num_threads after the call.
12059         Use gomp_icv.
12060         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12061         ws->chunk_size by incr.
12062         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
12063         code.
12064         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12065         types.
12066         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12067         (omp_check_defines): Check even the compat defines.
12068         * config/linux/ptrlock.c: New file.
12069         * config/linux/ptrlock.h: New file.
12070         * config/linux/wait.h: New file.
12071         * config/posix/ptrlock.c: New file.
12072         * config/posix/ptrlock.h: New file.
12073         * config/linux/bar.h (gomp_team_barrier_wait,
12074         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12075         (gomp_team_barrier_set_task_pending,
12076         gomp_team_barrier_clear_task_pending,
12077         gomp_team_barrier_set_waiting_for_tasks,
12078         gomp_team_barrier_waiting_for_tasks,
12079         gomp_team_barrier_done): New inlines.
12080         (gomp_barrier_t): Rewritten.
12081         (gomp_barrier_state_t): New typedef.
12082         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12083         gomp_barrier_wait_start): Rewritten.
12084         (gomp_barrier_wait_end): Change second argument to
12085         gomp_barrier_state_t.
12086         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12087         inlines.
12088         * config/linux/bar.c: Include wait.h instead of libgomp.h and
12089         futex.h.
12090         (gomp_barrier_wait_end): Rewritten.
12091         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12092         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12093         * config/posix/bar.h (gomp_barrier_t): Add generation field.
12094         (gomp_barrier_state_t): New typedef.
12095         (gomp_team_barrier_wait,
12096         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12097         (gomp_barrier_wait_start): Or all but low 2 bits from generation
12098         into the return value.  Return gomp_barrier_state_t.
12099         (gomp_team_barrier_set_task_pending,
12100         gomp_team_barrier_clear_task_pending,
12101         gomp_team_barrier_set_waiting_for_tasks,
12102         gomp_team_barrier_waiting_for_tasks,
12103         gomp_team_barrier_done): New inlines.
12104         (gomp_barrier_wait_end): Change second argument to
12105         gomp_barrier_state_t.
12106         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12107         inlines.
12108         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12109         (gomp_barrier_wait_end): Change second argument to
12110         gomp_barrier_state_t.
12111         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12112         gomp_team_barrier_wake): New functions.
12113         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12114         futex.h.
12115         (gomp_futex_wake, gomp_futex_wait): New variables.
12116         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12117         * config/linux/lock.c: Rewrite to make locks task owned,
12118         for backwards compatibility provide the old entrypoints
12119         if symbol versioning.  Include wait.h instead of libgomp.h and
12120         futex.h.
12121         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12122         * config/posix95/lock.c: Rewrite to make locks task owned,
12123         for backwards compatibility provide the old entrypoints
12124         if symbol versioning.
12125         * config/posix/lock.c: Rewrite to make locks task owned,
12126         for backwards compatibility provide the old entrypoints
12127         if symbol versioning.
12128         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12129         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12130         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12131         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12132         (sys_futex0): Return error code.
12133         (futex_wake, futex_wait): If ENOSYS was returned, clear
12134         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12135         (cpu_relax, atomic_write_barrier): New static inlines.
12136         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12137         (futex_wake, futex_wait): If ENOSYS was returned, clear
12138         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12139         (cpu_relax, atomic_write_barrier): New static inlines.
12140         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12141         (sys_futex0): Return error code.
12142         (futex_wake, futex_wait): If ENOSYS was returned, clear
12143         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12144         (cpu_relax, atomic_write_barrier): New static inlines.
12145         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12146         (sys_futex0): Return error code.
12147         (futex_wake, futex_wait): If ENOSYS was returned, clear
12148         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12149         (cpu_relax, atomic_write_barrier): New static inlines.
12150         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12151         (sys_futex0): Return error code.
12152         (futex_wake, futex_wait): If ENOSYS was returned, clear
12153         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12154         (cpu_relax, atomic_write_barrier): New static inlines.
12155         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12156         (sys_futex0): Return error code.
12157         (futex_wake, futex_wait): If ENOSYS was returned, clear
12158         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12159         (cpu_relax, atomic_write_barrier): New static inlines.
12160         * config/linux/sem.c: Include wait.h instead of libgomp.h and
12161         futex.h.
12162         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12163         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12164         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12165         types.
12166         (omp_nest_lock_t): Change owner into void *, add lock field.
12167         * config/posix95/omp-lock.h: Include semaphore.h.
12168         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12169         (omp_lock_t): Use sem_t instead of mutex if semaphores
12170         aren't broken.
12171         (omp_nest_lock_t): Likewise.  Change owner to void *.
12172         * config/posix/omp-lock.h: Include semaphore.h.
12173         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12174         (omp_lock_t): Use sem_t instead of mutex if semaphores
12175         aren't broken.
12176         (omp_nest_lock_t): Likewise.  Add owner field.
12178 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
12180         * testsuite/libgomp.c/collapse-1.c: New test.
12181         * testsuite/libgomp.c/collapse-2.c: New test.
12182         * testsuite/libgomp.c/collapse-3.c: New test.
12183         * testsuite/libgomp.c/icv-1.c: New test.
12184         * testsuite/libgomp.c/icv-2.c: New test.
12185         * testsuite/libgomp.c/lib-2.c: New test.
12186         * testsuite/libgomp.c/lock-1.c: New test.
12187         * testsuite/libgomp.c/lock-2.c: New test.
12188         * testsuite/libgomp.c/lock-3.c: New test.
12189         * testsuite/libgomp.c/loop-4.c: New test.
12190         * testsuite/libgomp.c/loop-5.c: New test.
12191         * testsuite/libgomp.c/loop-6.c: New test.
12192         * testsuite/libgomp.c/loop-7.c: New test.
12193         * testsuite/libgomp.c/loop-8.c: New test.
12194         * testsuite/libgomp.c/loop-9.c: New test.
12195         * testsuite/libgomp.c/nested-3.c: New test.
12196         * testsuite/libgomp.c/nestedfn-6.c: New test.
12197         * testsuite/libgomp.c/sort-1.c: New test.
12198         * testsuite/libgomp.c/task-1.c: New test.
12199         * testsuite/libgomp.c/task-2.c: New test.
12200         * testsuite/libgomp.c/task-3.c: New test.
12201         * testsuite/libgomp.c/task-4.c: New test.
12202         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12203         to C++ testsuite default compiler options.
12204         * testsuite/libgomp.c++/collapse-1.C: New test.
12205         * testsuite/libgomp.c++/collapse-2.C: New test.
12206         * testsuite/libgomp.c++/ctor-10.C: New test.
12207         * testsuite/libgomp.c++/for-1.C: New test.
12208         * testsuite/libgomp.c++/for-2.C: New test.
12209         * testsuite/libgomp.c++/for-3.C: New test.
12210         * testsuite/libgomp.c++/for-4.C: New test.
12211         * testsuite/libgomp.c++/for-5.C: New test.
12212         * testsuite/libgomp.c++/loop-8.C: New test.
12213         * testsuite/libgomp.c++/loop-9.C: New test.
12214         * testsuite/libgomp.c++/loop-10.C: New test.
12215         * testsuite/libgomp.c++/task-1.C: New test.
12216         * testsuite/libgomp.c++/task-2.C: New test.
12217         * testsuite/libgomp.c++/task-3.C: New test.
12218         * testsuite/libgomp.c++/task-4.C: New test.
12219         * testsuite/libgomp.c++/task-5.C: New test.
12220         * testsuite/libgomp.c++/task-6.C: New test.
12221         * testsuite/libgomp.fortran/allocatable1.f90: New test.
12222         * testsuite/libgomp.fortran/allocatable2.f90: New test.
12223         * testsuite/libgomp.fortran/allocatable3.f90: New test.
12224         * testsuite/libgomp.fortran/allocatable4.f90: New test.
12225         * testsuite/libgomp.fortran/collapse1.f90: New test.
12226         * testsuite/libgomp.fortran/collapse2.f90: New test.
12227         * testsuite/libgomp.fortran/collapse3.f90: New test.
12228         * testsuite/libgomp.fortran/collapse4.f90: New test.
12229         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12230         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12231         * testsuite/libgomp.fortran/lib4.f90: New test.
12232         * testsuite/libgomp.fortran/lock-1.f90: New test.
12233         * testsuite/libgomp.fortran/lock-2.f90: New test.
12234         * testsuite/libgomp.fortran/nested1.f90: New test.
12235         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12236         * testsuite/libgomp.fortran/strassen.f90: New test.
12237         * testsuite/libgomp.fortran/tabs1.f90: New test.
12238         * testsuite/libgomp.fortran/tabs2.f: New test.
12239         * testsuite/libgomp.fortran/task1.f90: New test.
12240         * testsuite/libgomp.fortran/task2.f90: New test.
12241         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12242         * testsuite/libgomp.fortran/vla5.f90: Likewise.
12243         * testsuite/libgomp.c/pr26943-2.c: Likewise.
12244         * testsuite/libgomp.c/pr26943-3.c: Likewise.
12245         * testsuite/libgomp.c/pr26943-4.c: Likewise.
12247 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
12249         PR c++/36308
12250         * testsuite/libgomp.c++/ctor-11.C: New test.
12251         * testsuite/libgomp.c++/ctor-12.C: New test.
12253 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
12255         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12257 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
12259         PR middle-end/36106
12260         * testsuite/libgomp.c/atomic-5.c: New test.
12261         * testsuite/libgomp.c/atomic-6.c: New test.
12262         * testsuite/libgomp.c/autopar-1.c: New test.
12264 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12266         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12267         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12268         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12269         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12270         * configure: Regenerate.
12271         * Makefile.in, testsuite/Makefile.in: Likewise.
12273 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
12275         PR bootstrap/35457
12276         * aclocal.m4: Regenerate.
12277         * configure: Regenerate.
12279 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
12281         PR middle-end/35611
12282         * testsuite/libgomp.c/atomic-4.c: New test.
12284         PR libgomp/35625
12285         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12286         (gomp_iter_guided_next): Likewise.
12287         * testsuite/libgomp.c/pr35625.c: New test.
12289 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12291         * aclocal.m4: Regenerate.
12292         * configure: Likewise.
12293         * Makefile.in: Likewise.
12294         * testsuite/Makefile.in: Likewise.
12296 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
12298         PR middle-end/35185
12299         * testsuite/libgomp.c++/pr35185.C: New test.
12301 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
12303         PR middle-end/35549
12304         * testsuite/libgomp.c/pr35549.c: New test.
12306 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
12308         * testsuite/libgomp.c/atomic-3.c: New test.
12310 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12312         PR fortran/33197
12313         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12314         .F08 file suffixes.
12316 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
12318         PR libgomp/33131
12319         * configure.ac: Add ACX_HEADER_STRING.
12320         * env.c: Include strings.h.
12321         * aclocal.m4: Regenerate.
12322         * config.h.in: Regenerate.
12323         * configure: Regenerate.
12324         * Makefile.in: Regenerate.
12325         * testsuite/Makefile.in: Regenerate.
12327 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
12329         PR middle-end/35196
12330         * testsuite/libgomp.c/pr35196.c: New test.
12332         PR middle-end/35130
12333         * testsuite/libgomp.fortran/pr35130.f90: New test.
12334         * testsuite/libgomp.c/pr35130.c: New test.
12336 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
12338         PR middle-end/33880
12339         * testsuite/libgomp.c/pr33880.c: New test.
12340         * testsuite/libgomp.fortran/pr33880.f90: New test.
12342 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
12344         * configure: Regenerate.
12346 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
12348         * configure.ac: Move futex checking into ../config/futex.m4.
12349         * configure: Rebuilt.
12350         * aclocal.m4: Rebuilt.
12351         * Makefile.in: Rebuilt.
12353         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12354         2007-10-15 ../config/tls.m4 change.
12356 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
12358         PR c++/34513
12359         * testsuite/libgomp.c/pr34513.c: New test.
12360         * testsuite/libgomp.c++/pr34513.C: New test.
12362 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
12364         PR target/32765
12365         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12367 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
12369         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
12371 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
12373         * testsuite/libgomp.c/private-1.c: New test.
12375 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
12376             Paolo Bonzini  <bonzini@gnu.org>
12378         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
12379         instead of 'VPATH ='.
12380         * Makefile.in: Regenerate.
12382 2007-11-23  Matthias Klose  <doko@ubuntu.com>
12384         * configure.ac: Adjust makeinfo version check.
12385         * configure: Regenerate.
12387 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
12389         PR fortran/34020
12390         * testsuite/libgomp.fortran/pr34020.f90: New test.
12392 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
12394         PR c++/33894
12395         * testsuite/libgomp.c++/atomic-1.C: New test.
12397 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
12399         PR libgomp/33275
12400         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12401         Make x and y integers rather than (implicit) reals.  Add private (j)
12402         clause to the last omp parallel.
12404 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
12406         * configure: Regenerate following changes to ../config/tls.m4.
12408 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
12410         * testsuite/libgomp.fortran/stack.f90: New test.
12412 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
12414         * config/mingw32/proc.c: New file.
12416 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
12418         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12419         (main): Use __get_cpuid to get i386 target fetaures.
12420         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12421         (main): Use __get_cpuid to get x86_64 target fetaures.
12423 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
12425         PR target/32765
12426         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12427         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12429 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
12431         PR fortran/32550
12432         * testsuite/libgomp.fortran/pr32550.f90: New test.
12433         * testsuite/libgomp.fortran/crayptr2.f90: New test.
12435 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
12437         * aclocal.m4: Regenerated.
12439 2007-07-05  Tobias Burnus  <burnus@net-b.de>
12441         PR fortran/32359
12442         * testsuite/libgomp.fortran/pr32359.f90: New.
12444 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
12446         PR libgomp/32468
12447         * sections.c (GOMP_parallel_sections_start): Only decrease
12448         number of threads to COUNT if dyn_var is true.
12449         * testsuite/libgomp.c/pr32468.c: New test.
12451 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12453         PR libgomp/26308
12454         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12456 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
12458         PR middle-end/32362
12459         * testsuite/libgomp.c/pr32362-1.c: New test.
12460         * testsuite/libgomp.c/pr32362-2.c: New test.
12461         * testsuite/libgomp.c/pr32362-3.c: New test.
12463 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
12465         * team.c (gomp_team_start): Fix setting up thread_attr
12466         stack size.
12468 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
12470         * configure: Regenerate.
12472 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
12474         * Makefile.in: Regenerate.
12475         * configure: Regenerate.
12476         * aclocal.m4: Regenerate.
12477         * testsuite/Makefile.in: Regenerate.
12479 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
12481         * config/linux/proc.c: New file.
12483         PR libgomp/28482
12484         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12486 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
12488         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12490 2007-04-16  Matthias Klose  <doko@debian.org>
12492         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12493         flags if not building with -m64.
12494         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12495         flag for i?86-*-* targets, if current target matches -m64.
12497 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
12499         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12500         * Makefile.in: Regenerate.
12502 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12504         PR testsuite/31369
12505         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12506         ld_library_path.
12507         * testsuite/libgomp.fortran/fortran.exp: Likewise.
12509 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
12511         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12512         decls.
12513         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12514         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12515         (parse_affinity): New function.
12516         (initialize_env): Call it and gomp_init_affinity.
12517         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12518         create new pthread_attr_t and call gomp_init_thread_affinity
12519         on it for each thread before passing the attribute to pthread_create.
12520         * config/linux/affinity.c: New file.
12521         * config/posix/affinity.c: New file.
12522         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12523         * configure: Rebuilt.
12524         * config.h.in: Rebuilt.
12525         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12526         * Makefile.in: Rebuilt.
12528 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
12530         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12531         *-*-darwin*.
12532         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12533         and use it if found.
12535 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
12537         * testsuite/config/default.exp: New file.
12538         * testsuite/lib/libgomp.exp: New file.
12539         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12540         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12541         load_lib *, load_gcc_lib *): Move to libgomp.exp.
12542         (libgomp_load): Remove.
12543         * testsuite/lib/libgomp.exp (libgomp_init): Compute
12544         always_ld_library_path, not ld_library_path.  Set additional_flags
12545         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12546         (target_compile): Do not call libgomp_init.  Append lang_library_path
12547         and lang_link_flags to options.
12548         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
12549         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
12550         here.
12551         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12552         always_ld_library_path.  Set LD_LIBRARY_PATH here.
12553         * testsuite/libgomp.fortran/fortran.exp: Ditto.
12554         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12555         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12556         CX8 flag.
12557         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12558         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12559         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12560         * testsuite/libgomp.c/pr29947-1.c: Ditto.
12561         * testsuite/libgomp.c/atomic-10.c: Ditto.
12563 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
12565         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12566         dg-final cleanup-modules line.
12567         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12568         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12569         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12570         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12571         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12572         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12573         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12575 2007-03-18  Andreas Schwab  <schwab@suse.de>
12577         * acinclude.m4: Adjust regular expression for ld version
12578         extraction.
12579         * configure: Regenerate.
12581 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
12583         * Makefile.am: Add install-pdf target as copied from
12584         automake v1.10 rules.
12585         * Makefile.in: Regenerate
12587 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
12589         PR libgomp/28486
12590         * configure: Regenerate.
12592         PR c++/30703
12593         * testsuite/libgomp.c++/pr30703.C: New test.
12595 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
12597         Revert:
12598         2006-07-05  Eric Christopher  <echristo@apple.com>
12599         * configure.ac: Depend addition of -pthread on host OS.
12600         * configure: Regenerate.
12602 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12604         * libgomp.texi: Fix spacing after abbreviations.
12606 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
12608         PR libgomp/30546
12609         * configure.ac: Add check for makeinfo
12610         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
12611         if an appropriate version of makeinfo is found.
12612         * aclocal.m4: Regenerated.
12613         * configure: Regenerated.
12614         * Makefile.in: Regenerated.
12615         * testsuite/Makefile.in: Regenerated.
12617 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
12619         PR libgomp/30540
12620         * libgomp.texi: More about implementation-dependent settings.
12622 2007-01-26  Tobias Burnus  <burnus@net-b.de>
12624         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12626 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
12628         PR middle-end/30494
12629         * testsuite/libgomp.c/pr30494.c: New test.
12631 2007-01-15  Tom Tromey  <tromey@redhat.com>
12633         * configure: Rebuilt.
12634         * configure.ac: Fixed comment.
12636 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
12638         * libgomp.texi: Document implementation specific default values of
12639         environment variables.
12641 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
12643         PR libgomp/28209
12644         * libgomp.texi: New file.
12645         * configure.ac: Add --enable-generated-files-in-srcdir option.
12646         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12647         files to srcdir.
12648         * Makefile.in: Regenerated.
12649         * config.h.in: Regenerated.
12650         * testsuite/Makefile.in: Regenerated.
12651         * NOTES: Removed.
12653 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
12655         PR libgomp/29949
12656         * env.c (omp_set_num_threads): Set illegal thread count to 1.
12658 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
12660         * configure: Regenerate.
12662 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
12664         PR libgomp/29947
12665         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
12666         start if there shouldn't be any loop iterations.
12667         (gomp_loop_ordered_static_start): Remove start == end test.
12668         * testsuite/libgomp.c/pr29947-1.c: New test.
12669         * testsuite/libgomp.c/pr29947-2.c: New test.
12671 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
12673         * configure.tgt: Force initial-exec TLS model on Linux only.
12675 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
12677         * configure: Regenerated.
12679 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
12681         * env.c (parse_schedule): Reject out of range values.
12682         (parse_unsigned_long): Reject out of range, negative or zero values.
12684 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
12686         PR fortran/29629
12687         * testsuite/libgomp.fortran/pr29629.f90: New test.
12689 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
12691         PR libgomp/29494
12692         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12693         * config/posix95: New directory.
12694         * config/posix95/omp-lock.h: New file.
12695         * config/posix95/lock.c: Likewise.
12697 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
12699         * aclocal.m4: Regenerate.
12700         * configure: Regenerate.
12702 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12704         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12705         '<' to '<='.
12707 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12709         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12710         test.
12711         * configure: Regenerate.
12712         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12714 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
12716         PR middle-end/25261
12717         PR middle-end/28790
12718         * testsuite/libgomp.c/nestedfn-4.c: New test.
12719         * testsuite/libgomp.c/nestedfn-5.c: New test.
12720         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12722         PR fortran/29097
12723         * testsuite/libgomp.fortran/condinc1.f: New test.
12724         * testsuite/libgomp.fortran/condinc2.f: New test.
12725         * testsuite/libgomp.fortran/condinc3.f90: New test.
12726         * testsuite/libgomp.fortran/condinc4.f90: New test.
12727         * testsuite/libgomp.fortran/condinc1.inc: New file.
12729 2006-09-18  Tom Tromey  <tromey@redhat.com>
12731         * configure: Rebuilt.
12733 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
12735         PR c/28768
12736         PR preprocessor/14634
12737         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12738         to AC_DEFINE.
12739         * configure: Regenerate.
12741 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
12743         * testsuite/libgomp.fortran/reduction3.f90: Change
12744         -2147483648 to -huge(i)-1 to avoid overflow.
12745         * testsuite/libgomp.fortran/reduction4.f90: Change
12746         Z'ffffffff' to not(0) to avoid overflow.
12748 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
12750         PR libgomp/25938
12751         * Makefile.am (libsubincludedir): New.
12752         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12753         * Makefile.in: Regenerate.
12755 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
12757         PR libgomp/28725
12758         * env.c: Include ctype.h.
12759         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12760         leading and/or trailing whitespace and compare strings case
12761         insensitively.
12763 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
12765         PR fortran/28390
12766         * testsuite/libgomp.fortran/pr28390.f: New test.
12768 2006-07-05  Eric Christopher  <echristo@apple.com>
12770         * configure.ac: Depend addition of -pthread on host OS.
12771         * configure: Regenerate.
12773 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
12775         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12776         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12777         defined.
12779 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
12781         PR libgomp/26175
12782         PR libgomp/26477
12783         * configure.ac: If neither --enable-linux-futex nor
12784         --disable-linux-futex is passed, determine the default by checking
12785         for compiling and/or running against NPTL.  With --enable-linux-futex,
12786         check if SYS_gettid and SYS_futex are defined.
12787         * configure: Rebuilt.
12789 2006-06-14  Richard Henderson  <rth@redhat.com>
12791         PR libgomp/28008
12792         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12793         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12795 2006-06-09  Richard Henderson  <rth@redhat.com>
12797         * env.c (gomp_nthreads_var): Change to unsigned long.
12798         (gomp_run_sched_chunk): Likewise.
12799         (parse_unsigned_long): Rename from parse_num_threads and generalize.
12800         (initialize_env): Initialize gomp_thread_attr.
12801         * libgomp.h (gomp_nthreads_var): Update decl.
12802         (gomp_run_sched_chunk): Likewise.
12803         (gomp_thread_attr): Declare.
12804         * team.c (gomp_thread_attr): Export.
12805         (initialize_team): Don't initialize it.
12807 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
12809         PR fortran/27916
12810         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12811         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12813 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12815         * config/mingw32/time.c: New file.
12816         * configure.tgt: Use it.
12818 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
12820         * Makefile.am: Add install-html target. Add install-html to .PHONY
12821         * Makefile.in: Regenerate.
12823 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12825         PR libgomp/27612
12826         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12827         * testsuite/libgomp.c/critical-1.c: Likewise.
12828         * testsuite/libgomp.c/loop-1.c: Likewise.
12829         * testsuite/libgomp.c/loop-2.c: Likewise.
12830         * testsuite/libgomp.c/single-1.c: Likewise.
12831         * testsuite/libgomp.c/ordered-1.c: Likewise.
12832         * testsuite/libgomp.c/ordered-2.c: Likewise.
12834 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
12836         PR middle-end/27416
12837         * libgomp.fortran/pr27416-1.f90: New test.
12839 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
12841         PR fortran/27395
12842         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12843         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12845 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
12847         PR c++/26943
12848         * testsuite/libgomp.c/pr26943-1.c: New test.
12849         * testsuite/libgomp.c/pr26943-2.c: New test.
12850         * testsuite/libgomp.c/pr26943-3.c: New test.
12851         * testsuite/libgomp.c/pr26943-4.c: New test.
12852         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12853         * testsuite/libgomp.c++/pr26943.C: New test.
12855 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
12857         PR middle-end/27337
12858         * testsuite/libgomp.c++/pr27337.C: New test.
12860 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
12862         PR c/26171
12863         * testsuite/libgomp.c/pr26171.c: New test.
12865 2006-04-25  Richard Henderson  <rth@redhat.com>
12867         PR libgomp/25865
12868         * configure.ac: Use GCC_CHECK_TLS.
12869         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12870         * Makefile.in, aclocal.m4, configure: Regenerate.
12872 2006-04-10  Matthias Klose  <doko@debian.org>
12874         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12875         directory names containing underscores.
12877 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
12879         PR c++/26691
12880         * testsuite/libgomp.c++/pr26691.C: New test.
12882 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
12884         * testsuite/libgomp.fortran/retval2.f90: New test.
12886 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
12888         * testsuite/libgomp.c++: New directory.
12890 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
12892         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12893         * config/posix/sem.c: Implement the above.
12895 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
12897         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12898         define HAVE_BROKEN_POSIX_SEMAPHORES.
12899         * configure: Rebuilt.
12900         * config.h.in: Rebuilt.
12902 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12904         PR bootstrap/26161
12905         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12906         for the other pthread check.
12907         * configure: Regenerate.
12908         * config.h.in: Regenerate.
12910 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
12912         PR libgomp/25938
12913         PR libgomp/25984
12914         * Makefile.am (fincludedir): New variable.
12915         (nodist_include_HEADERS): Remove Fortran files.
12916         (nodist_finclude_HEADERS): New variable.
12917         * Makefile.in: Regenerated.
12919 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
12921         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12922         Remove tests for returning assumed character length arrays.
12924 2006-02-12  Roger Sayle  <roger@eyesopen.com>
12925             John David Anglin  <dave@hiauly1.hia.nrc.ca>
12927         PR libgomp/25936
12928         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12930 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
12932         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12934 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12936         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12937         part of LD_LIBRARY_PATH manually.
12939 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
12941         PR libgomp/25852
12942         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12943         libgomp_init.
12945 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
12947         PR libgomp/25884
12948         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12949         * configure.ac (PERL): Don't set.
12950         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12951         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12952         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12953         * omp.h.in: Wrap the new configure substitutions with @ characters.
12954         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12955         * aclocal.m4, configure, Makefile.in: Regenerate.
12956         * mkomp_h.pl: Delete.
12958 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
12960         PR libgomp/25259
12961         * configure.ac: Use GCC_HEADER_STDINT.
12962         * libgomp.h: Include gstdint.h.
12963         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12964         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12966 2006-01-24  Richard Henderson  <rth@redhat.com>
12968         PR libgomp/25942
12969         * configure.ac: Add AM_MAINTAINER_MODE.
12970         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12972 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
12974         * Makefile.in: Regenerate.
12975         * testsuite/Makefile.in: Regenerate.
12976         * aclocal.m4: Regenerate.
12978 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
12980         * config/posix/proc.c: Conditional include of sys/loadavg.h for
12981         Solaris.
12982         * configure.ac: Add check for loadavg.h.
12983         (link_gomp): Adjust comment.
12984         * configure: Regenerate.
12985         * config.h.in: Regenerate.
12987 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
12989         PR libgomp/25877
12990         * configure.ac: Remove check for alloca.h.
12991         * configure: Regenerate.
12992         * config.h.in: Regenerate.
12993         * libgomp.h: define gomp_alloca to be __builtin_alloca.
12994         * team.c: Remove use of alloca.h.
12995         Call gomp_alloca instead of alloca.
12997 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
12999         PR libgomp/25877
13000         * team.c: Add include of alloca.h.
13001         * configure.ac: Add check for alloca.h.
13002         * configure: Regenerate.
13003         * config.h.in: Regenerate.
13005 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
13007         PR fortran/25219
13008         * testsuite/libgomp.fortran/pr25219.f90: New test.
13010 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
13012         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13013         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13014         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13015         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13016         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13017         testsuite/libgomp.fortran/threadprivate1.f90,
13018         testsuite/libgomp.fortran/threadprivate2.f90,
13019         testsuite/libgomp.fortran/threadprivate3.f90,
13020         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13021         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13022         testsuite/libgomp.fortran/omp_parse3.f90: Change required
13023         effective-target to TLS runtime.
13025         * testsuite/libgomp.fortran/pr25162.f: Require
13026         effective-target TLS runtime.
13028 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
13030         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13031         * testsuite/libgomp.c/nestedfn-3.c: New test.
13033 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
13035         PR fortran/25162
13036         * testsuite/libgomp.fortran/pr25162.f: New test.
13038 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
13040         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13041         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13043 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
13045         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13046         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13047         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13048         single.c, team.c, work.c, config/linux/alpha/futex.h,
13049         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13050         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13051         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13052         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13053         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13054         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13055         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13056         FSF address.
13058 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13060         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13061         to nodist_noinst_HEADERS.
13062         * Makefile.in: Rebuilt.
13064         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13065         add integer count field.
13066         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13067         omp_nest_lock_t type change.
13068         (omp_init_nest_lock): Likewise.  Initialize count to 0.
13069         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13070         Increment count.
13071         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13072         Decrement count.
13073         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13074         Increment count if successful and return the new nesting level.
13075         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13076         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13077         * testsuite/libgomp.c/lib-1.c: New test.
13078         * testsuite/libgomp.fortran/lib1.f90: New test.
13079         * testsuite/libgomp.fortran/lib2.f: New test.
13080         * testsuite/libgomp.fortran/lib3.f: New test.
13082 2005-11-17  Richard Henderson  <rth@redhat.com>
13084         PR 24845
13085         * Makefile.am (nodist_toolexeclib_HEADERS): New.
13086         * configure.ac (link_gomp): New.  Substitute it.
13087         (AC_CONFIG_FILES): Add libgomp.spec.
13088         * libgomp.spec.in: New file.
13089         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13090         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13092 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13094         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13095         reduction(-:var) behaving the same as reduction(+:var).
13096         * testsuite/libgomp.c/reduction-4.c: New test.
13098 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
13100         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13101         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13102         testsuite/libgomp.c/copyin-3.c,
13103         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13104         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13105         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13106         testsuite/libgomp.c++/pr24455.C,
13107         testsuite/libgomp.fortran/threadprivate1.f90,
13108         testsuite/libgomp.fortran/threadprivate2.f90,
13109         testsuite/libgomp.fortran/threadprivate3.f90,
13110         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13111         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13112         testsuite/libgomp.fortran/omp_parse3.f90: Require
13113         effective-target TLS.
13115 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
13117         * HEADER: Remove.
13119 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
13121         PR libgomp/24797
13122         * team.c (initialize_team): Pass NULL rather than free as
13123         pthread_key_create destructor.  Initialize thread specific data
13124         pointer in initial thread to a static local variable rather than
13125         malloced memory.
13127 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
13129         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13130         its location to ld_library_path.
13132 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13134         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13136 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13138         * testsuite/libgomp.c: Rename from libgomp.dg.
13140 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
13142         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13143         threadprivate variable 'i'.
13145 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
13147         * config/linux/s390/futex.h: New file.
13148         * configure.tgt: Use it.
13150         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13151         before the parallel.
13153 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
13155         PR c++/24734
13156         * testsuite/libgomp.c++/master-1.C: New test.
13158 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13160         * testsuite/libgomp.dg/copyin-3.c: New test.
13162 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13164         * testsuite/libgomp.fortran/retval1.f90: New test.
13165         * testsuite/libgomp.fortran/vla7.f90: New test.
13167 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
13169         * testsuite/libgomp.fortran/vla2.f90: New test.
13170         * testsuite/libgomp.fortran/vla3.f90: New test.
13171         * testsuite/libgomp.fortran/vla4.f90: New test.
13172         * testsuite/libgomp.fortran/vla5.f90: New test.
13173         * testsuite/libgomp.fortran/vla6.f90: New test.
13175 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
13177         * config/linux/sparc/futex.h: New file.
13178         * configure.tgt: Use it.
13179         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13181         * critical.c: Include stdlib.h.
13182         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13183         ignoring return value.
13184         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13185         LIBGOMP_CHECK_SYNC_BUILTINS check.
13186         * configure: Rebuilt.
13188 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13190         * testsuite/libgomp.fortran/vla1.f90: New test.
13192 2005-10-31  Richard Henderson  <rth@redhat.com>
13194         * testsuite/libgomp.fortran/character2.f90: Fix race condition
13195         setting 's' in different threads.
13197 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13199         * libgomp.h (attribute_hidden, ialias): Define.
13200         * config/posix/proc.c (omp_get_num_procs): Add ialias.
13201         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13202         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13203         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13204         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13205         omp_test_lock, omp_test_nest_lock): Likewise.
13206         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13207         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13208         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13209         omp_test_lock, omp_test_nest_lock): Likewise.
13210         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13211         omp_get_dynamic, omp_get_nested): Likewise.
13212         * parallel.c (omp_get_num_threads, omp_get_max_threads,
13213         omp_get_thread_num, omp_in_parallel): Likewise.
13214         * fortran.c (ialias_redirect): Define.
13215         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13216         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13217         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13218         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13219         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13220         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13221         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13222         omp_get_wtime): Add ialias_redirect.
13224 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
13226         * fortran.c: Include stdlib.h.
13228 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
13230         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13231         * Makefile.in: Regenerated.
13233 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
13235         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13236         * libgomp_f.h.in (omp_check_defines): New function.
13237         * env.c: Include libgomp_f.h.
13238         (initialize_env): Call omp_check_defines.
13240         * testsuite/libgomp.dg/copyin-2.c: New test.
13241         * testsuite/libgomp.c++/copyin-2.C: New test.
13242         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13244         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13245         * testsuite/libgomp.fortran/sharing2.f90: New test.
13247         * testsuite/libgomp.dg/copyin-1.c: New test.
13248         * testsuite/libgomp.c++/copyin-1.C: New test.
13250 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
13252         * testsuite/libgomp.fortran/crayptr1.f90: New test.
13254         * testsuite/libgomp.fortran/workshare1.f90: New test.
13256         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13257         only test.
13258         * libgomp.fortran/sharing1.f90: New test.
13260 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
13262         PR c++/24502
13263         * testsuite/libgomp.c++/loop-7.C: New test.
13265         * testsuite/libgomp.dg/nestedfn-2.c: New test.
13267         * testsuite/libgomp.dg/nestedfn-1.c: New test.
13268         * testsuite/libgomp.fortran/reduction6.f90: New test.
13269         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13271 2005-10-23  Richard Henderson  <rth@redhat.com>
13273         * testsuite/libgomp.c++/ctor-1.C: New.
13274         * testsuite/libgomp.c++/ctor-2.C: New.
13275         * testsuite/libgomp.c++/ctor-3.C: New.
13276         * testsuite/libgomp.c++/ctor-4.C: New.
13277         * testsuite/libgomp.c++/ctor-5.C: New.
13278         * testsuite/libgomp.c++/ctor-6.C: New.
13279         * testsuite/libgomp.c++/ctor-7.C: New.
13280         * testsuite/libgomp.c++/ctor-8.C: New.
13281         * testsuite/libgomp.c++/ctor-9.C: New.
13283 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
13285         PR 24455
13286         * testsuite/libgomp.c++/pr24455-1.C: New test.
13287         * testsuite/libgomp.c++/pr24455.C: New test.
13288         * testsuite/libgomp.dg/pr24455-1.c: New test.
13289         * testsuite/libgomp.dg/pr24455.c: New test.
13291 2005-10-20  Richard Henderson  <rth@redhat.com>
13293         * testsuite/libgomp.c++/loop-6.C: New.
13294         * testsuite/libgomp.dg/loop-3.c: New.
13296 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
13298         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13299         explicitly private.
13300         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13301         explicitly shared.
13303 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
13305         * testsuite/libgomp.fortran/jacobi.f: New test.
13307 2005-10-19  Richard Henderson  <rth@redhat.com>
13309         * configure.tgt (i?86-linux): Default to with_arch instead of
13310         CFLAGS.  Add -mtune to match target_cpu.
13311         (x86_64-linux): Tune to i686.
13313         * fortran.c (omp_test_nest_lock_): Fix typo.
13315 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
13317         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13318         gomp_ordered_sync): Do nothing if team->nthreads == 1.
13319         * testsuite/libgomp.dg/ordered-3.c: New test.
13321         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13322         Remove volatile keyword.
13324         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13325         in COMMON block to avoid warnings on 64-bit targets.
13327 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
13329         * testsuite/libgomp.dg/shared-3.c: New test.
13331 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13333         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13334         * testsuite/libgomp.fortran/reduction5.f90: New test.
13336 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13338         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13339         dg-options.
13340         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
13341         flush loop now that __sync_synchronize has proper memory barrier.
13342         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13343         Add -ffixed-form to dg-options.
13345 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13347         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13348         from subdirectories.
13349         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13350         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13351         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13352         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13353         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13354         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13355         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13356         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13357         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13358         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13359         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13360         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13361         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13362         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13363         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13364         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13365         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13366         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13367         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13368         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13369         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13370         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13371         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13372         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13373         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13375 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
13377         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13378         lang_library_path exists.  Use find instead of glob to gather tests.
13379         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13381 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13383         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13384         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13385         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13386         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13387         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13388         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13389         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13390         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13391         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13392         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13393         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13394         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13395         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13397 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
13399         * testsuite/libgomp.dg/vla-1.c: New test.
13401         * testsuite/libgomp.fortran/reference2.f90: New test.
13403         * testsuite/libgomp.fortran/character2.f90: Remove explicit
13404         declaration of omp_get_thread_num.
13405         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
13406         use omp_lib.
13408         * testsuite/libgomp.fortran/reduction1.f90: New test.
13409         * testsuite/libgomp.fortran/reduction2.f90: New test.
13410         * testsuite/libgomp.fortran/reduction3.f90: New test.
13411         * testsuite/libgomp.fortran/reduction4.f90: New test.
13413 2005-10-13  Richard Henderson  <rth@redhat.com>
13415         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13416         * Makefile.in: Regenerate.
13417         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13418         * libgomp.h: Include bar.h.
13419         (struct gomp_barrier): Remove.
13420         (struct gomp_team): Add barrier.  Replace master_barrier with
13421         master_release.  Replace threads with ordered_release.
13422         (struct gomp_thread): Replace barrier with release.
13423         * ordered.c (gomp_ordered_first): Update for ordered_release change.
13424         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13425         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13426         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13427         (GOMP_single_copy_end): Likewise.
13428         * team.c (gomp_threads_dock): New.
13429         (gomp_barrier_init, gomp_barrier_destroy): Remove.
13430         (gomp_thread_start): Use gomp_barrier_wait.
13431         (new_team, free_team): Update for gomp_team changes.
13432         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13433         (gomp_team_end): Use gomp_barrier_wait.
13434         (initialize_team): Update for gomp_thread changes.
13435         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13436         (gomp_work_share_end_nowait): Use atomic ops when available.
13437         * config/linux/bar.c, config/linux/bar.h: New files.
13438         * config/posix/bar.c, config/posix/bar.h: New files.
13440 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
13442         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13443         * testsuite/libgomp.dg/single-2.c: New test.
13445         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13446         lang_link_flags): Unset, so that they aren't inherited from previously
13447         sourced *.exp.
13449         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13451 2005-10-12  Richard Henderson  <rth@redhat.com>
13453         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13454         (libgomp_init): Use lang_test_file, lang_library_path, and
13455         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
13457         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13458         (lang_test_file, lang_link_flags): New.
13459         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13461         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13462         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13463         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13464         testsuite/libgomp.c++/parallel-1.C,
13465         testsuite/libgomp.c++/reduction-1.C,
13466         testsuite/libgomp.c++/reduction-2.C,
13467         testsuite/libgomp.c++/reduction-3.C,
13468         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13469         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13470         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13471         New files, largely cribbed from the C testsuite.
13473 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
13475         * testsuite/libgomp.fortran/character1.f90: New test.
13476         * testsuite/libgomp.fortran/character2.f90: New test.
13478         * testsuite/libgomp.dg/nested-1.c: New test.
13479         * testsuite/libgomp.dg/nested-2.c: New test.
13480         * testsuite/libgomp.fortran/do1.f90: New test.
13481         * testsuite/libgomp.fortran/do2.f90: New test.
13483         * testsuite/libgomp.fortran/reference1.f90: New test.
13485 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
13487         * testsuite/libgomp.dg/reduction-1.c: New test.
13488         * testsuite/libgomp.dg/reduction-2.c: New test.
13489         * testsuite/libgomp.dg/reduction-3.c: New test.
13491 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
13493         * testsuite/libgomp.dg/atomic-1.c: New test.
13494         * testsuite/libgomp.dg/atomic-2.c: New test.
13496 2005-10-09  Richard Henderson  <rth@redhat.com>
13498         * critical.c (atomic_lock): New.
13499         (initialize_critical): Initialize it.
13500         (GOMP_atomic_start, GOMP_atomic_end): New.
13501         * libgomp.map: Export them.
13502         * libgomp_g.h: Declare them.
13504         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13506 2005-10-02  Richard Henderson  <rth@redhat.com>
13508         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
13509         to XCFLAGS instead of CFLAGS.
13511 2005-09-30  Richard Henderson  <rth@redhat.com>
13513         * configure.ac: Determine whether -pthread or -lpthread is needed.
13514         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13515         * Makefile.in, configure: Rebuild.
13517 2005-09-28  Richard Henderson  <rth@redhat.com>
13519         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13520         * testsuite/libgomp.dg/omp-single-3.c: New test.
13522 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
13524         * testsuite/libgomp.dg/omp-single-2.c: New test.
13525         * testsuite/libgomp.dg/shared-2.c: Fix return code.
13527 2005-09-27  Richard Henderson  <rth@redhat.com>
13529         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13530         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13532 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
13534         * testsuite/libgomp.dg/omp-loop03.c: New test.
13536 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
13538         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13540 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
13542         * testsuite/libgomp.dg/omp-single-1.c: New test.
13543         * testsuite/libgomp.dg/shared-1.c: Return 0.
13544         Add prototype for abort.
13545         * testsuite/libgomp.dg/shared-2.c: Likewise.
13547 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
13549         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13550         constructs.
13552 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
13554         * testsuite/libgomp.dg/shared-1.c: New test.
13555         * testsuite/libgomp.dg/shared-2.c: New test.
13557 2005-09-24  Richard Henderson  <rth@redhat.com>
13559         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13561 2005-09-24  Richard Henderson  <rth@redhat.com>
13563         * iter.c (gomp_iter_static_next): Round up when computing number
13564         of iterations.  Don't bother distributing a remainder equally.
13566         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13567         Don't call srand.  Zero b before testing.
13568         (main): New.
13570 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
13572         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13573         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13575 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
13577         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13578         without !$omp end do, followed immediately by subroutine end.
13580 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
13582         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13584 2005-09-22  Richard Henderson  <rth@redhat.com>
13586         * critical.c (GOMP_critical_name_start): Change argument to void**.
13587         Reuse the pointer space if the mutex fits.
13588         (GOMP_critical_name_end): Likewise.
13589         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13590         * libgomp_g.h (GOMP_critical_name_start): Update decl.
13591         (GOMP_critical_name_end): Likewise.
13592         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13593         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13595 2005-09-20  Richard Henderson  <rth@redhat.com>
13597         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13598         (create_lock_lock): New.
13599         (initialize_critical): Initialize it.
13600         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13601         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13603 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
13605         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13607 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
13609         * testsuite/libgomp.dg/omp-loop01.c: New test.
13610         * testsuite/libgomp.dg/omp-loop02.c: New test.
13612 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
13614         * configure.ac (AC_PROG_FC): Add.
13615         (USE_FORTRAN): New automake conditional.
13616         * configure: Rebuilt.
13617         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13618         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13619         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13620         Add rules to build them.
13621         * Makefile.in: Rebuilt.
13622         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13623         OMP_NEST_LOCK_KIND.
13624         * libgomp.map: Add Fortran wrappers.
13625         * libgomp_f.h.in: New file.
13626         * omp_lib.h.in: New file.
13627         * omp_lib.f90.in: New file.
13628         * fortran.c: New file.
13629         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13630         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13631         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13632         libgfortran has been built.
13633         * testsuite/libgomp.fortran/fortran.exp: New file.
13634         * testsuite/libgomp.fortran/omp_cond1.f: New test.
13635         * testsuite/libgomp.fortran/omp_cond2.f: New test.
13636         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13637         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13638         * testsuite/libgomp.fortran/omp_hello.f: New test.
13639         * testsuite/libgomp.fortran/omp_orphan.f: New test.
13640         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13641         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13642         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13643         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13644         * testsuite/libgomp.fortran/omp_reduction.f: New test.
13645         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13646         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13648 2005-08-30  Richard Henderson  <rth@redhat.com>
13650         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13651         function for when aliases are not usable.
13652         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13653         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13654         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13655         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13656         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13657         GOMP_loop_ordered_guided_next): Likewise.
13658         * ordered.c (GOMP_ordered_start): Likewise.
13660 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
13662         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13663         * testsuite/libgomp.dg/omp_hello.c: Fix return code
13664         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13665         * testsuite/libgomp.dg/omp_orphan.c: Likewise
13666         * testsuite/libgomp.dg/omp_reduction.c: Likewise
13667         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13668         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13669         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13670         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13672 2005-07-07  Eric Christopher  <echristo@redhat.com>
13673             Diego Novillo  <dnovillo@redhat.com>
13675         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13676         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13677         up code.
13678         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13679         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13680         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13681         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13682         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13683         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13684         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13686 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
13688         * TOPLEVEL.patch: Remove.
13690 2005-05-16  Richard Henderson  <rth@redhat.com>
13692         * configure.ac: Test for clock_gettime.
13693         * config.h.in, configure: Rebuild.
13694         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13695         (omp_get_wtime): Use clock_gettime if available.
13696         (omp_get_wtick): Use clock_getres if available.
13698 2005-05-11  Richard Henderson  <rth@redhat.com>
13700         * config/linux/ia64/futex.h: New file.
13701         * configure.tgt: Use it.
13703         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13705 2005-05-07  Richard Henderson  <rth@redhat.com>
13707         * config/linux/powerpc/futex.h: New file.
13708         * configure.tgt: Use it.
13710         * config/linux/i486/futex.h: Merge ...
13711         * config/linux/x86_64/futex.h: ... into ...
13712         * config/linux/x86/futex.h: ... here.
13713         * configure.tgt: Update to match.
13715 2005-05-06  Richard Henderson  <rth@redhat.com>
13717         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13718         * config/linux/i486/futex.h: Likewise.
13719         * config/linux/x86_64/futex.h: Likewise.
13721         * config/linux/lock.c: New file.
13722         * config/linux/omp-lock.h: New file.
13724         * critical.c, env.h: Don't include omp.h
13725         * config/posix/lock.c: Include libgomp.h instead of omp.h.
13726         * config/posix/time.c: Likewise.
13727         * config/posix/omp-lock.h: New file.
13728         * libgomp.h: Include omp-lock.h and omp.h.
13729         * Makefile.am (nodist_include_HEADERS): New.
13730         (omp.h): New rule.
13731         * configure.ac (PERL): New.
13732         * mkomp_h.pl: New file.
13733         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13734         with templates.
13735         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13737         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13738         build directory.  Re-add -march=i486 hack.
13740         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13741         (libgomp_link_flags): Remove.
13742         (libgomp_initialized): Remove.
13743         (libgomp_init): Don't protect from reinitialization.  Copy code
13744         from libstdc++ for getting the multilib set correctly.
13746 2005-05-05  Richard Henderson  <rth@redhat.com>
13748         * config/linux/alpha/futex.h: New file.
13749         * configure.tgt (alpha*-*-linux*): Use it.
13751         * config/posix/mutex.c: New file.
13752         * config/posix/sem.c: Use libgomp.h.
13754         * configure.tgt (x86_64-linux): Also test CC for -m32.
13755         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13757         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
13758         after $gccpath.
13760         * Makefile.am (SUBDIRS): New.
13761         (libgomp_la_LDFLAGS): Add -lpthread.
13762         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13763         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13765         * libgomp_g.h: New file.
13766         * libgomp.h: Split out all public declarations to libgomp_g.h.
13767         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13768         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13769         * config/linux/sem.h: Likewise.
13770         * config/posix/sem.h: Likewise.
13772         * Makefile.am (AM_LDFLAGS): New.
13773         (libgomp_version_script): Split out from ...
13774         (libgomp_la_LDFLAGS): ... here.
13775         (libgomp_version_info): New.
13776         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13777         (LIBGOMP_ENABLE): New.
13778         (LIBGOMP_CHECK_LINKER_FEATURES): New.
13779         (LIBGOMP_ENABLE_SYMVERS): New.
13780         * configure.ac (AC_INIT): Version 1.0.
13781         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13782         (enable-linux-futex): Likewise.  Rename from enable-futex.
13783         (libtool_VERSION): New.
13784         (LIBGOMP_ENABLE_SYMVERS): Use it.
13785         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13786         * Makefile.in, aclocal.m4, configure: Rebuild.
13788         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13789         (gomp_mutex_unlock_slow): Fix typo.
13790         * config/linux/sem.c: Similarly.
13791         (gomp_sem_post_slow): Fix typo.
13792         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13793         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13794         [__PIC__] (sys_futex0): Don't use tmp output in asm.
13796         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13797         (libgomp_la_LDFLAGS): Add top_srcdir to path.
13798         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13799         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
13800         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13801         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13802         LDFLAGS.  Pull enable_futex check to top-level.
13803         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
13804         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13806         First attempt at real configury.
13807         * Makefile, config.h: Remove file.
13808         * Makefile.am, Makefile.in: New file.
13809         * acinclude.m4 aclocal.m4: New file.
13810         * configure.ac, configure.tgt, configure: New file.
13812         * config/posix/lock.c: Rename from sys-lock.c.
13813         * config/posix/mutex.h: Rename from sys-mutex.h.
13814         * config/posix/sem.c: Rename from sys-sem.c.
13815         * config/posix/sem.h: Rename from sys-sem.h.
13816         * config/posix/proc.c: Rename from sys-proc.c.
13817         * config/posix/time.c: Rename from sys-proc.c.
13819         * config/linux/mutex.c: New file.
13820         * config/linux/mutex.h: New file.
13821         * config/linux/sem.c: New file.
13822         * config/linux/sem.h: New file.
13823         * config/linux/i486/futex.h: New file.
13824         * config/linux/x86_64/futex.h: New file.
13826 2005-05-04  Richard Henderson  <rth@redhat.com>
13828         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13829         * libgomp.h: Declare them.
13830         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13831         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13833 2005-05-04  Richard Henderson  <rth@redhat.com>
13835         * libgomp-1 code drop
13837 2005-05-04  Richard Henderson  <rth@redhat.com>
13839         * iter.c (gomp_iter_static_next): Return tri-state on 0.
13840         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13841         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13842         (gomp_iter_static_next): Update.
13843         (gomp_ordered_static_next): Update.
13844         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13845         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
13846         totally empty range.
13847         (gomp_loop_ordered_static_next): Refine test for calling
13848         gomp_ordered_static_next.
13849         * testsuite/ordered-1.c: Add case for more threads than iterations.
13851         * iter.c (gomp_iter_runtime_next_locked): Remove.
13852         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13853         gomp_loop_guided_start, gomp_loop_ordered_static_start,
13854         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13855         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13856         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13857         gomp_loop_ordered_guided_next): Downcase name, make static, add
13858         an external alias with the old name.
13859         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13860         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13861         switch and call one of the above static functions.
13862         * libgomp.h: Update.
13864         * work.c (gomp_work_share_start): Lock the mutex for !first too.
13865         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13866         GOMP_loop_guided_start, GOMP_loop_runtime_start,
13867         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13868         GOMP_loop_ordered_guided_start): Update to match.
13869         * sections.c (GOMP_sections_start): Likewise.
13870         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13872         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13873         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13874         Use bounds check instead of modulus.
13875         (gomp_ordered_sync): Split out of GOMP_ordered_start.
13876         (gomp_ordered_last): Don't sync with ordered_owner here.
13877         (gomp_ordered_next): Likewise.
13878         (gomp_ordered_static_loop_next): Likewise.
13879         * loop.c, libgomp.h: Update to match.
13881         * libgomp.h (GOMP_barrier): Declare.
13883         * testsuite/barrier-1.c: New file.
13884         * testsuite/critical-1.c: New file.
13885         * testsuite/ordered-2.c: New file.
13886         * testsuite/ordered-1.c: New file.
13887         * testsuite/sections-1.c: New file.
13888         * testsuite/single-1.c: New file.
13889         * testsuite/Makefile (TESTS): Add them.
13891 2005-05-04  Richard Henderson  <rth@redhat.com>
13893         * libgomp.h (struct gomp_work_share): Add ordered_owner.
13894         * loop.c (GOMP_loop_static_start): If not the startup thread,
13895         acquire the mutex to wait for initialization complete.
13896         (GOMP_loop_ordered_static_start): Likewise.
13897         (GOMP_loop_ordered_runtime_start): Likewise.
13898         (GOMP_loop_ordered_static_first): Remove.
13899         (GOMP_loop_ordered_dynamic_first): Remove.
13900         (GOMP_loop_ordered_guided_first): Remove.
13901         (GOMP_loop_ordered_runtime_first): Remove.
13902         * ordered.c (gomp_ordered_loop_first): Post to own release when
13903         we're the first thread.
13904         (gomp_ordered_loop_last): Wait on release if not owner.
13905         (gomp_ordered_loop_next): Likewise.
13906         (gomp_ordered_static_loop_init): New.
13907         (gomp_ordered_static_loop_next): Use ordered_owner.
13908         (GOMP_ordered_start): Likewise.
13909         * work.c (gomp_new_work_share): Initialize ordered_owner.
13911 2005-05-03  Richard Henderson  <rth@redhat.com>
13913         * Makefile (OPT): New.
13914         (CFLAGS): Use it.
13916         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13917         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13918         * libgomp.h, libgomp.map, NOTES: Update to match.
13920         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13921         Add initialized and thr members.
13922         (gomp_thread_start): Pause when initially spawned to wait for
13923         the whole team to be created.
13924         (gomp_team_start): Release team members at the end.
13926         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
13927         (f_foo_1): Use GOMP_loop_end.
13928         (f_foo_2): Use GOMP_loop_end_nowait.
13930         * testsuite/loop-2.c: New file.
13931         * testsuite/Makefile (TESTS): Add it.
13933 2005-05-03  Richard Henderson  <rth@redhat.com>
13935         * iter.c (gomp_iter_static_next): Fix overflow check typo.
13936         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13937         * team.c (new_team): Initialize oldest_live_gen to 1 if no
13938         initial work_share.
13940         * testsuite/Makefile: New file.
13941         * testsuite/loop-1.c: New file.
13943 2005-05-03  Richard Henderson  <rth@redhat.com>
13945         Initial implementation and checkin.
13947 Copyright (C) 2005-2020 Free Software Foundation, Inc.
13949 Copying and distribution of this file, with or without modification,
13950 are permitted in any medium without royalty provided the copyright
13951 notice and this notice are preserved.