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  <charlet@adacore.com>

	* 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
This commit is contained in:
Arnaud Charlet 2016-04-21 08:52:31 +00:00 committed by Arnaud Charlet
parent 2d6aa71558
commit 0ef5cd0ad8
3 changed files with 15 additions and 7 deletions

View File

@ -1,12 +1,14 @@
2016-04-21 Arnaud Charlet <charlet@adacore.com>
* 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 Hristian Kirtchev <kirtchev@adacore.com> 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch5.adb: Minor reformatting. * sem_ch5.adb: Minor reformatting.
2016-04-21 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch2.adb (Expand_Current_Value): Make an appropriate
character literal if the entity is of a character type.
2016-04-21 Arnaud Charlet <charlet@adacore.com> 2016-04-21 Arnaud Charlet <charlet@adacore.com>
* exp_aggr.adb (Backend_Processing_Possible): Return False * exp_aggr.adb (Backend_Processing_Possible): Return False

View File

@ -6024,7 +6024,8 @@ package body Exp_Aggr is
return True; return True;
elsif Modify_Tree_For_C 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 then
Static_Components := False; Static_Components := False;
return True; return True;

View File

@ -739,7 +739,7 @@ package body Exp_Ch6 is
begin begin
Part := First (Elsif_Parts (Stmt)); Part := First (Elsif_Parts (Stmt));
while Present (Part) loop while Present (Part) loop
Replace_Returns (Part, Then_Statements (Part)); Replace_Returns (Param_Id, Then_Statements (Part));
Next (Part); Next (Part);
end loop; end loop;
end; end;
@ -806,6 +806,11 @@ package body Exp_Ch6 is
Make_Handled_Sequence_Of_Statements (Loc, Make_Handled_Sequence_Of_Statements (Loc,
Statements => Stmts)); 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; return New_Body;
end Build_Procedure_Body_Form; end Build_Procedure_Body_Form;