This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Ada 2005 front-end clean up


Tested on i686-linux, committed on HEAD

Various front-end clean ups, and in particular, fix compilation of
the following Ada 2005 code:

package body Java_Lang_Object is
   function Get_Object (Arr : access Typ;
                        Pos : Integer) return Object is
   begin
      return new Typ;
   end Get_Object;
   function Equals (This : access Typ;
                    P1_Object : access Typ'Class) return Boolean is
   begin return True; end Equals;
end Java_Lang_Object;
package Java_Lang_Object is
   type Typ is tagged null record;
   type Object is access all Typ'Class;
   function Equals (This : access Typ;
                    P1_Object : access Typ'Class) return Boolean;
   function Get_Object (Arr : access Typ; Pos : Integer) return Object;
end Java_Lang_Object;
with Java_Lang_Object;      use Java_Lang_Object;
procedure Test is
   O1  : Object := new Typ;
   R1  : Boolean;
begin
    R1 := O1.Get_Object (0).Equals (O1);
    R1 := O1.Equals (O1.Get_Object (0));
end Test;

2005-09-01  Ed Schonberg  <schonberg@adacore.com>
	    Hristian Kirtchev  <kirtchev@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
	from object notation, the original node is unanalyzed and carries no
	semantic information, so that accessiblity checks must be performed on
	the type of the actual itself.
	(Expand_N_Subprogram_Declaration): Change last actual parameter for
	compatibility with Build_Protected_Sub_Specification.
	(Check_Overriding_Inherited_Interfaces): Add suport to handle
	overloaded primitives.
	(Register_Interface_DT_Entry): Use the new name of the formal
	the the calls to Expand_Interface_Thunk

	* exp_dbug.ads: Augment comments on encoding of protected types to
	include the generation of dispatching subprograms when the type
	implements at least one interface.

	* lib.ads: Extend information in Load_Stack to include whether a given
	load comes from a Limited_With_Clause.

	* lib-load.adb (From_Limited_With_Chain): New predicate to determine
	whether a potential circularity is harmless, because it includes units
	loaded through a limited_with clause. Extends previous treatment which
	did not handle properly arbitrary combinations of limited and
	non-limited clauses.

Attachment: difs.15
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]