static __inline int rowcol_parse_variable_compat(struct _citrus_mapper_std_rowcol *rc, struct _region *r) { const struct _citrus_mapper_std_rowcol_info_compat_x *rcx; struct _citrus_mapper_std_linear_zone *lz; u_int32_t m, n; int ret; _DIAGASSERT(rc != NULL); _DIAGASSERT(r != NULL && _region_size(r) == sizeof(*rcx)); rcx = _region_head(r); rc->rc_dst_invalid = be32toh(rcx->rcx_dst_invalid); rc->rc_dst_unit_bits = be32toh(rcx->rcx_dst_unit_bits); m = be32toh(rcx->rcx_src_col_bits); n = 1 << (m - 1); /// <- here n |= n - 1; rc->rc_src_rowcol_bits = m; rc->rc_src_rowcol_mask = n; # nm /usr/lib/libc.so|grep sanit /public/src.git/lib/libc/citrus/modules/citrus_mapper_std.c:173:8: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'