Warning using -Wconversion and -Ox in gcc 4.5 and 4.6 but not in previous releases
Marc Glisse
marc.glisse@inria.fr
Mon Mar 7 13:16:00 GMT 2011
On Mon, 7 Mar 2011, José Luis García Pallero wrote:
> Hello,
> In this example:
>
> #include<stdlib.h>
> #include<string.h>
> int main() {
> strspn("hello","h");
> return 0;
> }
>
> I obtain a warning as:
>
> test.c:4:5: warning: conversion to ‘size_t’ from ‘int’ may change the
> sign of the result
>
> If I compile the program with the options:
>
> gcc -Wconversion -O test.c -o test
Note that your example can be reduced to:
int main() {
(0 ? ((void) (0), 0) : 1u) ;
return 0;
}
Not a most useful warning indeed...
> The warning appears with -O, -O1, -O2 and -O3, but not with -O0.
glibc includes different code when __OPTIMIZE__ is defined.
--
Marc Glisse
More information about the Gcc-help
mailing list