aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-11-13 00:21:17 +0000
committerRichard Stallman <rms@gnu.org>1993-11-13 00:21:17 +0000
commite31f69f1a3ee92358425f26e69651e7e40a7baff (patch)
tree75fa1fad434c5b10d58d83228e6c7d678380efb0
parent5881bacc6ee49be2667717b23746b5b196b32775 (diff)
downloadgcc-e31f69f1a3ee92358425f26e69651e7e40a7baff.zip
gcc-e31f69f1a3ee92358425f26e69651e7e40a7baff.tar.gz
gcc-e31f69f1a3ee92358425f26e69651e7e40a7baff.tar.bz2
(FUNCTION_ARG_BOUNDARY): Fix return value for 64bit
pass by value structures. From-SVN: r6077
-rw-r--r--gcc/config/pa/pa.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index f683db3..89aee13 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -830,9 +830,7 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
#define FUNCTION_ARG_BOUNDARY(MODE, TYPE) \
(((TYPE) != 0) \
- ? ((TYPE_ALIGN(TYPE) <= PARM_BOUNDARY) \
- ? PARM_BOUNDARY \
- : TYPE_ALIGN(TYPE)) \
+ ? (((int_size_in_bytes (TYPE)) + 3) / 4) * BITS_PER_WORD \
: ((GET_MODE_ALIGNMENT(MODE) <= PARM_BOUNDARY) \
? PARM_BOUNDARY \
: GET_MODE_ALIGNMENT(MODE)))