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