diff options
author | Jakub Jelinek <jakub@redhat.com> | 2023-09-19 09:50:35 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2023-09-19 09:50:35 +0200 |
commit | e16dee6df363b37a6e2f4cadc6fc242b541dbbc5 (patch) | |
tree | 8b181f0954d456615d69f8df9455028b8311ce99 /gcc/ada | |
parent | 15345980633c502f0486a2e40e96224f49134130 (diff) | |
download | gcc-e16dee6df363b37a6e2f4cadc6fc242b541dbbc5.zip gcc-e16dee6df363b37a6e2f4cadc6fc242b541dbbc5.tar.gz gcc-e16dee6df363b37a6e2f4cadc6fc242b541dbbc5.tar.bz2 |
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).
Diffstat (limited to 'gcc/ada')
0 files changed, 0 insertions, 0 deletions