small _BitInt tweaks
I think it is undesirable when being asked for signed_type_for of unsigned _BitInt(1) (which is valid) to get signed _BitInt(1) (which is invalid, the standard only allows signed _BitInt(2) and larger), so the patch returns 1-bit signed INTEGER_TYPE for those cases. Furthermore it asserts in build_bitint_type that nothing attempts to create signed _BitInt(0), unsigned _BitInt(0) or signed _BitInt(1) types. 2023-09-18 Jakub Jelinek <jakub@redhat.com> gcc/ * tree.cc (build_bitint_type): Assert precision is not 0, or for signed types 1. (signed_or_unsigned_type_for): Return INTEGER_TYPE for signed variant of unsigned _BitInt(1). gcc/c-family/ * c-common.cc (c_common_signed_or_unsigned_type): Return INTEGER_TYPE for signed variant of unsigned _BitInt(1).
Loading
Please register or sign in to comment