From: Richard Biener Date: Thu, 28 Jul 2022 08:07:32 +0000 (+0200) Subject: middle-end/106457 - improve array_at_struct_end_p for array objects X-Git-Tag: basepoints/gcc-14~5332 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff26f0ba68fe6e870f315d0601b596f889b89680;p=thirdparty%2Fgcc.git middle-end/106457 - improve array_at_struct_end_p for array objects Array references to array objects are never at struct end. PR middle-end/106457 * tree.cc (array_at_struct_end_p): Handle array objects specially. --- diff --git a/gcc/tree.cc b/gcc/tree.cc index 84000dd8b69..fed1434d141 100644 --- a/gcc/tree.cc +++ b/gcc/tree.cc @@ -12778,6 +12778,10 @@ array_at_struct_end_p (tree ref) && DECL_SIZE_UNIT (ref) && TREE_CODE (DECL_SIZE_UNIT (ref)) == INTEGER_CST) { + /* If the object itself is the array it is not at struct end. */ + if (DECL_P (ref_to_array)) + return false; + /* Check whether the array domain covers all of the available padding. */ poly_int64 offset;