[Ada] Simplify initialization of concurrent components
authorPiotr Trojanek <trojanek@adacore.com>
Wed, 29 Sep 2021 14:10:23 +0000 (16:10 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 11 Oct 2021 13:38:10 +0000 (13:38 +0000)
gcc/ada/

* exp_ch3.adb (Build_Init_Statements): Simplify detection of
concurrent record types.

gcc/ada/exp_ch3.adb

index 418306f..702c7da 100644 (file)
@@ -3206,9 +3206,7 @@ package body Exp_Ch3 is
          --  types moving any expanded code from the spec to the body of the
          --  init procedure.
 
-         if Is_Task_Record_Type (Rec_Type)
-           or else Is_Protected_Record_Type (Rec_Type)
-         then
+         if Is_Concurrent_Record_Type (Rec_Type) then
             declare
                Decl : constant Node_Id :=
                         Parent (Corresponding_Concurrent_Type (Rec_Type));
@@ -3589,12 +3587,11 @@ package body Exp_Ch3 is
                   end loop;
                end if;
             end;
-         end if;
 
          --  For a protected type, add statements generated by
          --  Make_Initialize_Protection.
 
-         if Is_Protected_Record_Type (Rec_Type) then
+         elsif Is_Protected_Record_Type (Rec_Type) then
             Append_List_To (Stmts,
               Make_Initialize_Protection (Rec_Type));
          end if;