aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamon Fernandez <fernandez@adacore.com>2006-02-17 17:09:11 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2006-02-17 17:09:11 +0100
commit47dd40babb7af080ee9935406111a17ec3f87a0b (patch)
tree595ec323529782b06dead213612ac6f6707b874d
parentf813ac73e9991904d0aec7b4f59a12563b9882e3 (diff)
downloadgcc-47dd40babb7af080ee9935406111a17ec3f87a0b.zip
gcc-47dd40babb7af080ee9935406111a17ec3f87a0b.tar.gz
gcc-47dd40babb7af080ee9935406111a17ec3f87a0b.tar.bz2
expander.adb: Fix typo in comment
2006-02-17 Ramon Fernandez <fernandez@adacore.com> Thomas Quinot <quinot@adacore.com> Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> * expander.adb: Fix typo in comment * exp_pakd.adb: Fix typo Minor comment reformatting. * g-dyntab.adb: Minor reformatting * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of aliased subprograms to look for the abstract interface subprogram. From-SVN: r111199
-rw-r--r--gcc/ada/exp_ch6.adb14
-rw-r--r--gcc/ada/exp_pakd.adb8
-rw-r--r--gcc/ada/expander.adb4
-rw-r--r--gcc/ada/g-dyntab.adb1
4 files changed, 19 insertions, 8 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index c42b1f3..304919f 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -4404,6 +4404,7 @@ package body Exp_Ch6 is
(Prim : Entity_Id;
Ancestor_Iface_Prim : Entity_Id := Empty)
is
+ E : Entity_Id;
Prim_Typ : Entity_Id;
Prim_Op : Entity_Id;
Iface_Typ : Entity_Id;
@@ -4422,7 +4423,18 @@ package body Exp_Ch6 is
if No (Ancestor_Iface_Prim) then
Prim_Typ := Scope (DTC_Entity (Alias (Prim)));
- Iface_Typ := Scope (DTC_Entity (Abstract_Interface_Alias (Prim)));
+
+ -- Look for the abstract interface subprogram
+
+ E := Abstract_Interface_Alias (Prim);
+ while Present (E)
+ and then Is_Abstract (E)
+ and then not Is_Interface (Scope (DTC_Entity (E)))
+ loop
+ E := Alias (E);
+ end loop;
+
+ Iface_Typ := Scope (DTC_Entity (E));
-- Generate the code of the thunk only when this primitive
-- operation is associated with a secondary dispatch table.
diff --git a/gcc/ada/exp_pakd.adb b/gcc/ada/exp_pakd.adb
index 7c84a6d..472c0da 100644
--- a/gcc/ada/exp_pakd.adb
+++ b/gcc/ada/exp_pakd.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -682,9 +682,9 @@ package body Exp_Pakd is
Act_ST := Underlying_Type (Etype (Aexp));
Create_Packed_Array_Type (Act_ST);
- -- Just replace the eEype with the packed array type. This works
- -- because the expression will not be further analyzed, and Gigi
- -- considers the two types equivalent in any case.
+ -- Just replace the etype with the packed array type. This works because
+ -- the expression will not be further analyzed, and Gigi considers the
+ -- two types equivalent in any case.
-- This is not strictly the case ??? If the reference is an actual in
-- call, the expansion of the prefix is delayed, and must be reanalyzed,
diff --git a/gcc/ada/expander.adb b/gcc/ada/expander.adb
index 1c75aa0..1c732ce 100644
--- a/gcc/ada/expander.adb
+++ b/gcc/ada/expander.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -75,7 +75,7 @@ package body Expander is
procedure Expand (N : Node_Id) is
begin
-- If we were analyzing a default expression the Full_Analysis flag
- -- must have be off. If we are in expansion mode then we must be
+ -- must be off. If we are in expansion mode then we must be
-- performing a full analysis. If we are analyzing a generic then
-- Expansion must be off.
diff --git a/gcc/ada/g-dyntab.adb b/gcc/ada/g-dyntab.adb
index 3cab6bf6..c25b673 100644
--- a/gcc/ada/g-dyntab.adb
+++ b/gcc/ada/g-dyntab.adb
@@ -286,7 +286,6 @@ package body GNAT.Dynamic_Tables is
function Index_Of (Idx : Natural) return Table_Index_Type is
J : constant Integer'Base :=
Table_Index_Type'Pos (First) + Idx - 1;
-
begin
return Table_Index_Type'Val (J);
end Index_Of;