mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-24 07:58:56 +08:00
stor-layout.c (compute_record_mode): Relax restriction on fields crossing word boundaries forcing BLKmode.
* stor-layout.c (compute_record_mode): Relax restriction on fields crossing word boundaries forcing BLKmode. From-SVN: r66463
This commit is contained in:
parent
1fecc2668c
commit
ad26fb41b4
@ -1,3 +1,8 @@
|
||||
2003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* stor-layout.c (compute_record_mode): Relax restriction
|
||||
on fields crossing word boundaries forcing BLKmode.
|
||||
|
||||
2003-05-04 Neil Booth <neil@daikokuya.co.uk>
|
||||
|
||||
* cppinit.c (cpp_create_reader, post_options): Warn about
|
||||
|
@ -1387,8 +1387,10 @@ compute_record_mode (type)
|
||||
if (bitpos / BITS_PER_WORD
|
||||
!= ((tree_low_cst (DECL_SIZE (field), 1) + bitpos - 1)
|
||||
/ BITS_PER_WORD)
|
||||
/* But there is no problem if the field is entire words. */
|
||||
&& tree_low_cst (DECL_SIZE (field), 1) % BITS_PER_WORD != 0)
|
||||
/* But there is no problem if the field is entire words
|
||||
or bigger than a word. */
|
||||
&& ! (tree_low_cst (DECL_SIZE (field), 1) % BITS_PER_WORD == 0
|
||||
|| compare_tree_int (DECL_SIZE (field), BITS_PER_WORD) > 0))
|
||||
return;
|
||||
|
||||
/* If this field is the whole struct, remember its mode so
|
||||
|
Loading…
Reference in New Issue
Block a user