diff options
author | kmu <kmu@hdfgroup.org> | 2019-11-07 20:51:40 (GMT) |
---|---|---|
committer | kmu <kmu@hdfgroup.org> | 2019-11-07 20:51:40 (GMT) |
commit | 815611a318b64010e1dc70691a132ee18e0385f5 (patch) | |
tree | c66cdb2df58374d936d417d888f25495842c1263 /src | |
parent | 8b9338ab57eec0cc8fa5a36c44d7b28e52e9a466 (diff) | |
parent | 2dd5bbfe167e3e9b6b6ee657a882e24072de4aeb (diff) | |
download | hdf5-815611a318b64010e1dc70691a132ee18e0385f5.zip hdf5-815611a318b64010e1dc70691a132ee18e0385f5.tar.gz hdf5-815611a318b64010e1dc70691a132ee18e0385f5.tar.bz2 |
Merge branch 'develop' of https://git.hdfgroup.org/scm/~kmu/hdf5 into develop
Diffstat (limited to 'src')
-rw-r--r-- | src/H5private.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/H5private.h b/src/H5private.h index 0bfc91b..b5ee984 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) \ |