X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fs%2Faix4.h;h=56bd1a1128ee56b9e6658bd48745dab8fed7c1c1;hb=515ed47192a2fc212474dc246a875771890e0cbe;hp=bb3a15d78c1611fe2c787fde05d0565cca4a714e;hpb=a7bf8d60d66c38f62928b171842d1b45d4539077;p=chise%2Fxemacs-chise.git.1 diff --git a/src/s/aix4.h b/src/s/aix4.h index bb3a15d..56bd1a1 100644 --- a/src/s/aix4.h +++ b/src/s/aix4.h @@ -11,18 +11,28 @@ /* AIX is happier when bzero and strcasecmp are declared */ #include "strings.h" -/* AIX 4.2's sys/mman.h doesn't seem to define MAP_FAILED, - although Unix98 claims it must. */ -#ifdef HAVE_MMAP -#include -# ifndef MAP_FAILED -# define MAP_FAILED ((void *) -1) -# endif -#endif - /* Forward declarations for xlc warning suppressions */ struct ether_addr; struct sockaddr_dl; + +#ifdef __xlC__ /* "eXceLlent C compiler" ?! */ +#if __xlC__ >= 1200 +/* IBM's C compiler option `-O3' is too aggressive. + We recommend instead the combination `-O3 -qstrict', which seems safe. + + cc -O3 miscompiles at least two functions. From IBM's docs: + + IBM> -qstrict turns off the following optimizations: + + IBM> Performing code motion and scheduling on computations such as loads + IBM> and floating-point computations that may trigger an exception. + + Nevertheless, we try to work with these compiler options. */ +#pragma option_override (bytecount_to_charcount, "opt(strict,yes)") +#pragma option_override (Fexpand_file_name, "opt(strict,yes)") +#endif /* recent IBM C compiler */ +#endif /* IBM's C compiler */ + #endif /* C code */ /* getaddrinfo is broken in AIX 4.3 as per IY04165.