aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch6.adb
diff options
context:
space:
mode:
authorRonan Desplanques <desplanques@adacore.com>2023-03-14 10:01:06 +0100
committerMarc Poulhiès <poulhies@adacore.com>2023-05-26 09:29:15 +0200
commitf4e907d5ee52fffe7c6fb1256e65eb39c9313379 (patch)
tree7fc8f1734cf7d1dd41db574120246d034cb9dce5 /gcc/ada/sem_ch6.adb
parent0251292d2da4039d4b12ecee81588614bf99b546 (diff)
downloadgcc-f4e907d5ee52fffe7c6fb1256e65eb39c9313379.zip
gcc-f4e907d5ee52fffe7c6fb1256e65eb39c9313379.tar.gz
gcc-f4e907d5ee52fffe7c6fb1256e65eb39c9313379.tar.bz2
ada: Fix late extra formals creation
Before this patch, in some situations, a subprogram call could be expanded before the extra formals for the subprogram were created. This patch fixes the problem in those situations. gcc/ada/ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals in more situations.
Diffstat (limited to 'gcc/ada/sem_ch6.adb')
-rw-r--r--gcc/ada/sem_ch6.adb1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index 6df1c8d..c58a548 100644
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -3907,6 +3907,7 @@ package body Sem_Ch6 is
and then Serious_Errors_Detected = 0
then
Set_Has_Delayed_Freeze (Spec_Id);
+ Create_Extra_Formals (Spec_Id);
Freeze_Before (N, Spec_Id);
end if;
end if;