diff options
| author | Javier Miranda <miranda@adacore.com> | 2025-09-15 16:34:47 +0000 |
|---|---|---|
| committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2025-10-28 11:24:05 +0100 |
| commit | 7bc5bf6585864ab2185f17e5924ce1036b05fc43 (patch) | |
| tree | cd7aecb6d4e95cea898259fa14bbd707ed0d51c8 /contrib/gcc-changelog/git_commit.py | |
| parent | 720aa07da3fa491d2453552820016345bcda4be3 (diff) | |
| download | gcc-7bc5bf6585864ab2185f17e5924ce1036b05fc43.zip gcc-7bc5bf6585864ab2185f17e5924ce1036b05fc43.tar.gz gcc-7bc5bf6585864ab2185f17e5924ce1036b05fc43.tar.bz2 | |
ada: Unsigned_Base_Range aspect (part 5)
Enable this language extension using -gnat.u, and extend the
current support to handle derivations of types that have
Unsigned_Base_Range aspect.
gcc/ada/ChangeLog:
* aspects.adb (Get_Aspect_Id): Enable aspect Unsigned_Base_Range
using -gnatd.u
* debug.adb (Debug_Flag_Dot_U): Document this switch.
* einfo-utils.adb (Is_Modular_Integer_Type): Return True if
the entity is a modular integer type and its base type does
not have the attribute has_unsigned_base_range_aspect.
(Is_Signed_Integer_Type): Return True if the entity is a signed
integer type, or it is a modular integer type and its base type
has the attribute has_unsigned_base_range_aspect.
* einfo.ads (E_Modular_Integer_Type): Add documentation of
Has_Unsigned_Base_Range_Aspect.
* par-ch4.adb (Scan_Apostrophe): Enable attribute Unsigned_Base_Range
using -gnatd.u
* sem_ch13.adb (Analyze_One_Aspect): Check general language
restrictions on aspect Unsigned_Base_Range. For Unsigned_Base_Range
aspect, do not delay the generation of the pragma becase we need
to process it before any type or subtype derivation is analyzed.
* sem_ch3.adb (Build_Scalar_Bound): Disable code analyzing the
bound with the base type of the parent type because, for unsigned
base range types, their base type is a modular type but their
type is a signed integer type.
* sem_prag.adb (Analyze_Pragma): Enable pragma Unsigned_Base_Range
using -gnatd.u. Check more errors on Unsigned_Base_Range pragma,
and create the new base type only when required.
Diffstat (limited to 'contrib/gcc-changelog/git_commit.py')
0 files changed, 0 insertions, 0 deletions
