Fix bug in an OpenACC async test case
[gcc.git] / libgomp / ChangeLog
index a982c3afef43ad6fe3960d5a57e7d7895d84052b..9387d56a9a5586b15a20245fe75aa99be8360a6b 100644 (file)
@@ -1,3 +1,799 @@
+2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
+       call to acc_wait (1).
+
+2017-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/81304
+       * testsuite/libgomp.fortran/pr81304.f90: New test.
+
+2017-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/81841
+       * libgomp.fortran/pr81841.f90: New test.
+
+2017-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/83106
+       * target.c (gomp_target_init): Compute lengths just once and
+       use them in both malloc size and subsequent copying.
+
+2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+       * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
+       * acinclude.m4: Add cet.m4.
+       * configure: Regenerate.
+       * Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2017-11-15  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
+       from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
+       * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
+       from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
+       * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
+       from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
+
+2017-11-14  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
+       non-nvidia devices.
+
+2017-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82835
+       * testsuite/libgomp.c++/pr82835.C: New test.
+
+2017-11-06  Martin Liska  <mliska@suse.cz>
+
+       * testsuite/libgomp.c++/loop-2.C: Return a value
+       for functions with non-void return type, or change type to void,
+       or add -Wno-return-type for test.
+       * testsuite/libgomp.c++/loop-4.C: Likewise.
+       * testsuite/libgomp.c++/parallel-1.C: Likewise.
+       * testsuite/libgomp.c++/shared-1.C: Likewise.
+       * testsuite/libgomp.c++/single-1.C: Likewise.
+       * testsuite/libgomp.c++/single-2.C: Likewise.
+
+2017-10-31  Tom de Vries  <tom@codesourcery.com>
+
+       * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
+       "do {} while (false)".
+       (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
+       after HSA_DEBUG call.
+
+2017-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * target.c (struct gomp_coalesce_buf): New type.
+       (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
+       (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
+       (gomp_copy_host2dev): Add CBUF argument, if copying into
+       the cached ranges, memcpy into buffer instead of copying
+       into device.
+       (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
+       Add CBUF argument, pass it through to other calls.
+       (gomp_map_vars): Aggregate copies from host to device if small enough
+       and with small enough gaps in between into memcpy into a buffer and
+       fewer host to device copies from the buffer.
+       (gomp_update): Adjust gomp_copy_host2dev caller.
+
+2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
+       run" directive.
+       * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
+
+2017-10-16  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
+       openacc_nvidia_accel_selected.
+       * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
+       * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
+       * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
+       * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
+       * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
+       * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
+       openacc_nvidia_accel_selected. Skip for shared memory device.
+       * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
+       * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
+
+2017-10-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR hsa/82416
+       * testsuite/libgomp.hsa.c/pr82416.c: New test.
+
+2017-10-07  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
+       Remove acc_device_nvidia references.
+       * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
+       Same.
+
+2017-10-05  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
+       vector_length(32) clause from acc parallel directive.
+       * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
+
+2017-10-04  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
+       (main): Reduce sum of arr elements.  Assert that hres is exactly
+       representable in 32-bit floating point.
+       * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
+       (main): Reduce sum of arr elements.  Assert that hres and hmres are
+       exactly representable in 32-bit floating point.
+       * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
+
+2017-09-28  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
+       setting.
+       * testsuite/libgomp.c++/pr69393.C: Same.
+       * testsuite/libgomp.c++/taskloop-1.C: Same.
+       * testsuite/libgomp.c++/taskloop-3.C: Same.
+       * testsuite/libgomp.c++/taskloop-4.C: Same.
+       * testsuite/libgomp.c/for-4.c: Same.
+       * testsuite/libgomp.c/pr66199-3.c: Same.
+       * testsuite/libgomp.c/pr66199-4.c: Same.
+       * testsuite/libgomp.c/pr66199-6.c: Same.
+       * testsuite/libgomp.c/taskloop-1.c: Same.
+       * testsuite/libgomp.c/taskloop-3.c: Same.
+       * testsuite/libgomp.c/taskloop-4.c: Same.
+       * testsuite/libgomp.fortran/aligned1.f03: Same.
+       * testsuite/libgomp.fortran/condinc1.f: Same.
+       * testsuite/libgomp.fortran/condinc3.f90: Same.
+       * testsuite/libgomp.fortran/crayptr1.f90: Same.
+       * testsuite/libgomp.fortran/crayptr2.f90: Same.
+       * testsuite/libgomp.fortran/crayptr3.f90: Same.
+       * testsuite/libgomp.fortran/omp_cond1.f: Same.
+       * testsuite/libgomp.fortran/omp_cond3.F90: Same.
+       * testsuite/libgomp.fortran/pr66199-1.f90: Same.
+       * testsuite/libgomp.fortran/pr66199-2.f90: Same.
+       * testsuite/libgomp.fortran/recursion1.f90: Same.
+       * testsuite/libgomp.fortran/target2.f90: Same.
+       * testsuite/libgomp.fortran/target5.f90: Same.
+       * testsuite/libgomp.fortran/task3.f90: Same.
+
+2017-09-28  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
+       vector_length(32) clause from acc parallel directive.
+       * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
+
+2017-09-27  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
+       Remove acc_device_nvidia references.
+
+2017-09-16  Tom de Vries  <tom@codesourcery.com>
+
+       PR c/81875
+       * testsuite/libgomp.c-c++-common/pr81875.c: New test.
+
+2017-09-14  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
+       * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
+       * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
+       * testsuite/libgomp.c/c.exp: Include test-cases from
+       libgomp.c-c++-common.
+       * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
+       files.
+
+2017-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/81314
+       * testsuite/libgomp.c++/pr81314.C: New test.
+
+2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * libgomp.texi (Top): www.openacc.org now uses https.
+       (Enabling OpenACC): Ditto.
+       (acc_get_num_devices): Ditto.
+       (acc_set_device_type): Ditto.
+       (acc_get_device_type): Ditto.
+       (acc_set_device_num): Ditto.
+       (acc_get_device_num): Ditto.
+       (acc_async_test): Ditto.
+       (acc_async_test_all): Ditto.
+       (acc_wait): Ditto.
+       (acc_wait_all): Ditto.
+       (acc_wait_all_async): Ditto.
+       (acc_wait_async): Ditto.
+       (acc_init): Ditto.
+       (acc_shutdown): Ditto.
+       (acc_on_device): Ditto.
+       (acc_malloc): Ditto.
+       (acc_free): Ditto.
+       (acc_copyin): Ditto.
+       (acc_present_or_copyin): Ditto.
+       (acc_create): Ditto.
+       (acc_present_or_create): Ditto.
+       (acc_copyout): Ditto.
+       (acc_delete): Ditto.
+       (acc_update_device): Ditto.
+       (acc_update_self): Ditto.
+       (acc_map_data): Ditto.
+       (acc_unmap_data): Ditto.
+       (acc_deviceptr): Ditto.
+       (acc_hostptr): Ditto.
+       (acc_is_present): Ditto.
+       (acc_memcpy_to_device): Ditto.
+       (acc_memcpy_from_device): Ditto.
+       (acc_get_current_cuda_device): Ditto.
+       (acc_get_current_cuda_context): Ditto.
+       (acc_get_cuda_stream): Ditto.
+       (acc_set_cuda_stream): Ditto.
+       (ACC_DEVICE_TYPE): Ditto.
+       (ACC_DEVICE_NUM): Ditto.
+       (OpenACC Library Interoperability): Ditto.
+
+2017-08-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/81687
+       * testsuite/libgomp.c/pr81687-1.c: New test.
+       * testsuite/libgomp.c/pr81687-2.c: New test.
+
+2017-08-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/69389
+       * testsuite/libgomp.c/pr69389.c: New test.
+       * testsuite/libgomp.c++/pr69389.C: New test.
+
+2017-08-07  Tom de Vries  <tom@codesourcery.com>
+
+       PR middle-end/78266
+       * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
+       * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
+
+2017-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/45784
+       * testsuite/libgomp.c/pr45784.c: New test.
+       * testsuite/libgomp.c++/pr45784.C: New test.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c/vec.c: New test.
+
+2017-07-03  Tom de Vries  <tom@codesourcery.com>
+
+       * plugin/plugin-hsa.c: Fix secure_getenv.h include.
+
+2017-06-27  Tom de Vries  <tom@codesourcery.com>
+
+       * plugin/plugin-nvptx.c (notify_var): New function.
+       (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
+
+2017-06-27  Tom de Vries  <tom@codesourcery.com>
+
+       * env.c (parse_unsigned_long_1): Factor out of ...
+       (parse_unsigned_long): ... here.
+       (parse_int_1): Factor out of ...
+       (parse_int): ... here.
+       (parse_int_secure): New function.
+       (initialize_env): Use parse_int_secure for GOMP_DEBUG.
+       * secure_getenv.h: Factor out of ...
+       * plugin/plugin-hsa.c: ... here.
+       * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
+
+2017-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/81130
+       * testsuite/libgomp.c++/pr81130.C: New test.
+
+2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
+       default args.
+       * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
+       dg-xfail-run-if default args.
+
+2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * testsuite/libgomp.c/pr39591-2.c: Fix test case.
+       * testsuite/libgomp.c/pr39591-3.c: Likewise.
+
+2017-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/80822
+       * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
+       (gomp_affinity_init_level): Use it.  Always analyze the core and thread
+       sibling lists, depending on level just pick up what CPUs to put
+       together into a place vs. whether add multiple ordered places.
+
+2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
+       * libgomp.map (OACC_2.0.1): Add these.
+       * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
+       for "acc_wait", and "acc_wait_all", respectively.
+       * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
+       for "acc_wait", and "acc_wait_all", respectively.
+       * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
+       * libgomp.texi (acc_wait, acc_wait_all): Update.
+       * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
+       * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
+       * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
+
+       * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
+       acc_present_or_copyin and acc_present_or_create procedures,
+       respectively.
+       * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
+       generally different variants of OpenACC Runtime Library functions.
+       * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
+
+       * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
+       * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
+
+       * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
+       of preprocessor definitions.
+       * libgomp.h (strong_alias): Guard by "#ifdef
+       HAVE_ATTRIBUTE_ALIAS".
+       * oacc-mem.c: Provide "acc_pcreate" as alias for
+       "acc_present_or_create", and "acc_pcopyin" as alias for
+       "acc_present_or_copyin".
+       * libgomp.map: New version "OACC_2.0.1".
+       (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
+       * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
+       its content into...
+       * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
+       Extend testing.
+
+       * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
+       when disabling nvptx offloading.
+
+2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
+       * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
+       * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
+
+       * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
+       * testsuite/lib/libgomp.exp
+       (check_effective_target_openacc_nvidia_accel_configured): New
+       proc.
+       * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
+       (check_effective_target_c++): New procs.
+       * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
+       (check_effective_target_c++): Likewise.
+
+2017-05-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/80809
+       * testsuite/libgomp.c/pr80809-2.c: New test.
+       * testsuite/libgomp.c/pr80809-3.c: New test.
+
+       PR middle-end/80809
+       * testsuite/libgomp.c/pr80809-1.c: New test.
+
+       PR middle-end/80853
+       * testsuite/libgomp.c/pr80853.c: New test.
+
+2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
+       * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
+       * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
+
+       * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
+       Debug output for failure.
+
+2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/lib/libgomp.exp: Load scanlang.exp.
+
+2017-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/80531
+       * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
+       bootstrap compare failures.
+
+2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
+
+       * testsuite/libgomp.c/target-36.c: New testcase.
+
+2017-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
+       instead of char.
+
+2017-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/80394
+       * testsuite/libgomp.c/pr80394.c: New test.
+
+2017-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/79876
+       * config/posix/thread-stacksize.h: New file.
+       * config/darwin/thread-stacksize.h: New file.
+       * config/nvptx/thread-stacksize.h: New file.
+       * env.c: Include thread-stacksize.h.
+       (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
+       instead of 0.  Call pthread_attr_setstacksize even if
+       GOMP_DEFAULT_STACKSIZE is non-zero.
+
+2017-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * env.c (initialize_env): Initialize stacksize to 0.
+
+2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
+
+       PR c++/80029
+       * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
+
+2017-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/79940
+       * testsuite/libgomp.c/pr79940.c: New test.
+
+2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/libgomp.c/pr48591.c: Enable on all __float128
+       targets.
+       Add __float128 options.
+
+2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
+       hppa*-*-* dg-skip-if directive.
+
+2017-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
+       dg-skip-if directive into a comment.
+
+2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
+           Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
+       * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
+       add additional case.
+       * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
+       "openacc_nvidia_accel_selected".
+       * libgomp.oacc-fortran/nested-function-1.f90 (test2):
+       Add num_workers(8) clause.
+
+2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
+
+       * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
+       hppa*-*-*.
+       * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
+       include complex.h on hppa*-*-hpux*.
+       * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
+
+2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
+
+       * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
+       GOMP_OFFLOAD_openacc_exec.  Adjust all users.
+       (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
+       GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
+       (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
+       GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
+       (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
+       GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
+       (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
+       GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
+
+2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * libgomp-plugin.h: #include <stdbool.h>.
+       (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
+       (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
+       (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
+       (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
+       (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
+       (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
+       (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
+       (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
+       (GOMP_OFFLOAD_openacc_register_async_cleanup)
+       (GOMP_OFFLOAD_openacc_async_test)
+       (GOMP_OFFLOAD_openacc_async_test_all)
+       (GOMP_OFFLOAD_openacc_async_wait)
+       (GOMP_OFFLOAD_openacc_async_wait_async)
+       (GOMP_OFFLOAD_openacc_async_wait_all)
+       (GOMP_OFFLOAD_openacc_async_wait_all_async)
+       (GOMP_OFFLOAD_openacc_async_set_async)
+       (GOMP_OFFLOAD_openacc_create_thread_data)
+       (GOMP_OFFLOAD_openacc_destroy_thread_data)
+       (GOMP_OFFLOAD_openacc_get_current_cuda_device)
+       (GOMP_OFFLOAD_openacc_get_current_cuda_context)
+       (GOMP_OFFLOAD_openacc_get_cuda_stream)
+       (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
+       * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
+       these.
+       * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
+       (GOMP_OFFLOAD_unload_image): Fix argument types.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/lib/libgomp.exp
+       (check_effective_target_hsa_offloading_selected_nocache): Fix up
+       check_compile invocation.  Fix up removal of executable.  Drop
+       bogus "2>&1" argument.
+
+       * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
+       directive.
+
+2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
+           Martin Jambor  <mjambor@suse.cz>
+
+       * plugin/hsa.h: Moved to top level include.
+       * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
+
+2017-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/79046
+       * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
+       of cat to get version from BASE-VER file.
+       * testsuite/Makefile.in: Regenerated.
+
+2017-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
+       for _WIN64.
+
+2017-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * plugin/hsa.h: Add GCC runtime library exception.
+       * plugin/hsa_ext_finalize.h: Likewise.
+
+       * plugin/configfrag.ac: For --without-cuda-driver don't initialize
+       CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
+       CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
+       cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
+       plugin/include/cuda as include dir and -ldl instead of -lcuda as
+       library to link ptx plugin against.
+       * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
+       (CUDA_CALLS): Define.
+       (cuda_lib, cuda_lib_inited): New variables.
+       (init_cuda_lib): New function.
+       (CUDA_CALL_PREFIX): Define.
+       (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
+       (CUDA_CALL): Use FN instead of (FN).
+       (CUDA_CALL_NOCHECK): Define.
+       (cuda_error, fini_streams_for_device, select_stream_for_async,
+       nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
+       event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
+       nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
+       nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
+       CUDA_CALL_NOCHECK.
+       (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
+       CUDA_CALL_NOCHECK.
+       (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
+       Use CUDA_CALL_NOCHECK.
+       * plugin/cuda/cuda.h: New file.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+
+       PR other/79046
+       * configure.ac: Add GCC_BASE_VER.
+       * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
+       get version from BASE-VER file.
+       * testsuite/Makefile.in: Regenerated.
+       * configure: Regenerated.
+       * Makefile.in: Regenerated.
+
+2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libgomp/60670
+       * Makefile.am: Make fincludedir multilib-aware.
+       * Makefile.in: Regenerate.
+
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+       * libgomp.texi: Bump @copying's copyright year.
+
+2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
+       pthread_spinlock_t instead of gomp_mutex_t lock.
+       (gomp_get_thread_pool): Likewise.
+       (gomp_release_thread_pool): Likewise.
+       * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
+       Likewise.
+
+2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rtems/pool.h (gomp_get_thread_pool): Return proper
+       thread pool in case nthreads == 1.
+
+2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
+
+       * config/nvptx/env.c: Delete.
+       * icv.c: Move definitions of ICV variables back ...
+       * env.c: ...here.  Do not compile environment-related functionality if
+       LIBGOMP_OFFLOADED_ONLY is set.
+
+2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
+
+       * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
+       (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
+       * configure: Regenerate.
+       * config.h.in: Likewise.
+
+2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
+
+       * Makefile.in: Regenerate with automake-1.11.6.
+       * aclocal.m4: Likewise.
+       * configure: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
+
+       * config/nvptx/critical.c: Delete to use generic implementation.
+
+2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
+
+       * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
+       ../../affinity.c as fallback.
+       * config/nvptx/affinity.c: Delete to use fallback implementation.
+
+2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
+            Jakub Jelinek  <jakub@redhat.com>
+           Dmitry Melnik  <dm@ispras.ru>
+
+       * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
+       * Makefile.in. Regenerate.
+       * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
+       (LIBGOMP_USE_PTHREADS): ...here; new define.
+       * configure: Regenerate.
+       * config.h.in: Likewise.
+       * config/posix/affinity.c: Move to...
+       * affinity.c: ...here (new file).  Guard use of Pthreads-specific
+       interface by LIBGOMP_USE_PTHREADS. 
+       * critical.c: Split out GOMP_atomic_{start,end} into...
+       * atomic.c: ...here (new file).
+       * env.c: Split out ICV definitions into...
+       * icv.c: ...here (new file) and...
+       * icv-device.c: ...here. New file.
+       * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
+       (gomp_destroy_lock_30): Ditto.
+       (gomp_set_lock_30): Ditto.
+       (gomp_unset_lock_30): Ditto.
+       (gomp_test_lock_30): Ditto.
+       (gomp_init_nest_lock_30): Ditto.
+       (gomp_destroy_nest_lock_30): Ditto.
+       (gomp_set_nest_lock_30): Ditto.
+       (gomp_unset_nest_lock_30): Ditto.
+       (gomp_test_nest_lock_30): Ditto.
+       * lock.c: New.
+       * config/nvptx/lock.c: New.
+       * config/nvptx/bar.c: New.
+       * config/nvptx/bar.h: New.
+       * config/nvptx/doacross.h: New.
+       * config/nvptx/error.c: New.
+       * config/nvptx/icv-device.c: New.
+       * config/nvptx/mutex.h: New.
+       * config/nvptx/pool.h: New.
+       * config/nvptx/proc.c: New.
+       * config/nvptx/ptrlock.h: New.
+       * config/nvptx/sem.h: New.
+       * config/nvptx/simple-bar.h: New.
+       * config/nvptx/target.c: New.
+       * config/nvptx/task.c: New.
+       * config/nvptx/team.c: New.
+       * config/nvptx/time.c: New.
+       * config/posix/simple-bar.h: New.
+       * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
+       (gomp_num_teams_var): Declare.
+       (struct gomp_thread_pool): Change threads_dock member to
+       gomp_simple_barrier_t.
+       [__nvptx__] (gomp_thread): New implementation.
+       (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
+       (gomp_thread_destructor): Ditto.
+       (gomp_init_thread_affinity): Ditto.
+       * team.c: Guard uses of Pthreads-specific interfaces by
+       LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
+       (gomp_free_thread) [__nvptx__]: Do not call 'free'.
+       * config/nvptx/alloc.c: Delete.
+       * config/nvptx/barrier.c: Ditto.
+       * config/nvptx/fortran.c: Ditto.
+       * config/nvptx/iter.c: Ditto.
+       * config/nvptx/iter_ull.c: Ditto.
+       * config/nvptx/loop.c: Ditto.
+       * config/nvptx/loop_ull.c: Ditto.
+       * config/nvptx/ordered.c: Ditto.
+       * config/nvptx/parallel.c: Ditto.
+       * config/nvptx/priority_queue.c: Ditto.
+       * config/nvptx/sections.c: Ditto.
+       * config/nvptx/single.c: Ditto.
+       * config/nvptx/splay-tree.c: Ditto.
+       * config/nvptx/work.c: Ditto.
+       * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
+       -foffload=-lgfortran in addition to -lgfortran.
+       * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
+       * plugin/plugin-nvptx.c: Include <limits.h>.
+       (struct targ_fn_descriptor): Add new fields.
+       (struct ptx_device): Ditto.  Set them...
+       (nvptx_open_device): ...here.
+       (nvptx_adjust_launch_bounds): New.
+       (nvptx_host2dev): Allow NULL 'nvthd'.
+       (nvptx_dev2host): Ditto.
+       (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
+       (link_ptx): Adjust log sizes.
+       (nvptx_host2dev): Allow NULL 'nvthd'.
+       (nvptx_dev2host): Ditto.
+       (nvptx_set_clocktick): New.  Use it...
+       (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
+       fields.
+       (GOMP_OFFLOAD_dev2dev): New.
+       (nvptx_adjust_launch_bounds): New.
+       (nvptx_stacks_size): New.
+       (nvptx_stacks_alloc): New.
+       (nvptx_stacks_free): New.
+       (GOMP_OFFLOAD_run): New.
+       (GOMP_OFFLOAD_async_run): New (stub).
+
+2016-11-23  Martin Jambor  <mjambor@suse.cz>
+
+       * testsuite/libgomp.hsa.c/bits-insns.c: New test.
+       * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
+       * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
+
+2016-11-23  Martin Liska  <mliska@suse.cz>
+            Martin Jambor  <mjambor@suse.cz>
+
+       * plugin/hsa.h: New file.
+       * plugin/hsa_ext_finalize.h: New file.
+       * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
+       header file unistd.h, and functions secure_getenv, __secure_getenv,
+       getuid, geteuid, getgid and getegid.
+       * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
+       -D_GNU_SOURCE.
+       * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
+       Handle various cases of secure_getenv presence, add an implementation
+       when we can test effective UID and GID.
+       (struct hsa_runtime_fn_info): New structure.
+       (hsa_runtime_fn_info hsa_fns): New variable.
+       (hsa_runtime_lib): Likewise.
+       (support_cpu_devices): Likewise.
+       (init_enviroment_variables): Load newly introduced ENV
+       variables.
+       (hsa_warn): Call hsa run-time functions via hsa_fns structure.
+       (hsa_fatal): Likewise.
+       (DLSYM_FN): New macro.
+       (init_hsa_runtime_functions): New function.
+       (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
+       structure.  Depending on environment, also allow CPU devices.
+       (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
+       (get_kernarg_memory_region): Likewise.
+       (GOMP_OFFLOAD_init_device): Likewise.
+       (destroy_hsa_program): Likewise.
+       (init_basic_kernel_info): New function.
+       (GOMP_OFFLOAD_load_image): Use it.
+       (create_and_finalize_hsa_program): Call hsa run-time functions via
+       hsa_fns structure.
+       (create_single_kernel_dispatch): Likewise.
+       (release_kernel_dispatch): Likewise.
+       (init_single_kernel): Likewise.
+       (parse_target_attributes): Allow up multiple HSA grid dimensions.
+       (get_group_size): New function.
+       (run_kernel): Likewise.
+       (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
+       (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
+       structure.
+       * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
+       * testsuite/libgomp-test-support.exp.in: Likewise.
+       * Makefile.in: Regenerated.
+       * aclocal.m4: Likewise.
+       * config.h.in: Likewise.
+       * configure: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
 2016-11-15  Martin Jambor  <mjambor@suse.cz>
             Alexander Monakov  <amonakov@ispras.ru>
 
 
        Initial implementation and checkin.
 \f
-Copyright (C) 2005-2016 Free Software Foundation, Inc.
+Copyright (C) 2005-2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright