aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2019-12-17 11:19:32 +0000
committerTobias Burnus <burnus@gcc.gnu.org>2019-12-17 12:19:32 +0100
commit0b8499a4808d5b8b65559c99bb8c68d076f195a3 (patch)
tree617a68936b6fa25f2445ff22344fd341560fab8e
parente55cdb1455417b139374bf2eee5fce6692b48de7 (diff)
downloadgcc-0b8499a4808d5b8b65559c99bb8c68d076f195a3.zip
gcc-0b8499a4808d5b8b65559c99bb8c68d076f195a3.tar.gz
gcc-0b8499a4808d5b8b65559c99bb8c68d076f195a3.tar.bz2
libgomp/openacc.f90 – clean-up public/private attributes
* 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. From-SVN: r279456
-rw-r--r--libgomp/ChangeLog11
-rw-r--r--libgomp/config/accel/openacc.f9018
-rw-r--r--libgomp/openacc.f9011
-rw-r--r--libgomp/openacc_lib.h3
4 files changed, 33 insertions, 10 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 6b16bf3..b46a6825 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,14 @@
+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
diff --git a/libgomp/config/accel/openacc.f90 b/libgomp/config/accel/openacc.f90
index 6a8c5e9..badf5e1 100644
--- a/libgomp/config/accel/openacc.f90
+++ b/libgomp/config/accel/openacc.f90
@@ -36,13 +36,12 @@ module openacc_kinds
use iso_fortran_env, only: int32
implicit none
+ public
private :: int32
- public :: acc_device_kind
- integer, parameter :: acc_device_kind = int32
+ ! When adding items, also update 'public' setting in 'module openacc' below.
- public :: acc_device_none, acc_device_default, acc_device_host
- public :: acc_device_not_host, acc_device_nvidia
+ integer, parameter :: acc_device_kind = int32
! Keep in sync with include/gomp-constants.h.
integer (acc_device_kind), parameter :: acc_device_none = 0
@@ -53,7 +52,7 @@ module openacc_kinds
integer (acc_device_kind), parameter :: acc_device_nvidia = 5
integer (acc_device_kind), parameter :: acc_device_gcn = 8
-end module
+end module openacc_kinds
module openacc_internal
use openacc_kinds
@@ -75,13 +74,20 @@ module openacc_internal
integer (c_int), value :: d
end function
end interface
-end module
+end module openacc_internal
module openacc
use openacc_kinds
use openacc_internal
implicit none
+ private
+
+ ! From openacc_kinds
+ public :: acc_device_kind
+ public :: acc_device_none, acc_device_default, acc_device_host
+ public :: acc_device_not_host, acc_device_nvidia, acc_device_gcn
+
public :: acc_on_device
interface acc_on_device
diff --git a/libgomp/openacc.f90 b/libgomp/openacc.f90
index b37f187..fb7fc6e 100644
--- a/libgomp/openacc.f90
+++ b/libgomp/openacc.f90
@@ -27,6 +27,8 @@
! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
! <http://www.gnu.org/licenses/>.
+! Keep in sync with config/accel/openacc.f90 and openacc_lib.h.
+
module openacc_kinds
use iso_fortran_env, only: int32
implicit none
@@ -34,7 +36,7 @@ module openacc_kinds
public
private :: int32
- ! When adding items, also update 'public' setting in 'module openmp' below.
+ ! When adding items, also update 'public' setting in 'module openacc' below.
integer, parameter :: acc_device_kind = int32
@@ -52,7 +54,7 @@ module openacc_kinds
! Keep in sync with include/gomp-constants.h.
integer (acc_handle_kind), parameter :: acc_async_noval = -1
integer (acc_handle_kind), parameter :: acc_async_sync = -2
-end module
+end module openacc_kinds
module openacc_internal
use openacc_kinds
@@ -704,7 +706,7 @@ module openacc_internal
integer (c_int), value :: async
end subroutine
end interface
-end module
+end module openacc_internal
module openacc
use openacc_kinds
@@ -712,6 +714,7 @@ module openacc
implicit none
private
+
! From openacc_kinds
public :: acc_device_kind, acc_handle_kind
public :: acc_device_none, acc_device_default, acc_device_host
@@ -933,7 +936,7 @@ module openacc
procedure :: acc_update_self_async_array_h
end interface
-end module
+end module openacc
function acc_get_num_devices_h (d)
use openacc_internal, only: acc_get_num_devices_l
diff --git a/libgomp/openacc_lib.h b/libgomp/openacc_lib.h
index fbd8f5e..a928414 100644
--- a/libgomp/openacc_lib.h
+++ b/libgomp/openacc_lib.h
@@ -32,6 +32,8 @@
! Alternatively, the user can use the module version, which permits
! compilation with -std=f95.
+! Keep in sync with openacc.f90 and config/accel/openacc.f90.
+
integer, parameter :: acc_device_kind = 4
! Keep in sync with include/gomp-constants.h.
@@ -42,6 +44,7 @@
! removed.
integer (acc_device_kind), parameter :: acc_device_not_host = 4
integer (acc_device_kind), parameter :: acc_device_nvidia = 5
+ integer (acc_device_kind), parameter :: acc_device_gcn = 8
integer, parameter :: acc_handle_kind = 4