* 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.
From-SVN: r40200
+Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * 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.
+
2001-03-02 Zack Weinberg <zackw@stanford.edu>
* configure.in: Kill tm.h. Include the files in the $tm_file
/* If a structure has a floating point field then force structure
to have BLKMODE. */
-#define STRUCT_FORCE_BLK(FIELD) (TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE)
+#define MEMBER_TYPE_FORCES_BLK(FIELD) \
+ (TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE)
/* Number of bits in the high and low parts of a two stage
load of an immediate constant. */
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
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
Like PCC_BITFIELD_TYPE_MATTERS except that its effect is limited to
aligning a bitfield within the structure.
-@findex STRUCT_FORCE_BLK
-@item STRUCT_FORCE_BLK (@var{field})
-Return 1 if a structure containing @var{field} should be accessed using
+@findex MEMBER_TYPE_FORCES_BLK
+@item MEMBER_TYPE_FORCES_BLK (@var{field})
+Return 1 if a structure or array containing @var{field} should be accessed using
@code{BLKMODE}.
Normally, this is not needed. See the file @file{c4x.h} for an example