aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinput.adb
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2007-12-13 11:32:01 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2007-12-13 11:32:01 +0100
commit3ccd94107b2bf56d54d62cefe515fd37584b1b25 (patch)
tree9fc1b655ad4e6c49cac646cfcea848eb453c8ea8 /gcc/ada/sinput.adb
parent294ccb21c4d993c4fd9f4220e0ee8513a1666894 (diff)
downloadgcc-3ccd94107b2bf56d54d62cefe515fd37584b1b25.zip
gcc-3ccd94107b2bf56d54d62cefe515fd37584b1b25.tar.gz
gcc-3ccd94107b2bf56d54d62cefe515fd37584b1b25.tar.bz2
sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue statement is dispatching.
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. From-SVN: r130855
Diffstat (limited to 'gcc/ada/sinput.adb')
0 files changed, 0 insertions, 0 deletions