arch/mips/crypto/crc32-mips.c:40:1: error: expected identifier or '('

kernel test robot
2022-03-25T12:40:54Z

Hi Paul,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 34af78c4e616c359ed428d79fe4758a35d2c5473
commit: 67512a8cf5a730938fdb1e48de33edfef6015e03 MIPS: Avoid macro redefinitions
date: 6 months ago
config: mips-randconfig-r001-20220324 (https://download.01.org/0day-ci/archive/20220325/202203252015.7q4sT1o2-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67512a8cf5a730938fdb1e48de33edfef6015e03
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 67512a8cf5a730938fdb1e48de33edfef6015e03
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> arch/mips/crypto/crc32-mips.c:40:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32b, 0, 0);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:41:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32h, 1, 0);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:42:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32w, 2, 0);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:43:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32d, 3, 0);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:44:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32cb, 0, 1);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:45:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32ch, 1, 1);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:46:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32cw, 2, 1);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
arch/mips/crypto/crc32-mips.c:47:1: error: expected identifier or '('
_ASM_MACRO_CRC32(crc32cd, 3, 1);
^
arch/mips/crypto/crc32-mips.c:31:46: note: expanded from macro '_ASM_MACRO_CRC32'
#define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
^
arch/mips/include/asm/mipsregs.h:1346:3: note: expanded from macro '\
_ASM_MACRO_3R'
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
^
8 errors generated.

vim +40 arch/mips/crypto/crc32-mips.c

4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 29
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 30 #ifndef TOOLCHAIN_SUPPORTS_CRC
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 31 #define _ASM_MACRO_CRC32(OP, SZ, TYPE) \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 32 _ASM_MACRO_3R(OP, rt, rs, rt2, \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 33 ".ifnc \\rt, \\rt2\n\t" \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 34 ".error \"invalid operands \\\"" #OP " \\rt,\\rs,\\rt2\\\"\"\n\t" \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 35 ".endif\n\t" \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 36 _ASM_INSN_IF_MIPS(0x7c00000f | (__rt << 16) | (__rs << 21) | \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 37 ((SZ) << 6) | ((TYPE) << 8)) \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 38 _ASM_INSN32_IF_MM(0x00000030 | (__rs << 16) | (__rt << 21) | \
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 39 ((SZ) << 14) | ((TYPE) << 3)))
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 @40 _ASM_MACRO_CRC32(crc32b, 0, 0);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 41 _ASM_MACRO_CRC32(crc32h, 1, 0);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 42 _ASM_MACRO_CRC32(crc32w, 2, 0);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 43 _ASM_MACRO_CRC32(crc32d, 3, 0);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 44 _ASM_MACRO_CRC32(crc32cb, 0, 1);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 45 _ASM_MACRO_CRC32(crc32ch, 1, 1);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 46 _ASM_MACRO_CRC32(crc32cw, 2, 1);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 47 _ASM_MACRO_CRC32(crc32cd, 3, 1);
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 48 #define _ASM_SET_CRC ""
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 49 #else /* !TOOLCHAIN_SUPPORTS_CRC */
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 50 #define _ASM_SET_CRC ".set\tcrc\n\t"
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 51 #endif
4a5dc51e93e8046 Marcin Nowakowski 2018-02-09 52

:::::: The code at line 40 was first introduced by commit
:::::: 4a5dc51e93e80463010ab4d8d00fc9cb6bc936fa MIPS: crypto: Add crc32 and crc32c hw accelerated module

:::::: TO: Marcin Nowakowski <marcin.nowakowski@mips.com>
:::::: CC: James Hogan <jhogan@kernel.org>

--
0-DAY CI Kernel Test Service