[Bug c/23087] Misleading warning, "... differ in signedness"
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 6 17:03:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23087
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #14 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I think I might have a fix, but there's this thing about e.g.
void
foo (void)
{
char *p = "";
signed char *ps = "";
unsigned char *pu = "";
}
with this issue fixed, we'd warn like this
$ xgcc z.c -c
z.c: In function ‘foo’:
z.c:5:21: warning: initialization from incompatible pointer type
[-Wincompatible-pointer-types]
signed char *ps = "";
^~
z.c:6:23: warning: initialization from incompatible pointer type
[-Wincompatible-pointer-types]
unsigned char *pu = "";
^~
whereas older gcc would be silent on that. I.e., -Wincompatible-pointer-types
is a warning that is enabled by default, but -Wpointer-sign is enabled by
-Wpedantic || -Wall. I.e., we'd be more verbose. Maybe this is a non-issue as
most of the people are using -Wall anyway.
In any case I agree that the message about signedness is wrong.
More information about the Gcc-bugs
mailing list