From 9c41bcc59c237aaa629e271f88c20a90cb8e0af5 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 26 Jan 2021 18:54:26 +0100 Subject: [PATCH] Fix PR ada/98228 This is the profiled bootstrap failure for s390x/Linux on the mainline, which has been introduced by the modref pass but actually exposing an existing issue in the maybe_pad_type function that is visible on s390x. The issue is too weak a test for the addressability of the inner component. gcc/ada/ Marius Hillenbrand PR ada/98228 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new packable type instead of its alignment for addressability's sake. --- gcc/ada/gcc-interface/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index d52220a675e..c503bfbb36d 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -1571,7 +1571,7 @@ maybe_pad_type (tree type, tree size, unsigned int align, { tree packable_type = make_packable_type (type, true, align); if (TYPE_MODE (packable_type) != BLKmode - && align >= TYPE_ALIGN (packable_type)) + && compare_tree_int (TYPE_SIZE (packable_type), align) <= 0) type = packable_type; } -- 2.30.2