exp_ch3.adb (Build_Init_Procedure): Complete the condition of an if-stmt to match...
authorJavier Miranda <miranda@adacore.com>
Fri, 10 Oct 2014 13:23:22 +0000 (13:23 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 10 Oct 2014 13:23:22 +0000 (15:23 +0200)
2014-10-10  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
if-stmt to match its current documentation.

From-SVN: r216080

gcc/ada/ChangeLog
gcc/ada/exp_ch3.adb

index e835483dca779d10ada895629b80b83b4af07c32..d8408eb3d35660379a1ae5bad760e7780890b5ce 100644 (file)
@@ -1,3 +1,8 @@
+2014-10-10  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
+       if-stmt to match its current documentation.
+
 2014-10-10  Robert Dewar  <dewar@adacore.com>
 
        * sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
index 9541ad096c1c31e143fb8705b01ccffa532290fa..1aa813e3acc4980b902accf7c6d20659dfe4a2c5 100644 (file)
@@ -2371,16 +2371,11 @@ package body Exp_Ch3 is
                   --  such case the initialization of the _parent field was not
                   --  generated.
 
-                  if not Is_Interface (Etype (Rec_Ent)) then
-                     declare
-                        First_Stmt : constant Node_Id := Remove_Head (Stmts);
-                     begin
-                        pragma Assert
-                          (Nkind (First_Stmt) = N_Procedure_Call_Statement
-                             and then
-                           Is_Init_Proc (Name (First_Stmt)));
-                        Prepend_To (Body_Stmts, First_Stmt);
-                     end;
+                  if not Is_Interface (Etype (Rec_Ent))
+                    and then Nkind (First (Stmts)) = N_Procedure_Call_Statement
+                    and then Is_Init_Proc (Name (First (Stmts)))
+                  then
+                     Prepend_To (Body_Stmts, Remove_Head (Stmts));
                   end if;
 
                   Append_List_To (Body_Stmts, Stmts);
@@ -2664,9 +2659,9 @@ package body Exp_Ch3 is
 
       function Build_Init_Statements (Comp_List : Node_Id) return List_Id is
          Checks       : constant List_Id := New_List;
-         Actions      : List_Id   := No_List;
+         Actions      : List_Id          := No_List;
+         Counter_Id   : Entity_Id        := Empty;
          Comp_Loc     : Source_Ptr;
-         Counter_Id   : Entity_Id := Empty;
          Decl         : Node_Id;
          Has_POC      : Boolean;
          Id           : Entity_Id;
@@ -2980,8 +2975,7 @@ package body Exp_Ch3 is
                   else
                      Append_List_To (Stmts, Actions);
 
-                     --  Preserve the initialization state in the current
-                     --  counter
+                     --  Preserve initialization state in the current counter
 
                      if Needs_Finalization (Typ) then
                         if No (Counter_Id) then