aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-02-08 05:49:05 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-02-08 05:49:05 -0500
commite7cf2d7e557f1bee5f121bb57c96070856f0a43f (patch)
treed1532a33d142e36bcb797becc233ccc9cd1b4b2d /gcc/expr.h
parent522ae84c3d96ed02964c532a87d9fb20a0432a17 (diff)
downloadgcc-e7cf2d7e557f1bee5f121bb57c96070856f0a43f.zip
gcc-e7cf2d7e557f1bee5f121bb57c96070856f0a43f.tar.gz
gcc-e7cf2d7e557f1bee5f121bb57c96070856f0a43f.tar.bz2
(MUST_PASS_IN_STACK_BAD_ALIGN): Deleted.
(MUST_PASS_IN_STACK): No problem anymore with nonaligned structs. From-SVN: r3438
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h19
1 files changed, 5 insertions, 14 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 4bcdc17..cd3658b 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -202,19 +202,11 @@ enum direction {none, upward, downward}; /* Value has this type. */
- if the type is marked as addressable (it is required to be constructed
into the stack)
- if the padding and mode of the type is such that a copy into a register
- would put it into the wrong part of the register
- - when STRICT_ALIGNMENT and the type is BLKmode and is is not
- aligned to a boundary corresponding to what can be loaded into a
- register. */
-
-#define MUST_PASS_IN_STACK_BAD_ALIGN(MODE,TYPE) \
- (STRICT_ALIGNMENT && MODE == BLKmode \
- && TYPE_ALIGN (TYPE) < (BIGGEST_ALIGNMENT < BITS_PER_WORD \
- ? BIGGEST_ALIGNMENT : BITS_PER_WORD))
-
-/* Which padding can't be supported depends on the byte endianness. */
+ would put it into the wrong part of the register.
+
+/* Which padding can't be supported depends on the byte endianness.
-/* A value in a register is implicitly padded at the most significant end.
+ A value in a register is implicitly padded at the most significant end.
On a big-endian machine, that is the lower end in memory.
So a value padded in memory at the upper end can't go in a register.
For a little-endian machine, the reverse is true. */
@@ -231,8 +223,7 @@ enum direction {none, upward, downward}; /* Value has this type. */
|| TREE_ADDRESSABLE (TYPE) \
|| ((MODE) == BLKmode \
&& (FUNCTION_ARG_PADDING (MODE, TYPE) \
- == MUST_PASS_IN_STACK_BAD_PADDING)) \
- || MUST_PASS_IN_STACK_BAD_ALIGN (MODE, TYPE)))
+ == MUST_PASS_IN_STACK_BAD_PADDING))))
/* Nonzero if type TYPE should be returned in memory
(even though its mode is not BLKmode).