[Ada] Reuse Make_Temporary where possible
authorPiotr Trojanek <trojanek@adacore.com>
Tue, 4 Jan 2022 16:43:22 +0000 (17:43 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 11 Jan 2022 13:24:47 +0000 (13:24 +0000)
gcc/ada/

* exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
Unnest_Statement_List): Simplify with Make_Temporary.
* exp_put_image.adb (Build_Image_Call): Likewise.
* inline.adb (Generate_Subprogram_Body): Likewise.
* sem_ch13.adb (Build_Predicate_Functions): Likewise.
* sem_util.adb (New_Copy_Separate_List): Likewise.

gcc/ada/exp_ch7.adb
gcc/ada/exp_put_image.adb
gcc/ada/inline.adb
gcc/ada/sem_ch13.adb
gcc/ada/sem_util.adb

index 8c74808..57b381c 100644 (file)
@@ -4737,8 +4737,7 @@ package body Exp_Ch7 is
       procedure Set_Block_Elab_Proc is
       begin
          if No (Block_Elab_Proc) then
-            Block_Elab_Proc :=
-              Make_Defining_Identifier (Loc, Chars => New_Internal_Name ('I'));
+            Block_Elab_Proc := Make_Temporary (Loc, 'I');
          end if;
       end Set_Block_Elab_Proc;
 
@@ -9964,9 +9963,7 @@ package body Exp_Ch7 is
       Local_Scop := Entity (Identifier (Decl));
       Ent := First_Entity (Local_Scop);
 
-      Local_Proc :=
-        Make_Defining_Identifier (Loc,
-          Chars => New_Internal_Name ('P'));
+      Local_Proc := Make_Temporary (Loc, 'P');
 
       Local_Body :=
         Make_Subprogram_Body (Loc,
@@ -10114,9 +10111,7 @@ package body Exp_Ch7 is
       Local_Scop := Entity (Identifier (Loop_Stmt));
       Ent := First_Entity (Local_Scop);
 
-      Local_Proc :=
-        Make_Defining_Identifier (Loc,
-          Chars => New_Internal_Name ('P'));
+      Local_Proc := Make_Temporary (Loc, 'P');
 
       Local_Body :=
         Make_Subprogram_Body (Loc,
@@ -10170,9 +10165,7 @@ package body Exp_Ch7 is
       New_Stmts  : constant List_Id := Empty_List;
 
    begin
-      Local_Proc :=
-        Make_Defining_Identifier (Loc,
-          Chars => New_Internal_Name ('P'));
+      Local_Proc := Make_Temporary (Loc, 'P');
 
       Local_Body :=
         Make_Subprogram_Body (Loc,
index 32ca26c..50e0569 100644 (file)
@@ -1072,7 +1072,7 @@ package body Exp_Put_Image is
       Loc : constant Source_Ptr := Sloc (N);
       U_Type : constant Entity_Id := Underlying_Type (Entity (Prefix (N)));
       Sink_Entity : constant Entity_Id :=
-        Make_Defining_Identifier (Loc, Chars => New_Internal_Name ('S'));
+        Make_Temporary (Loc, 'S');
       Sink_Decl : constant Node_Id :=
         Make_Object_Declaration (Loc,
           Defining_Identifier => Sink_Entity,
@@ -1090,7 +1090,7 @@ package body Exp_Put_Image is
             New_Occurrence_Of (Sink_Entity, Loc),
             Image_Prefix));
       Result_Entity : constant Entity_Id :=
-        Make_Defining_Identifier (Loc, Chars => New_Internal_Name ('R'));
+        Make_Temporary (Loc, 'R');
       Result_Decl : constant Node_Id :=
         Make_Object_Declaration (Loc,
           Defining_Identifier => Result_Entity,
index 49d034d..da67fd2 100644 (file)
@@ -2189,7 +2189,7 @@ package body Inline is
             --  conflicts when the non-inlined body N is analyzed.
 
             Set_Defining_Unit_Name (Specification (Body_To_Inline),
-               Make_Defining_Identifier (Sloc (N), New_Internal_Name ('P')));
+               Make_Temporary (Sloc (N), 'P'));
             Set_Corresponding_Spec (Body_To_Inline, Empty);
          end Generate_Subprogram_Body;
 
index 52f3df0..78415e6 100644 (file)
@@ -10666,8 +10666,7 @@ package body Sem_Ch13 is
                --  what happens if a return appears within a return.
 
                BTemp :=
-                 Make_Defining_Identifier (Loc,
-                   Chars => New_Internal_Name ('B'));
+                 Make_Temporary (Loc, 'B');
 
                FBody :=
                  Make_Subprogram_Body (Loc,
index 3534e83..3c55dda 100644 (file)
@@ -23435,8 +23435,7 @@ package body Sem_Util is
             Elmt := First_Elmt (Decls);
             while Present (Elmt) loop
                Decl  := Node (Elmt);
-               New_E := Make_Defining_Identifier (Sloc (Decl),
-                          New_Internal_Name ('P'));
+               New_E := Make_Temporary (Sloc (Decl), 'P');
 
                if Nkind (Decl) = N_Expression_Function then
                   Decl := Specification (Decl);