summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5f90global.f90
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
commit6182da802691e5702681faf509ac151fe652dd51 (patch)
treeec6a41f8882327da936a0a1709458dba606ef35b /fortran/src/H5f90global.f90
parentc048eed3be375907a030a7f27cb958fcbc95a3ef (diff)
downloadhdf5-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.f9036
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