2018-09-17 12:56:23

by Philipp Klocke

[permalink] [raw]
Subject: [RESEND] drbd: avoid clang warning about pointless switch statement

The drbd code causes warnings that we cannot easily disable when
building with clang:

In file included from drivers/block/drbd/drbd_debugfs.c:10:
In file included from drivers/block/drbd/drbd_int.h:48:
In file included from include/linux/drbd_genl_api.h:53:
In file included from include/linux/genl_magic_struct.h:237:
include/linux/drbd_genl.h:300:1: warning: no case matching constant
switch condition '0'

There is nothing wrong with the code, and adding 'default:' labels
in the right place is enough to let clang shut up about the warning.

Fixes: ec2c35ac1ea2 ("drbd: prepare the transition from connector to
genetlink")
Signed-off-by: Arnd Bergmann <[email protected]>
--
was sent on Feb. 1, 2017, 4:55 p.m. UTC by Arnd Bergmann
was acked but not merged
resend
---
 include/linux/genl_magic_struct.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/genl_magic_struct.h
b/include/linux/genl_magic_struct.h
index 6270a56e5edc..c6fbafb834f1 100644
--- a/include/linux/genl_magic_struct.h
+++ b/include/linux/genl_magic_struct.h
@@ -190,6 +190,7 @@ static inline void ct_assert_unique_operations(void)
 {
     switch (0) {
 #include GENL_MAGIC_INCLUDE_FILE
+    default:
         ;
     }
 }
@@ -208,6 +209,7 @@ static inline void
ct_assert_unique_top_level_attributes(void)
 {
     switch (0) {
 #include GENL_MAGIC_INCLUDE_FILE
+    default:
         ;
     }
 }
@@ -218,6 +220,7 @@ static inline void ct_assert_unique_ ## s_name ##
_attributes(void)    \
 {                                    \
     switch (0) {                            \
         s_fields                        \
+        default:                        \
             ;                        \
     }                                \
 }