summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2003-05-01 20:23:42 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2003-05-01 20:23:42 (GMT)
commit5b13e08ba686de2c4a97d92d4748bdd76c51e91f (patch)
tree51601f3d7e2fd58e7f009f76cd5088424c0380ef /fortran
parentb0880f9331e973bd6cb043e5f6edf777bfba949f (diff)
downloadhdf5-5b13e08ba686de2c4a97d92d4748bdd76c51e91f.zip
hdf5-5b13e08ba686de2c4a97d92d4748bdd76c51e91f.tar.gz
hdf5-5b13e08ba686de2c4a97d92d4748bdd76c51e91f.tar.bz2
[svn-r6790]
Purpose: Maintenance/code cleanup/fight with Windows Fortran DLLs Description: While strugling with Fortran DLLs on Windows I noticed some missing export definitions that are necessary for exporting correctly data and functions. Solution: Added missing definitions Platforms tested: h5committested; Windows with MSVC++ and Visual Fortran on Windows. Fortran DLLs partially work, only 2 tests fail, but failure doesn't make any sense. To make things worse, most of the C DLL tests start to fail when Fortran is built. I am still investigating... Misc. update:
Diffstat (limited to 'fortran')
-rw-r--r--fortran/src/H5f90global.f903
-rw-r--r--fortran/src/H5f90i.h5
-rw-r--r--fortran/src/H5f90proto.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90
index 2630cca..7aada3e 100644
--- a/fortran/src/H5f90global.f90
+++ b/fortran/src/H5f90global.f90
@@ -283,6 +283,9 @@
!
INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
INTEGER H5FD_flags(H5FD_FLAGS_LEN)
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$ ATTRIBUTES DLLEXPORT :: /H5FD_FLAGS/
+!DEC$endif
COMMON /H5FD_FLAGS/ H5FD_flags
INTEGER :: H5FD_MPIO_INDEPENDENT_F
diff --git a/fortran/src/H5f90i.h b/fortran/src/H5f90i.h
index e26c855..1c04008 100644
--- a/fortran/src/H5f90i.h
+++ b/fortran/src/H5f90i.h
@@ -30,6 +30,7 @@
#include <stdlib.h>
#include <limits.h>
#include <string.h>
+#include "H5private.h"
#if (defined (UNICOS) || (defined (_UNICOS)))
@@ -341,11 +342,11 @@ typedef float real_f;
#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST2_UNDERSCORE)
# define FNAME(x) x##__
#endif
-
+/*
# define HDfree(p) (free((void*)p))
# define HDmalloc(s) (malloc((size_t)s))
# define HDstrlen(s) (strlen((const char *)(s)))
# define HDmemcpy(dst,src,n) (memcpy((void *)(dst),(const void *)(src),(size_t)(n)))
-
+*/
#endif /* _H5f90i_H */
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index be3e855..ac96ed3 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -78,6 +78,7 @@ H5_DLL int_f nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id);
H5_DLL int_f nh5fget_obj_count_c (hid_t_f *file_id, int_f *obj_type, int_f *obj_count);
H5_DLL int_f nh5fget_obj_ids_c (hid_t_f *file_id, int_f *obj_type, int_f *obj_ids);
+H5_DLL int_f nh5fflush_c (hid_t_f *obj_id, int_f *scope);
/*
* Functions from H5Sf.c
@@ -1127,6 +1128,7 @@ H5_DLL int_f nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *mem_map, hid_t_f *m
H5_DLL int_f nh5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag);
H5_DLL int_f nh5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block);
H5_DLL int_f nh5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status);
+H5_DLL int_f nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag);
/*
* Functions frome H5Rf.c