From: Eric Botcazou Date: Tue, 14 Sep 2021 09:10:17 +0000 (+0200) Subject: Fix inaccurate bounds in debug info for vector array types X-Git-Tag: upstream/12.2.0~5178 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b9c35857d00c66158fcdf7de8adae4f06023052e;p=platform%2Fupstream%2Fgcc.git Fix inaccurate bounds in debug info for vector array types They should not be 0-based, unless the array type itself is. gcc/ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make the representative array the debug type. --- diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 9202184..20e3eea 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -4740,6 +4740,14 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) else gnu_decl = create_type_decl (gnu_entity_name, gnu_type, artificial_p, debug_info_p, gnat_entity); + + /* For vector types, make the representative array the debug type. */ + if (VECTOR_TYPE_P (gnu_type)) + { + tree rep = TYPE_REPRESENTATIVE_ARRAY (gnu_type); + TYPE_NAME (rep) = DECL_NAME (gnu_decl); + SET_TYPE_DEBUG_TYPE (gnu_type, rep); + } } /* Otherwise, for a type reusing an existing DECL, back-annotate values. */