From 5fcefe52a26e265ab426ecc692bcf1e5cf8adb3f Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Mon, 4 Jun 2001 16:28:06 -0500 Subject: [svn-r3958] Purpose: HPUX 11.00 port Description: Redundant USE statements triggered a bug in the HP F90 compiler. Solution: Source code was rearranged to avoid redundancy: definitions of the object and dataset region reference types were moved from H5Rff.f90 to H5f90global.f90; "USE H5R" statement was removed from H5Rff.f90. Now H5Rff.f90 uses "USE H5GLOBAL" statement only as the rest of the modules. Platforms tested: HPUX 11.00 (kelgia), Solaris 2.7 (arabica) --- fortran/src/H5Dff.f90 | 2 +- fortran/src/H5Rff.f90 | 34 +++++++++++++++++----------------- fortran/src/H5f90global.f90 | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90 index b256705..515ab5c 100644 --- a/fortran/src/H5Dff.f90 +++ b/fortran/src/H5Dff.f90 @@ -3,7 +3,7 @@ ! MODULE H5D USE H5GLOBAL - USE H5R +! USE H5R INTERFACE h5dwrite_f diff --git a/fortran/src/H5Rff.f90 b/fortran/src/H5Rff.f90 index 5480281..6916b9f 100644 --- a/fortran/src/H5Rff.f90 +++ b/fortran/src/H5Rff.f90 @@ -6,17 +6,17 @@ ! If you change the value of these parameters, do not forget to change corresponding ! values in the H5f90.h file. - INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 - INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 - - TYPE hobj_ref_t_f - INTEGER ref(REF_OBJ_BUF_LEN) - END TYPE - - TYPE hdset_reg_ref_t_f - INTEGER ref(REF_REG_BUF_LEN) - END TYPE - +! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 +! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 +! +! TYPE hobj_ref_t_f +! INTEGER ref(REF_OBJ_BUF_LEN) +! END TYPE +! +! TYPE hdset_reg_ref_t_f +! INTEGER ref(REF_REG_BUF_LEN) +! END TYPE +! INTERFACE h5rcreate_f MODULE PROCEDURE h5rcreate_object_f @@ -98,7 +98,7 @@ USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RCREATE_OBJECT_C':: h5rcreate_object_c !DEC$ATTRIBUTES reference :: name - INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 +! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 INTEGER :: ref_f(REF_OBJ_BUF_LEN) INTEGER(HID_T), INTENT(IN) :: loc_id CHARACTER(LEN=*), INTENT(IN) :: name @@ -167,7 +167,7 @@ USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RCREATE_REGION_C':: h5rcreate_region_c !DEC$ATTRIBUTES reference :: name - INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 +! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 INTEGER :: ref_f(REF_REG_BUF_LEN) INTEGER(HID_T), INTENT(IN) :: loc_id CHARACTER(LEN=*), INTENT(IN) :: name @@ -235,7 +235,7 @@ INTEGER FUNCTION h5rdereference_object_c(dset_id, ref_f, obj_id) USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RDEREFERENCE_OBJECT_C':: h5rdereference_object_c - INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 +! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 INTEGER(HID_T), INTENT(IN) :: dset_id INTEGER :: ref_f(REF_OBJ_BUF_LEN) INTEGER(HID_T), INTENT(OUT) :: obj_id @@ -300,7 +300,7 @@ USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RDEREFERENCE_REGION_C':: h5rdereference_region_c INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 +! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 INTEGER :: ref_f(REF_REG_BUF_LEN) INTEGER(HID_T), INTENT(OUT) :: obj_id END FUNCTION h5rdereference_region_c @@ -364,7 +364,7 @@ USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RGET_REGION_REGION_C':: h5rget_region_region_c INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 +! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 INTEGER :: ref_f(REF_REG_BUF_LEN) INTEGER(HID_T), INTENT(OUT) :: space_id END FUNCTION h5rget_region_region_c @@ -437,7 +437,7 @@ INTEGER FUNCTION h5rget_object_type_obj_c(dset_id, ref_f, obj_type) USE H5GLOBAL !MS$ATTRIBUTES C,reference,alias:'_H5RGET_OBJECT_TYPE_OBJ_C':: h5rget_object_type_obj_c - INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 +! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 INTEGER(HID_T), INTENT(IN) :: dset_id INTEGER :: ref_f(REF_OBJ_BUF_LEN) INTEGER, INTENT(OUT) :: obj_type diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90 index a6e321c..9a2ce67 100644 --- a/fortran/src/H5f90global.f90 +++ b/fortran/src/H5f90global.f90 @@ -1,5 +1,20 @@ MODULE H5GLOBAL USE H5FORTRAN_TYPES +! +! Definitions for reference datatypes. +! If you change the value of these parameters, do not forget to change corresponding +! values in the H5f90.h file. + INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2 + INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 + + TYPE hobj_ref_t_f + INTEGER ref(REF_OBJ_BUF_LEN) + END TYPE + + TYPE hdset_reg_ref_t_f + INTEGER ref(REF_REG_BUF_LEN) + END TYPE + INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 6 ! Do not forget to change this ! value when new predefined ! datatypes are added -- cgit v0.12