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] preparatory work for AI 317, 318


Tested on i686-linux, committed on trunk.

Preparatory work to implement various AIs, in particular AI-318-02 (extended
return statement) and AI-317 (partial parametrization).

2006-10-31  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Bob Duff  <duff@adacore.com>

	* einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
	entities. Move other fields around to make this possible
	(Is_Derived_Type): Add missing call to Is_Type.
	(Extra_Formals): New function for subprograms, entries, subprogram
	types.
	(Set_Extra_Formals): New procedure for subprograms, entries, subp types.
	(First_Formal_With_Extras): New function for subprogs, entries, subp
	types.
	(Write_Field28_Name): New procedure for node display of "Extra_Formals".
	Add node information for E_Return_Statement.
	(Elaborate_Body_Desirable): New flag
	(Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
	to be Is_Inherently_Limited_Type, because return-by-reference has
	no meaning in Ada 2005.
	(E_Return_Statement): New entity kind.
	(Return_Applies_To): Field of E_Return_Statement.
	(Is_Return_Object): New flag in object entities.
	(Is_Dynamic_Scope): Make it True for E_Return_Statement.
	(Must_Have_Preelab_Init): New flag
	(Known_To_Have_Preelab_Init): New flag
	(Is_Formal_Object): Move from Sem_Ch8 body to Einfo
	(Is_Visible_Formal): New flag on entities in formal packages.
	(Low_Bound_Known): New flag
	(Non_Limited_View, Set_Non_Limited_View): Add membership test agains
	Incomplete_Kind.
	(Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
	output when Id is an incomplete subtype.

Attachment: difs
Description: Text document


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