sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even with expansion...
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 10 Feb 2005 13:55:59 +0000 (14:55 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 10 Feb 2005 13:55:59 +0000 (14:55 +0100)
commit7ffd93121c90bb8edabadc47a82e71087dea7eb1
tree84dd53df6d99da6a0a0aa0fe0a8c759e21953676
parenta3a0db2eb9a89957d478bce7132e19d0492eb96d
sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even with expansion disabled.

* sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
with expansion disabled. The actual subtype is needed among other
places when the selected component appears in the context of a loop
bound, and denotes a packed array.
(Operator_Check): Always use the first subtype in the
error message, to avoid the appearance of internal base types.
(Transform_Object_Operation): Copy each actual in full
to the parameter associations of the constructed call, rather than
using the shallow copy mechanism of New_Copy_List. This ensures that
the chaining of named associations is done properly.
(Complete_Object_Operation): Rewrite node, rather than
replacing it, so that we can trace back to the original selected
component.

* sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
and calls that use object notation, if the called function is not
declared  in a withed unit, place the elaboration constraint on the
unit in the context that makes the function accessible.
(Check_Elab_Subtype_Declaration): Check whether a subtype declaration
imposes an elaboration constraint between two packages.

From-SVN: r94820
gcc/ada/sem_ch4.adb
gcc/ada/sem_elab.adb