summaryrefslogtreecommitdiffstats
path: root/gcc/ada/sem_ch4.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-04 13:29:36 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-04 13:29:36 +0000
commitf7a5978d4fec56a121a430bbd0aa491044d1b423 (patch)
treea42eb9b04499938700fa740e27768ede037d4f45 /gcc/ada/sem_ch4.adb
parentfad45a4addc41e4f947f354353b3ecf07c2f7422 (diff)
downloadppe42-gcc-f7a5978d4fec56a121a430bbd0aa491044d1b423.tar.gz
ppe42-gcc-f7a5978d4fec56a121a430bbd0aa491044d1b423.zip
2005-07-04 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb (Transform_Object_Operation): For an actual that is an overloaded function call, carry interpretations from the original tree to the copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101587 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch4.adb')
-rw-r--r--gcc/ada/sem_ch4.adb14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index 0bc5af65bb5..036a0213ab2 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -4913,7 +4913,19 @@ package body Sem_Ch4 is
begin
Actual := First (Parameter_Associations (Parent_Node));
while Present (Actual) loop
- Append (New_Copy_Tree (Actual), Actuals);
+ declare
+ New_Actual : constant Node_Id := New_Copy_Tree (Actual);
+
+ begin
+ Append (New_Actual, Actuals);
+
+ if Nkind (Actual) = N_Function_Call
+ and then Is_Overloaded (Name (Actual))
+ then
+ Save_Interps (Name (Actual), Name (New_Actual));
+ end if;
+ end;
+
Next (Actual);
end loop;
end;
OpenPOWER on IntegriCloud