Commit a52c5a16 authored by Nathan Chancellor's avatar Nathan Chancellor Committed by Jens Axboe

drbd: Avoid Clang warning about pointless switch statment

There are several warnings from Clang about no case statement matching
the constant 0:

In file included from drivers/block/drbd/drbd_receiver.c:48:
In file included from drivers/block/drbd/drbd_int.h:48:
In file included from ./include/linux/drbd_genl_api.h:54:
In file included from ./include/linux/genl_magic_struct.h:236:
./include/linux/drbd_genl.h:321:1: warning: no case matching constant
switch condition '0'
GENL_struct(DRBD_NLA_HELPER, 24, drbd_helper_info,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/genl_magic_struct.h:220:10: note: expanded from macro
'GENL_struct'
        switch (0) {
                ^

Silence this warning by adding a 'case 0:' statement. Additionally,
adjust the alignment of the statements in the ct_assert_unique macro to
avoid a checkpatch warning.

This solution was originally sent by Arnd Bergmann with a default case
statement: https://lore.kernel.org/patchwork/patch/756723/

Link: https://github.com/ClangBuiltLinux/linux/issues/43Suggested-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent f31e583a
...@@ -191,6 +191,7 @@ static inline void ct_assert_unique_operations(void) ...@@ -191,6 +191,7 @@ static inline void ct_assert_unique_operations(void)
{ {
switch (0) { switch (0) {
#include GENL_MAGIC_INCLUDE_FILE #include GENL_MAGIC_INCLUDE_FILE
case 0:
; ;
} }
} }
...@@ -209,6 +210,7 @@ static inline void ct_assert_unique_top_level_attributes(void) ...@@ -209,6 +210,7 @@ static inline void ct_assert_unique_top_level_attributes(void)
{ {
switch (0) { switch (0) {
#include GENL_MAGIC_INCLUDE_FILE #include GENL_MAGIC_INCLUDE_FILE
case 0:
; ;
} }
} }
...@@ -218,7 +220,8 @@ static inline void ct_assert_unique_top_level_attributes(void) ...@@ -218,7 +220,8 @@ static inline void ct_assert_unique_top_level_attributes(void)
static inline void ct_assert_unique_ ## s_name ## _attributes(void) \ static inline void ct_assert_unique_ ## s_name ## _attributes(void) \
{ \ { \
switch (0) { \ switch (0) { \
s_fields \ s_fields \
case 0: \
; \ ; \
} \ } \
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment