[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNULIB stdint_.h vs windows VC6 compiler
From: |
Dennis Jones |
Subject: |
Re: GNULIB stdint_.h vs windows VC6 compiler |
Date: |
Mon, 21 Aug 2006 12:00:35 -0700 |
----- Original Message -----
From: "Paul Eggert" <address@hidden>
To: "Dennis Jones" <address@hidden>
Cc: <address@hidden>; "Mark D. Baushke" <address@hidden>;
<address@hidden>
Sent: Monday, August 21, 2006 9:57 AM
Subject: Re: GNULIB stdint_.h vs windows VC6 compiler
"Dennis Jones" <address@hidden> writes:
#if (LONG_MAX >> 31) >> 31 == 1
It's not a good sign if the compiler can't handle binary operator
precedence; it suggests that other bugs are lurking in the
neighborhood.
I assume that this would need to be done in two places? There are two
instances of that line in stdint_.h.
Can you please explain the bug more generally?
No, I cannot -- I don't use the Microsoft compiler. This would be a good
question for Microsoft or one of the developers working on the Windows-based
client (if there are any).
For example, why is
that change needed, but changes are not needed here?
regex_internal.h:174:#elif BITSET_WORD_MAX >> 31 >> 5 == 1
regex_internal.h:176:#elif BITSET_WORD_MAX >> 31 >> 16 == 1
regex_internal.h:178:#elif BITSET_WORD_MAX >> 31 >> 28 == 1
regex_internal.h:180:#elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1
regex_internal.h:182:#elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1
regex_internal.h:184:#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 ==
1
regex_internal.h:186:#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31
>> 31 >> 31 >> 31 >> 7 == 1
regex_internal.h:188:#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31
>> 31 >> 31 >> 31 >> 7 > 1
xtime.h:34:# if LONG_MAX >> 31 >> 31 == 0
No idea.
Does the following patch also fix the problem?
If I applied the patch correctly, then yes, it does -- but other
(unrelated?) errors then occur elsewhere. Thus, it seems clear that no one
is actively maintaining the code for the Windows-based client, for it seems
really messed up right now.
- Dennis