summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Rff_F03.f90
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-01-22 21:56:03 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-01-22 21:56:03 (GMT)
commit1e3f530848f1fed0ac42b7324c110bd9e6a7bb7e (patch)
tree386e982acb1e8dc0f003760a449a7f5254fc312b /fortran/src/H5Rff_F03.f90
parent324f087d050863aee2ab0222b4ed1a56301a3185 (diff)
downloadhdf5-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.f9047
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