exp_util.ads, [...] (Is_Ref_To_Bit_Packed_Slice): Handle case of type conversion.
authorRobert Dewar <dewar@adacore.com>
Fri, 9 Dec 2005 17:19:33 +0000 (18:19 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 9 Dec 2005 17:19:33 +0000 (18:19 +0100)
commitea985d95427f210e627541b70dd56bb4b21ed838
treed80dcb32baa9ca80225cb974ec83c8600812eaf8
parente6d9df3c650d24bcd50b5df61d4656dea3e974da
exp_util.ads, [...] (Is_Ref_To_Bit_Packed_Slice): Handle case of type conversion.

2005-12-05  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
of type conversion.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.
(Make_Subtype_From_Expr): If type has unknown discriminants, always use
base type to create anonymous subtype, because entity may be a locally
declared subtype or generic actual.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.

* sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
conversion cannot be handled at compile time. In this case we pass this
information to the expander to generate the appropriate code.

From-SVN: r108294
gcc/ada/exp_util.adb
gcc/ada/exp_util.ads
gcc/ada/sem_res.adb