aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Quinot <quinot@adacore.com>2005-07-04 15:29:36 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2005-07-04 15:29:36 +0200
commitd3e65aad2ce5838c300670b4a0f6ad6fa41d917f (patch)
treea42eb9b04499938700fa740e27768ede037d4f45 /gcc
parentd5f09c91bfc909f42bb0f446692a09e23e7c977b (diff)
downloadgcc-d3e65aad2ce5838c300670b4a0f6ad6fa41d917f.zip
gcc-d3e65aad2ce5838c300670b4a0f6ad6fa41d917f.tar.gz
gcc-d3e65aad2ce5838c300670b4a0f6ad6fa41d917f.tar.bz2
sem_ch4.adb (Transform_Object_Operation): For an actual that is an overloaded function call...
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. From-SVN: r101587
Diffstat (limited to 'gcc')
-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 0bc5af6..036a021 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;