diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2001-04-27 03:47:27 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2001-04-27 03:47:27 (GMT) |
commit | 6182da802691e5702681faf509ac151fe652dd51 (patch) | |
tree | ec6a41f8882327da936a0a1709458dba606ef35b /fortran/src/H5Fff.f90 | |
parent | c048eed3be375907a030a7f27cb958fcbc95a3ef (diff) | |
download | hdf5-6182da802691e5702681faf509ac151fe652dd51.zip hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.gz hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.bz2 |
[svn-r3860]
Purpose:
Windows port
Description:
Multiple changes:
* Windows platforms require special compiler directives
in order to create DLLs.
* In read/write subroutines data arrays were passed by descriptor.
This worked on UNIX but did not work on Windows.
Solution:
* added compiler directives.
* read/write APIs have been changed. There is an additional
parameter (array that contains the sizes of data buffer dimensions)
and regular arrays are used instead of assumed-shaped arrays.
Platforms tested:
* Currently this feature does not work. Common blocks are not exported correctly
from one F90 module to another.
I am checking this in so I can ask DEC for help.
* For static library tests passed on Windows 98 ( except flush2_fortran)
All tests passed on Linux, Solaris 2.7, O2K and T3E
Diffstat (limited to 'fortran/src/H5Fff.f90')
-rw-r--r-- | fortran/src/H5Fff.f90 | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/fortran/src/H5Fff.f90 b/fortran/src/H5Fff.f90 index afea23f..a8a24fa 100644 --- a/fortran/src/H5Fff.f90 +++ b/fortran/src/H5Fff.f90 @@ -36,6 +36,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, & creation_prp, access_prp) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fcreate_f +!DEC$endif +! IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file @@ -112,6 +118,12 @@ ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5fflush_f(object_id, scope, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fflush_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: object_id !identifier for any object @@ -177,6 +189,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr, access_prp) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fmount_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group @@ -243,6 +261,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5funmount_f(loc_id, name, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5funmount_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group @@ -300,6 +324,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, & access_prp) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fopen_f +!DEC$endif +! IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file @@ -364,6 +394,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5freopen_f(file_id, ret_file_id, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5freopen_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier @@ -413,6 +449,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_create_plist_f(file_id, prop_id, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fget_create_plist_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier @@ -463,6 +505,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_access_plist_f(file_id, access_id, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fget_access_plist_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier @@ -513,6 +561,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fis_hdf5_f(name, status, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fis_hdf5_f +!DEC$endif +! IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file @@ -569,6 +623,12 @@ !---------------------------------------------------------------------- SUBROUTINE h5fclose_f(file_id, hdferr) +! +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$attributes dllexport :: h5fclose_f +!DEC$endif +! IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier |