Fix LONG_WIDTH, ULONG_WIDTH include ordering issue.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 4 Oct 2016 16:17:59 +0000 (16:17 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 4 Oct 2016 16:17:59 +0000 (16:17 +0000)
commitff88ee7edfaa439e23c42fccaf3a36cd5f041894
tree1cdc914ae751fd393ae5f1084ab984383829fdf8
parent22938c4103a4b0b6e8d4b3d50a1c41e3f27dd73e
Fix LONG_WIDTH, ULONG_WIDTH include ordering issue.

As described in
<https://sourceware.org/ml/libc-alpha/2016-10/msg00047.html>, there is
an include ordering issue with the integer width macros in glibc's
<limits.h>, where definitions conditional on LONG_MAX do not work as
intended because when the headers are installed, this part of glibc's
<limits.h> is processed before the part of GCC's <limits.h> that will
define LONG_MAX.  This patch changes the definitions just to use
__WORDSIZE for the expansion of LONG_WIDTH and ULONG_WIDTH rather than
making those definitions conditional on LONG_MAX.

Tested for x86_64 and x86.

* include/limits.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (LONG_WIDTH):
Define to __WORDSIZE, not conditional on [LONG_MAX ==
0x7fffffffL].
[__GLIBC_USE (IEC_60559_BFP_EXT)] (ULONG_WIDTH): Likewise.
ChangeLog
include/limits.h