summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorRichard Warren <Richard.Warren@hdfgroup.org>2019-12-06 21:42:36 (GMT)
committerRichard Warren <Richard.Warren@hdfgroup.org>2019-12-06 21:42:36 (GMT)
commit0c06cfc6ef9d851908f1017881598628ddf70b2a (patch)
tree0046503ba9371adcf6ad33a307d6e6827e52d88a /src/H5private.h
parent9d24eefaf71bae79ab3e483a608ddb8deff17b39 (diff)
downloadhdf5-0c06cfc6ef9d851908f1017881598628ddf70b2a.zip
hdf5-0c06cfc6ef9d851908f1017881598628ddf70b2a.tar.gz
hdf5-0c06cfc6ef9d851908f1017881598628ddf70b2a.tar.bz2
Merged HDFFV-10929_2GB_testing to hdf5_1_12
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 0bfc91b..2b35bd4 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -345,6 +345,14 @@
#define FAIL (-1)
#define UFAIL (unsigned)(-1)
+/* The HDF5 library uses the symbol `ERR` frequently. So do
+ * header files for libraries such as curses(3), terminfo(3), etc.
+ * Remove its definition here to avoid clashes with HDF5.
+ */
+#ifdef ERR
+#undef ERR
+#endif
+
/* number of members in an array */
#ifndef NELMTS
# define NELMTS(X) (sizeof(X)/sizeof(X[0]))
@@ -1645,9 +1653,18 @@ extern char *strdup(const char *s);
/* Assign a variable to one of a different size (think safer dst = (dsttype)src").
* The code generated by the macro checks for overflows.
+ *
+ * Use w##x##y##z instead of H5_GLUE4(w, x, y, z) because srctype
+ * or dsttype on some systems (e.g., NetBSD 8 and earlier) may
+ * supply some standard types using a macro---e.g.,
+ * #defineĀ uint8_tĀ __uint8_t. The preprocessor will expand the
+ * macros before it evaluates H5_GLUE4(), and that will generate
+ * an unexpected name such as ASSIGN___uint8_t_TO___uint16_t.
+ * The preprocessor does not expand macros in w##x##y##z, so
+ * that will always generate the expected name.
*/
#define H5_CHECKED_ASSIGN(dst, dsttype, src, srctype) \
- H5_GLUE4(ASSIGN_,srctype,_TO_,dsttype)(dst,dsttype,src,srctype)\
+ ASSIGN_##srctype##_TO_##dsttype(dst,dsttype,src,srctype)\
#else /* NDEBUG */
#define H5_CHECKED_ASSIGN(dst, dsttype, src, srctype) \
@@ -2671,7 +2688,7 @@ H5_DLL herr_t H5_combine_path(const char *path1, const char *path2, char **ful
#ifdef H5_HAVE_PARALLEL
/* Generic MPI functions */
H5_DLL hsize_t H5_mpi_set_bigio_count(hsize_t new_count);
-H5_DLL hsize_t H5_mpi_get_bigio_count();
+H5_DLL hsize_t H5_mpi_get_bigio_count(void);
H5_DLL herr_t H5_mpi_comm_dup(MPI_Comm comm, MPI_Comm *comm_new);
H5_DLL herr_t H5_mpi_info_dup(MPI_Info info, MPI_Info *info_new);
H5_DLL herr_t H5_mpi_comm_free(MPI_Comm *comm);