r130855 - /trunk/gcc/ada/sem_ch9.adb

charlet@gcc.gnu.org charlet@gcc.gnu.org
Thu Dec 13 10:32:00 GMT 2007


Author: charlet
Date: Thu Dec 13 10:32:01 2007
New Revision: 130855

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130855
Log:
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
	requeue statement is dispatching. Do not emit an error when the name is
	not an entry and the context is a dispatching select. Add code to
	perform subtype conformance between the formals of the current entry
	and those of the target interface primitive.
	(Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
	Timed_Entry_Call): Analyze the triggering statement as the first step of
	the processing. If this is a dispatching select, postpone the analysis
	of all select statements until the Expander transforms the select. This
	approach avoids generating duplicate identifiers after the Expander has
	replicated some of the select statements. In case the Expander is
	disabled, perform regular analysis.
	(Check_Triggering_Statement): New routine.
	(Analyze_Requeue): Exclude any interpretations that are not entries when
	checking overloaded names in a requeue. Also test type conformance for
	matching interpretations rather than requiring subtype conformance at
	that point to conform with the RM's resolution rule for requeues.


Modified:
    trunk/gcc/ada/sem_ch9.adb



More information about the Gcc-cvs mailing list