All of lore.kernel.org
 help / color / mirror / Atom feed
* [tamird:b4/bitmap-kunit-convert 4/4] lib/bitmap_kunit.c:1251:2: error: call to '__compiletime_assert_486' declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(~var)
@ 2026-10-01  3:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-01  3:22 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "__compiletime_assert_NNN"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Tamir Duberstein <tamird@kernel.org>

tree:   https://github.com/tamird/linux b4/bitmap-kunit-convert
head:   c4e92606ad54da7a5b46c2787f54d1ae3f3958b2
commit: c4e92606ad54da7a5b46c2787f54d1ae3f3958b2 [4/4] bitmap: break kunit into test cases
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
config: x86_64-randconfig-r2301-20261001 (https://download.01.org/0day-ci/archive/20261001/202610010508.bIpbuVCE-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261001/202610010508.bIpbuVCE-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/r/202610010508.bIpbuVCE-lkp@intel.com/

All errors (new ones prefixed by >>):

>> lib/bitmap_kunit.c:1251:2: error: call to '__compiletime_assert_486' declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(~var)
    1251 |         BUILD_BUG_ON(!__builtin_constant_p(~var));
         |         ^
   include/linux/build_bug.h:51:2: note: expanded from macro 'BUILD_BUG_ON'
      51 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
         |         ^
   include/linux/build_bug.h:40:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
      40 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
         |                                     ^
   include/linux/compiler_types.h:702:2: note: expanded from macro 'compiletime_assert'
     702 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^
   include/linux/compiler_types.h:690:2: note: expanded from macro '_compiletime_assert'
     690 |         __compiletime_assert(condition, msg, prefix, suffix)
         |         ^
   include/linux/compiler_types.h:683:4: note: expanded from macro '__compiletime_assert'
     683 |                         prefix ## suffix();                             \
         |                         ^
   <scratch space>:93:1: note: expanded from here
      93 | __compiletime_assert_486
         | ^
   1 error generated.


vim +1251 lib/bitmap_kunit.c

291f93ca339f5b lib/test_bitmap.c  Barry Song        2021-08-06  1200  
2356d198d2b4dd lib/test_bitmap.c  Yury Norov        2023-07-17  1201  /*
2356d198d2b4dd lib/test_bitmap.c  Yury Norov        2023-07-17  1202   * FIXME: Clang breaks compile-time evaluations when KASAN and GCOV are enabled.
2356d198d2b4dd lib/test_bitmap.c  Yury Norov        2023-07-17  1203   * To workaround it, GCOV is force-disabled in Makefile for this configuration.
2356d198d2b4dd lib/test_bitmap.c  Yury Norov        2023-07-17  1204   */
c4e92606ad54da lib/bitmap_kunit.c Tamir Duberstein  2025-02-07  1205  static void test_bitmap_const_eval(struct kunit *kunittest)
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1206  {
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1207  	DECLARE_BITMAP(bitmap, BITS_PER_LONG);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1208  	unsigned long initvar = BIT(2);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1209  	unsigned long bitopvar = 0;
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1210  	unsigned long var = 0;
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1211  	int res;
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1212  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1213  	/*
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1214  	 * Compilers must be able to optimize all of those to compile-time
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1215  	 * constants on any supported optimization level (-O2, -Os) and any
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1216  	 * architecture. Otherwise, trigger a build bug.
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1217  	 * The whole function gets optimized out then, there's nothing to do
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1218  	 * in runtime.
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1219  	 */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1220  
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1221  	/* Equals to `unsigned long bitmap[1] = { GENMASK(6, 5), }` */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1222  	bitmap_clear(bitmap, 0, BITS_PER_LONG);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1223  	if (!test_bit(7, bitmap))
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1224  		bitmap_set(bitmap, 5, 2);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1225  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1226  	/* Equals to `unsigned long bitopvar = BIT(20)` */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1227  	__change_bit(31, &bitopvar);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1228  	bitmap_shift_right(&bitopvar, &bitopvar, 11, BITS_PER_LONG);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1229  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1230  	/* Equals to `unsigned long var = BIT(25)` */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1231  	var |= BIT(25);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1232  	if (var & BIT(0))
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1233  		var ^= GENMASK(9, 6);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1234  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1235  	/* __const_hweight<32|64>(GENMASK(6, 5)) == 2 */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1236  	res = bitmap_weight(bitmap, 20);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1237  	BUILD_BUG_ON(!__builtin_constant_p(res));
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1238  	BUILD_BUG_ON(res != 2);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1239  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1240  	/* !(BIT(31) & BIT(18)) == 1 */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1241  	res = !test_bit(18, &bitopvar);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1242  	BUILD_BUG_ON(!__builtin_constant_p(res));
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1243  	BUILD_BUG_ON(!res);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1244  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1245  	/* BIT(2) & GENMASK(14, 8) == 0 */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1246  	res = initvar & GENMASK(14, 8);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1247  	BUILD_BUG_ON(!__builtin_constant_p(res));
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1248  	BUILD_BUG_ON(res);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1249  
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1250  	/* ~BIT(25) */
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24 @1251  	BUILD_BUG_ON(!__builtin_constant_p(~var));
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1252  	BUILD_BUG_ON(~var != ~BIT(25));
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1253  
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1254  	/* ~BIT(25) | BIT(25) == ~0UL */
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1255  	bitmap_complement(&var, &var, BITS_PER_LONG);
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1256  	__assign_bit(25, &var, true);
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1257  
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1258  	/* !(~(~0UL)) == 1 */
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1259  	res = bitmap_full(&var, BITS_PER_LONG);
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1260  	BUILD_BUG_ON(!__builtin_constant_p(res));
7adaf37f7f104a lib/test_bitmap.c  Alexander Lobakin 2024-03-27  1261  	BUILD_BUG_ON(!res);
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1262  }
dc34d5036692c6 lib/test_bitmap.c  Alexander Lobakin 2022-06-24  1263  

:::::: The code at line 1251 was first introduced by commit
:::::: dc34d5036692c614eef23c1130ee42a201c316bf lib: test_bitmap: add compile-time optimization/evaluations assertions

:::::: TO: Alexander Lobakin <alexandr.lobakin@intel.com>
:::::: CC: Yury Norov <yury.norov@gmail.com>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-01  3:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-01  3:22 [tamird:b4/bitmap-kunit-convert 4/4] lib/bitmap_kunit.c:1251:2: error: call to '__compiletime_assert_486' declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(~var) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.