]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libgomp/ChangeLog
Use REST API for bug titles in mklog.
[thirdparty/gcc.git] / libgomp / ChangeLog
index ce440394c95c8f6df69628cee2332c9e433d7895..5d40619185374a8a6c15ea796c97aad498d60e52 100644 (file)
@@ -1,3 +1,894 @@
+2020-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp.h.in (omp_uintptr_t): New typedef.
+       (__GOMP_UINTPTR_T_ENUM): Define.
+       (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
+       omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
+       (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
+       (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
+       omp_get_default_allocator, omp_alloc, omp_free): Declare.
+       * libgomp.h (struct gomp_team_state): Add def_allocator field.
+       (gomp_def_allocator): Declare.
+       * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
+       omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
+       omp_alloc and omp_free.
+       * team.c (gomp_team_start): Copy over ts.def_allocator.
+       * env.c (gomp_def_allocator): New variable.
+       (parse_wait_policy): Adjust function comment.
+       (parse_allocator): New function.
+       (handle_omp_display_env): Print OMP_ALLOCATOR.
+       (initialize_env): Call parse_allocator.
+       * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
+       * allocator.c: New file.
+       * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
+       functions.
+       * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
+       * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
+       * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
+       * Makefile.in: Regenerated.
+
+2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/95147
+       * configure: Regenerated.
+
+2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/95119
+       * testsuite/libgomp.fortran/close_errors_1.f90: New test.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2020-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c-c++-common/target-40.c: New test.
+
+2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94690
+       * testsuite/libgomp.fortran/pr66199-3.f90: New.
+       * testsuite/libgomp.fortran/pr66199-4.f90: New.
+       * testsuite/libgomp.fortran/pr66199-5.f90: New.
+       * testsuite/libgomp.fortran/pr66199-6.f90: New.
+       * testsuite/libgomp.fortran/pr66199-7.f90: New.
+       * testsuite/libgomp.fortran/pr66199-8.f90: New.
+       * testsuite/libgomp.fortran/pr66199-9.f90: New.
+
+2020-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/target-39.c: New test.
+
+2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
+       * openacc.f90 (acc_device_current): Likewise.
+       * openacc.h (acc_device_current): Likewise.
+       * openacc_lib.h (acc_device_current): Likewise.
+
+       PR target/94282
+       * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
+       'dg-allow-blank-lines-in-output'.
+
+       * oacc-init.c (get_openacc_name): Handle 'gcn'.
+       * testsuite/lib/libgomp.exp
+       (offload_target_to_openacc_device_type) [amdgcn*]: Return
+       'radeon'.  Adjust all users.
+       (check_effective_target_openacc_amdgcn_accel_present): Rename
+       to...
+       (check_effective_target_openacc_radeon_accel_present): ... this.
+       Adjust all users.
+       (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
+       (check_effective_target_openacc_radeon_accel_selected): ... this.
+       Adjust all users.
+
+       * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
+       'dg-do run'.
+
+2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR other/94629
+
+       * plugin/plugin-gcn.c (init_hsa_context): Check return value from
+       hsa_iterate_agents.
+       (GOMP_OFFLOAD_init_device): Check return values from both calls to
+       hsa_agent_iterate_regions.
+
+2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/94635
+       * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
+       run'.
+
+2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
+       test case.
+
+2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94635
+       * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
+
+2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libgomp/92843
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
+       ... this.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
+       Rename to...
+       * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
+       ... this.
+
+2020-04-10  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libgomp/92843
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
+       New file.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
+       Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
+       Likewise.
+
+2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
+       run'.
+
+2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94120
+       * libgomp.oacc-c++/declare-pr94120.C: New.
+
+2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
+
+       * configure.ac: Add testsuite/libgomp-site-extra.exp to output
+       files.
+       * configure: Regenerate.
+       * testsuite/libgomp-site-extra.exp.in: New file.
+       * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
+       variable.
+       * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
+       variable.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR tree-optimization/89713
+       PR c/94392
+       * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
+       'bar.sync'.
+       * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
+
+2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
+
+       * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
+       * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
+
+2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libgomp/81689
+       * testsuite/libgomp.c/target-link-1.c: Remove xfail.
+
+2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libgomp/94251
+       * target.c (gomp_load_image_to_device): Fix link
+       variable handling.
+
+2020-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/93931
+       * testsuite/libgomp.c++/pr93931.C: New test.
+
+2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
+       dg-allow-blank-lines-in-output.
+
+2020-03-18  Julian Brown <julian@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
+       it work concurrently.
+
+2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
+       #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
+       * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
+
+2020-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93566
+       * testsuite/libgomp.c/pr93566.c: New test.
+
+2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
+       changes from 2020-02-19, i.e. use integer(c_size_t) instead of
+       integer(acc_device_property) for the type of the return value of
+       acc_get_property.
+
+2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
+       * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
+       (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
+       * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
+       (acc_set_device_num): Fix Fortran argument name, use same name for C.
+       (acc_get_property): Update Fortran interface to post-OpenACC 3.0
+       corrections; add note about the previous interface and named constant.
+       (OpenACC library and environment variables): Fix two typos.
+       * openacc.f90: Use for all procedures the argument names from the spec
+       as for …_h they are user visible.
+       (openacc_kinds): Rename acc_device_property to
+       acc_device_property_kinds and change value to int32 ; and update users.
+       Re-add acc_device_property for for backward compatibility.
+       (acc_get_property_string_h): Clean up as acc_device_property_kind
+       changed.
+       (acc_get_property_h): Likewise and return c_size_t instead of
+       acc_device_property.
+       (openacc): Also export acc_device_property_kinds.
+       (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
+       acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
+       handling; check against /= 0 instead of == 1 to match C.
+       * openacc_lib.h: Use for all procedures the argument names from the spec
+       as for …_h they are user visible. Place !GCC$ into the first column to
+       be active also for fixed-form souce form.
+       (acc_device_current, acc_device_property_kind, acc_device_property,
+       acc_property_memory, acc_property_free_memory, acc_property_name,
+       acc_property_vendor, acc_property_driver): New named constants.
+       (acc_get_property, acc_get_property_string): New generic interface.
+
+2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
+
+       PR libgomp/93481
+       * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
+       * target.c (gomp_load_plugin_for_device): Make "async_run" loading
+       optional.
+       (gomp_target_task_fn): Assert "devicep->async_run_func".
+       (clear_unsupported_flags): New function to remove unsupported flags
+       (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
+       (GOMP_target_ext): Apply clear_unsupported_flags to flags.
+       * testsuite/libgomp.c/target-33.c:
+       Remove xfail for offload_target_nvptx.
+       * testsuite/libgomp.c/target-34.c: Likewise.
+
+2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
+
+       * testsuite/libgomp.c/target-33.c: Add xfail for execution on
+       offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
+       * testsuite/libgomp.c/target-34.c: Likewise.
+       * testsuite/libgomp.c/target-link-1.c: Add xfail for
+       offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
+
+2020-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/target-38.c: New test.
+
+2020-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/93515
+       * testsuite/libgomp.c-c++-common/pr93515.c: New test.
+
+2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       * testsuite/lib/libgomp.exp
+       (check_effective_target_offload_target_nvptx): Pass flags as 'options'
+       and not as 'source' argument to libgomp_target_compile.
+
+2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
+       (gcn_gfx801_s): Remove.
+       (isa_hsa_name): Remove gfx801.
+       (isa_gcc_name): Remove gfx801/carizzo.
+       (isa_code): Remove gfx801.
+
+2020-02-03  Julian Brown  <julian@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
+       and *_finalize variants; document acc_attach and acc_detach; update
+       references from OpenACC 2.0 to 2.6.
+       * openacc.f90 (openacc_version): Update to 201711.
+       * openacc_lib.h (openacc_version): Update to 201711.
+       * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
+       openacc_version to 201711.
+       * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
+
+2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
+       and vgpr_count fields.
+       (struct kernel_info): Add a field for a hsa_kernel_description.
+       (run_kernel): Reduce the number of threads/workers if the requested
+       number would require too many VGPRs.
+       (init_basic_kernel_info): Initialize description field with
+       the hsa_kernel_description entry for the kernel.
+
+2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR bootstrap/93409
+       * plugin/configfrag.ac (enable_offload_targets): Skip
+       HSA and GCN plugin besides -m32 also for -mx32.
+       * configure: Regenerate.
+
+2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
+
+       * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
+
+2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
+
+       * plugin-gcn.c (struct agent_info): Add fields "name" and
+       "vendor_name" ...
+       (GOMP_OFFLOAD_init_device): ... and init from here.
+       (struct hsa_context_info): Add field "driver_version_s" ...
+       (init_hsa_contest): ... and init from here.
+       (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
+       implementation.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
+       Enable test execution for amdgcn and host offloading targets.
+       * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
+       (expect_device_properties): Split function into ...
+       (expect_device_string_properties): ... this new function ...
+       (expect_device_memory): ... and this new function.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
+       Add test.
+
+2020-01-28  Julian Brown  <julian@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
+       * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
+       component/non-component variable refs in a single directive.
+       * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
+
+2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
+
+       * configure.ac: Handle `--with-toolexeclibdir='.
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
+       (expect_device_properties): Remove "expected_free_mem" argument,
+       change "expected_total_mem" argument type to size_t;
+       change types of acc_get_property results to size_t,
+       adapt format strings.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
+       Use %zu instead of %zd to print size_t values.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
+       rename to ...
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
+       rename to ...
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
+
+2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
+
+       * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
+       the device id.
+
+2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
+       * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
+       Adjust test dimensions for amdgcn.
+       * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
+       gang/worker/vector expectations dynamically.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
+       (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
+       (acc_gang): Recognise acc_device_radeon.
+       (acc_worker): Likewise.
+       (acc_vector): Likewise.
+       (main): Set expectations for amdgcn.
+       * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
+       (main): Adjust gang/worker/vector expectations dynamically.
+       * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
+       for amdgcn.
+
+2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
+       acc_device_radeon.
+       (openacc): Likewise.
+       * openacc.f90 (openacc_kinds): Likewise.
+       (openacc): Likewise.
+       * openacc.h (acc_device_t): Likewise.
+       * openacc_lib.h: Likewise.
+       * testsuite/lib/libgomp.exp
+       (check_effective_target_openacc_amdgcn_accel_present): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
+       (cb_compute_construct_end): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
+       (cb_enqueue_launch_start): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
+       (cb_enter_data_end): Likewise.
+       (cb_exit_data_start): Likewise.
+       (cb_exit_data_end): Likewise.
+       (cb_compute_construct_end): Likewise.
+       (cb_enqueue_launch_start): Likewise.
+       (cb_enqueue_launch_end): Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
+       (main): Likewise.
+
+2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
+       to use this instead of 'enum gomp_device_property'.
+       (GOMP_OFFLOAD_get_property): Rename to...
+       (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
+       * libgomp.h (struct gomp_device_descr): Move
+       'GOMP_OFFLOAD_openacc_get_property'...
+       (struct acc_dispatch_t): ... here.  Adjust all users.
+       * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
+
+       * target.c (gomp_map_vars_internal)
+       <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
+       paths.
+
+2020-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/93219
+       * libgomp.h (gomp_print_string): Change return type from void to int.
+       * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
+       not all characters have been written.
+
+2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * libgomp.texi: Fix typos, use https.
+
+2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * testsuite/libgomp.fortran/optional-map.f90: Add test for
+       unallocated/disassociated actual arguments to nonallocatable/nonpointer
+       dummy arguments; those are/shall be regarded as absent arguments.
+       * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
+       * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
+
+2020-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * libgomp.texi: Bump @copying's copyright year.
+
+2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
+
+       PR libgomp/93065
+       * oacc-init.c (goacc_runtime_deinitialize): New function.
+
+2019-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/93074
+       * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
+       (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
+
+2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
+           Frederik Harwath  <frederik@codesourcery.com>
+           Thomas Schwinge  <tschwinge@codesourcery.com>
+
+       * libgomp.h (gomp_device_descr): Add `get_property_func' member.
+       * libgomp-plugin.h (gomp_device_property_value): New union.
+       (gomp_device_property_value): New prototype.
+       * openacc.h (acc_device_t): Add `acc_device_current' enumeration
+       constant.
+       (acc_device_property_t): New enum.
+       (acc_get_property, acc_get_property_string): New prototypes.
+       * oacc-init.c (acc_get_device_type): Also assert that result
+       is not `acc_device_current'.
+       (get_property_any, acc_get_property, acc_get_property_string):
+       New functions.
+       * openacc.f90 (openacc_kinds): Add `acc_device_current' and
+       `acc_property_memory', `acc_property_free_memory',
+       `acc_property_name', `acc_property_vendor' and
+       `acc_property_driver' constants.  Add `acc_device_property' data
+       type.
+       (openacc_internal): Add `acc_get_property' and
+       `acc_get_property_string' interfaces.  Add `acc_get_property_h',
+       `acc_get_property_string_h', `acc_get_property_l' and
+       `acc_get_property_string_l'.
+       * oacc-host.c (host_get_property): New function.
+       (host_dispatch): Wire it.
+       * target.c (gomp_load_plugin_for_device): Handle `get_property'.
+       * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
+       `acc_get_property_string' and `acc_get_property_string_h_' symbols.
+       * libgomp.texi (OpenACC Runtime Library Routines): Add
+       `acc_get_property'.
+       (acc_get_property): New node.
+       * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
+       function (stub).
+       * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
+       * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
+       `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
+       calls.
+       (GOMP_OFFLOAD_get_property): New function.
+       (struct ptx_device): Add new field "name".
+       (cuda_driver_version_s): Add new static variable ...
+       (nvptx_init): ... and init from here.
+
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
+       with test helper functions.
+
+       * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
+
+2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
+
+       * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
+       variable.
+
+2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * target.c (gomp_map_vars_internal): Restore 'omp declare target
+       link' handling.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
+       * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
+       * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
+       * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
+       * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
+       * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
+       * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
+       * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
+       * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
+       * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
+       * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+
+       * libgomp.h (struct target_var_desc): Add do_detach flag.
+       * oacc-init.c (acc_shutdown_1): Free aux block if present.
+       * oacc-mem.c (find_group_last): Add SIZES parameter. Support
+       struct components.  Tidy up and add some new checks.
+       (goacc_enter_data_internal): Update call to find_group_last.
+       (goacc_exit_data_internal): Support detach operations and
+       GOMP_MAP_STRUCT.
+       (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
+       GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
+       attach/detach in enter/exit data detection code.
+       * target.c (gomp_map_vars_existing): Initialise do_detach field of
+       tgt_var_desc.
+       (gomp_map_vars_internal): Support attach.
+       (gomp_unmap_vars_internal): Support detach.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * libgomp.h (struct splay_tree_aux): Add attach_count field.
+       (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
+       * libgomp.map (OACC_2.6): New section. Add acc_attach,
+       acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
+       acc_detach_finalize_async.
+       * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
+       acc_detach, acc_detach_async, acc_detach_finalize,
+       acc_detach_finalize_async): New functions.
+       * openacc.h (acc_attach, acc_attach_async, acc_detach,
+       (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
+       prototypes.
+       * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
+       (gomp_remove_var_internal): Free attachment counts if present.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * libgomp.h (gomp_map_val): Add prototype.
+       * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
+       open-coding device-address calculation.
+       * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
+       non-present case.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+
+       * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
+       field for virtual_refcount.
+       (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
+       (gomp_free_memmap): Remove prototype.
+       * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
+       instead of calling gomp_free_memmap.
+       * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
+       dynamic_refcount.
+       (acc_unmap_data): Open code instead of forcing target_mem_desc's
+       to_free field to NULL then calling gomp_unmap_vars.  Handle
+       REFCOUNT_INFINITY on target blocks.
+       (goacc_enter_data): Rename to...
+       (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
+       handling for mapping groups.  Use virtual_refcount instead of
+       dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
+       map_map_vars_async call.  Re-do lookup for target pointer return value.
+       (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
+       renamed goacc_enter_datum function.
+       (goacc_exit_data): Rename to...
+       (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
+       (acc_delete, acc_delete_async, acc_delete_finalize,
+       acc_delete_finalize_async, acc_copyout, acc_copyout_async,
+       acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
+       goacc_exit_datum function.
+       (gomp_acc_remove_pointer, find_pointer): Remove functions.
+       (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
+       New functions.
+       (GOACC_enter_exit_data): Use goacc_enter_data_internal and
+       goacc_exit_data_internal helper functions.
+       * target.c (gomp_map_vars_internal): Handle
+       GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
+       semantics.
+       (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
+       (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
+       virtual_refcount field instead of dynamic_refcount.
+       (gomp_free_memmap): Remove function.
+       * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
+       * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * libgomp.h (struct splay_tree_aux): New.
+       (struct splay_tree_key_s): Replace link_key field with aux pointer.
+       * target.c (gomp_map_vars_internal): Adjust for link_key being moved
+       to aux struct.
+       (gomp_remove_var_internal): Free aux block if present.
+       (gomp_load_image_to_device): Zero-initialise aux field instead of
+       link_key field.
+       (omp_target_associate_pointer): Zero-initialise aux field.
+
+2019-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/86416
+       * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
+       q or none.
+       * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
+       L or none.
+
+2019-12-19  Julian Brown  <julian@codesourcery.com>
+           Maciej W. Rozycki  <macro@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
+       * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
+       * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
+       * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
+       * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
+
+2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
+       called...
+       (goacc_insert_pointer): ... from here, "present" case.
+       (goacc_insert_pointer): Inline function into...
+       (GOACC_enter_exit_data): ... here, and simplify.
+
+       * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
+       called...
+       (goacc_insert_pointer): ... from here, "not present" case.
+
+       * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
+       all users.
+
+       * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
+       'goacc_enter_data', 'goacc_exit_data'.
+
+       * oacc-mem.c (delete_copyout): Refactor into...
+       (goacc_exit_data): ... this.  Adjust all users.
+
+       * oacc-mem.c (present_create_copy): Refactor into...
+       (goacc_enter_data): ... this.  Adjust all users.
+
+       * target.c (gomp_unmap_vars_internal): Add a safeguard to
+       'gomp_remove_var'.
+
+       * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
+       like 'GOMP_MAP_FROM'.
+
+       PR libgomp/92726
+       PR libgomp/92970
+       PR libgomp/92984
+       * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
+       fails.
+       (GOACC_enter_exit_data): Simplify accordingly.
+       * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
+       subsuming...
+       * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
+       * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
+       file.
+       * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
+       subsuming...
+       * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
+       * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
+       file.
+       * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
+       subsuming...
+       * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
+
+       * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
+       'finalize' handling.
+
+       PR libgomp/92848
+       * oacc-mem.c (acc_map_data, present_create_copy)
+       (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
+       (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
+       * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
+       * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
+       * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
+       * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
+       Remove "XFAIL"s.
+
+       * target.c (gomp_unmap_tgt): Make it 'static'.
+       * libgomp.h (gomp_unmap_tgt): Remove.
+
+2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/86416
+       * testsuite/libgomp.c/pr86416-1.c: New.
+       * testsuite/libgomp.c/pr86416-2.c: New.
+
+2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
+       all symbols as public except for the 'use …, only' imported symbol,
+       which is private.
+       (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
+       all symbols from module openacc_kinds as PUBLIC
+       * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
+       fix comment typo.
+       * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
+
+2019-12-13  Julian Brown  <julian@codesourcery.com>
+
+       PR libgomp/92881
+
+       * libgomp.h (gomp_remove_var_async): Add prototype.
+       * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
+       gomp_remove_var.
+       * target.c (gomp_unref_tgt): Change return type to bool, indicating
+       whether target_mem_desc was unmapped.
+       (gomp_unref_tgt_void): New.
+       (gomp_remove_var): Reimplement in terms of...
+       (gomp_remove_var_internal): ...this new helper function.
+       (gomp_remove_var_async): New, implemented using above helper function.
+       (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
+       gomp_unref_tgt.
+
 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
 
        * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
 
        Initial implementation and checkin.
 \f
-Copyright (C) 2005-2019 Free Software Foundation, Inc.
+Copyright (C) 2005-2020 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright