sem_ch4.adb (Transform_Object_Operation): For an actual that is an overloaded functio...
authorThomas Quinot <quinot@adacore.com>
Mon, 4 Jul 2005 13:29:36 +0000 (15:29 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 4 Jul 2005 13:29:36 +0000 (15:29 +0200)
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

gcc/ada/sem_ch4.adb

index 0bc5af65bb5fb77319bcdf7ba2495afae1f70fcb..036a0213ab25741f563442bda49139dec9998cbe 100644 (file)
@@ -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;