exp_util.ads, [...] (Expand_Subtype_From_Expr): In Ada2005...
authorEd Schonberg <schonberg@adacore.com>
Wed, 6 Jun 2007 10:28:07 +0000 (12:28 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:28:07 +0000 (12:28 +0200)
commit0712790c364b9d0de4d023ebd22fa9249afc35d5
tree2aac9a39bc29def98b761c1e19d629191da83b42
parent2ed216d057acc16f81871e00f710361e1f38c6ec
exp_util.ads, [...] (Expand_Subtype_From_Expr): In Ada2005...

2007-04-20  Ed Schonberg  <schonberg@adacore.com>

* exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
object of a limited type can be initialized with a call to a function
that returns in place. If the limited type has unknown discriminants,
and the underlying type is a constrained composite type, build an actual
subtype from the function call, as is done for private types.
(Side_Effect_Free): An expression that is the renaming of an object or
whose prefix is the renaming of a object, is not side-effect free
because it may be assigned through the renaming and its value must be
captured in a temporary.
(Has_Controlled_Coextensions): New routine.
(Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
as is done for other limited types.
(Non_Limited_Designated_Type): new predicate.
(Make_CW_Equivalent_Type): Modified to handle class-wide interface
objects.
Remove all handling of with_type clauses.

        * par-ch10.adb: Remove all handling of with_type clauses.

* lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
checksum if the main source could not be parsed.
(Loat_Unit): When processing a child unit, determine properly whether
the parent unit is a renaming when the parent is itself a child unit.
Remove handling of with_type clauses.

* sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
(Set_Is_Static_Coextension): New procedure.
(Has_Local_Raise): New function
(Set_Has_Local_Raise): New procedure
(Renaming_Exception): New field
(Has_Init_Expression): New flag
(Delay_Finalize_Attach): Remove because flag is obsolete.
(Set_Delay_Finalize_Attach): Remove because flag is obsolete.
Remove all handling of with_type clauses.
(Exception_Junk): Can now be set in N_Block_Statement

From-SVN: r125410
gcc/ada/exp_util.adb
gcc/ada/exp_util.ads
gcc/ada/lib-load.adb
gcc/ada/lib-load.ads
gcc/ada/par-ch10.adb
gcc/ada/sinfo.adb
gcc/ada/sinfo.ads