Closed Bug 23304 Opened 20 years ago Closed 20 years ago
.h (through prtypes .h) requires defining AIX4 _3 on AIX 4 .3
The NSPR header file protypes.h (included through prtypes.h) requires that the macro AIX4_3 be defined when you compile on AIX 4.3. This is not acceptable. One should not need to define any macro when including an NSPR header.
Public NSPR headers can only test for macros defined in prcpucfg.h (i.e., pr/include/md/_xxxos.cfg). So the macro that protypes.h tests for must be defined in _aix32in6.cfg (32-bit AIX) and _aix64.cfg (64-bit AIX). I use a new macro _PR_AIX_HAVE_BSD_INT_TYPES for this purpose because AIX4_3 is likely to be defined by other products' build systems. The reason protypes.h tests for AIX 4.3 is that <sys/inttypes.h> on AIX 4.3 defines the BSD fixed-size integer types int8, int16, int32, int64, which conflict with the same-named, obsolete NSPR integer types. Since it is a huge task to convert all the Mozilla code to use PRInt8, PRInt16, PRInt32, PRInt64 instead, we will need to continue to define int8, int16, int32, and int64 and deal with this mess.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
The fix is checked in. /cvsroot/mozilla/nsprpub/pr/include/md/_aix32in6.cfg, revision 3.2 /cvsroot/mozilla/nsprpub/pr/include/md/_aix64.cfg, revision 3.4 /cvsroot/mozilla/nsprpub/pr/include/obsolete/protypes.h, revision 3.12 The fix is also checked into the internal repository. /m/src/ns/nspr20/pr/include/md/_aix32in6.cfg, revision 2.2 /m/src/ns/nspr20/pr/include/md/_aix64.cfg, revision 2.4 /m/src/ns/nspr20/pr/include/obsolete/protypes.h, revision 2.10
You need to log in before you can comment on or make changes to this bug.