Re: [PATCH] Makefile: suppress false positive warnings of empty format string.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Stefan Beller wrote:

> --- a/Makefile
> +++ b/Makefile
> @@ -349,7 +349,7 @@ GIT-VERSION-FILE: FORCE
>  
>  # CFLAGS and LDFLAGS are for the users to override from the command line.
>  
> -CFLAGS = -g -O2 -Wall
> +CFLAGS = -g -O2 -Wall -Wno-format-zero-length

Thanks for taking this on.  Two thoughts:

 1) As Felipe mentioned, this isn't portable.  Would it make sense to
    make it conditional on the value of $(CC) or the output of
    "$(CC) --version"?

 2) I don't understand the value of -Wformat-zero-length at all.  What
    bug is it meant to prevent?  Do you know if anyone has asked the
    GCC maintainers to disable it from the default set of warnings in
    -Wall, which would give us a bug number to point to?

 3) Since we don't enable -Werror by default (which is really good ---
    use of -Werror can be a fine development tool but is a terrible
    default), the warning does not actually do much harm.  When it
    becomes harmful is when someone turns on -Werror for static
    analysis purposes and is unable to move forward from there.  Do we
    document suggested pedantic compiler flags anywhere other than the
    todo:Make script?  Should we?

    I suspect such a documentation fix would have more impact, since it
    could encourage people to experiment with flags and to check their
    code strictly even when warnings are not portable, without
    significantly slowing down the normal build.

    For reference, todo:Make suggests the following flags:

	-Wpointer-arith -Woverflow -Wunused \
	-Wno-pointer-to-int-cast -Werror \
	-Wold-style-definition std=c99 -O2 \
	-Wall -Wdeclaration-after-statement -Wno-format-zero-length -g

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]