Hello.
There was a discussion about this warning about a year ago, but it
seems to have been forgotten without a resolution.
This warning is issued unconditionally, impossible to disable, hard
to work around, and it depends on integer sizes even when the code
is portable.
I think it should be removed altogether, or at least disabled by
default, or at least possible to disable.
I have macros which generate code like this:
if ((x >= 0 || x >= -0x40000000) && x < 0x3FFFFFFF) ...
where the type of x is only know to be an integer type.
It correctly checks whether the value lies within the interval
-0x40000000..0x3FFFFFFF, but generates the mentioned warning if
the type alone is sufficient to determine the answer on the given
architecture. I don't care whether it's true because of the type
or because of the actual value. Please let the warning to away.
--
__("< Marcin Kowalczyk
\__/ [EMAIL PROTECTED]
^^ http://qrnik.knm.org.pl/~qrczak/