diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2002-06-15 09:41:13 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2002-06-15 09:41:13 +0000 |
commit | 182e515e724e29aaa44873ea71333fd799ee3925 (patch) | |
tree | 61bbb17e58b498d6833007ffcfd18ab3fddef41d /gcc/config | |
parent | 2313d59405eb165d70bbdd81bb1914ab1eddd1d8 (diff) | |
download | gcc-182e515e724e29aaa44873ea71333fd799ee3925.zip gcc-182e515e724e29aaa44873ea71333fd799ee3925.tar.gz gcc-182e515e724e29aaa44873ea71333fd799ee3925.tar.bz2 |
tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
2002-06-15 Aldy Hernandez <aldyh@redhat.com>
* tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
* stor-layout.c (compute_record_mode): Remove check for
FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
MEMBER_TYPE_FORCES_BLK. Pass new mode field to
MEMBER_TYPE_FORCES_BLK.
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
* config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
From-SVN: r54643
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/c4x/c4x.h | 6 | ||||
-rw-r--r-- | gcc/config/ia64/hpux.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h index a18dbeb..e73c40e 100644 --- a/gcc/config/c4x/c4x.h +++ b/gcc/config/c4x/c4x.h @@ -378,9 +378,9 @@ extern const char *c4x_rpts_cycles_string, *c4x_cpu_version_string; #define MAX_FIXED_MODE_SIZE 64 /* HImode. */ /* If a structure has a floating point field then force structure - to have BLKMODE. */ -#define MEMBER_TYPE_FORCES_BLK(FIELD) \ - (TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE) + to have BLKMODE, unless it is the only field. */ +#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) \ + (TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE && (MODE) == VOIDmode) /* Number of bits in the high and low parts of a two stage load of an immediate constant. */ diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h index 8b18678..561d629 100644 --- a/gcc/config/ia64/hpux.h +++ b/gcc/config/ia64/hpux.h @@ -103,7 +103,7 @@ Boston, MA 02111-1307, USA. */ structure handling, this macro simply ensures that single field structures are always treated like structures. */ -#define MEMBER_TYPE_FORCES_BLK(FIELD) 1 +#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) 1 /* Override the setting of FUNCTION_ARG_REG_LITTLE_ENDIAN in defaults.h. Setting this to true means that we are not passing |