diff options
author | Robb Matzke <matzke@llnl.gov> | 1999-02-26 19:58:14 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1999-02-26 19:58:14 (GMT) |
commit | 912c5a0874182f0705e3fe6756859817e2a64cdd (patch) | |
tree | a68f01992ce5a618dfee8f69778e2ffd8dda03af /src/H5private.h | |
parent | efb18f8785f0c1f967743fba1ed13a392a0ca601 (diff) | |
download | hdf5-912c5a0874182f0705e3fe6756859817e2a64cdd.zip hdf5-912c5a0874182f0705e3fe6756859817e2a64cdd.tar.gz hdf5-912c5a0874182f0705e3fe6756859817e2a64cdd.tar.bz2 |
[svn-r1108] Changes since 19990225
----------------------
./INSTALL
Added warnings and a disclaimer about GNU, DEC, Irix64, and NT
compilers that generate incorrect machine code.
./configure.in
./src/H5private.h
Detects and includes <sys/param.h> which is needed on FreeBSD
before <sys/proc.h> even though we only really using anything
from <sys/proc.h> on the DEC Alpha.
./config/irix64
Turned off warnings for duplicate definitions from the linker
because -lnsl on irix has the same stuff in it as -lc.
./config/irix6.x
Split up the CC and CFLAGS settings like with irix64 so that
compilers besides `-n32' can be used.
./bin/snapshot
The snapshots are tagged with names like hdf5-1_1_52 which is
similar to the way the releases are tagged (cvs doesn't allow
dots in tags).
./test/dtypes.c
./src/H5private.h
./src/H5Tconv.c
Fixed some alignment violations on the DEC when using high
optimization levels. The DEC incorrectly optimizes certain
memcpy() and memmove() calls when the source argument is not
word aligned if the call looks like it's copying an atomic
data type.
./test/hyperslab
Worked around code generation bugs in the Irix64 Mongoose 7.00
compiler by casting some `unsigned long' values to `unsigned'
in an expression.
./src/H5Ocomp.c
Fixed a place where %d was used to print a size_t.
Diffstat (limited to 'src/H5private.h')
-rw-r--r-- | src/H5private.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/H5private.h b/src/H5private.h index fac7fa1..487f83a 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -90,6 +90,23 @@ #endif /* + * System information. These are needed on the DEC Alpha to turn off fixing + * of unaligned accesses by the operating system during detection of + * alignment constraints in H5detect.c:main(). The <sys/param.h> must be + * included before <sys/proc.h> on FreeBSD even though we never use anything + * from either header file on that system. + */ +#ifdef HAVE_SYS_SYSINFO_H +# include <sys/sysinfo.h> +#endif +#ifdef HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif +#ifdef HAVE_SYS_PROC_H +# include <sys/proc.h> +#endif + +/* * Win32 is severely broken when it comes to ANSI-C and Posix.1 compliance. */ #ifdef HAVE_IO_H @@ -540,8 +557,12 @@ __DLL__ int HDfprintf (FILE *stream, const char *fmt, ...); #define HDmbtowc(P,S,Z) mbtowc(P,S,Z) #define HDmemchr(S,C,Z) memchr(S,C,Z) #define HDmemcmp(X,Y,Z) memcmp(X,Y,Z) -#define HDmemcpy(X,Y,Z) memcpy(X,Y,Z) -#define HDmemmove(X,Y,Z) memmove(X,Y,Z) +/* + * The (char*) casts are required for the DEC when optimizations are turned + * on and the source and/or destination are not aligned. + */ +#define HDmemcpy(X,Y,Z) memcpy((char*)(X),(const char*)(Y),Z) +#define HDmemmove(X,Y,Z) memmove((char*)(X),(const char*)(Y),Z) #define HDmemset(X,C,Z) memset(X,C,Z) #define HDmkdir(S,M) mkdir(S,M) #define HDmkfifo(S,M) mkfifo(S,M) |