]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into...
authorArnaud Charlet <charlet@adacore.com>
Thu, 21 Apr 2016 08:52:31 +0000 (08:52 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 21 Apr 2016 08:52:31 +0000 (10:52 +0200)
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

gcc/ada/ChangeLog
gcc/ada/exp_aggr.adb
gcc/ada/exp_ch6.adb

index f52d8e3a9d951cf5ecad1b6855bf2ebe1baaf0af..ba209af65b9b2e3668d628696496053189462817 100644 (file)
@@ -1,11 +1,13 @@
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
 
-       * 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  <ebotcazou@adacore.com>
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
 
-       * 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  <charlet@adacore.com>
 
index 20932d306ddd8efb89cd49a7b9335ea9d53c2ad2..334955b57172c9453015a81be7cf3aef3eeb4a17 100644 (file)
@@ -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;
index ff9530b931f69e2b082ddd464653a87bcf4b9146..162849eac0ff7ac73f03b198271a6c80653d4a42 100644 (file)
@@ -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;