libgomp/openacc.f90 – clean-up public/private attributes
authorTobias Burnus <tobias@codesourcery.com>
Tue, 17 Dec 2019 11:19:32 +0000 (11:19 +0000)
committerTobias Burnus <burnus@gcc.gnu.org>
Tue, 17 Dec 2019 11:19:32 +0000 (12:19 +0100)
        * 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
libgomp/config/accel/openacc.f90
libgomp/openacc.f90
libgomp/openacc_lib.h

index 6b16bf34b17905491a883d762187c3dee531dc83..b46a68255dfe344f8672eb43cff27a3584e2bbdc 100644 (file)
@@ -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
index 6a8c5e9cb3db4a6a7d3ed0932677e0c0cf5fc374..badf5e176dd7611e5a9e89695528e38a84855b15 100644 (file)
@@ -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
index b37f1872d504705d107c4e8cb6d7339d325d0b21..fb7fc6e6d77e70fb55a106dbfc4e7096ef4fb5a8 100644 (file)
@@ -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
index fbd8f5e3625729296172a8b034aa07f26526b96a..a928414cffeb0a98133a53b11b5292f9d09a01e8 100644 (file)
@@ -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