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