Don't override alignment specified by user with the same value to
preserve TYPE_USER_ALIGN.  This fixes PR 53037 tests on Sparc.

Does it look right?

H.J.
--
        * stor-layout.c (finalize_type_size): Don't override alignment
        specified by user with the same value.
---
 gcc/stor-layout.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 3028d55773a..6dd605810ac 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -1784,7 +1784,7 @@ finalize_type_size (tree type)
 
       /* Don't override a larger alignment requirement coming from a user
         alignment of one of the fields.  */
-      if (mode_align >= TYPE_ALIGN (type))
+      if (mode_align > TYPE_ALIGN (type))
        {
          SET_TYPE_ALIGN (type, mode_align);
          TYPE_USER_ALIGN (type) = 0;
-- 
2.13.5

Reply via email to