From ff26f0ba68fe6e870f315d0601b596f889b89680 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 28 Jul 2022 10:07:32 +0200 Subject: [PATCH] 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. --- gcc/tree.cc | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.47.2