comparison src/s/aix4.h @ 499:36b504cdc45f

[xemacs-hg @ 2001-05-03 07:17:11 by martinb] Fix crash with xlc -O3.
author martinb
date Thu, 03 May 2001 07:17:11 +0000
parents 223736d75acb
children 943eaba38521
comparison
equal deleted inserted replaced
498:88e7e9bafe19 499:36b504cdc45f
15 struct ether_addr; 15 struct ether_addr;
16 struct sockaddr_dl; 16 struct sockaddr_dl;
17 17
18 #ifdef __xlC__ /* "eXceLlent C compiler" ?! */ 18 #ifdef __xlC__ /* "eXceLlent C compiler" ?! */
19 #if __xlC__ >= 1200 19 #if __xlC__ >= 1200
20 /* IBM's C compiler miscompiles bytecount_to_charcount at high levels 20 /* IBM's C compiler option `-O3' is too aggressive.
21 of optimization. From IBM's docs: 21 We recommend instead the combination `-O3 -qstrict', which seems safe.
22 22
23 -qstrict turns off the following optimizations: 23 cc -O3 miscompiles at least two functions. From IBM's docs:
24 24
25 Performing code motion and scheduling on computations such as loads 25 IBM> -qstrict turns off the following optimizations:
26 and floating-point computations that may trigger an exception. */ 26
27 IBM> Performing code motion and scheduling on computations such as loads
28 IBM> and floating-point computations that may trigger an exception.
29
30 Nevertheless, we try to work with these compiler options. */
27 #pragma option_override (bytecount_to_charcount, "opt(strict,yes)") 31 #pragma option_override (bytecount_to_charcount, "opt(strict,yes)")
32 #pragma option_override (Fexpand_file_name, "opt(strict,yes)")
28 #endif /* recent IBM C compiler */ 33 #endif /* recent IBM C compiler */
29 #endif /* IBM's C compiler */ 34 #endif /* IBM's C compiler */
30 35
31 #endif /* C code */ 36 #endif /* C code */
32 37