From: Piotr Trojanek Date: Tue, 21 Dec 2021 14:20:30 +0000 (+0100) Subject: [Ada] More default initialization for multi-dim array aggregates X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d7b2fad2ec6652194aab0b9acfd41f187c4396d0;p=test_jj.git [Ada] More default initialization for multi-dim array aggregates gcc/ada/ * exp_aggr.adb (Gen_Assign): Remove explicit initialization for components of access types. (Get_Assoc_Expr): Enable initialization for components of all types that require simple initialization. --- diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 89f2ce6..4dfe280 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -1872,12 +1872,6 @@ package body Exp_Aggr is Set_Etype (Indexed_Comp, Ctype); Append_To (Stmts, Make_Invariant_Call (Indexed_Comp)); end if; - - elsif Is_Access_Type (Ctype) then - Append_To (Stmts, - Make_Assignment_Statement (Loc, - Name => New_Copy_Tree (Indexed_Comp), - Expression => Make_Null (Loc))); end if; if Needs_Finalization (Ctype) then @@ -2212,15 +2206,10 @@ package body Exp_Aggr is begin if Box_Present (Assoc) then - if Is_Scalar_Type (Ctype) then - if Present (Default_Aspect_Component_Value (Typ)) then - return Default_Aspect_Component_Value (Typ); - elsif Present (Default_Aspect_Value (Ctype)) then - return Default_Aspect_Value (Ctype); - else - return Empty; - end if; - + if Present (Default_Aspect_Component_Value (Typ)) then + return Default_Aspect_Component_Value (Typ); + elsif Needs_Simple_Initialization (Ctype) then + return Get_Simple_Init_Val (Ctype, N); else return Empty; end if;