From 0ef5cd0ad8b4f382dca65bbd47154ee6777f4446 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 21 Apr 2016 08:52:31 +0000 Subject: [PATCH] exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into account Per_Object_Constraint field rather... 2016-04-21 Arnaud Charlet * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into account Per_Object_Constraint field rather than special casing strings. * exp_ch6.adb: Fix typo in Replace_Returns. From-SVN: r235314 --- gcc/ada/ChangeLog | 12 +++++++----- gcc/ada/exp_aggr.adb | 3 ++- gcc/ada/exp_ch6.adb | 7 ++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f52d8e3a9d9..ba209af65b9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,11 +1,13 @@ -2016-04-21 Hristian Kirtchev +2016-04-21 Arnaud Charlet - * sem_ch5.adb: Minor reformatting. + * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous + change to take into account Per_Object_Constraint field rather + than special casing strings. + * exp_ch6.adb: Fix typo in Replace_Returns. -2016-04-21 Eric Botcazou +2016-04-21 Hristian Kirtchev - * exp_ch2.adb (Expand_Current_Value): Make an appropriate - character literal if the entity is of a character type. + * sem_ch5.adb: Minor reformatting. 2016-04-21 Arnaud Charlet diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 20932d306dd..334955b5717 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -6024,7 +6024,8 @@ package body Exp_Aggr is return True; elsif Modify_Tree_For_C - and then Ekind (Etype (Expr_Q)) = E_String_Literal_Subtype + and then Nkind (C) in N_Entity + and then Has_Per_Object_Constraint (C) then Static_Components := False; return True; diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index ff9530b931f..162849eac0f 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -739,7 +739,7 @@ package body Exp_Ch6 is begin Part := First (Elsif_Parts (Stmt)); while Present (Part) loop - Replace_Returns (Part, Then_Statements (Part)); + Replace_Returns (Param_Id, Then_Statements (Part)); Next (Part); end loop; end; @@ -806,6 +806,11 @@ package body Exp_Ch6 is Make_Handled_Sequence_Of_Statements (Loc, Statements => Stmts)); + -- If the function is a generic instance, so is the new procedure. + -- Set flag accordingly so that the proper renaming declarations are + -- generated. + + Set_Is_Generic_Instance (Proc_Id, Is_Generic_Instance (Func_Id)); return New_Body; end Build_Procedure_Body_Form; -- 2.30.2