diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-01-22 21:56:03 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-01-22 21:56:03 (GMT) |
commit | 1e3f530848f1fed0ac42b7324c110bd9e6a7bb7e (patch) | |
tree | 386e982acb1e8dc0f003760a449a7f5254fc312b /fortran/src/H5Rff_F03.f90 | |
parent | 324f087d050863aee2ab0222b4ed1a56301a3185 (diff) | |
download | hdf5-1e3f530848f1fed0ac42b7324c110bd9e6a7bb7e.zip hdf5-1e3f530848f1fed0ac42b7324c110bd9e6a7bb7e.tar.gz hdf5-1e3f530848f1fed0ac42b7324c110bd9e6a7bb7e.tar.bz2 |
[svn-r26010] Fix for:
HDFFV-9049
Intel 15.0 15.0.1 Fails with --enable-fortran2003
Added BIND to the Fortran 2003 functions.
Tested: windows (tested concept)
linux (--enable-fortran and --enable-fortran2003)
Diffstat (limited to 'fortran/src/H5Rff_F03.f90')
-rw-r--r-- | fortran/src/H5Rff_F03.f90 | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/fortran/src/H5Rff_F03.f90 b/fortran/src/H5Rff_F03.f90 index 42ba38b..fc4b2f3 100644 --- a/fortran/src/H5Rff_F03.f90 +++ b/fortran/src/H5Rff_F03.f90 @@ -90,29 +90,24 @@ MODULE H5R_PROVISIONAL END INTERFACE INTERFACE - INTEGER FUNCTION h5rget_name_ptr_c(loc_id, ref_type, ref, name, name_len, size_default) - USE, INTRINSIC :: ISO_C_BINDING + INTEGER FUNCTION h5rget_name_ptr_c(loc_id, ref_type, ref, name, name_len, size_default) & + BIND(C, NAME='h5rget_name_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_NAME_PTR_C':: h5rget_name_ptr_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name INTEGER(HID_T), INTENT(IN) :: loc_id INTEGER, INTENT(IN) :: ref_type TYPE(C_PTR), INTENT(IN), VALUE :: ref - CHARACTER(LEN=*), INTENT(OUT) :: name + CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name INTEGER(SIZE_T) :: name_len INTEGER(SIZE_T) :: size_default END FUNCTION h5rget_name_ptr_c END INTERFACE INTERFACE - INTEGER FUNCTION h5rdereference_ptr_c(obj_id, ref_type, ref, ref_obj_id) + INTEGER FUNCTION h5rdereference_ptr_c(obj_id, ref_type, ref, ref_obj_id) & + BIND(C, NAME='h5rdereference_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr USE H5GLOBAL - USE, INTRINSIC :: ISO_C_BINDING - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RDEREFERENCE_PTR_C':: h5rdereference_ptr_c - !DEC$ENDIF INTEGER(HID_T), INTENT(IN) :: obj_id INTEGER, INTENT(IN) :: ref_type TYPE(C_PTR), INTENT(IN), VALUE :: ref @@ -121,16 +116,13 @@ MODULE H5R_PROVISIONAL END INTERFACE INTERFACE - INTEGER FUNCTION h5rcreate_ptr_c(ref, loc_id, name, namelen, ref_type, space_id) - USE, INTRINSIC :: ISO_C_BINDING + INTEGER FUNCTION h5rcreate_ptr_c(ref, loc_id, name, namelen, ref_type, space_id) & + BIND(C, NAME='h5rcreate_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RCREATE_PTR_C':: h5rcreate_ptr_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name TYPE(C_PTR), VALUE :: ref INTEGER(HID_T), INTENT(IN) :: loc_id - CHARACTER(LEN=*), INTENT(IN) :: name + CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name INTEGER :: namelen INTEGER, INTENT(IN) :: ref_type INTEGER(HID_T), INTENT(IN) :: space_id @@ -138,12 +130,10 @@ MODULE H5R_PROVISIONAL END INTERFACE INTERFACE - INTEGER FUNCTION h5rget_region_ptr_c(dset_id, ref, space_id) - USE, INTRINSIC :: ISO_C_BINDING + INTEGER FUNCTION h5rget_region_ptr_c(dset_id, ref, space_id) & + BIND(C, NAME='h5rget_region_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_REGION_PTR_C':: h5rget_region_ptr_c - !DEC$ENDIF INTEGER(HID_T), INTENT(IN) :: dset_id TYPE(C_PTR), VALUE :: ref INTEGER(HID_T), INTENT(OUT) :: space_id @@ -281,7 +271,6 @@ CONTAINS INTEGER, INTENT(OUT) :: hdferr ! Error code !***** INTEGER :: namelen ! Name length - TYPE(C_PTR) :: f_ptr f_ptr = C_LOC(ref) @@ -712,12 +701,10 @@ CONTAINS !***** INTERFACE - INTEGER FUNCTION h5rget_obj_type_c(loc_id, ref_type, ref, obj_type) - USE, INTRINSIC :: ISO_C_BINDING + INTEGER FUNCTION h5rget_obj_type_c(loc_id, ref_type, ref, obj_type) & + BIND(C, NAME='h5rget_obj_type_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_OBJ_TYPE_C':: h5rget_obj_type_c - !DEC$ENDIF INTEGER(HID_T), INTENT(IN) :: loc_id INTEGER, INTENT(IN) :: ref_type TYPE(C_PTR), VALUE :: ref |