aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2008-08-06 10:52:28 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-08-06 10:52:28 +0200
commit2a26a7ec2fd1218218fe187e9bb758e889e18f04 (patch)
treee101c7fef25a6134bceb236ce65591e9a9933c4a
parent3e1055a7e583d96ad856de6598eca5d1ff3e7185 (diff)
downloadgcc-2a26a7ec2fd1218218fe187e9bb758e889e18f04.zip
gcc-2a26a7ec2fd1218218fe187e9bb758e889e18f04.tar.gz
gcc-2a26a7ec2fd1218218fe187e9bb758e889e18f04.tar.bz2
exp_disp (Expand_Interface_Actuals): Adds missing support for expansion of calls to subprograms using selected...
2008-08-06 Javier Miranda <miranda@adacore.com> * exp_disp (Expand_Interface_Actuals): Adds missing support for expansion of calls to subprograms using selected components. From-SVN: r138778
-rw-r--r--gcc/ada/exp_disp.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb
index 9ce2e74..5911501 100644
--- a/gcc/ada/exp_disp.adb
+++ b/gcc/ada/exp_disp.adb
@@ -1054,7 +1054,12 @@ package body Exp_Disp is
if Nkind (Name (Call_Node)) = N_Explicit_Dereference then
Subp := Etype (Name (Call_Node));
- -- Normal case
+ -- Call using selected component
+
+ elsif Nkind (Name (Call_Node)) = N_Selected_Component then
+ Subp := Entity (Selector_Name (Name (Call_Node)));
+
+ -- Call using direct name
else
Subp := Entity (Name (Call_Node));