OSDN Git Service

* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 3 Mar 2001 03:53:44 +0000 (03:53 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 3 Mar 2001 03:53:44 +0000 (03:53 +0000)
* 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

gcc/ChangeLog
gcc/config/c4x/c4x.h
gcc/stor-layout.c
gcc/tm.texi

index 3dc3f19..37f1880 100644 (file)
@@ -1,3 +1,10 @@
+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
index 4250bf5..7215565 100644 (file)
@@ -370,7 +370,8 @@ extern const char *c4x_rpts_cycles_string, *c4x_cpu_version_string;
 
 /* 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.  */
index 065d4f6..152eff1 100644 (file)
@@ -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
index 286e30f..9f20053 100644 (file)
@@ -1118,9 +1118,9 @@ get from @code{PCC_BITFIELD_TYPE_MATTERS}.
 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