summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_util.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-09 17:19:33 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-09 17:19:33 +0000
commit041a8137335bd09376b5cd405c99d1781b7884f1 (patch)
treed80dcb32baa9ca80225cb974ec83c8600812eaf8 /gcc/ada/exp_util.ads
parentd016e0b5c7d0f728f669665428cd8120f6620b59 (diff)
downloadgcc-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.ads7
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;