* Re: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
[not found] <a09512c8526b46759669d0b879144563@AcuMS.aculab.com>
@ 2023-07-25 18:02 ` kernel test robot
2023-07-25 18:33 ` kernel test robot
1 sibling, 0 replies; 5+ messages in thread
From: kernel test robot @ 2023-07-25 18:02 UTC (permalink / raw)
To: David Laight, 'linux-kernel@vger.kernel.org',
'Andy Shevchenko', 'Andrew Morton',
'Matthew Wilcox (Oracle)', 'Christoph Hellwig',
'Jason A. Donenfeld'
Cc: oe-kbuild-all, Linux Memory Management List
Hi David,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.5-rc3 next-20230725]
[cannot apply to next-20230725]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/David-Laight/minmax-Allow-min-max-clamp-if-the-arguments-have-the-same-signedness/20230725-204940
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/a09512c8526b46759669d0b879144563%40AcuMS.aculab.com
patch subject: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
config: riscv-randconfig-r024-20230725 (https://download.01.org/0day-ci/archive/20230726/202307260144.boYg18Ty-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230726/202307260144.boYg18Ty-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307260144.boYg18Ty-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/irqchip/irq-meson-gpio.c:15:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-meson-gpio.c:597:1: note: in expansion of macro 'IRQCHIP_MATCH'
597 | IRQCHIP_MATCH("amlogic,meson-gpio-intc", meson_gpio_irq_of_init)
| ^~~~~~~~~~~~~
>> include/linux/irqchip.h:24:9: error: initializer element is not constant
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-meson-gpio.c:597:1: note: in expansion of macro 'IRQCHIP_MATCH'
597 | IRQCHIP_MATCH("amlogic,meson-gpio-intc", meson_gpio_irq_of_init)
| ^~~~~~~~~~~~~
include/linux/irqchip.h:24:9: note: (near initialization for 'meson_gpio_intc_irqchip_match_table[0].data')
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-meson-gpio.c:597:1: note: in expansion of macro 'IRQCHIP_MATCH'
597 | IRQCHIP_MATCH("amlogic,meson-gpio-intc", meson_gpio_irq_of_init)
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqchip.h:16,
from drivers/irqchip/irq-riscv-intc.c:14:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-riscv-intc.c:164:1: note: in expansion of macro 'IRQCHIP_DECLARE'
164 | IRQCHIP_DECLARE(riscv, "riscv,cpu-intc", riscv_intc_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-riscv-intc.c:164:1: note: in expansion of macro 'IRQCHIP_DECLARE'
164 | IRQCHIP_DECLARE(riscv, "riscv,cpu-intc", riscv_intc_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_riscv.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-riscv-intc.c:164:1: note: in expansion of macro 'IRQCHIP_DECLARE'
164 | IRQCHIP_DECLARE(riscv, "riscv,cpu-intc", riscv_intc_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from drivers/irqchip/irq-renesas-rzg2l.c:14:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-renesas-rzg2l.c:389:1: note: in expansion of macro 'IRQCHIP_MATCH'
389 | IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init)
| ^~~~~~~~~~~~~
>> include/linux/irqchip.h:24:9: error: initializer element is not constant
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-renesas-rzg2l.c:389:1: note: in expansion of macro 'IRQCHIP_MATCH'
389 | IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init)
| ^~~~~~~~~~~~~
include/linux/irqchip.h:24:9: note: (near initialization for 'rzg2l_irqc_irqchip_match_table[0].data')
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-renesas-rzg2l.c:389:1: note: in expansion of macro 'IRQCHIP_MATCH'
389 | IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init)
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqchip.h:16,
from drivers/irqchip/irq-sifive-plic.c:11:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:571:1: note: in expansion of macro 'IRQCHIP_DECLARE'
571 | IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:571:1: note: in expansion of macro 'IRQCHIP_DECLARE'
571 | IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_sifive_plic.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:571:1: note: in expansion of macro 'IRQCHIP_DECLARE'
571 | IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:572:1: note: in expansion of macro 'IRQCHIP_DECLARE'
572 | IRQCHIP_DECLARE(riscv_plic0, "riscv,plic0", plic_init); /* for legacy systems */
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_riscv_plic0.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:572:1: note: in expansion of macro 'IRQCHIP_DECLARE'
572 | IRQCHIP_DECLARE(riscv_plic0, "riscv,plic0", plic_init); /* for legacy systems */
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:580:1: note: in expansion of macro 'IRQCHIP_DECLARE'
580 | IRQCHIP_DECLARE(andestech_nceplic100, "andestech,nceplic100", plic_edge_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_andestech_nceplic100.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:580:1: note: in expansion of macro 'IRQCHIP_DECLARE'
580 | IRQCHIP_DECLARE(andestech_nceplic100, "andestech,nceplic100", plic_edge_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:581:1: note: in expansion of macro 'IRQCHIP_DECLARE'
581 | IRQCHIP_DECLARE(thead_c900_plic, "thead,c900-plic", plic_edge_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_thead_c900_plic.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-sifive-plic.c:581:1: note: in expansion of macro 'IRQCHIP_DECLARE'
581 | IRQCHIP_DECLARE(thead_c900_plic, "thead,c900-plic", plic_edge_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/irqchip.h:16,
from drivers/irqchip/irq-mst-intc.c:9:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/of.h:1478:31: note: in definition of macro '_OF_DECLARE'
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
include/linux/irqchip.h:37:45: note: in expansion of macro 'typecheck_irq_init_cb'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-mst-intc.c:291:1: note: in expansion of macro 'IRQCHIP_DECLARE'
291 | IRQCHIP_DECLARE(mst_intc, "mstar,mst-intc", mst_intc_of_init);
| ^~~~~~~~~~~~~~~
>> include/linux/of.h:1478:30: error: initializer element is not constant
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-mst-intc.c:291:1: note: in expansion of macro 'IRQCHIP_DECLARE'
291 | IRQCHIP_DECLARE(mst_intc, "mstar,mst-intc", mst_intc_of_init);
| ^~~~~~~~~~~~~~~
include/linux/of.h:1478:30: note: (near initialization for '__of_table_mst_intc.data')
1478 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^
include/linux/of.h:1493:17: note: in expansion of macro '_OF_DECLARE'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~
include/linux/irqchip.h:37:9: note: in expansion of macro 'OF_DECLARE_2'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~
drivers/irqchip/irq-mst-intc.c:291:1: note: in expansion of macro 'IRQCHIP_DECLARE'
291 | IRQCHIP_DECLARE(mst_intc, "mstar,mst-intc", mst_intc_of_init);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from drivers/irqchip/irq-imx-mu-msi.c:15:
>> include/linux/irqchip.h:24:10: error: implicit declaration of function '__typecheck'; did you mean 'typecheck'? [-Werror=implicit-function-declaration]
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:445:1: note: in expansion of macro 'IRQCHIP_MATCH'
445 | IRQCHIP_MATCH("fsl,imx7ulp-mu-msi", imx_mu_imx7ulp_of_init)
| ^~~~~~~~~~~~~
>> include/linux/irqchip.h:24:9: error: initializer element is not constant
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:445:1: note: in expansion of macro 'IRQCHIP_MATCH'
445 | IRQCHIP_MATCH("fsl,imx7ulp-mu-msi", imx_mu_imx7ulp_of_init)
| ^~~~~~~~~~~~~
include/linux/irqchip.h:24:9: note: (near initialization for 'imx_mu_msi_irqchip_match_table[0].data')
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:445:1: note: in expansion of macro 'IRQCHIP_MATCH'
445 | IRQCHIP_MATCH("fsl,imx7ulp-mu-msi", imx_mu_imx7ulp_of_init)
| ^~~~~~~~~~~~~
>> include/linux/irqchip.h:24:9: error: initializer element is not constant
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:446:1: note: in expansion of macro 'IRQCHIP_MATCH'
446 | IRQCHIP_MATCH("fsl,imx6sx-mu-msi", imx_mu_imx6sx_of_init)
| ^~~~~~~~~~~~~
include/linux/irqchip.h:24:9: note: (near initialization for 'imx_mu_msi_irqchip_match_table[1].data')
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:446:1: note: in expansion of macro 'IRQCHIP_MATCH'
446 | IRQCHIP_MATCH("fsl,imx6sx-mu-msi", imx_mu_imx6sx_of_init)
| ^~~~~~~~~~~~~
>> include/linux/irqchip.h:24:9: error: initializer element is not constant
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:447:1: note: in expansion of macro 'IRQCHIP_MATCH'
447 | IRQCHIP_MATCH("fsl,imx8ulp-mu-msi", imx_mu_imx8ulp_of_init)
| ^~~~~~~~~~~~~
include/linux/irqchip.h:24:9: note: (near initialization for 'imx_mu_msi_irqchip_match_table[2].data')
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
include/linux/irqchip.h:45:45: note: in expansion of macro 'typecheck_irq_init_cb'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-imx-mu-msi.c:447:1: note: in expansion of macro 'IRQCHIP_MATCH'
447 | IRQCHIP_MATCH("fsl,imx8ulp-mu-msi", imx_mu_imx8ulp_of_init)
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +24 include/linux/irqchip.h
f1985002839af80 Marc Zyngier 2021-10-20 22
f1985002839af80 Marc Zyngier 2021-10-20 23 #define typecheck_irq_init_cb(fn) \
f1985002839af80 Marc Zyngier 2021-10-20 @24 (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
f1985002839af80 Marc Zyngier 2021-10-20 25
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
[not found] <a09512c8526b46759669d0b879144563@AcuMS.aculab.com>
2023-07-25 18:02 ` [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness kernel test robot
@ 2023-07-25 18:33 ` kernel test robot
2023-07-26 9:19 ` David Laight
1 sibling, 1 reply; 5+ messages in thread
From: kernel test robot @ 2023-07-25 18:33 UTC (permalink / raw)
To: David Laight, 'linux-kernel@vger.kernel.org',
'Andy Shevchenko', 'Andrew Morton',
'Matthew Wilcox (Oracle)', 'Christoph Hellwig',
'Jason A. Donenfeld'
Cc: llvm, oe-kbuild-all, Linux Memory Management List
Hi David,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master]
[cannot apply to next-20230725]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/David-Laight/minmax-Allow-min-max-clamp-if-the-arguments-have-the-same-signedness/20230725-204940
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/a09512c8526b46759669d0b879144563%40AcuMS.aculab.com
patch subject: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
config: mips-randconfig-r016-20230725 (https://download.01.org/0day-ci/archive/20230726/202307260256.nzImScXA-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230726/202307260256.nzImScXA-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307260256.nzImScXA-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/irqchip/irq-mips-cpu.c:288:1: error: call to undeclared function '__typecheck'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
| ^
include/linux/irqchip.h:37:38: note: expanded from macro 'IRQCHIP_DECLARE'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^
include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb'
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
>> drivers/irqchip/irq-mips-cpu.c:288:1: error: initializer element is not a compile-time constant
288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqchip.h:37:2: note: expanded from macro 'IRQCHIP_DECLARE'
37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/of.h:1493:3: note: expanded from macro 'OF_DECLARE_2'
1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/of.h:1481:2: note: expanded from macro '_OF_DECLARE'
1481 | _OF_DECLARE_STUB(table, name, compat, fn, fn_type)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/of.h:1470:16: note: expanded from macro '_OF_DECLARE_STUB'
1470 | .data = (fn == (fn_type)NULL) ? fn : fn }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
--
>> drivers/irqchip/irq-mchp-eic.c:275:1: error: call to undeclared function '__typecheck'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
275 | IRQCHIP_MATCH("microchip,sama7g5-eic", mchp_eic_init)
| ^
include/linux/irqchip.h:45:17: note: expanded from macro 'IRQCHIP_MATCH'
45 | .data = typecheck_irq_init_cb(fn), },
| ^
include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb'
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^
>> drivers/irqchip/irq-mchp-eic.c:275:1: error: initializer element is not a compile-time constant
275 | IRQCHIP_MATCH("microchip,sama7g5-eic", mchp_eic_init)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqchip.h:45:17: note: expanded from macro 'IRQCHIP_MATCH'
45 | .data = typecheck_irq_init_cb(fn), },
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqchip.h:24:2: note: expanded from macro 'typecheck_irq_init_cb'
24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
vim +/__typecheck +288 drivers/irqchip/irq-mips-cpu.c
0916b46962cbcac arch/mips/kernel/irq_cpu.c Gabor Juhos 2013-01-31 281
afe8dc254711b72 arch/mips/kernel/irq_cpu.c Andrew Bresticker 2014-09-18 282 int __init mips_cpu_irq_of_init(struct device_node *of_node,
0f84c305351c993 arch/mips/kernel/irq_cpu.c Andrew Bresticker 2014-09-18 283 struct device_node *parent)
0f84c305351c993 arch/mips/kernel/irq_cpu.c Andrew Bresticker 2014-09-18 284 {
0f84c305351c993 arch/mips/kernel/irq_cpu.c Andrew Bresticker 2014-09-18 285 __mips_cpu_irq_init(of_node);
0916b46962cbcac arch/mips/kernel/irq_cpu.c Gabor Juhos 2013-01-31 286 return 0;
0916b46962cbcac arch/mips/kernel/irq_cpu.c Gabor Juhos 2013-01-31 287 }
892b8cf06d8a1e7 drivers/irqchip/irq-mips-cpu.c Paul Burton 2015-05-24 @288 IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-25 18:33 ` kernel test robot
@ 2023-07-26 9:19 ` David Laight
2023-07-26 9:50 ` Marc Zyngier
0 siblings, 1 reply; 5+ messages in thread
From: David Laight @ 2023-07-26 9:19 UTC (permalink / raw)
To: 'kernel test robot',
'linux-kernel@vger.kernel.org', 'Andy Shevchenko',
'Andrew Morton', 'Matthew Wilcox (Oracle)',
'Christoph Hellwig', 'Jason A. Donenfeld'
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List, 'maz@kernel.org',
Rob Herring
> From: kernel test robot <lkp@intel.com>
> Sent: 25 July 2023 19:33
...
>
> All errors (new ones prefixed by >>):
>
> >> drivers/irqchip/irq-mips-cpu.c:288:1: error: call to undeclared function '__typecheck'; ISO C99 and
> later do not support implicit function declarations [-Wimplicit-function-declaration]
> 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> | ^
> include/linux/irqchip.h:37:38: note: expanded from macro 'IRQCHIP_DECLARE'
> 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> | ^
> include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb'
> 24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
> | ^
> >> drivers/irqchip/irq-mips-cpu.c:288:1: error: initializer element is not a compile-time constant
> 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/irqchip.h:37:2: note: expanded from macro 'IRQCHIP_DECLARE'
> 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/of.h:1493:3: note: expanded from macro 'OF_DECLARE_2'
> 1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/of.h:1481:2: note: expanded from macro '_OF_DECLARE'
> 1481 | _OF_DECLARE_STUB(table, name, compat, fn, fn_type)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/of.h:1470:16: note: expanded from macro '_OF_DECLARE_STUB'
> 1470 | .data = (fn == (fn_type)NULL) ? fn : fn }
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It looks like irqchip.h is using __typecheck() which is really
an internal part of the implementation of min() and max().
The patched version doesn't use it - hence the build fail.
I can re-instate it, but this all looks wrong to me.
The type of typecheck_irq_init_cb is the same as that of fn_type (although
they are defined separately).
Both headers seem to be testing the type - and it must match both.
So if the test in of.h worked the one in irqchip.h wouldn't have been added.
So I suspect it doesn't actually do anything - the RHS is NULL, the type
probably doesn't matter.
Possibly:
.data = {sizeof ((fn) == (fn_type)(fn)) ? fn : fn }
would actually generate the required compile-time error.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-26 9:19 ` David Laight
@ 2023-07-26 9:50 ` Marc Zyngier
2023-07-26 10:25 ` David Laight
0 siblings, 1 reply; 5+ messages in thread
From: Marc Zyngier @ 2023-07-26 9:50 UTC (permalink / raw)
To: David Laight
Cc: 'kernel test robot',
'linux-kernel@vger.kernel.org', 'Andy Shevchenko',
'Andrew Morton', 'Matthew Wilcox (Oracle)',
'Christoph Hellwig', 'Jason A. Donenfeld',
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List, Rob Herring
On Wed, 26 Jul 2023 10:19:48 +0100,
David Laight <David.Laight@ACULAB.COM> wrote:
>
> > From: kernel test robot <lkp@intel.com>
> > Sent: 25 July 2023 19:33
> ...
> >
> > All errors (new ones prefixed by >>):
> >
> > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: call to undeclared function '__typecheck'; ISO C99 and
> > later do not support implicit function declarations [-Wimplicit-function-declaration]
> > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> > | ^
> > include/linux/irqchip.h:37:38: note: expanded from macro 'IRQCHIP_DECLARE'
> > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> > | ^
> > include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb'
> > 24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
> > | ^
> > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: initializer element is not a compile-time constant
> > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/irqchip.h:37:2: note: expanded from macro 'IRQCHIP_DECLARE'
> > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/of.h:1493:3: note: expanded from macro 'OF_DECLARE_2'
> > 1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/of.h:1481:2: note: expanded from macro '_OF_DECLARE'
> > 1481 | _OF_DECLARE_STUB(table, name, compat, fn, fn_type)
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/of.h:1470:16: note: expanded from macro '_OF_DECLARE_STUB'
> > 1470 | .data = (fn == (fn_type)NULL) ? fn : fn }
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> It looks like irqchip.h is using __typecheck() which is really
> an internal part of the implementation of min() and max().
> The patched version doesn't use it - hence the build fail.
> I can re-instate it, but this all looks wrong to me.
Please see f1985002839a ("irqchip: Provide stronger type checking for
IRQCHIP_MATCH/IRQCHIP_DECLARE") for the rationale.
Given that this has uncovered a number of bugs, I'm not letting this
go without an equivalent replacement.
> The type of typecheck_irq_init_cb is the same as that of fn_type (although
> they are defined separately).
> Both headers seem to be testing the type - and it must match both.
> So if the test in of.h worked the one in irqchip.h wouldn't have been added.
> So I suspect it doesn't actually do anything - the RHS is NULL, the type
> probably doesn't matter.
They are used in different contexts. See IRQCHIP_MATCH().
M.
--
Without deviation from the norm, progress is not possible.
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.
2023-07-26 9:50 ` Marc Zyngier
@ 2023-07-26 10:25 ` David Laight
0 siblings, 0 replies; 5+ messages in thread
From: David Laight @ 2023-07-26 10:25 UTC (permalink / raw)
To: 'Marc Zyngier'
Cc: 'kernel test robot',
'linux-kernel@vger.kernel.org', 'Andy Shevchenko',
'Andrew Morton', 'Matthew Wilcox (Oracle)',
'Christoph Hellwig', 'Jason A. Donenfeld',
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List, Rob Herring
From: Marc Zyngier
> Sent: 26 July 2023 10:51
>
> On Wed, 26 Jul 2023 10:19:48 +0100,
> David Laight <David.Laight@ACULAB.COM> wrote:
> >
> > > From: kernel test robot <lkp@intel.com>
> > > Sent: 25 July 2023 19:33
> > ...
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: call to undeclared function '__typecheck'; ISO C99
> and
> > > later do not support implicit function declarations [-Wimplicit-function-declaration]
> > > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> > > | ^
> > > include/linux/irqchip.h:37:38: note: expanded from macro 'IRQCHIP_DECLARE'
> > > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> > > | ^
> > > include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb'
> > > 24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn)
> > > | ^
> > > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: initializer element is not a compile-time constant
> > > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init);
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/linux/irqchip.h:37:2: note: expanded from macro 'IRQCHIP_DECLARE'
> > > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/linux/of.h:1493:3: note: expanded from macro 'OF_DECLARE_2'
> > > 1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/linux/of.h:1481:2: note: expanded from macro '_OF_DECLARE'
> > > 1481 | _OF_DECLARE_STUB(table, name, compat, fn, fn_type)
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/linux/of.h:1470:16: note: expanded from macro '_OF_DECLARE_STUB'
> > > 1470 | .data = (fn == (fn_type)NULL) ? fn : fn }
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > It looks like irqchip.h is using __typecheck() which is really
> > an internal part of the implementation of min() and max().
> > The patched version doesn't use it - hence the build fail.
> > I can re-instate it, but this all looks wrong to me.
>
> Please see f1985002839a ("irqchip: Provide stronger type checking for
> IRQCHIP_MATCH/IRQCHIP_DECLARE") for the rationale.
>
> Given that this has uncovered a number of bugs, I'm not letting this
> go without an equivalent replacement.
..
>
> They are used in different contexts. See IRQCHIP_MATCH().
Ah, I was seeing the error in the expansion of IRQCHIP_DECLARE()
which is doing the type check twice.
It can just pass 'fn'.
The cast NULL check does work.
So IRQCHIP_MATCH() can use the simpler 'fn = (fn_type)NULL ? fn : fn' test
that _OF_DECLARE_STUB() uses.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-26 10:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <a09512c8526b46759669d0b879144563@AcuMS.aculab.com>
2023-07-25 18:02 ` [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness kernel test robot
2023-07-25 18:33 ` kernel test robot
2023-07-26 9:19 ` David Laight
2023-07-26 9:50 ` Marc Zyngier
2023-07-26 10:25 ` David Laight
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).