[RFC PATCH 0/9] fix -Wempty-body build warnings

From: Randy Dunlap
Date: Sat Apr 18 2020 - 14:41:43 EST


Hi,

When -Wextra is used, gcc emits many warnings about an empty 'if' or
'else' body, like this:

../fs/posix_acl.c: In function âget_aclâ:
../fs/posix_acl.c:127:22: warning: suggest braces around empty body in an âifâ statement [-Wempty-body]
/* fall through */ ;
^

To quieten these warnings, add a new macro "do_empty()".
I originally wanted to use do_nothing(), but that's already in use.

It would sorta be nice if "fallthrough" could be coerced for this
instead of using something like do_empty().

Or should we just use "{}" in place of ";"?
This causes some odd coding style issue IMO. E.g., see this change:

original:
if (cmpxchg(p, ACL_NOT_CACHED, sentinel) != ACL_NOT_CACHED)
/* fall through */ ;

with new macro:
if (cmpxchg(p, ACL_NOT_CACHED, sentinel) != ACL_NOT_CACHED)
do_empty(); /* fall through */

using {}:
if (cmpxchg(p, ACL_NOT_CACHED, sentinel) != ACL_NOT_CACHED)
{} /* fall through */
or
{ /* fall through */ }
or even
if (cmpxchg(p, ACL_NOT_CACHED, sentinel) != ACL_NOT_CACHED) {
/* fall through */ }
or
if (cmpxchg(p, ACL_NOT_CACHED, sentinel) != ACL_NOT_CACHED) {
} /* fall through */


drivers/base/devcoredump.c | 5 +++--
drivers/dax/bus.c | 5 +++--
drivers/input/mouse/synaptics.c | 3 ++-
drivers/target/target_core_pscsi.c | 3 ++-
drivers/usb/core/sysfs.c | 2 +-
fs/nfsd/nfs4state.c | 3 ++-
fs/posix_acl.c | 2 +-
include/linux/kernel.h | 8 ++++++++
sound/drivers/vx/vx_core.c | 3 ++-
9 files changed, 24 insertions(+), 10 deletions(-)