Re: [PATCH v5 2/8] lib/test_bitmap.c: Add for_each_set_clump8 test cases

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi William,

I love your patch! Yet something to improve:

[auto build test ERROR on gpio/for-next]
[also build test ERROR on v4.20-rc7 next-20181218]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/Introduce-the-for_each_set_clump8-macro/20181219-004325
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next
config: x86_64-randconfig-x011-201850 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/printk.h:7:0,
                    from include/linux/kernel.h:14,
                    from include/asm-generic/bug.h:18,
                    from arch/x86/include/asm/bug.h:47,
                    from include/linux/bug.h:5,
                    from include/linux/jump_label.h:251,
                    from arch/x86/include/asm/string_64.h:6,
                    from arch/x86/include/asm/string.h:5,
                    from include/linux/string.h:20,
                    from include/linux/bitmap.h:9,
                    from lib/test_bitmap.c:7:
   lib/test_bitmap.c: In function '__check_eq_clump8':
>> include/linux/kern_levels.h:5:18: warning: format '%zu' expects argument of type 'size_t', but argument 4 has type 'unsigned int' [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
    #define KERN_WARNING KERN_SOH "4" /* warning conditions */
                         ^~~~~~~~
   include/linux/printk.h:310:9: note: in expansion of macro 'KERN_WARNING'
     printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
            ^~~~~~~~~~~~
   include/linux/printk.h:311:17: note: in expansion of macro 'pr_warning'
    #define pr_warn pr_warning
                    ^~~~~~~~~~
>> lib/test_bitmap.c:100:3: note: in expansion of macro 'pr_warn'
      pr_warn("[%s:%u] bit offset for clump out-of-bounds: expected less than %zu, got %zu\n",
      ^~~~~~~
   include/linux/kern_levels.h:5:18: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'unsigned int' [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
    #define KERN_WARNING KERN_SOH "4" /* warning conditions */
                         ^~~~~~~~
   include/linux/printk.h:310:9: note: in expansion of macro 'KERN_WARNING'
     printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
            ^~~~~~~~~~~~
   include/linux/printk.h:311:17: note: in expansion of macro 'pr_warning'
    #define pr_warn pr_warning
                    ^~~~~~~~~~
>> lib/test_bitmap.c:100:3: note: in expansion of macro 'pr_warn'
      pr_warn("[%s:%u] bit offset for clump out-of-bounds: expected less than %zu, got %zu\n",
      ^~~~~~~
>> include/linux/kern_levels.h:5:18: warning: format '%zu' expects argument of type 'size_t', but argument 4 has type 'unsigned int' [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
    #define KERN_WARNING KERN_SOH "4" /* warning conditions */
                         ^~~~~~~~
   include/linux/printk.h:310:9: note: in expansion of macro 'KERN_WARNING'
     printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
            ^~~~~~~~~~~~
   include/linux/printk.h:311:17: note: in expansion of macro 'pr_warning'
    #define pr_warn pr_warning
                    ^~~~~~~~~~
   lib/test_bitmap.c:107:3: note: in expansion of macro 'pr_warn'
      pr_warn("[%s:%u] bit offset for zero clump: expected nonzero clump, got bit offset %zu with clump value 0",
      ^~~~~~~
   In file included from include/linux/bitmap.h:8:0,
                    from lib/test_bitmap.c:7:
   lib/test_bitmap.c: In function 'test_for_each_set_clump8':
>> include/linux/bitops.h:46:53: error: 'offset' undeclared (first use in this function); did you mean 'off_t'?
          (start) = find_next_clump8(&(clump), (bits), (offset) + 1, (size)))
                                                        ^
>> lib/test_bitmap.c:426:2: note: in expansion of macro 'for_each_set_clump8'
     for_each_set_clump8(start, clump, bits, size)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bitops.h:46:53: note: each undeclared identifier is reported only once for each function it appears in
          (start) = find_next_clump8(&(clump), (bits), (offset) + 1, (size)))
                                                        ^
>> lib/test_bitmap.c:426:2: note: in expansion of macro 'for_each_set_clump8'
     for_each_set_clump8(start, clump, bits, size)
     ^~~~~~~~~~~~~~~~~~~
>> lib/test_bitmap.c:125:8: error: implicit declaration of function '__check_eq_clump'; did you mean '__check_eq_clump8'? [-Werror=implicit-function-declaration]
      if (!__check_eq_ ## suffix(__FILE__, __LINE__,  \
           ^
>> lib/test_bitmap.c:137:32: note: in expansion of macro '__expect_eq'
    #define expect_eq_clump8(...)  __expect_eq(clump, ##__VA_ARGS__)
                                   ^~~~~~~~~~~
>> lib/test_bitmap.c:427:3: note: in expansion of macro 'expect_eq_clump8'
      expect_eq_clump8(offset, size, clump_exp, clump);
      ^~~~~~~~~~~~~~~~
   At top level:
   lib/test_bitmap.c:91:20: warning: '__check_eq_clump8' defined but not used [-Wunused-function]
    static bool __init __check_eq_clump8(const char *srcfile, unsigned int line,
                       ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +125 lib/test_bitmap.c

5fd003f5 David Decotigny        2016-02-19   90  
7b161d18 William Breathitt Gray 2018-12-18   91  static bool __init __check_eq_clump8(const char *srcfile, unsigned int line,
7b161d18 William Breathitt Gray 2018-12-18   92  				    const unsigned int offset,
7b161d18 William Breathitt Gray 2018-12-18   93  				    const unsigned int size,
7b161d18 William Breathitt Gray 2018-12-18   94  				    const unsigned char *const clump_exp,
7b161d18 William Breathitt Gray 2018-12-18   95  				    const unsigned long *const clump)
7b161d18 William Breathitt Gray 2018-12-18   96  {
7b161d18 William Breathitt Gray 2018-12-18   97  	unsigned long exp;
7b161d18 William Breathitt Gray 2018-12-18   98  
7b161d18 William Breathitt Gray 2018-12-18   99  	if (offset >= size) {
7b161d18 William Breathitt Gray 2018-12-18 @100  		pr_warn("[%s:%u] bit offset for clump out-of-bounds: expected less than %zu, got %zu\n",
7b161d18 William Breathitt Gray 2018-12-18  101  			srcfile, line, size, offset);
7b161d18 William Breathitt Gray 2018-12-18  102  		return false;
7b161d18 William Breathitt Gray 2018-12-18  103  	}
7b161d18 William Breathitt Gray 2018-12-18  104  
7b161d18 William Breathitt Gray 2018-12-18  105  	exp = clump_exp[offset / 8];
7b161d18 William Breathitt Gray 2018-12-18  106  	if (!exp) {
7b161d18 William Breathitt Gray 2018-12-18 @107  		pr_warn("[%s:%u] bit offset for zero clump: expected nonzero clump, got bit offset %zu with clump value 0",
7b161d18 William Breathitt Gray 2018-12-18  108  			srcfile, line, offset);
7b161d18 William Breathitt Gray 2018-12-18  109  		return false;
7b161d18 William Breathitt Gray 2018-12-18  110  	}
7b161d18 William Breathitt Gray 2018-12-18  111  
7b161d18 William Breathitt Gray 2018-12-18  112  	if (*clump != exp) {
7b161d18 William Breathitt Gray 2018-12-18  113  		pr_warn("[%s:%u] expected clump value of 0x%lX, got clump value of 0x%lX",
7b161d18 William Breathitt Gray 2018-12-18  114  			srcfile, line, exp, *clump);
7b161d18 William Breathitt Gray 2018-12-18  115  		return false;
7b161d18 William Breathitt Gray 2018-12-18  116  	}
7b161d18 William Breathitt Gray 2018-12-18  117  
7b161d18 William Breathitt Gray 2018-12-18  118  	return true;
7b161d18 William Breathitt Gray 2018-12-18  119  }
7b161d18 William Breathitt Gray 2018-12-18  120  
5fd003f5 David Decotigny        2016-02-19  121  #define __expect_eq(suffix, ...)					\
5fd003f5 David Decotigny        2016-02-19  122  	({								\
5fd003f5 David Decotigny        2016-02-19  123  		int result = 0;						\
5fd003f5 David Decotigny        2016-02-19  124  		total_tests++;						\
5fd003f5 David Decotigny        2016-02-19 @125  		if (!__check_eq_ ## suffix(__FILE__, __LINE__,		\
5fd003f5 David Decotigny        2016-02-19  126  					   ##__VA_ARGS__)) {		\
5fd003f5 David Decotigny        2016-02-19  127  			failed_tests++;					\
5fd003f5 David Decotigny        2016-02-19  128  			result = 1;					\
5fd003f5 David Decotigny        2016-02-19  129  		}							\
5fd003f5 David Decotigny        2016-02-19  130  		result;							\
5fd003f5 David Decotigny        2016-02-19  131  	})
5fd003f5 David Decotigny        2016-02-19  132  
5fd003f5 David Decotigny        2016-02-19  133  #define expect_eq_uint(...)		__expect_eq(uint, ##__VA_ARGS__)
5fd003f5 David Decotigny        2016-02-19  134  #define expect_eq_bitmap(...)		__expect_eq(bitmap, ##__VA_ARGS__)
5fd003f5 David Decotigny        2016-02-19  135  #define expect_eq_pbl(...)		__expect_eq(pbl, ##__VA_ARGS__)
5fd003f5 David Decotigny        2016-02-19  136  #define expect_eq_u32_array(...)	__expect_eq(u32_array, ##__VA_ARGS__)
7b161d18 William Breathitt Gray 2018-12-18 @137  #define expect_eq_clump8(...)		__expect_eq(clump, ##__VA_ARGS__)
5fd003f5 David Decotigny        2016-02-19  138  

:::::: The code at line 125 was first introduced by commit
:::::: 5fd003f56c2c584b62a0486ad25bbd4be02b8b6c test_bitmap: unit tests for lib/bitmap.c

:::::: TO: David Decotigny <decot@xxxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux