mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
ada: Array aggregate with large static bounds causes compiler crash
In some cases an array aggregate with statically known bounds and at least one bound outside of the range of a 32-bit signed integer causes a bugbox. gcc/ada/ChangeLog: * exp_aggr.adb (Convert_To_Positional.Flatten): Avoid raising Constraint_Error in UI_To_Int by testing UI_Is_In_Int_Range first.
This commit is contained in:
parent
b2320a12df
commit
0019e8dc76
@ -4509,6 +4509,11 @@ package body Exp_Aggr is
|
||||
return False;
|
||||
end if;
|
||||
|
||||
if not (UI_Is_In_Int_Range (Lov) and UI_Is_In_Int_Range (Hiv)) then
|
||||
-- guard against raising C_E in UI_To_Int
|
||||
return False;
|
||||
end if;
|
||||
|
||||
-- Determine if set of alternatives is suitable for conversion and
|
||||
-- build an array containing the values in sequence.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user