Re: [PATCH 2/3] linux/bits.h: Add fixed-width GENMASK and BIT macros

From: kernel test robot
Date: Wed May 10 2023 - 08:19:39 EST


Hi Lucas,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.4-rc1 next-20230510]
[cannot apply to drm-misc/drm-misc-next]
[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/Lucas-De-Marchi/drm-amd-Remove-wrapper-macros-over-get_u-32-16-8/20230509-131544
base: git://anongit.freedesktop.org/drm-intel for-linux-next
patch link: https://lore.kernel.org/r/20230509051403.2748545-3-lucas.demarchi%40intel.com
patch subject: [PATCH 2/3] linux/bits.h: Add fixed-width GENMASK and BIT macros
config: arm64-randconfig-r021-20230509 (https://download.01.org/0day-ci/archive/20230510/202305102048.2O5u4Wia-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project b0fb98227c90adf2536c9ad644a74d5e92961111)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/dc308f14f76fa2d6c1698a701dfbe0f1b247e6bd
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Lucas-De-Marchi/drm-amd-Remove-wrapper-macros-over-get_u-32-16-8/20230509-131544
git checkout dc308f14f76fa2d6c1698a701dfbe0f1b247e6bd
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash lib/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202305102048.2O5u4Wia-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> lib/zstd/compress/zstd_opt.c:785:9: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
typedef U32 (*ZSTD_getAllMatchesFn)(
~~~~~~~ ^
int
include/vdso/const.h:7:18: note: expanded from macro 'U32'
#define U32(x) (_U32(x))
^
include/uapi/linux/const.h:25:19: note: expanded from macro '_U32'
#define _U32(x) (_AC(x, U))
^
include/uapi/linux/const.h:21:18: note: expanded from macro '_AC'
#define _AC(X,Y) __AC(X,Y)
^
include/uapi/linux/const.h:20:20: note: expanded from macro '__AC'
#define __AC(X,Y) (X##Y)
^
<scratch space>:178:1: note: expanded from here
ZSTD_getAllMatchesFnU
^
>> lib/zstd/compress/zstd_opt.c:851:8: error: unknown type name 'ZSTD_getAllMatchesFn'; did you mean 'ZSTD_getAllMatchesFnU'?
static ZSTD_getAllMatchesFn
^~~~~~~~~~~~~~~~~~~~
ZSTD_getAllMatchesFnU
lib/zstd/compress/zstd_opt.c:785:9: note: 'ZSTD_getAllMatchesFnU' declared here
typedef U32 (*ZSTD_getAllMatchesFn)(
^
include/vdso/const.h:7:18: note: expanded from macro 'U32'
#define U32(x) (_U32(x))
^
include/uapi/linux/const.h:25:19: note: expanded from macro '_U32'
#define _U32(x) (_AC(x, U))
^
include/uapi/linux/const.h:21:18: note: expanded from macro '_AC'
#define _AC(X,Y) __AC(X,Y)
^
include/uapi/linux/const.h:20:20: note: expanded from macro '__AC'
#define __AC(X,Y) (X##Y)
^
<scratch space>:178:1: note: expanded from here
ZSTD_getAllMatchesFnU
^
>> lib/zstd/compress/zstd_opt.c:854:5: error: use of undeclared identifier 'ZSTD_getAllMatchesFn'
ZSTD_getAllMatchesFn const getAllMatchesFns[3][4] = {
^
>> lib/zstd/compress/zstd_opt.c:862:12: error: use of undeclared identifier 'getAllMatchesFns'
return getAllMatchesFns[(int)dictMode][mls - 3];
^
lib/zstd/compress/zstd_opt.c:1054:5: error: unknown type name 'ZSTD_getAllMatchesFn'; did you mean 'ZSTD_getAllMatchesFnU'?
ZSTD_getAllMatchesFn getAllMatches = ZSTD_selectBtGetAllMatches(ms, dictMode);
^~~~~~~~~~~~~~~~~~~~
ZSTD_getAllMatchesFnU
lib/zstd/compress/zstd_opt.c:785:9: note: 'ZSTD_getAllMatchesFnU' declared here
typedef U32 (*ZSTD_getAllMatchesFn)(
^
include/vdso/const.h:7:18: note: expanded from macro 'U32'
#define U32(x) (_U32(x))
^
include/uapi/linux/const.h:25:19: note: expanded from macro '_U32'
#define _U32(x) (_AC(x, U))
^
include/uapi/linux/const.h:21:18: note: expanded from macro '_AC'
#define _AC(X,Y) __AC(X,Y)
^
include/uapi/linux/const.h:20:20: note: expanded from macro '__AC'
#define __AC(X,Y) (X##Y)
^
<scratch space>:178:1: note: expanded from here
ZSTD_getAllMatchesFnU
^
5 errors generated.


vim +/int +785 lib/zstd/compress/zstd_opt.c

e0c1b49f5b674c Nick Terrell 2020-09-11 784
2aa14b1ab2c41a Nick Terrell 2022-10-17 @785 typedef U32 (*ZSTD_getAllMatchesFn)(
2aa14b1ab2c41a Nick Terrell 2022-10-17 786 ZSTD_match_t*,
2aa14b1ab2c41a Nick Terrell 2022-10-17 787 ZSTD_matchState_t*,
2aa14b1ab2c41a Nick Terrell 2022-10-17 788 U32*,
2aa14b1ab2c41a Nick Terrell 2022-10-17 789 const BYTE*,
2aa14b1ab2c41a Nick Terrell 2022-10-17 790 const BYTE*,
2aa14b1ab2c41a Nick Terrell 2022-10-17 791 const U32 rep[ZSTD_REP_NUM],
2aa14b1ab2c41a Nick Terrell 2022-10-17 792 U32 const ll0,
2aa14b1ab2c41a Nick Terrell 2022-10-17 793 U32 const lengthToBeat);
e0c1b49f5b674c Nick Terrell 2020-09-11 794
2aa14b1ab2c41a Nick Terrell 2022-10-17 795 FORCE_INLINE_TEMPLATE U32 ZSTD_btGetAllMatches_internal(
2aa14b1ab2c41a Nick Terrell 2022-10-17 796 ZSTD_match_t* matches,
e0c1b49f5b674c Nick Terrell 2020-09-11 797 ZSTD_matchState_t* ms,
e0c1b49f5b674c Nick Terrell 2020-09-11 798 U32* nextToUpdate3,
2aa14b1ab2c41a Nick Terrell 2022-10-17 799 const BYTE* ip,
2aa14b1ab2c41a Nick Terrell 2022-10-17 800 const BYTE* const iHighLimit,
e0c1b49f5b674c Nick Terrell 2020-09-11 801 const U32 rep[ZSTD_REP_NUM],
e0c1b49f5b674c Nick Terrell 2020-09-11 802 U32 const ll0,
2aa14b1ab2c41a Nick Terrell 2022-10-17 803 U32 const lengthToBeat,
2aa14b1ab2c41a Nick Terrell 2022-10-17 804 const ZSTD_dictMode_e dictMode,
2aa14b1ab2c41a Nick Terrell 2022-10-17 805 const U32 mls)
e0c1b49f5b674c Nick Terrell 2020-09-11 806 {
2aa14b1ab2c41a Nick Terrell 2022-10-17 807 assert(BOUNDED(3, ms->cParams.minMatch, 6) == mls);
2aa14b1ab2c41a Nick Terrell 2022-10-17 808 DEBUGLOG(8, "ZSTD_BtGetAllMatches(dictMode=%d, mls=%u)", (int)dictMode, mls);
2aa14b1ab2c41a Nick Terrell 2022-10-17 809 if (ip < ms->window.base + ms->nextToUpdate)
2aa14b1ab2c41a Nick Terrell 2022-10-17 810 return 0; /* skipped area */
2aa14b1ab2c41a Nick Terrell 2022-10-17 811 ZSTD_updateTree_internal(ms, ip, iHighLimit, mls, dictMode);
2aa14b1ab2c41a Nick Terrell 2022-10-17 812 return ZSTD_insertBtAndGetAllMatches(matches, ms, nextToUpdate3, ip, iHighLimit, dictMode, rep, ll0, lengthToBeat, mls);
2aa14b1ab2c41a Nick Terrell 2022-10-17 813 }
2aa14b1ab2c41a Nick Terrell 2022-10-17 814
2aa14b1ab2c41a Nick Terrell 2022-10-17 815 #define ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, mls) ZSTD_btGetAllMatches_##dictMode##_##mls
2aa14b1ab2c41a Nick Terrell 2022-10-17 816
2aa14b1ab2c41a Nick Terrell 2022-10-17 817 #define GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, mls) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 818 static U32 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, mls)( \
2aa14b1ab2c41a Nick Terrell 2022-10-17 819 ZSTD_match_t* matches, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 820 ZSTD_matchState_t* ms, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 821 U32* nextToUpdate3, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 822 const BYTE* ip, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 823 const BYTE* const iHighLimit, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 824 const U32 rep[ZSTD_REP_NUM], \
2aa14b1ab2c41a Nick Terrell 2022-10-17 825 U32 const ll0, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 826 U32 const lengthToBeat) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 827 { \
2aa14b1ab2c41a Nick Terrell 2022-10-17 828 return ZSTD_btGetAllMatches_internal( \
2aa14b1ab2c41a Nick Terrell 2022-10-17 829 matches, ms, nextToUpdate3, ip, iHighLimit, \
2aa14b1ab2c41a Nick Terrell 2022-10-17 830 rep, ll0, lengthToBeat, ZSTD_##dictMode, mls); \
2aa14b1ab2c41a Nick Terrell 2022-10-17 831 }
2aa14b1ab2c41a Nick Terrell 2022-10-17 832
2aa14b1ab2c41a Nick Terrell 2022-10-17 833 #define GEN_ZSTD_BT_GET_ALL_MATCHES(dictMode) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 834 GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 3) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 835 GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 4) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 836 GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 5) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 837 GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 6)
2aa14b1ab2c41a Nick Terrell 2022-10-17 838
2aa14b1ab2c41a Nick Terrell 2022-10-17 839 GEN_ZSTD_BT_GET_ALL_MATCHES(noDict)
2aa14b1ab2c41a Nick Terrell 2022-10-17 840 GEN_ZSTD_BT_GET_ALL_MATCHES(extDict)
2aa14b1ab2c41a Nick Terrell 2022-10-17 841 GEN_ZSTD_BT_GET_ALL_MATCHES(dictMatchState)
2aa14b1ab2c41a Nick Terrell 2022-10-17 842
2aa14b1ab2c41a Nick Terrell 2022-10-17 843 #define ZSTD_BT_GET_ALL_MATCHES_ARRAY(dictMode) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 844 { \
2aa14b1ab2c41a Nick Terrell 2022-10-17 845 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 3), \
2aa14b1ab2c41a Nick Terrell 2022-10-17 846 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 4), \
2aa14b1ab2c41a Nick Terrell 2022-10-17 847 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 5), \
2aa14b1ab2c41a Nick Terrell 2022-10-17 848 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 6) \
2aa14b1ab2c41a Nick Terrell 2022-10-17 849 }
2aa14b1ab2c41a Nick Terrell 2022-10-17 850
2aa14b1ab2c41a Nick Terrell 2022-10-17 @851 static ZSTD_getAllMatchesFn
2aa14b1ab2c41a Nick Terrell 2022-10-17 852 ZSTD_selectBtGetAllMatches(ZSTD_matchState_t const* ms, ZSTD_dictMode_e const dictMode)
e0c1b49f5b674c Nick Terrell 2020-09-11 853 {
2aa14b1ab2c41a Nick Terrell 2022-10-17 @854 ZSTD_getAllMatchesFn const getAllMatchesFns[3][4] = {
2aa14b1ab2c41a Nick Terrell 2022-10-17 855 ZSTD_BT_GET_ALL_MATCHES_ARRAY(noDict),
2aa14b1ab2c41a Nick Terrell 2022-10-17 856 ZSTD_BT_GET_ALL_MATCHES_ARRAY(extDict),
2aa14b1ab2c41a Nick Terrell 2022-10-17 857 ZSTD_BT_GET_ALL_MATCHES_ARRAY(dictMatchState)
2aa14b1ab2c41a Nick Terrell 2022-10-17 858 };
2aa14b1ab2c41a Nick Terrell 2022-10-17 859 U32 const mls = BOUNDED(3, ms->cParams.minMatch, 6);
2aa14b1ab2c41a Nick Terrell 2022-10-17 860 assert((U32)dictMode < 3);
2aa14b1ab2c41a Nick Terrell 2022-10-17 861 assert(mls - 3 < 4);
2aa14b1ab2c41a Nick Terrell 2022-10-17 @862 return getAllMatchesFns[(int)dictMode][mls - 3];
e0c1b49f5b674c Nick Terrell 2020-09-11 863 }
e0c1b49f5b674c Nick Terrell 2020-09-11 864

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests