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/H5f90global.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/H5f90global.f90')
-rw-r--r-- | fortran/src/H5f90global.f90 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90 index 94b1e20..a6e321c 100644 --- a/fortran/src/H5f90global.f90 +++ b/fortran/src/H5f90global.f90 @@ -78,12 +78,18 @@ ! H5T_NATIVE_CHARACTER, & ! H5T_STD_REF_OBJ, & ! H5T_STD_REF_DSETREG +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /PREDEFINED_TYPES/ +!DEC$endif COMMON /PREDEFINED_TYPES/ predef_types ! COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE, & ! H5T_IEEE_F32LE, & ! H5T_IEEE_F64BE, & ! H5T_IEEE_F64LE +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /FLOATING_TYPES/ +!DEC$endif COMMON /FLOATING_TYPES/ floating_types ! ! COMMON /INTEGER_TYPES/ H5T_STD_I8BE, & @@ -102,6 +108,9 @@ ! H5T_STD_U32LE, & ! H5T_STD_U64BE, & ! H5T_STD_U64LE +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /INTEGER_TYPES/ +!DEC$endif COMMON /INTEGER_TYPES/ integer_types ! ! Fortran flags @@ -113,6 +122,9 @@ ! INTEGER, PARAMETER :: H5F_FLAGS_LEN = 7 INTEGER H5F_flags(H5F_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5F_FLAGS/ +!DEC$endif COMMON /H5F_FLAGS/ H5F_flags INTEGER :: H5F_ACC_RDWR_F @@ -135,6 +147,9 @@ ! INTEGER, PARAMETER :: H5G_FLAGS_LEN = 8 INTEGER H5G_flags(H5G_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5G_FLAGS/ +!DEC$endif COMMON /H5G_FLAGS/ H5G_flags INTEGER :: H5G_UNKNOWN_F @@ -160,6 +175,9 @@ INTEGER, PARAMETER :: H5D_FLAGS_LEN = 3 INTEGER H5D_flags(H5D_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5D_FLAGS/ +!DEC$endif COMMON /H5D_FLAGS/ H5D_flags INTEGER :: H5D_COMPACT_F @@ -188,6 +206,9 @@ ! INTEGER, PARAMETER :: H5E_FLAGS_LEN = 24 INTEGER H5E_flags(H5E_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/ +!DEC$endif COMMON /H5E_FLAGS/ H5E_flags INTEGER :: H5E_NONE_MAJOR_F @@ -245,6 +266,9 @@ ! INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7 INTEGER H5I_flags(H5I_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5I_FLAGS/ +!DEC$endif COMMON /H5I_FLAGS/ H5I_flags INTEGER :: H5I_FILE_F @@ -268,6 +292,9 @@ ! INTEGER, PARAMETER :: H5P_FLAGS_LEN = 6 INTEGER H5P_flags(H5P_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5P_FLAGS/ +!DEC$endif COMMON /H5P_FLAGS/ H5P_flags INTEGER :: H5P_FILE_CREATE_F @@ -289,6 +316,9 @@ ! INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2 INTEGER H5R_flags(H5R_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5R_FLAGS/ +!DEC$endif COMMON /H5R_FLAGS/ H5R_flags INTEGER :: H5R_OBJECT_F @@ -302,6 +332,9 @@ ! INTEGER, PARAMETER :: H5S_FLAGS_LEN = 6 INTEGER H5S_flags(H5S_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5S_FLAGS/ +!DEC$endif COMMON /H5S_FLAGS/ H5S_flags INTEGER :: H5S_SCALAR_F @@ -323,6 +356,9 @@ ! INTEGER, PARAMETER :: H5T_FLAGS_LEN = 28 INTEGER H5T_flags(H5T_FLAGS_LEN) +!DEC$if defined(BUILD_HDF5_DLL) +!DEC$ ATTRIBUTES DLLEXPORT :: /H5T_FLAGS/ +!DEC$endif COMMON /H5T_FLAGS/ H5T_flags INTEGER :: H5T_NO_CLASS_F |