From: Eric Botcazou Date: Mon, 28 Jul 2025 20:16:08 +0000 (+0200) Subject: ada: Fix crash on reference to aliased object of packed array type with -g X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c93fe0be50bcf622181b3036c89ebda0a71132d7;p=thirdparty%2Fgcc.git ada: Fix crash on reference to aliased object of packed array type with -g This happens when the object is declared in another compilation unit. gcc/ada/ChangeLog: * gcc-interface/misc.cc (gnat_get_array_descr_info): In the record type case, bail out if the original array type cannot be retrieved. --- diff --git a/gcc/ada/gcc-interface/misc.cc b/gcc/ada/gcc-interface/misc.cc index 7711f8b0f82..a79b87e3bdb 100644 --- a/gcc/ada/gcc-interface/misc.cc +++ b/gcc/ada/gcc-interface/misc.cc @@ -837,6 +837,8 @@ gnat_get_array_descr_info (const_tree const_type, if (TYPE_IMPL_PACKED_ARRAY_P (array_type) && TYPE_ORIGINAL_PACKED_ARRAY (array_type)) array_type = TYPE_ORIGINAL_PACKED_ARRAY (array_type); + if (TREE_CODE (array_type) != ARRAY_TYPE) + return false; /* Shift back the address to get the address of the template. */ tree shift_amount