aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2017-05-15 11:45:33 +0000
committerThomas Schwinge <thomas@codesourcery.com>2017-05-15 11:45:33 +0000
commit599e6cae380350972ea54b7d938f7c5081e4b9c8 (patch)
tree71d71d8c8b7d05dce1d673c1726cfa844717e1c3
parent999d7eff338acc9c75d4815f01f778e70e5b113c (diff)
Update _OPENACC value and documentation for OpenACC 2.5
gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Update "_OPENACC" to "201510". gcc/fortran/ * cpp.c (cpp_define_builtins): Update "_OPENACC" to "201510". * gfortran.texi: Update for OpenACC 2.5. * Intrinsic.texi: Likewise. * invoke.texi: Likewise. gcc/testsuite/ * c-c++-common/cpp/openacc-define-3.c: Update. * gfortran.dg/openacc-define-3.f90: Likewise. gcc/ * doc/invoke.texi: Update for OpenACC 2.5. libgomp/ * libgomp.texi: Update for OpenACC 2.5. * openacc.f90 (openacc_version): Update to "201510". * openacc_lib.h (openacc_version): Likewise. * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update. * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@248057 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.gomp4
-rw-r--r--gcc/c-family/ChangeLog.gomp4
-rw-r--r--gcc/c-family/c-cppbuiltin.c2
-rw-r--r--gcc/doc/invoke.texi4
-rw-r--r--gcc/fortran/ChangeLog.gomp7
-rw-r--r--gcc/fortran/cpp.c2
-rw-r--r--gcc/fortran/gfortran.texi16
-rw-r--r--gcc/fortran/intrinsic.texi6
-rw-r--r--gcc/fortran/invoke.texi4
-rw-r--r--gcc/testsuite/ChangeLog.gomp5
-rw-r--r--gcc/testsuite/c-c++-common/cpp/openacc-define-3.c2
-rw-r--r--gcc/testsuite/gfortran.dg/openacc-define-3.f902
-rw-r--r--libgomp/ChangeLog.gomp6
-rw-r--r--libgomp/libgomp.texi21
-rw-r--r--libgomp/openacc.f902
-rw-r--r--libgomp/openacc_lib.h2
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f2
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f902
18 files changed, 57 insertions, 36 deletions
diff --git a/gcc/ChangeLog.gomp b/gcc/ChangeLog.gomp
index a4720c36ed7..d7b50a1b266 100644
--- a/gcc/ChangeLog.gomp
+++ b/gcc/ChangeLog.gomp
@@ -1,3 +1,7 @@
+2017-05-15 Thomas Schwinge <thomas@codesourcery.com>
+
+ * doc/invoke.texi: Update for OpenACC 2.5.
+
2017-05-14 Thomas Schwinge <thomas@codesourcery.com>
* omp-low.c (execute_oacc_device_lower): Remove the parallelism
diff --git a/gcc/c-family/ChangeLog.gomp b/gcc/c-family/ChangeLog.gomp
index f975aefb7f9..31b273aeb7b 100644
--- a/gcc/c-family/ChangeLog.gomp
+++ b/gcc/c-family/ChangeLog.gomp
@@ -1,3 +1,7 @@
+2017-05-15 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Update "_OPENACC" to "201510".
+
2017-05-04 Cesar Philippidis <cesar@codesourcery.com>
* c-pragma.h (enum pragma_omp_clause): Add
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
index 3d4587e6db6..40b14ff8ce4 100644
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
@@ -1228,7 +1228,7 @@ c_cpp_builtins (cpp_reader *pfile)
cpp_define (pfile, "__SSP__=1");
if (flag_openacc)
- cpp_define (pfile, "_OPENACC=201306");
+ cpp_define (pfile, "_OPENACC=201510");
if (flag_openmp)
cpp_define (pfile, "_OPENMP=201511");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 299dab1f997..f70dab248dd 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1961,10 +1961,12 @@ freestanding and hosted environments.
Enable handling of OpenACC directives @code{#pragma acc} in C/C++ and
@code{!$acc} in Fortran. When @option{-fopenacc} is specified, the
compiler generates accelerated code according to the OpenACC Application
-Programming Interface v2.0 @w{@uref{http://www.openacc.org/}}. This option
+Programming Interface v2.5 @w{@uref{http://www.openacc.org/}}. This option
implies @option{-pthread}, and thus is only supported on targets that
have support for @option{-pthread}.
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+
@item -fopenacc-dim=@var{geom}
@opindex fopenacc-dim
@cindex OpenACC accelerator programming
diff --git a/gcc/fortran/ChangeLog.gomp b/gcc/fortran/ChangeLog.gomp
index 8a6ae6a9697..0f7179759dc 100644
--- a/gcc/fortran/ChangeLog.gomp
+++ b/gcc/fortran/ChangeLog.gomp
@@ -1,3 +1,10 @@
+2017-05-15 Thomas Schwinge <thomas@codesourcery.com>
+
+ * cpp.c (cpp_define_builtins): Update "_OPENACC" to "201510".
+ * gfortran.texi: Update for OpenACC 2.5.
+ * Intrinsic.texi: Likewise.
+ * invoke.texi: Likewise.
+
2017-05-14 Thomas Schwinge <thomas@codesourcery.com>
* openmp.c (OACC_KERNELS_CLAUSES)
diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c
index 8ac80926871..34f2ded419b 100644
--- a/gcc/fortran/cpp.c
+++ b/gcc/fortran/cpp.c
@@ -165,7 +165,7 @@ cpp_define_builtins (cpp_reader *pfile)
cpp_define (pfile, "_LANGUAGE_FORTRAN=1");
if (flag_openacc)
- cpp_define (pfile, "_OPENACC=201306");
+ cpp_define (pfile, "_OPENACC=201510");
if (flag_openmp)
cpp_define (pfile, "_OPENMP=201307");
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index 4d288bafac3..9eada35e168 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -477,9 +477,7 @@ used on real-world programs. In particular, the supported extensions
include OpenMP, Cray-style pointers, some old vendor extensions, and several
Fortran 2003 and Fortran 2008 features, including TR 15581. However, it is
still under development and has a few remaining rough edges.
-There also is initial support for OpenACC.
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC. See
+There also is support for OpenACC. See
@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
At present, the GNU Fortran compiler passes the
@@ -537,10 +535,8 @@ and @ref{TS 18508 status} sections of the documentation.
Additionally, the GNU Fortran compilers supports the OpenMP specification
(version 4.0, @url{http://openmp.org/@/wp/@/openmp-specifications/}).
-There also is initial support for the OpenACC specification (targeting
-version 2.0, @uref{http://www.openacc.org/}).
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC. See
+There also is support for the OpenACC specification (targeting
+version 2.5, @uref{http://www.openacc.org/}). See
@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
@node Varying Length Character Strings
@@ -2045,7 +2041,7 @@ influence run-time behavior.
GNU Fortran strives to be compatible to the
@uref{http://www.openacc.org/, OpenACC Application Programming
-Interface v2.0}.
+Interface v2.5}.
To enable the processing of the OpenACC directive @code{!$acc} in
free-form source code; the @code{c$acc}, @code{*$acc} and @code{!$acc}
@@ -2061,9 +2057,7 @@ The OpenACC Fortran runtime library routines are provided both in a
form of a Fortran 90 module named @code{openacc} and in a form of a
Fortran @code{include} file named @file{openacc_lib.h}.
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC. See
-@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
@node Argument list functions
@subsection Argument list functions @code{%VAL}, @code{%REF} and @code{%LOC}
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 88406301d9f..0c5ccf6af7b 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -14137,7 +14137,7 @@ kind @code{omp_proc_bind_kind}:
@section OpenACC Module @code{OPENACC}
@table @asis
@item @emph{Standard}:
-OpenACC Application Programming Interface v2.0
+OpenACC Application Programming Interface v2.5
@end table
@@ -14151,9 +14151,9 @@ are listed below.
For details refer to the actual
@uref{http://www.openacc.org/,
-OpenACC Application Programming Interface v2.0}.
+OpenACC Application Programming Interface v2.5}.
@code{OPENACC} provides the scalar default-integer
named constant @code{openacc_version} with a value of the form
@var{yyyymm}, where @code{yyyy} is the year and @var{mm} the month
-of the OpenACC version; for OpenACC v2.0 the value is @code{201306}.
+of the OpenACC version; for OpenACC v2.5 the value is @code{201510}.
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index e8b8409319e..9493832cf50 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -332,9 +332,7 @@ compilation sentinels in free form and @code{c$}, @code{*$} and
@code{!$} sentinels in fixed form, and when linking arranges for the
OpenACC runtime library to be linked in.
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC. See
-@w{@uref{https://gcc.gnu.org/wiki/OpenACC}} for more information.
+See @w{@uref{https://gcc.gnu.org/wiki/OpenACC}} for more information.
@item -fopenmp
@opindex @code{fopenmp}
diff --git a/gcc/testsuite/ChangeLog.gomp b/gcc/testsuite/ChangeLog.gomp
index 67f01e8ba78..34f0a065c0a 100644
--- a/gcc/testsuite/ChangeLog.gomp
+++ b/gcc/testsuite/ChangeLog.gomp
@@ -1,3 +1,8 @@
+2017-05-15 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-c++-common/cpp/openacc-define-3.c: Update.
+ * gfortran.dg/openacc-define-3.f90: Likewise.
+
2017-05-14 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/goacc/parallel-dims-1.c: Update.
diff --git a/gcc/testsuite/c-c++-common/cpp/openacc-define-3.c b/gcc/testsuite/c-c++-common/cpp/openacc-define-3.c
index ccedcd90782..21a735ac891 100644
--- a/gcc/testsuite/c-c++-common/cpp/openacc-define-3.c
+++ b/gcc/testsuite/c-c++-common/cpp/openacc-define-3.c
@@ -6,6 +6,6 @@
# error _OPENACC not defined
#endif
-#if _OPENACC != 201306
+#if _OPENACC != 201510
# error _OPENACC defined to wrong value
#endif
diff --git a/gcc/testsuite/gfortran.dg/openacc-define-3.f90 b/gcc/testsuite/gfortran.dg/openacc-define-3.f90
index b6c296e6b98..47cb1b08adb 100644
--- a/gcc/testsuite/gfortran.dg/openacc-define-3.f90
+++ b/gcc/testsuite/gfortran.dg/openacc-define-3.f90
@@ -6,6 +6,6 @@
# error _OPENACC not defined
#endif
-#if _OPENACC != 201306
+#if _OPENACC != 201510
# error _OPENACC defined to wrong value
#endif
diff --git a/libgomp/ChangeLog.gomp b/libgomp/ChangeLog.gomp
index 23882cf1dbe..f36cbfcdc2f 100644
--- a/libgomp/ChangeLog.gomp
+++ b/libgomp/ChangeLog.gomp
@@ -1,5 +1,11 @@
2017-05-15 Thomas Schwinge <thomas@codesourcery.com>
+ * libgomp.texi: Update for OpenACC 2.5.
+ * openacc.f90 (openacc_version): Update to "201510".
+ * openacc_lib.h (openacc_version): Likewise.
+ * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update.
+ * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Update.
+
* oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
(acc_wait_async, acc_wait_all, acc_wait_all_async): Set up
profiling.
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index b3fa1395f47..74b98c76109 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -1837,11 +1837,9 @@ good practice then to initialize the runtime with an explicit
A complete description of all OpenACC directives accepted may be found in
the @uref{http://www.openacc.org/, OpenACC} Application Programming
-Interface manual, version 2.0.
+Interface manual, version 2.5.
-Note that this is an experimental feature and subject to
-change in future versions of GCC. See
-@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
@@ -1853,12 +1851,15 @@ change in future versions of GCC. See
@chapter OpenACC Runtime Library Routines
The runtime routines described here are defined by section 3 of the OpenACC
-specifications in version 2.0.
+specification in version 2.0.
They have C linkage, and do not throw exceptions.
Generally, they are available only for the host, with the exception of
@code{acc_on_device}, which is available for both the host and the
acceleration device.
+This list has not yet been updated for the OpenACC specification in
+version 2.5.
+
@menu
* acc_get_num_devices:: Get number of devices for the given device
type.
@@ -2839,7 +2840,7 @@ A.2.1.4.
@chapter OpenACC Environment Variables
The variables @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM}
-are defined by section 4 of the OpenACC specification in version 2.0.
+are defined by section 4 of the OpenACC specification in version 2.5.
The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes.
@menu
@@ -2854,7 +2855,7 @@ The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes.
@section @code{ACC_DEVICE_TYPE}
@table @asis
@item @emph{Reference}:
-@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+@uref{http://www.openacc.org/, OpenACC specification v2.5}, section
4.1.
@end table
@@ -2864,7 +2865,7 @@ The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes.
@section @code{ACC_DEVICE_NUM}
@table @asis
@item @emph{Reference}:
-@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+@uref{http://www.openacc.org/, OpenACC specification v2.5}, section
4.2.
@end table
@@ -3080,8 +3081,8 @@ is called prior to a call to @code{cudaCreate()}. If @code{cudaCreate()}
is called prior to a call to an OpenACC function, then you must call
@code{acc_set_device_num()}@footnote{More complete information
about @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM} can be found in
-sections 4.1 and 4.2 of the @uref{http://www.openacc.org/, OpenACC}
-Application Programming Interfaceā€¯, Version 2.0.}
+sections 4.1 and 4.2 of the @uref{http://www.openacc.org/, OpenACC
+Application Programming Interface}, version 2.5.}
diff --git a/libgomp/openacc.f90 b/libgomp/openacc.f90
index a14816a9f22..dc7bfec06cd 100644
--- a/libgomp/openacc.f90
+++ b/libgomp/openacc.f90
@@ -688,7 +688,7 @@ module openacc
public :: acc_copyin_async, acc_create_async, acc_copyout_async
public :: acc_delete_async, acc_update_device_async, acc_update_self_async
- integer, parameter :: openacc_version = 201306
+ integer, parameter :: openacc_version = 201510
interface acc_get_num_devices
procedure :: acc_get_num_devices_h
diff --git a/libgomp/openacc_lib.h b/libgomp/openacc_lib.h
index 5eed9d50d18..0bc62928ac1 100644
--- a/libgomp/openacc_lib.h
+++ b/libgomp/openacc_lib.h
@@ -50,7 +50,7 @@
integer (acc_handle_kind), parameter :: acc_async_noval = -1
integer (acc_handle_kind), parameter :: acc_async_sync = -2
- integer, parameter :: openacc_version = 201306
+ integer, parameter :: openacc_version = 201510
interface acc_get_num_devices
function acc_get_num_devices_h (d)
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f b/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f
index db3c6b18540..28f3346d719 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f
+++ b/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f
@@ -4,6 +4,6 @@
implicit none
include "openacc_lib.h"
- if (openacc_version .ne. 201306) call abort;
+ if (openacc_version .ne. 201510) call abort;
end program main
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90 b/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90
index a14ecdd5032..1671fe9afe8 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90
+++ b/libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90
@@ -4,6 +4,6 @@ program main
use openacc
implicit none
- if (openacc_version .ne. 201306) call abort;
+ if (openacc_version .ne. 201510) call abort;
end program main