[Ada] Remove duplicates of empty strings
authorPiotr Trojanek <trojanek@adacore.com>
Thu, 2 Dec 2021 14:30:36 +0000 (15:30 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 6 Jan 2022 17:11:33 +0000 (17:11 +0000)
gcc/ada/

* par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
* prep.adb (Parse_Def_File): Likewise; remove Empty_String.

gcc/ada/par-ch4.adb
gcc/ada/prep.adb

index d985003..4b021e7 100644 (file)
@@ -2471,9 +2471,6 @@ package body Ch4 is
               and then Num_Concats >= Num_Concats_Threshold
             then
                declare
-                  Empty_String_Val : String_Id;
-                  --  String_Id for ""
-
                   Strlit_Concat_Val : String_Id;
                   --  Contains the folded value (which will be correct if the
                   --  "&" operators are the predefined ones).
@@ -2509,11 +2506,9 @@ package body Ch4 is
                   --  Create new folded node, and rewrite result with a concat-
                   --  enation of an empty string literal and the folded node.
 
-                  Start_String;
-                  Empty_String_Val := End_String;
                   New_Node :=
                     Make_Op_Concat (Loc,
-                      Make_String_Literal (Loc, Empty_String_Val),
+                      Make_String_Literal (Loc, Null_String_Id),
                       Make_String_Literal (Loc, Strlit_Concat_Val,
                         Is_Folded_In_Parser => True));
                   Rewrite (Node1, New_Node);
index e01161c..2ced082 100644 (file)
@@ -114,9 +114,6 @@ package body Prep is
    --  Used to avoid repetition of the part of the initialisation that needs
    --  to be done only once.
 
-   Empty_String : String_Id;
-   --  "", as a string_id
-
    String_False : String_Id;
    --  "false", as a string_id
 
@@ -810,9 +807,6 @@ package body Prep is
          True_Value.Value := End_String;
 
          Start_String;
-         Empty_String := End_String;
-
-         Start_String;
          Store_String_Chars ("False");
          String_False := End_String;
 
@@ -1072,7 +1066,7 @@ package body Prep is
                         Original            => Original_Name,
                         On_The_Command_Line => False,
                         Is_A_String         => False,
-                        Value               => Empty_String);
+                        Value               => Null_String_Id);
 
             else
                Value_Start := Token_Ptr;