diff options
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r-- | gcc/ada/sem_util.adb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 20cda2d..60df838 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -19059,7 +19059,18 @@ package body Sem_Util is N := Next (Actual_Id); if Nkind (N) = N_Parameter_Association then - return First_Named_Actual (Parent (Actual_Id)); + -- In case of a build-in-place call, the call will no longer be a + -- call; it will have been rewritten. + + if Nkind_In (Parent (Actual_Id), + N_Entry_Call_Statement, + N_Function_Call, + N_Procedure_Call_Statement) + then + return First_Named_Actual (Parent (Actual_Id)); + else + return Empty; + end if; else return N; end if; |