diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2001-06-04 21:28:06 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2001-06-04 21:28:06 (GMT) |
commit | 5fcefe52a26e265ab426ecc692bcf1e5cf8adb3f (patch) | |
tree | 179ea08774d1e5a0ba7550ef29d9e94f2ed7798d /fortran | |
parent | 53f03a4c721f1733141645ac4c072f12b04706ee (diff) | |
download | hdf5-5fcefe52a26e265ab426ecc692bcf1e5cf8adb3f.zip hdf5-5fcefe52a26e265ab426ecc692bcf1e5cf8adb3f.tar.gz hdf5-5fcefe52a26e265ab426ecc692bcf1e5cf8adb3f.tar.bz2 |
[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)
Diffstat (limited to 'fortran')
-rw-r--r-- | fortran/src/H5Dff.f90 | 2 | ||||
-rw-r--r-- | fortran/src/H5Rff.f90 | 34 | ||||
-rw-r--r-- | 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 |