diff options
author | Thomas Quinot <quinot@adacore.com> | 2005-07-04 15:29:36 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-07-04 15:29:36 +0200 |
commit | d3e65aad2ce5838c300670b4a0f6ad6fa41d917f (patch) | |
tree | a42eb9b04499938700fa740e27768ede037d4f45 /gcc | |
parent | d5f09c91bfc909f42bb0f446692a09e23e7c977b (diff) | |
download | gcc-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.adb | 14 |
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; |