diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 0bc5af65bb5fb77319bcdf7ba2495afae1f70fcb..036a0213ab25741f563442bda49139dec9998cbe 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;