[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 20 Nov 2014 10:01:05 +0000 (11:01 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 20 Nov 2014 10:01:05 +0000 (11:01 +0100)
2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
sem_ch6.adb: Minor reformatting.

2014-11-20  Javier Miranda  <miranda@adacore.com>

* exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit
conversion to force the displacement of the pointer to the object
to reference the secondary dispatch table.

From-SVN: r217829

gcc/ada/ChangeLog
gcc/ada/exp_ch4.adb
gcc/ada/exp_ch7.adb
gcc/ada/sem_ch5.adb
gcc/ada/sem_ch6.adb
gcc/ada/sem_ch7.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads

index a5daae16c69059b1dca74eedfafcc300338f6f32..1dee651f977fe7ff389d21b35398209dd3539199 100644 (file)
@@ -1,3 +1,14 @@
+2014-11-20  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
+       sem_ch6.adb: Minor reformatting.
+
+2014-11-20  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit
+       conversion to force the displacement of the pointer to the object
+       to reference the secondary dispatch table.
+
 2014-11-11  Simon Wright  <simon@pushface.org>
 
        PR ada/42978
index 1ed8f3bf146cc546961cf228ba2d3d0d8611091a..ca58e47be6eb35a28c44c2977218359f35ef86f8 100644 (file)
@@ -10622,7 +10622,9 @@ package body Exp_Ch4 is
 
             --  Ada 2005 (AI-251): Handle interface type conversion
 
-            if Is_Interface (Actual_Op_Typ) then
+            if Is_Interface (Actual_Op_Typ)
+              or else Is_Interface (Actual_Targ_Typ)
+            then
                Expand_Interface_Conversion (N);
                goto Done;
             end if;
index 4b2a4120949359ee96a8e03ba26842d46c6e6f09..de60b4abed24810e616bfa9d8a3bbed682efbab6 100644 (file)
@@ -4778,8 +4778,9 @@ package body Exp_Ch7 is
 
                --  Generate:
                --    [Deep_]Finalize (Obj_Ref);
-               --   Set type of dereference, so that proper conversion are
-               --   generated when operation is inherited.
+
+               --  Set type of dereference, so that proper conversion are
+               --  generated when operation is inherited.
 
                Obj_Ref := New_Occurrence_Of (Obj_Id, Loc);
 
index 2a809be40f46de6b7a2e58df47215eb65e7c1776..1666917affbbbbb06eb7091945240018ddccf401 100644 (file)
@@ -2012,8 +2012,8 @@ package body Sem_Ch5 is
                   else
                      Set_Etype (Def_Id, Entity (Element));
 
-                     --  If subtype indication was given, verify that it
-                     --  covers the element type of the container.
+                     --  If subtype indication was given, verify that it covers
+                     --  the element type of the container.
 
                      if Present (Subt)
                        and then not Covers (Bas, Etype (Def_Id))
@@ -2064,7 +2064,7 @@ package body Sem_Ch5 is
                     ("\to iterate directly over the elements of a container, "
                      & "write `of &`", Name (N), Original_Node (Name (N)));
 
-                  --  No point in continuing analysis of iterator spec.
+                  --  No point in continuing analysis of iterator spec
 
                   return;
                end if;
index 97866c0b67e17b62eaaa7a152a6609d83495f1a4..11db3e4a6902c81119da446318957a28ef3a1f01 100644 (file)
@@ -4684,7 +4684,8 @@ package body Sem_Ch6 is
       --  If both are functions/operators, check return types conform
 
       if Old_Type /= Standard_Void_Type
-        and then New_Type /= Standard_Void_Type
+           and then
+         New_Type /= Standard_Void_Type
       then
          --  If we are checking interface conformance we omit controlling
          --  arguments and result, because we are only checking the conformance
index ebc17a24f09bdaad57ab79c69db2bf66122bc59b..1acef30dee00b5e573cda4329c57787028fe3797 100644 (file)
@@ -2444,7 +2444,8 @@ package body Sem_Ch7 is
 
    function Requires_Completion_In_Body
      (Id      : Entity_Id;
-      Pack_Id : Entity_Id) return Boolean is
+      Pack_Id : Entity_Id) return Boolean
+   is
    begin
       --  Always ignore child units. Child units get added to the entity list
       --  of a parent unit, but are not original entities of the parent, and
index b3982af884eba73876ae3e279d1f23e809ea0131..5a9117c8734d5bd68476ea39f1d132e10af8a14d 100644 (file)
@@ -2759,7 +2759,6 @@ package body Sem_Util is
         and then Present (Generalized_Indexing (N))
       then
          Nam := Generalized_Indexing (N);
-
       else
          Nam := N;
       end if;
index ff9c1697f94b1a37f183dc52f7f56ba4e4dbc110..7d9b2673f3d697abe2dfde667a27c3d80d15d92d 100644 (file)
@@ -939,8 +939,8 @@ package Sem_Util is
    --  as an access type internally, this function tests only for access types
    --  known to the programmer. See also Has_Tagged_Component.
 
-      function Has_Defaulted_Discriminants (Typ : Entity_Id) return Boolean;
-      --  Simple predicate to test for defaulted discriminants
+   function Has_Defaulted_Discriminants (Typ : Entity_Id) return Boolean;
+   --  Simple predicate to test for defaulted discriminants
 
    type Alignment_Result is (Known_Compatible, Unknown, Known_Incompatible);
    --  Result of Has_Compatible_Alignment test, description found below. Note