sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual subtype if code...
authorEd Schonberg <schonberg@adacore.com>
Tue, 29 Mar 2005 16:20:30 +0000 (18:20 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 29 Mar 2005 16:20:30 +0000 (18:20 +0200)
commit981234802e8314987fc1e9c6b9594462bb5aa0f4
tree395b2798e3377b361bd8d161e38756dabc97f3d1
parentf7a8593d14ff6d549cacca879601a9129d5691e0
sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual subtype if code is being pre-analyzed...

2005-03-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
subtype if code is being pre-analyzed, to prevent un-expanded
references to protected formals, among others.
(Analyze_Explicit_Dereference): If the overloaded prefix includes some
interpretation that can be a call, include the result of the call as a
possible interpretation of the dereference.

* sem_ch5.adb (Process_Bounds): Determine type of range by
pre-analyzing a copy of the original range, and then analyze the range
with the expected type.

* sem_res.adb (Check_Parameterless_Call): For an explicit dereference
with an overloaded prefix where not all interpretations yield an
access to subprogram, do not rewrite node as a call.
(Resolve_Explicit_Dereference): Recognize the previous case and rewrite
the node as a call once the context identifies the interpretation of
the prefix whose call yields the context type.
(Valid_Conversion): For the case of a conversion between
local access-to-subprogram types, check subtype conformance using
Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
detailed error message.

From-SVN: r97184
gcc/ada/sem_ch4.adb
gcc/ada/sem_ch5.adb