From: Eric Botcazou <ebotca...@adacore.com> Ancestor_Type is overloaded with Aggregate_Bounds on N_Aggregate nodes so its access needs to be guarded in Copy_Generic_Node.
gcc/ada/ * sem_ch12.adb (Copy_Generic_Node): Add guard for Ancestor_Type. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_ch12.adb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 2b8436d7c18..bfb400f5642 100644 --- a/gcc/ada/sem_ch12.adb +++ b/gcc/ada/sem_ch12.adb @@ -8518,10 +8518,12 @@ package body Sem_Ch12 is -- Moreover, for a full aggregate, if the type is a derived tagged -- type and has a global ancestor, then also restore the full view - -- of this ancestor, and do so up to the root type. + -- of this ancestor and do so up to the root type. Beware that the + -- Ancestor_Type field is overloaded, so test that it's an entity. if Nkind (N) = N_Aggregate and then Present (Ancestor_Type (N)) + and then Nkind (Ancestor_Type (N)) in N_Entity then declare Root_Typ : constant Entity_Id := -- 2.43.0