diff options
author | Ramon Fernandez <fernandez@adacore.com> | 2006-02-17 17:09:11 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2006-02-17 17:09:11 +0100 |
commit | 47dd40babb7af080ee9935406111a17ec3f87a0b (patch) | |
tree | 595ec323529782b06dead213612ac6f6707b874d | |
parent | f813ac73e9991904d0aec7b4f59a12563b9882e3 (diff) | |
download | gcc-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.adb | 14 | ||||
-rw-r--r-- | gcc/ada/exp_pakd.adb | 8 | ||||
-rw-r--r-- | gcc/ada/expander.adb | 4 | ||||
-rw-r--r-- | gcc/ada/g-dyntab.adb | 1 |
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; |