[alobakin:bitops 3/6] include/linux/bitops.h:39:35: error: 'arch___set_bit' undeclared here (not in a function); did you mean 'generic___set_bit'?

From: kernel test robot
Date: Mon Jun 13 2022 - 05:32:12 EST


tree: https://github.com/alobakin/linux bitops
head: d8371d0e4328c4cb6fa25350bd5132f25b386672
commit: 4f9a98e0945a7cb9130bb04be4b3ecec35e16a81 [3/6] bitops: unify non-atomic bitops prototypes across architectures
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20220613/202206131730.NRGzSajz-lkp@xxxxxxxxx/config)
compiler: m68k-linux-gcc (GCC) 11.3.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://github.com/alobakin/linux/commit/4f9a98e0945a7cb9130bb04be4b3ecec35e16a81
git remote add alobakin https://github.com/alobakin/linux
git fetch --no-tags alobakin bitops
git checkout 4f9a98e0945a7cb9130bb04be4b3ecec35e16a81
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=m68k prepare

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/bits.h:22,
from include/linux/ratelimit_types.h:5,
from include/linux/printk.h:9,
from include/asm-generic/bug.h:22,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
>> include/linux/bitops.h:39:35: error: 'arch___set_bit' undeclared here (not in a function); did you mean 'generic___set_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:42:1: note: in expansion of macro '__check_bitop_pr'
42 | __check_bitop_pr(__set_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:42:1: note: in expansion of macro '__check_bitop_pr'
42 | __check_bitop_pr(__set_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch___clear_bit' undeclared here (not in a function); did you mean 'generic___clear_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:43:1: note: in expansion of macro '__check_bitop_pr'
43 | __check_bitop_pr(__clear_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:43:1: note: in expansion of macro '__check_bitop_pr'
43 | __check_bitop_pr(__clear_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch___change_bit' undeclared here (not in a function); did you mean 'bfchg_mem_change_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:44:1: note: in expansion of macro '__check_bitop_pr'
44 | __check_bitop_pr(__change_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:44:1: note: in expansion of macro '__check_bitop_pr'
44 | __check_bitop_pr(__change_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch___test_and_set_bit' undeclared here (not in a function); did you mean 'generic___test_and_set_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:45:1: note: in expansion of macro '__check_bitop_pr'
45 | __check_bitop_pr(__test_and_set_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:45:1: note: in expansion of macro '__check_bitop_pr'
45 | __check_bitop_pr(__test_and_set_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch___test_and_clear_bit' undeclared here (not in a function); did you mean 'generic___test_and_clear_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:46:1: note: in expansion of macro '__check_bitop_pr'
46 | __check_bitop_pr(__test_and_clear_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:46:1: note: in expansion of macro '__check_bitop_pr'
46 | __check_bitop_pr(__test_and_clear_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch___test_and_change_bit' undeclared here (not in a function); did you mean 'bfchg_mem_test_and_change_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:47:1: note: in expansion of macro '__check_bitop_pr'
47 | __check_bitop_pr(__test_and_change_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:47:1: note: in expansion of macro '__check_bitop_pr'
47 | __check_bitop_pr(__test_and_change_bit);
| ^~~~~~~~~~~~~~~~
>> include/linux/bitops.h:39:35: error: 'arch_test_bit' undeclared here (not in a function); did you mean 'test_bit'?
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:48:1: note: in expansion of macro '__check_bitop_pr'
48 | __check_bitop_pr(test_bit);
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer
293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/bitops.h:39:9: note: in expansion of macro 'static_assert'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~~~
include/linux/bitops.h:39:23: note: in expansion of macro '__same_type'
39 | static_assert(__same_type(arch_##name, generic_##name) && \
| ^~~~~~~~~~~
include/linux/bitops.h:48:1: note: in expansion of macro '__check_bitop_pr'
48 | __check_bitop_pr(test_bit);
| ^~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1200: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +39 include/linux/bitops.h

36
37 /* Check that the bitops prototypes are sane */
38 #define __check_bitop_pr(name) \
> 39 static_assert(__same_type(arch_##name, generic_##name) && \
40 __same_type(name, generic_##name))
41

--
0-DAY CI Kernel Test Service
https://01.org/lkp