From f7f8e290a11a2d1ab0eefa5a87d4d56f0146f9d4 Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Sun, 12 Mar 2023 12:32:34 +0000 Subject: [PATCH] ada: Crash on empty aggregate using the Ada 2022 notation The compiler crashes processing an empty aggregate initializing a component of a discriminated record type using the Ada 2022 notation (that is, []). gcc/ada/ * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to aggregate components when the aggregate is empty. --- gcc/ada/exp_aggr.adb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index f3ad8a9e1ae3..de4d5a785fc2 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -4061,7 +4061,9 @@ package body Exp_Aggr is Decl : Node_Id; begin - if Nkind (First (Choices (Assoc))) = N_Others_Choice + if Present (Assoc) + and then + Nkind (First (Choices (Assoc))) = N_Others_Choice then Decl := Build_Actual_Subtype_Of_Component -- 2.47.2