Messages in this thread | | | Date | Sun, 4 Sep 2022 00:57:22 +0800 | From | kernel test robot <> | Subject | [mark:arm64/insn/rework 17/17] arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_N' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/insn/rework head: e7a596adf2e7a4ff7e585c053b93d81730d605a7 commit: e7a596adf2e7a4ff7e585c053b93d81730d605a7 [17/17] HACK: arm64: insn: add immediate tests config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220904/202209040035.zoHGzSIk-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 12.1.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 # https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=e7a596adf2e7a4ff7e585c053b93d81730d605a7 git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git git fetch --no-tags mark arm64/insn/rework git checkout e7a596adf2e7a4ff7e585c053b93d81730d605a7 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:79:1: note: in expansion of macro 'IMM_ROUNDTRIP' 79 | IMM_ROUNDTRIP(imm6_15); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_imm6_10' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:80:1: note: in expansion of macro 'IMM_ROUNDTRIP' 80 | IMM_ROUNDTRIP(imm6_10); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_imm6_10' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:80:1: note: in expansion of macro 'IMM_ROUNDTRIP' 80 | IMM_ROUNDTRIP(imm6_10); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_imm6_10' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:80:1: note: in expansion of macro 'IMM_ROUNDTRIP' 80 | IMM_ROUNDTRIP(imm6_10); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_imm6_10' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:80:1: note: in expansion of macro 'IMM_ROUNDTRIP' 80 | IMM_ROUNDTRIP(imm6_10); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_immr' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:81:1: note: in expansion of macro 'IMM_ROUNDTRIP' 81 | IMM_ROUNDTRIP(immr); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_immr' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:81:1: note: in expansion of macro 'IMM_ROUNDTRIP' 81 | IMM_ROUNDTRIP(immr); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_immr' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:81:1: note: in expansion of macro 'IMM_ROUNDTRIP' 81 | IMM_ROUNDTRIP(immr); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_immr' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:81:1: note: in expansion of macro 'IMM_ROUNDTRIP' 81 | IMM_ROUNDTRIP(immr); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_imms' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:82:1: note: in expansion of macro 'IMM_ROUNDTRIP' 82 | IMM_ROUNDTRIP(imms); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_imms' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:82:1: note: in expansion of macro 'IMM_ROUNDTRIP' 82 | IMM_ROUNDTRIP(imms); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_imms' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:82:1: note: in expansion of macro 'IMM_ROUNDTRIP' 82 | IMM_ROUNDTRIP(imms); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_imms' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:82:1: note: in expansion of macro 'IMM_ROUNDTRIP' 82 | IMM_ROUNDTRIP(imms); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_hw' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:83:1: note: in expansion of macro 'IMM_ROUNDTRIP' 83 | IMM_ROUNDTRIP(hw); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_hw' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:83:1: note: in expansion of macro 'IMM_ROUNDTRIP' 83 | IMM_ROUNDTRIP(hw); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_hw' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:83:1: note: in expansion of macro 'IMM_ROUNDTRIP' 83 | IMM_ROUNDTRIP(hw); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_hw' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:83:1: note: in expansion of macro 'IMM_ROUNDTRIP' 83 | IMM_ROUNDTRIP(hw); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_N' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:84:1: note: in expansion of macro 'IMM_ROUNDTRIP' 84 | IMM_ROUNDTRIP(N); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_N' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:84:1: note: in expansion of macro 'IMM_ROUNDTRIP' 84 | IMM_ROUNDTRIP(N); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_N' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:84:1: note: in expansion of macro 'IMM_ROUNDTRIP' 84 | IMM_ROUNDTRIP(N); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_N' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:84:1: note: in expansion of macro 'IMM_ROUNDTRIP' 84 | IMM_ROUNDTRIP(N); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_sf' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:85:1: note: in expansion of macro 'IMM_ROUNDTRIP' 85 | IMM_ROUNDTRIP(sf); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_sf' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:85:1: note: in expansion of macro 'IMM_ROUNDTRIP' 85 | IMM_ROUNDTRIP(sf); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_sf' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:85:1: note: in expansion of macro 'IMM_ROUNDTRIP' 85 | IMM_ROUNDTRIP(sf); | ^~~~~~~~~~~~~ arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_sf' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:85:1: note: in expansion of macro 'IMM_ROUNDTRIP' 85 | IMM_ROUNDTRIP(sf); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:37:6: warning: no previous prototype for 'test__insn_imm_insn__unsigned_sh' [-Wmissing-prototypes] 37 | bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:86:1: note: in expansion of macro 'IMM_ROUNDTRIP' 86 | IMM_ROUNDTRIP(sh); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:45:6: warning: no previous prototype for 'test__insn_imm_insn__signed_sh' [-Wmissing-prototypes] 45 | bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:86:1: note: in expansion of macro 'IMM_ROUNDTRIP' 86 | IMM_ROUNDTRIP(sh); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:53:6: warning: no previous prototype for 'test__imm_insn_imm__unsigned_sh' [-Wmissing-prototypes] 53 | bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:86:1: note: in expansion of macro 'IMM_ROUNDTRIP' 86 | IMM_ROUNDTRIP(sh); | ^~~~~~~~~~~~~ >> arch/arm64/lib/insn.c:60:6: warning: no previous prototype for 'test__imm_insn_imm__signed_sh' [-Wmissing-prototypes] 60 | bool test__imm_insn_imm__signed_##imm(const s64 imm) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/insn.c:86:1: note: in expansion of macro 'IMM_ROUNDTRIP' 86 | IMM_ROUNDTRIP(sh); | ^~~~~~~~~~~~~
vim +/test__insn_imm_insn__unsigned_N +37 arch/arm64/lib/insn.c
35 36 #define IMM_ROUNDTRIP(imm) \ > 37 bool test__insn_imm_insn__unsigned_##imm(const u32 old_insn) \ 38 { \ 39 u32 new_insn = old_insn; \ 40 u64 imm = aarch64_insn_decode_unsigned_##imm(old_insn); \ 41 if (!aarch64_insn_try_encode_unsigned_##imm(&new_insn, imm)) \ 42 return true; \ 43 return new_insn == old_insn; \ 44 } \ > 45 bool test__insn_imm_insn__signed_##imm(const u32 old_insn) \ 46 { \ 47 u32 new_insn = old_insn; \ 48 s64 imm = aarch64_insn_decode_signed_##imm(old_insn); \ 49 if (!aarch64_insn_try_encode_signed_##imm(&new_insn, imm)) \ 50 return true; \ 51 return new_insn == old_insn; \ 52 } \ > 53 bool test__imm_insn_imm__unsigned_##imm(const u64 imm) \ 54 { \ 55 u32 insn = 0; \ 56 if (!aarch64_insn_try_encode_unsigned_##imm(&insn, imm)) \ 57 return true; \ 58 return aarch64_insn_decode_unsigned_##imm(insn) == imm; \ 59 } \ > 60 bool test__imm_insn_imm__signed_##imm(const s64 imm) \ 61 { \ 62 u32 insn = 0; \ 63 if (!aarch64_insn_try_encode_signed_##imm(&insn, imm)) \ 64 return true; \ 65 return aarch64_insn_decode_signed_##imm(insn) == imm; \ 66 } 67
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |