From: Eric Botcazou Date: Thu, 12 Aug 2021 16:12:40 +0000 (+0200) Subject: [Ada] Add missing guard before call to Interface_Present_In_Ancestor X-Git-Tag: basepoints/gcc-13~4288 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a81dbb618e3ac6cd42ac6f296a96296e099ac1f;p=thirdparty%2Fgcc.git [Ada] Add missing guard before call to Interface_Present_In_Ancestor gcc/ada/ * sem_type.adb (Specific_Type): Check that the type is tagged before calling Interface_Present_In_Ancestor on it. --- diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index 3ca2e302a8e0..8e5b067bb760 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -3424,7 +3424,8 @@ package body Sem_Type is -- Ada 2005 (AI-251): T1 is a concrete type that implements the -- class-wide interface T2 - elsif Is_Class_Wide_Type (T2) + elsif Is_Tagged_Type (T1) + and then Is_Class_Wide_Type (T2) and then Is_Interface (Etype (T2)) and then Interface_Present_In_Ancestor (Typ => T1, Iface => Etype (T2))