From: Piotr Trojanek Date: Tue, 24 Nov 2020 15:01:52 +0000 (+0100) Subject: [Ada] Refactor repeated code for Value attributes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b2304663888042a75a07851833519842a953cecb;p=gcc.git [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. --- diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 865bbae4885..d5970a1f62c 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -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 --