From: Uros Bizjak Date: Wed, 19 Mar 2008 14:50:15 +0000 (+0100) Subject: re PR target/35496 (test failures between revs. 132950 and 132974) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cd7e0bd4b185112f64b7b78264b0bfa6eb27d26b;p=gcc.git re PR target/35496 (test failures between revs. 132950 and 132974) PR target/35496 * stor-layout.c (update_alignment_for_field): Set minimum alignment of the underlying type of a MS bitfield layout to the natural alignment of the type. From-SVN: r133343 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 845455ca39c..21135c054c6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-03-19 Uros Bizjak + + PR target/35496 + * stor-layout.c (update_alignment_for_field): Set minimum alignment + of the underlying type of a MS bitfield layout to the natural + alignment of the type. + 2008-03-19 Jan Hubicka PR other/35094 @@ -283,7 +290,7 @@ (maybe_fold_stmt_addition): Likewise. 2008-03-15 Bjoern Haase - Anatoly Sokolov + Anatoly Sokolov * gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry. (avr_arch): Add ARCH_AVR6. @@ -1123,7 +1130,7 @@ 2008-03-04 Danny Smith * config/i386/i386.md (allocate_stack_worker_32): Use __chkstk - label to probe the stack. + label to probe the stack. 2008-03-04 Danny Smith @@ -1688,7 +1695,7 @@ 2008-02-26 Manuel Lopez-Ibanez - PR 26264 + PR 26264 * builtins.def (BUILT_IN_STDARG_START): Remove. * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START. * tree-stdarg.c (execute_optimize_stdarg): Likewise. @@ -1868,7 +1875,7 @@ PR fortran/29549 * doc/invoke.texi (-fcx-limited-range): Document new option. * toplev.c (process_options): Handle -fcx-fortran-rules. - * common.opt: Add documentation for -fcx-fortran-rules. + * common.opt: Add documentation for -fcx-fortran-rules. 2008-02-25 Janne Blomqvist diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 67e4c25fbdc..ff46687834d 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -699,6 +699,9 @@ update_alignment_for_field (record_layout_info rli, tree field, && ! integer_zerop (DECL_SIZE (rli->prev_field))))) { unsigned int type_align = TYPE_ALIGN (type); + unsigned int type_size + = tree_low_cst (TYPE_SIZE (type), 1); + type_align = MAX (type_align, type_size); type_align = MAX (type_align, desired_align); if (maximum_field_alignment != 0) type_align = MIN (type_align, maximum_field_alignment);