diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2014-09-29 15:57:15 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2014-09-29 15:57:15 (GMT) |
commit | a9ac64296a8c819d842ffd1dff225c888870c8dc (patch) | |
tree | 7e2b5d2fd206aa4fa6f8719b63c25bb0631fef3d /fortran/test | |
parent | 767e3e2f6d3fc573e4683c8a676c526688be5b23 (diff) | |
download | hdf5-a9ac64296a8c819d842ffd1dff225c888870c8dc.zip hdf5-a9ac64296a8c819d842ffd1dff225c888870c8dc.tar.gz hdf5-a9ac64296a8c819d842ffd1dff225c888870c8dc.tar.bz2 |
[svn-r25630] Brought changes from the trunk to the branch:
svn merge -r25432:25629 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran
Diffstat (limited to 'fortran/test')
-rw-r--r-- | fortran/test/tH5L_F03.f90 | 2 | ||||
-rw-r--r-- | fortran/test/tH5O_F03.f90 | 2 | ||||
-rw-r--r-- | fortran/test/tH5P_F03.f90 | 52 |
3 files changed, 45 insertions, 11 deletions
diff --git a/fortran/test/tH5L_F03.f90 b/fortran/test/tH5L_F03.f90 index 8cc17fb..795f1e2 100644 --- a/fortran/test/tH5L_F03.f90 +++ b/fortran/test/tH5L_F03.f90 @@ -58,7 +58,7 @@ CONTAINS !** !*************************************************************** - INTEGER FUNCTION liter_cb(group, name, link_info, op_data) bind(C) + INTEGER(KIND=C_INT) FUNCTION liter_cb(group, name, link_info, op_data) bind(C) USE HDF5 USE ISO_C_BINDING diff --git a/fortran/test/tH5O_F03.f90 b/fortran/test/tH5O_F03.f90 index 598e83e..b7003b3 100644 --- a/fortran/test/tH5O_F03.f90 +++ b/fortran/test/tH5O_F03.f90 @@ -68,7 +68,7 @@ CONTAINS IMPLICIT NONE - INTEGER(HID_T) :: group_id + INTEGER(HID_T), VALUE :: group_id CHARACTER(LEN=1), DIMENSION(1:180) :: name TYPE(h5o_info_t) :: oinfo TYPE(ovisit_ud_t) :: op_data diff --git a/fortran/test/tH5P_F03.f90 b/fortran/test/tH5P_F03.f90 index 91d9e3a..945d0a5 100644 --- a/fortran/test/tH5P_F03.f90 +++ b/fortran/test/tH5P_F03.f90 @@ -43,7 +43,7 @@ MODULE test_genprop_cls_cb1_mod USE ISO_C_BINDING IMPLICIT NONE - TYPE, bind(C) :: cop_cb_struct_ ! /* Struct for iterations */ + TYPE, BIND(C) :: cop_cb_struct_ ! /* Struct for iterations */ INTEGER :: count INTEGER(HID_T) :: id END TYPE cop_cb_struct_ @@ -59,10 +59,10 @@ CONTAINS INTEGER(HID_T), INTENT(IN), VALUE :: list_id TYPE(cop_cb_struct_) :: create_data - + create_data%count = create_data%count + 1 create_data%id = list_id - + test_genprop_cls_cb1_f = 0 END FUNCTION test_genprop_cls_cb1_f @@ -111,6 +111,10 @@ SUBROUTINE test_create(total_error) INTEGER(SIZE_T) :: h5off TYPE(C_PTR) :: f_ptr LOGICAL :: differ1, differ2 + CHARACTER(LEN=1) :: cfill + INTEGER :: ifill + REAL :: rfill + REAL(KIND=dp) :: dpfill !/* ! * Create a file. @@ -162,6 +166,41 @@ SUBROUTINE test_create(total_error) f_ptr = C_LOC(fill_ctype) + ! Test various fill values + CALL H5Pset_fill_value_f(dcpl, H5T_NATIVE_CHARACTER, 'X', error) + CALL check("H5Pset_fill_value_f",error, total_error) + CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_CHARACTER, cfill, error) + CALL check("H5Pget_fill_value_f",error, total_error) + IF(cfill.NE.'X')THEN + PRINT*,"***ERROR: Returned wrong fill value (character)" + total_error = total_error + 1 + ENDIF + CALL H5Pset_fill_value_f(dcpl, H5T_NATIVE_INTEGER, 9, error) + CALL check("H5Pset_fill_value_f",error, total_error) + CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_INTEGER, ifill, error) + CALL check("H5Pget_fill_value_f",error, total_error) + IF(ifill.NE.9)THEN + PRINT*,"***ERROR: Returned wrong fill value (integer)" + total_error = total_error + 1 + ENDIF + CALL H5Pset_fill_value_f(dcpl, H5T_NATIVE_DOUBLE, 1.0_dp, error) + CALL check("H5Pset_fill_value_f",error, total_error) + CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_DOUBLE, dpfill, error) + CALL check("H5Pget_fill_value_f",error, total_error) + IF(.NOT.dreal_eq( REAL(dpfill,dp), 1.0_dp))THEN + PRINT*,"***ERROR: Returned wrong fill value (double)" + total_error = total_error + 1 + ENDIF + CALL H5Pset_fill_value_f(dcpl, H5T_NATIVE_REAL, 2.0, error) + CALL check("H5Pset_fill_value_f",error, total_error) + CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_REAL, rfill, error) + CALL check("H5Pget_fill_value_f",error, total_error) + IF(.NOT.dreal_eq( REAL(rfill,dp), REAL(2.0,dp)))THEN + PRINT*,"***ERROR: Returned wrong fill value (real)" + total_error = total_error + 1 + ENDIF + + ! For the actual compound type CALL H5Pset_fill_value_f(dcpl, comp_type_id, f_ptr, error) CALL check("H5Pget_fill_value_f",error, total_error) @@ -243,12 +282,7 @@ SUBROUTINE test_genprop_class_callback(total_error) INTEGER(hid_t) :: lid2 !/* 2nd Generic Property list ID */ INTEGER(size_t) :: nprops !/* Number of properties in class */ - TYPE cb_struct - INTEGER :: count - INTEGER(hid_t) :: id - END TYPE cb_struct - - TYPE(cb_struct), TARGET :: crt_cb_struct, cls_cb_struct + TYPE(cop_cb_struct_), TARGET :: crt_cb_struct, cls_cb_struct CHARACTER(LEN=7) :: CLASS1_NAME = "Class 1" TYPE(C_FUNPTR) :: f1, f5 |