Patchwork [Ada] Use Freeze_Before in lieu of more verbose sequence

login
register
mail settings
Submitter Arnaud Charlet
Date Oct. 18, 2010, 9:55 a.m.
Message ID <20101018095555.GA2598@adacore.com>
Download mbox | patch
Permalink /patch/68156/
State New
Headers show

Comments

Arnaud Charlet - Oct. 18, 2010, 9:55 a.m.
This replaces a few sequences equivalent to Freeze_Before with explicit calls
to the procedure.  No functional changes.

Tested on x86_64-pc-linux-gnu, committed on trunk

2010-10-18  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before.
	(Expand_Protected_Object_Reference): Likewise.
	* sem_attr.adb (Resolve_Attribute): Likewise.
	* sem_ch3.adb (Analyze_Subtype_Declaration): Likewise.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.

Patch

Index: sem_ch3.adb
===================================================================
--- sem_ch3.adb	(revision 165612)
+++ sem_ch3.adb	(working copy)
@@ -4180,7 +4180,7 @@  package body Sem_Ch3 is
          end if;
       end if;
 
-      --  Make sure that generic actual types are properly frozen The subtype
+      --  Make sure that generic actual types are properly frozen. The subtype
       --  is marked as a generic actual type when the enclosing instance is
       --  analyzed, so here we identify the subtype from the tree structure.
 
@@ -4191,7 +4191,7 @@  package body Sem_Ch3 is
         and then Nkind (Subtype_Indication (N)) /= N_Subtype_Indication
         and then Is_Frozen (T)
       then
-         Insert_Actions (N, Freeze_Entity (Id, N));
+         Freeze_Before (N, Id);
       end if;
 
       Set_Optimize_Alignment_Flags (Id);
Index: sem_attr.adb
===================================================================
--- sem_attr.adb	(revision 165610)
+++ sem_attr.adb	(working copy)
@@ -7921,7 +7921,7 @@  package body Sem_Attr is
                   --  Avoid insertion of freeze actions in spec expression mode
 
                   if not In_Spec_Expression then
-                     Insert_Actions (N, Freeze_Entity (Entity (P), N));
+                     Freeze_Before (N, Entity (P));
                   end if;
 
                elsif Is_Type (Entity (P)) then
Index: exp_ch6.adb
===================================================================
--- exp_ch6.adb	(revision 165610)
+++ exp_ch6.adb	(working copy)
@@ -5459,7 +5459,7 @@  package body Exp_Ch6 is
 
             Push_Scope (Scope (Scop));
             Analyze (Prot_Decl);
-            Insert_Actions (N, Freeze_Entity (Prot_Id, N));
+            Freeze_Before (N, Prot_Id);
             Set_Protected_Body_Subprogram (Subp, Prot_Id);
 
             --  Create protected operation as well. Even though the operation
@@ -5699,7 +5699,7 @@  package body Exp_Ch6 is
                            (Corresponding_Record_Type (Scop), Loc))));
 
             Insert_Actions (N, Decls);
-            Insert_Actions (N, Freeze_Entity (Obj_Ptr, N));
+            Freeze_Before (N, Obj_Ptr);
 
             Rec :=
               Make_Explicit_Dereference (Loc,
Index: sem_ch6.adb
===================================================================
--- sem_ch6.adb	(revision 165615)
+++ sem_ch6.adb	(working copy)
@@ -2167,7 +2167,7 @@  package body Sem_Ch6 is
             --  why, to be investigated further???
 
             Set_Has_Delayed_Freeze (Spec_Id);
-            Insert_Actions (N, Freeze_Entity (Spec_Id, N));
+            Freeze_Before (N, Spec_Id);
          end if;
       end if;