bcache: Use fallthrough pseudo-keyword
PATCH 1/1 bcache: Use fallthrough pseudo-keyword
Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1].
--- drivers/md/bcache/journal.c | 2 +- drivers/md/bcache/util.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-)
drivers/md/bcache/journal.c +1 -1
@@ -608,7 +608,7 @@ static void do_journal_discard(struct cache *ca) ca->sb.njournal_buckets;atomic_set (&ja->discard_in_flight,DISCARD_READY ); -/* fallthrough */ + fallthrough;case DISCARD_READY :if (ja->discard_idx == ja->last_idx)
drivers/md/bcache/util.c +7 -7
@@ -33,27 +33,27 @@ int bch_ ## name ## _h(const char *cp, type *res) \case 'y' : \case 'z' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'e' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'p' : \ u++; \ -/* fall through */ \ + fallthrough; \case 't' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'g' : \ u++; \ -/* fall through */ \ +fallthrough \ case 'm': \ u++; \ -/* fall through */ \ + fallthrough; \case 'k' : \ u++; \if (e++ == cp) \return -EINVAL ; \ -/* fall through */ \ + fallthrough; \case '\n' : \case '\0' : \if (*e =='\n' ) \
Signature · 1 line
2.27.0
kernel test robot
build botThank you for the patch! Yet something to improve:
Hi "Gustavo,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.8-rc7 next-20200727]
[If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Gustavo-A-R-Silva/bcache-Use-fallthrough-pseudo-keyword/20200728-040136 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 92ed301919932f777713b9172e525674157e983d config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
All error/warnings (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:59,
from <command-line>:
drivers/md/bcache/util.c: In function 'bch_strtoint_h':
>> include/linux/compiler_attributes.h:201:41: warning: 'fallthrough' attribute not followed by ';' [-Wattributes]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:80:1: note: in expansion of macro 'STRTO_H'
80 | STRTO_H(strtoint, int)
| ^~~~~~~
>> drivers/md/bcache/util.c:49:2: error: expected identifier or '(' before 'case'
49 | case 'm': \
| ^~~~
drivers/md/bcache/util.c:80:1: note: in expansion of macro 'STRTO_H'
80 | STRTO_H(strtoint, int)
| ^~~~~~~
In file included from include/linux/compiler_types.h:59,
from <command-line>:
>> include/linux/compiler_attributes.h:201:41: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:80:1: note: in expansion of macro 'STRTO_H'
80 | STRTO_H(strtoint, int)
| ^~~~~~~
drivers/md/bcache/util.c: In function 'bch_strtouint_h':
>> include/linux/compiler_attributes.h:201:41: warning: 'fallthrough' attribute not followed by ';' [-Wattributes]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:81:1: note: in expansion of macro 'STRTO_H'
81 | STRTO_H(strtouint, unsigned int)
| ^~~~~~~
>> drivers/md/bcache/util.c:49:2: error: expected identifier or '(' before 'case'
49 | case 'm': \
| ^~~~
drivers/md/bcache/util.c:81:1: note: in expansion of macro 'STRTO_H'
81 | STRTO_H(strtouint, unsigned int)
| ^~~~~~~
In file included from include/linux/compiler_types.h:59,
from <command-line>:
>> include/linux/compiler_attributes.h:201:41: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:81:1: note: in expansion of macro 'STRTO_H'
81 | STRTO_H(strtouint, unsigned int)
| ^~~~~~~
drivers/md/bcache/util.c: In function 'bch_strtoll_h':
>> include/linux/compiler_attributes.h:201:41: warning: 'fallthrough' attribute not followed by ';' [-Wattributes]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:82:1: note: in expansion of macro 'STRTO_H'
82 | STRTO_H(strtoll, long long)
| ^~~~~~~
>> drivers/md/bcache/util.c:49:2: error: expected identifier or '(' before 'case'
49 | case 'm': \
| ^~~~
drivers/md/bcache/util.c:82:1: note: in expansion of macro 'STRTO_H'
82 | STRTO_H(strtoll, long long)
| ^~~~~~~
In file included from include/linux/compiler_types.h:59,
from <command-line>:
>> include/linux/compiler_attributes.h:201:41: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:82:1: note: in expansion of macro 'STRTO_H'
82 | STRTO_H(strtoll, long long)
| ^~~~~~~
drivers/md/bcache/util.c: In function 'bch_strtoull_h':
>> include/linux/compiler_attributes.h:201:41: warning: 'fallthrough' attribute not followed by ';' [-Wattributes]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~
drivers/md/bcache/util.c:83:1: note: in expansion of macro 'STRTO_H'
83 | STRTO_H(strtoull, unsigned long long)
| ^~~~~~~
>> drivers/md/bcache/util.c:49:2: error: expected identifier or '(' before 'case'
49 | case 'm': \
| ^~~~
drivers/md/bcache/util.c:83:1: note: in expansion of macro 'STRTO_H'
83 | STRTO_H(strtoull, unsigned long long)
| ^~~~~~~
In file included from include/linux/compiler_types.h:59,
from <command-line>:
>> include/linux/compiler_attributes.h:201:41: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
201 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/md/bcache/util.c:48:3: note: in expansion of macro 'fallthrough'
48 | fallthrough \
| ^~~~~~~~~~~ drivers/md/bcache/util.c:83:1: note: in expansion of macro 'STRTO_H'
83 | STRTO_H(strtoull, unsigned long long)
| ^~~~~~~
vim +49 drivers/md/bcache/util.c
cafe563591446c Kent Overstreet 2013-03-23 22
cafe563591446c Kent Overstreet 2013-03-23 23 #define STRTO_H(name, type) \
169ef1cf6171d3 Kent Overstreet 2013-03-28 24 int bch_ ## name ## _h(const char *cp, type *res) \
cafe563591446c Kent Overstreet 2013-03-23 25 { \
cafe563591446c Kent Overstreet 2013-03-23 26 int u = 0; \
cafe563591446c Kent Overstreet 2013-03-23 27 char *e; \
cafe563591446c Kent Overstreet 2013-03-23 28 type i = simple_ ## name(cp, &e, 10); \
cafe563591446c Kent Overstreet 2013-03-23 29 \
cafe563591446c Kent Overstreet 2013-03-23 30 switch (tolower(*e)) { \
cafe563591446c Kent Overstreet 2013-03-23 31 default: \
cafe563591446c Kent Overstreet 2013-03-23 32 return -EINVAL; \
cafe563591446c Kent Overstreet 2013-03-23 33 case 'y': \
cafe563591446c Kent Overstreet 2013-03-23 34 case 'z': \
cafe563591446c Kent Overstreet 2013-03-23 35 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 36 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 37 case 'e': \
cafe563591446c Kent Overstreet 2013-03-23 38 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 39 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 40 case 'p': \
cafe563591446c Kent Overstreet 2013-03-23 41 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 42 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 43 case 't': \
cafe563591446c Kent Overstreet 2013-03-23 44 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 45 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 46 case 'g': \
cafe563591446c Kent Overstreet 2013-03-23 47 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 48 fallthrough \
cafe563591446c Kent Overstreet 2013-03-23 @49 case 'm': \
cafe563591446c Kent Overstreet 2013-03-23 50 u++; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 51 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 52 case 'k': \
cafe563591446c Kent Overstreet 2013-03-23 53 u++; \
cafe563591446c Kent Overstreet 2013-03-23 54 if (e++ == cp) \
cafe563591446c Kent Overstreet 2013-03-23 55 return -EINVAL; \
9645a19fa4730e Gustavo A. R. Silva 2020-07-27 56 fallthrough; \
cafe563591446c Kent Overstreet 2013-03-23 57 case '\n': \
cafe563591446c Kent Overstreet 2013-03-23 58 case '\0': \
cafe563591446c Kent Overstreet 2013-03-23 59 if (*e == '\n') \
cafe563591446c Kent Overstreet 2013-03-23 60 e++; \
cafe563591446c Kent Overstreet 2013-03-23 61 } \
cafe563591446c Kent Overstreet 2013-03-23 62 \
cafe563591446c Kent Overstreet 2013-03-23 63 if (*e) \
cafe563591446c Kent Overstreet 2013-03-23 64 return -EINVAL; \
cafe563591446c Kent Overstreet 2013-03-23 65 \
cafe563591446c Kent Overstreet 2013-03-23 66 while (u--) { \
cafe563591446c Kent Overstreet 2013-03-23 67 if ((type) ~0 > 0 && \
cafe563591446c Kent Overstreet 2013-03-23 68 (type) ~0 / 1024 <= i) \
cafe563591446c Kent Overstreet 2013-03-23 69 return -EINVAL; \
cafe563591446c Kent Overstreet 2013-03-23 70 if ((i > 0 && ANYSINT_MAX(type) / 1024 < i) || \
cafe563591446c Kent Overstreet 2013-03-23 71 (i < 0 && -ANYSINT_MAX(type) / 1024 > i)) \
cafe563591446c Kent Overstreet 2013-03-23 72 return -EINVAL; \
cafe563591446c Kent Overstreet 2013-03-23 73 i *= 1024; \
cafe563591446c Kent Overstreet 2013-03-23 74 } \
cafe563591446c Kent Overstreet 2013-03-23 75 \
cafe563591446c Kent Overstreet 2013-03-23 76 *res = i; \
cafe563591446c Kent Overstreet 2013-03-23 77 return 0; \
cafe563591446c Kent Overstreet 2013-03-23 78 } \cafe563591446c Kent Overstreet 2013-03-23 79
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
Hi,
Please, drop this. It contains an error.
I'll send v2, shortly.
Thanks
--
Gustavo
Quoted 64 lines · Gustavo A. R. Silva
Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1].
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/md/bcache/journal.c | 2 +- drivers/md/bcache/util.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-)drivers/md/bcache/journal.c +1
-1@@ -608,7 +608,7 @@ static void do_journal_discard(struct cache *ca) ca->sb.njournal_buckets;atomic_set (&ja->discard_in_flight,DISCARD_READY ); -/* fallthrough */ + fallthrough;case DISCARD_READY :if (ja->discard_idx == ja->last_idx)drivers/md/bcache/util.c +7
-7@@ -33,27 +33,27 @@ int bch_ ## name ## _h(const char *cp, type *res) \case 'y' : \case 'z' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'e' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'p' : \ u++; \ -/* fall through */ \ + fallthrough; \case 't' : \ u++; \ -/* fall through */ \ + fallthrough; \case 'g' : \ u++; \ -/* fall through */ \ +fallthrough \ case 'm': \ u++; \ -/* fall through */ \ + fallthrough; \case 'k' : \ u++; \if (e++ == cp) \return -EINVAL ; \ -/* fall through */ \ + fallthrough; \case '\n' : \case '\0' : \if (*e =='\n' ) \