diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-09 17:19:33 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-09 17:19:33 +0000 |
commit | 041a8137335bd09376b5cd405c99d1781b7884f1 (patch) | |
tree | d80dcb32baa9ca80225cb974ec83c8600812eaf8 /gcc/ada/exp_util.ads | |
parent | d016e0b5c7d0f728f669665428cd8120f6620b59 (diff) | |
download | gcc-041a8137335bd09376b5cd405c99d1781b7884f1.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108294 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_util.ads')
-rw-r--r-- | gcc/ada/exp_util.ads | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads index 2afb88f8ca6..fad07ccafe5 100644 --- a/gcc/ada/exp_util.ads +++ b/gcc/ada/exp_util.ads @@ -339,6 +339,13 @@ package Exp_Util is -- declarations and/or allocations when the type is indefinite (including -- class-wide). + function Find_Interface + (T : Entity_Id; + Comp : Entity_Id) return Entity_Id; + -- Ada 2005 (AI-251): Given a tagged type and one of its components + -- associated with the secondary dispatch table of an abstract interface + -- type, return the associated abstract interface type. + function Find_Interface_ADT (T : Entity_Id; Iface : Entity_Id) return Entity_Id; |