Pádraig Brady wrote:
> I noticed Jim fixed a couple obvious
> issues highlighted by the -Wsigned-compare gcc option
> we were talking about a few days ago.
>
> The attached patch silences all other instances,
> so that this option may be used to help find these
> hard to spot errors, when they're introduced in future.
>
> Note this patch is just for comment at this stage.
> Also note it is not tested on 64 bit.
Thinking more about this, shows a lot of casts are
to address the gcc warning:
"signed and unsigned type in conditional expression"
I don't see why gcc is giving this warning, as
there is no comparison between signed and unsigned here.
For example in the following program compiled
with -Wsign-compare why does the second assignment
give a warning, while the first doesn't?
#include <stdio.h>
#include <limits.h>
int main(void)
{
int i=0;
unsigned u=UINT_MAX;
if (u) i = u; /* no warning */
i = u ? u : i; /* warning with -Wsign-compare */
printf("%d\n", i);
return 0;
}
_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils