[Ada] Refactor repeated code for Value attributes
gcc/ada/ * sem_attr.adb (Analyze_Attribute): Reuse existing code for attribute Value when analyzing attributes Wide_Value and Wide_Wide_Value.
This commit is contained in:
parent
3a6021dc1d
commit
b230466388
1 changed files with 6 additions and 35 deletions
|
@ -7088,7 +7088,10 @@ package body Sem_Attr is
|
|||
-- Value --
|
||||
-----------
|
||||
|
||||
when Attribute_Value =>
|
||||
when Attribute_Value
|
||||
| Attribute_Wide_Value
|
||||
| Attribute_Wide_Wide_Value
|
||||
=>
|
||||
Check_E1;
|
||||
Check_Scalar_Type;
|
||||
|
||||
|
@ -7174,45 +7177,13 @@ package body Sem_Attr is
|
|||
-- Wide_Value --
|
||||
----------------
|
||||
|
||||
when Attribute_Wide_Value =>
|
||||
Check_E1;
|
||||
Check_Scalar_Type;
|
||||
|
||||
-- Set Etype before resolving expression because expansion
|
||||
-- of expression may require enclosing type.
|
||||
|
||||
Set_Etype (N, P_Type);
|
||||
Validate_Non_Static_Attribute_Function_Call;
|
||||
|
||||
-- Check restriction No_Fixed_IO
|
||||
|
||||
if Restriction_Check_Required (No_Fixed_IO)
|
||||
and then Is_Fixed_Point_Type (P_Type)
|
||||
then
|
||||
Check_Restriction (No_Fixed_IO, P);
|
||||
end if;
|
||||
-- Shares processing with Value attribute
|
||||
|
||||
---------------------
|
||||
-- Wide_Wide_Value --
|
||||
---------------------
|
||||
|
||||
when Attribute_Wide_Wide_Value =>
|
||||
Check_E1;
|
||||
Check_Scalar_Type;
|
||||
|
||||
-- Set Etype before resolving expression because expansion
|
||||
-- of expression may require enclosing type.
|
||||
|
||||
Set_Etype (N, P_Type);
|
||||
Validate_Non_Static_Attribute_Function_Call;
|
||||
|
||||
-- Check restriction No_Fixed_IO
|
||||
|
||||
if Restriction_Check_Required (No_Fixed_IO)
|
||||
and then Is_Fixed_Point_Type (P_Type)
|
||||
then
|
||||
Check_Restriction (No_Fixed_IO, P);
|
||||
end if;
|
||||
-- Shares processing with Value attribute
|
||||
|
||||
---------------------
|
||||
-- Wide_Wide_Width --
|
||||
|
|
Loading…
Add table
Reference in a new issue