diff options
author | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-03 03:53:44 +0000 |
---|---|---|
committer | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-03 03:53:44 +0000 |
commit | 6c49881871232e793210118d831ad091e3f8adb3 (patch) | |
tree | 10c1e0656f3453c646774445c67f49fbce2877ec /gcc/stor-layout.c | |
parent | d826737c649f9f7c9792017e25a29d3eb354ad23 (diff) | |
download | gcc-6c49881871232e793210118d831ad091e3f8adb3.tar.gz |
* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
* config/c4x/c4x.h: Likewise.
* stor-layout.c (compute_record_mode): Likewise.
(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40200 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 065d4f61201..152eff10f36 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -1111,12 +1111,12 @@ compute_record_mode (type) if (simple_cst_equal (TYPE_SIZE (type), DECL_SIZE (field))) mode = DECL_MODE (field); -#ifdef STRUCT_FORCE_BLK +#ifdef MEMBER_TYPE_FORCES_BLK /* With some targets, eg. c4x, it is sub-optimal to access an aligned BLKmode structure as a scalar. */ - if (mode == VOIDmode && STRUCT_FORCE_BLK (field)) + if (mode == VOIDmode && MEMBER_TYPE_FORCES_BLK (field)) return; -#endif /* STRUCT_FORCE_BLK */ +#endif /* MEMBER_TYPE_FORCES_BLK */ } /* If we only have one real field; use its mode. This only applies to @@ -1450,6 +1450,9 @@ layout_type (type) TYPE_MODE (type) = BLKmode; if (TYPE_SIZE (type) != 0 +#ifdef MEMBER_TYPE_FORCES_BLK + && ! MEMBER_TYPE_FORCES_BLK (type) +#endif /* BLKmode elements force BLKmode aggregate; else extract/store fields may lose. */ && (TYPE_MODE (TREE_TYPE (type)) != BLKmode |