Making discarded-qualifiers a gcc error instead of warning?
Benjamin Kaduk
kaduk at MIT.EDU
Thu Sep 1 23:22:43 EDT 2016
On Thu, 1 Sep 2016, Will Fiveash wrote:
> On Thu, Sep 01, 2016 at 05:56:15PM -0500, Will Fiveash wrote:
> > I'm in the process of making the Solaris compile of MIT krb more strict
> > and one thing I've noticed in the MIT build environment is that
> > -Wdiscarded-qualifiers is being treated by gcc as a warning, not an
> > error. Given there are only three of these types of warnings in the
> > entire 1.14.3 code base I was wondering if y'all would consider making
> > discarded-qualifiers an error and adding a cast to the three lines in
> > the source files that need it?
>
> Related to this, the current MIT gcc settings allows:
>
> #include <stdio.h>
> #include <stdlib.h>
>
> void
> foo(char *arg)
> {
> printf("arg is %p\n", arg);
> return;
> }
>
> int
> main (int argc, char *argv[])
> {
> char *bad;
>
> foo(&bad); /* <----- this should just be bad */
> }
>
> to compile without a hard error (a -Wincompatible-pointer-types warning
> is issued). Shouldn't this bug also cause gcc to error out?
char * is explicitly compatible with every (non-function) pointer type in
the C standard. So this particular example should not necessarily error
out, though the analogous one with int* should.
-Ben
More information about the krbdev
mailing list