Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 28 May 2015 01:08:53 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: More on warning cleanup

Since compilers differ in what warnings they include in -Wall, I'd
like to remove -Wall (followed by a bunch of -Wno-*) from musl's
--enable-warnings and instead individually turn on the warnings we
want. A few weeks ago I worked those out on #musl (based on the GCC
manual's documentation of -Wall and other options) and here's what I
came up with:

-Waddress
-Warray-bounds
-Wchar-subscripts
-Wreturn-type
-Wsequence-point
-Wstrict-aliasing
-Wstrict-overflow
-Wunused-function
-Wunused-variable
-Wunused-label

This list does not include the ones we already have as errors because
they only trigger on invalid C:

-Werror=implicit-function-declaration
-Werror=implicit-int
-Werror=pointer-sign
-Werror=pointer-arith

Are these any other warnings we should enable? I specifically don't
want any from the following list which we're explicitly turning off
after using -Wall right now:

-Wparentheses
-Wuninitialized
-Wmissing-braces
-Wunused-value
-Wunused-but-set-variable
-Wunknown-pragmas
-Wpointer-to-int-cast

Note that the list of warnings to disable after -Wall is almost as
long as my list of desirable warnings to enable.

One other issue to consider is how to get rid of enabled-by-default
warnings we don't want. On GCC they're impossible to turn off
individually, but unobtrusive; only -w can turn them off, but -w is
permanent and overrides all later -W options. On cparser, a lot of
crap is turned on by default, but -w turns it off and is then
overridable by subsequent -W options. Not sure about clang.

Rich

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.