From 0b8499a4808d5b8b65559c99bb8c68d076f195a3 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Tue, 17 Dec 2019 11:19:32 +0000 Subject: [PATCH] =?utf8?q?libgomp/openacc.f90=20=E2=80=93=20clean-up=20pub?= =?utf8?q?lic/private=20attributes?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * 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 --- libgomp/ChangeLog | 11 +++++++++++ libgomp/config/accel/openacc.f90 | 18 ++++++++++++------ libgomp/openacc.f90 | 11 +++++++---- libgomp/openacc_lib.h | 3 +++ 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 6b16bf34b17..b46a68255df 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,14 @@ +2019-12-17 Tobias Burnus + + * 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 PR libgomp/92881 diff --git a/libgomp/config/accel/openacc.f90 b/libgomp/config/accel/openacc.f90 index 6a8c5e9cb3d..badf5e176dd 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 b37f1872d50..fb7fc6e6d77 100644 --- a/libgomp/openacc.f90 +++ b/libgomp/openacc.f90 @@ -27,6 +27,8 @@ ! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ! . +! 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 fbd8f5e3625..a928414cffe 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 -- 2.30.2