diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2023-11-24 12:07:28 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-12-19 15:27:48 +0100 |
commit | 40cf86ef4a51438a4c08e5937e5cbc61c1c28ec2 (patch) | |
tree | eeb0d799dc63edde2ee8d1ded867963bf5506822 | |
parent | cdd8f4b3f2457ff1699b870100acd6c90ca30842 (diff) | |
download | gcc-40cf86ef4a51438a4c08e5937e5cbc61c1c28ec2.zip gcc-40cf86ef4a51438a4c08e5937e5cbc61c1c28ec2.tar.gz gcc-40cf86ef4a51438a4c08e5937e5cbc61c1c28ec2.tar.bz2 |
ada: Add missing guard to previous change
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.
-rw-r--r-- | gcc/ada/sem_ch12.adb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 2b8436d..bfb400f 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 := |