BUILD_BUG_ON_ZERO
BUILD_BUG_ON_ZERO(offsetof(struct unwind_frame_info, f) \
((void)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 1), \
((void)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2), \
BUILD_BUG_ON_ZERO(PLL_RATE(_fin, _m, _p, _s, _k, _ks) != (_fout)))
BUILD_BUG_ON_ZERO(PLL_FRACO_RATE(_fin, _m, _p, _s, _k, _ks) != (_fout)))
BUILD_BUG_ON_ZERO(sizeof(union fwctl_ucmd_buffer) < \
BUILD_BUG_ON_ZERO((from) < 200) + \
BUILD_BUG_ON_ZERO((from) < IP_VER(2, 0)) + \
BUILD_BUG_ON_ZERO((until) < (from)) + \
BUILD_BUG_ON_ZERO((from) < IP_VER(13, 0)) + \
BUILD_BUG_ON_ZERO((until) < (from)) + \
BUILD_BUG_ON_ZERO((until) <= (from)) + \
BUILD_BUG_ON_ZERO((until) <= (from)) + \
#define LRI(count, flags) ((flags) << 6 | (count) | BUILD_BUG_ON_ZERO(count >= BIT(6)))
#define REG(x) (((x) >> 2) | BUILD_BUG_ON_ZERO(x >= 0x200))
(((x) >> 9) | BIT(7) | BUILD_BUG_ON_ZERO(x >= 0x10000)), \
(BUILD_BUG_ON_ZERO(COUNT_ARGS(ver) < 2 || COUNT_ARGS(ver) > 3) + \
#define hxg_sizeof(T) (sizeof(T) / sizeof(u32) + BUILD_BUG_ON_ZERO(sizeof(T) % sizeof(u32)))
BUILD_BUG_ON_ZERO(count >= BIT(6)))
#define REG(x) (((x) >> 2) | BUILD_BUG_ON_ZERO(x >= 0x200))
(((x) >> 9) | BIT(7) | BUILD_BUG_ON_ZERO(x >= 0x10000)), \
BUILD_BUG_ON_ZERO(offsetof(req, response) != 0) + \
BUILD_BUG_ON_ZERO(sizeof_field(req, response) != \
BUILD_BUG_ON_ZERO(offsetof(req, driver_data) != \
BUILD_BUG_ON_ZERO(offsetof(resp, driver_data) != \
1 + BUILD_BUG_ON_ZERO(offsetof(req, driver_data) != \
BUILD_BUG_ON_ZERO((field_h) != (field_l))); \
(BUILD_BUG_ON_ZERO(__ELANTS_FIELD_SIZE(_field) > 2) + \
sizeof(*(ptr)) + BUILD_BUG_ON_ZERO( \
sizeof(*(ptr)) + BUILD_BUG_ON_ZERO( \
BUILD_BUG_ON_ZERO(sizeof(union ucmd_buffer) < \
BUILD_BUG_ON_ZERO(!__same_type( \
BUILD_BUG_ON_ZERO(offsetof(_struct, _obj)))
BUILD_BUG_ON_ZERO(MLX5_ST_SZ_BYTES(fte_match_param) != \
(BUILD_BUG_ON_ZERO(FS_FT_RDMA_TRANSPORT_TX != FS_FT_MAX_TYPE))\
(BUILD_BUG_ON_ZERO(FR_AA_RX_DESC_UPD_KER != FR_BZ_RX_DESC_UPD_P0) + \
(BUILD_BUG_ON_ZERO(FR_AA_TX_DESC_UPD_KER != FR_BZ_TX_DESC_UPD_P0) + \
BUILD_BUG_ON_ZERO((reg) != 0x830 && (reg) != 0xa10), \
BUILD_BUG_ON_ZERO((reg) != 0x400 && \
reg + BUILD_BUG_ON_ZERO((reg) != 0x420), \
BUILD_BUG_ON_ZERO((reg) != 0x830 && (reg) != 0xa10), \
BUILD_BUG_ON_ZERO((reg) != 0x180 && \
((_ofst) + BUILD_BUG_ON_ZERO((_ofst) & (_align - 1)))
((void)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 1), \
((void)BUILD_BUG_ON_ZERO(_field ## _LEN != 1), \
((u16)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
((void)BUILD_BUG_ON_ZERO(_field ## _LEN != 2), \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 4) + \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 8) + \
(BUILD_BUG_ON_ZERO(FR_AA_RX_DESC_UPD_KER != FR_BZ_RX_DESC_UPD_P0) + \
(BUILD_BUG_ON_ZERO(FR_AA_TX_DESC_UPD_KER != FR_BZ_TX_DESC_UPD_P0) + \
BUILD_BUG_ON_ZERO((reg) != 0x830 && (reg) != 0xa10), \
BUILD_BUG_ON_ZERO((reg) != 0x180 && \
reg + BUILD_BUG_ON_ZERO((reg) != 0x420), \
((_ofst) + BUILD_BUG_ON_ZERO((_ofst) & (_align - 1)))
((void)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 1), \
((u16)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 4) + \
(BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 8) + \
((void)BUILD_BUG_ON_ZERO(ERF_SC_PACKETISER_HEADER_##field##_LBN & 7), \
((void)BUILD_BUG_ON_ZERO(ERF_SC_PACKETISER_HEADER_##field##_WIDTH != 8),\
((void)BUILD_BUG_ON_ZERO(ERF_SC_PACKETISER_HEADER_##field##_WIDTH != 16),\
(void)BUILD_BUG_ON_ZERO(ERF_SC_PACKETISER_HEADER_##field##_LBN & 15), \
((void)BUILD_BUG_ON_ZERO(ERF_SC_PACKETISER_PAYLOAD_##field##_LBN & 7), \
#define _CHECK_MASK(m) BUILD_BUG_ON_ZERO(!_IS_CONTIG(m))
(BUILD_BUG_ON_ZERO(sizeof(struct rtw89_acpi_sar_ ## type) > \
(BUILD_BUG_ON_ZERO(sizeof(struct rtw89_acpi_geo_sar_ ## type) > \
BUILD_BUG_ON_ZERO((0x##_n) < (0x##_min)) + \
BUILD_BUG_ON_ZERO((0x##_n) > (0x##_max)) + \
.field_width = f_width + BUILD_BUG_ON_ZERO(r_width % f_width) + \
BUILD_BUG_ON_ZERO(sizeof((const u16 []) { ids }) / sizeof(u16) != \
BUILD_BUG_ON_ZERO(sizeof((const u16 []) { ids }) / sizeof(u16) != \
BUILD_BUG_ON_ZERO(sizeof(_name##_pins) != sizeof(_name##_mux)), \
BUILD_BUG_ON_ZERO(first + n > ARRAY_SIZE(data##_pins)) + \
BUILD_BUG_ON_ZERO(first + n > ARRAY_SIZE(data##_mux)), \
BUILD_BUG_ON_ZERO(ARRAY_SIZE(grp##_pins) != \
BUILD_BUG_ON_ZERO((size) > 2048) + \
BUILD_BUG_ON_ZERO((size) % 16) + \
#define HWEIGHT8(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight8(w))
#define HWEIGHT16(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight16(w))
#define HWEIGHT32(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight32(w))
#define HWEIGHT64(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight64(w))
(BUILD_BUG_ON_ZERO(!__is_constexpr(__c_index)) + \
(BUILD_BUG_ON_ZERO(__builtin_choose_expr(__builtin_constant_p(mask), (mask) & 0xffff0000, 0)) + \
BUILD_BUG_ON_ZERO(__builtin_choose_expr(__builtin_constant_p(value), (value) & 0xffff0000, 0)) + \
BUILD_BUG_ON_ZERO(__builtin_choose_expr(__builtin_constant_p(mask) && __builtin_constant_p(value), (value) & ~(mask), 0)) + \
BUILD_BUG_ON_ZERO(!__is_constexpr(__mask)) + \
BUILD_BUG_ON_ZERO((__mask) == 0 || (__mask) > U8_MAX) + \
BUILD_BUG_ON_ZERO(!IS_POWER_OF_2((__mask) + (1ULL << __bf_shf(__mask)))) + \
BUILD_BUG_ON_ZERO(__builtin_choose_expr(__is_constexpr(__val), (~((__mask) >> __bf_shf(__mask)) & (__val)), 0))))
BUILD_BUG_ON_ZERO(!__is_constexpr(__mask)) + \
BUILD_BUG_ON_ZERO((__mask) == 0 || (__mask) > U16_MAX) + \
BUILD_BUG_ON_ZERO(!IS_POWER_OF_2((__mask) + (1ULL << __bf_shf(__mask)))) + \
BUILD_BUG_ON_ZERO(__builtin_choose_expr(__is_constexpr(__val), (~((__mask) >> __bf_shf(__mask)) & (__val)), 0))))
BUILD_BUG_ON_ZERO(!__is_constexpr(__mask)) + \
BUILD_BUG_ON_ZERO((__mask) == 0 || (__mask) > U32_MAX) + \
BUILD_BUG_ON_ZERO(!IS_POWER_OF_2((__mask) + (1ULL << __bf_shf(__mask)))) + \
BUILD_BUG_ON_ZERO(__builtin_choose_expr(__is_constexpr(__val), (~((__mask) >> __bf_shf(__mask)) & (__val)), 0))))
#define __BF_CHECK_POW2(n) BUILD_BUG_ON_ZERO(((n) & ((n) - 1)) != 0)
BUILD_BUG_ON_ZERO((_mask) == 0) + \
BUILD_BUG_ON_ZERO(~((_mask) >> __bf_shf(_mask)) & (_val)) + \
#define GENMASK_INPUT_CHECK(h, l) BUILD_BUG_ON_ZERO(const_true((l) > (h)))
BUILD_BUG_ON_ZERO(const_true((nr) >= BITS_PER_TYPE(type)))
((void)BUILD_BUG_ON_ZERO((_ofst) & ((_align) - 1)), \
(BUILD_BUG_ON_ZERO(const_true((u64)(_mask) > U16_MAX)) + \
BUILD_BUG_ON_ZERO(offsetof(drv_struct, member)) + \
BUILD_BUG_ON_ZERO(!__same_type(struct iommufd_viommu, \
BUILD_BUG_ON_ZERO(offsetof(drv_struct, member)) + \
BUILD_BUG_ON_ZERO(!__same_type(struct iommufd_vdevice, \
BUILD_BUG_ON_ZERO(offsetof(drv_struct, member)) + \
BUILD_BUG_ON_ZERO(!__same_type(struct iommufd_hw_queue, \
BUILD_BUG_ON_ZERO(type & ~KVM_STATS_TYPE_MASK) | \
BUILD_BUG_ON_ZERO(unit & ~KVM_STATS_UNIT_MASK) | \
BUILD_BUG_ON_ZERO(base & ~KVM_STATS_BASE_MASK), \
#define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long))
(BUILD_BUG_ON_ZERO((perms) < 0) + \
BUILD_BUG_ON_ZERO((perms) > 0777) + \
BUILD_BUG_ON_ZERO((((perms) >> 6) & 4) < (((perms) >> 3) & 4)) + \
BUILD_BUG_ON_ZERO((((perms) >> 3) & 4) < ((perms) & 4)) + \
BUILD_BUG_ON_ZERO((((perms) >> 6) & 2) < (((perms) >> 3) & 2)) + \
BUILD_BUG_ON_ZERO((perms) & 2) + \
BUILD_BUG_ON_ZERO(offsetof( \
BUILD_BUG_ON_ZERO(offsetof( \
#define __NLA_ENSURE(condition) BUILD_BUG_ON_ZERO(!(condition))
BUILD_BUG_ON_ZERO(offsetof(struct drv_struct, member)) + \
BUILD_BUG_ON_ZERO( \
BUILD_BUG_ON_ZERO(offsetof( \
BUILD_BUG_ON_ZERO(offsetof( \
BUILD_BUG_ON_ZERO(!__same_type(u32, \
BUILD_BUG_ON_ZERO((total_len) % 32 != 0)]; \
BUILD_BUG_ON_ZERO(sizeof_field(struct ib_device_ops, \
BUILD_BUG_ON_ZERO(sizeof_field(struct ib_device_ops, \
BUILD_BUG_ON_ZERO((_min_len) == 0 || \
BUILD_BUG_ON_ZERO((_access) != UVERBS_ACCESS_NEW && \
sizeof(u64) + BUILD_BUG_ON_ZERO(!sizeof(_enum_type)), \
UVERBS_ATTR_SIZE(sizeof(u32) + BUILD_BUG_ON_ZERO( \
(void)BUILD_BUG_ON_ZERO(size != sizeof(*FIRST(args))); \
BUILD_BUG_ON_ZERO(sizeof(union ucmd_buffer) < \
BUILD_BUG_ON_ZERO(sizeof(union ucmd_buffer) < \
#define E(err) [err + BUILD_BUG_ON_ZERO(err <= 0 || err > 300)] = "-" #err
#define E(err) [err - 512 + BUILD_BUG_ON_ZERO(err < 512 || err > 550)] = "-" #err
BUILD_BUG_ON_ZERO(offsetof(struct mld2_query, mld2q_srcs) % 4),
BUILD_BUG_ON_ZERO(offsetof(struct mld2_report, mld2r_grec) % 4),
BUILD_BUG_ON_ZERO(offsetof(struct mld2_grec, grec_mca) % 4)
#define HWEIGHT8(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight8(w))
#define HWEIGHT16(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight16(w))
#define HWEIGHT32(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight32(w))
#define HWEIGHT64(w) (BUILD_BUG_ON_ZERO(!__builtin_constant_p(w)) + __const_hweight64(w))
#define GENMASK_INPUT_CHECK(h, l) BUILD_BUG_ON_ZERO(const_true((l) > (h)))
BUILD_BUG_ON_ZERO(const_true((nr) >= BITS_PER_TYPE(type)))
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
#define check_vtype(v, type) ( BUILD_BUG_ON_ZERO(!__builtin_types_compatible_p(typeof(v), type)) + v )