aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc-changelog/git_commit.py
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2025-09-15 16:34:47 +0000
committerMarc Poulhiès <dkm@gcc.gnu.org>2025-10-28 11:24:05 +0100
commit7bc5bf6585864ab2185f17e5924ce1036b05fc43 (patch)
treecd7aecb6d4e95cea898259fa14bbd707ed0d51c8 /contrib/gcc-changelog/git_commit.py
parent720aa07da3fa491d2453552820016345bcda4be3 (diff)
downloadgcc-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