aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-64.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/pa/pa-64.h')
-rw-r--r--gcc/config/pa/pa-64.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/pa/pa-64.h b/gcc/config/pa/pa-64.h
index afe001b4228..1d3089ed9c4 100644
--- a/gcc/config/pa/pa-64.h
+++ b/gcc/config/pa/pa-64.h
@@ -83,7 +83,10 @@ along with GCC; see the file COPYING3. If not see
arguments are padded down when BYTES_BIG_ENDIAN is true. We don't
want aggregates padded down. */
-#define PAD_VARARGS_DOWN (!AGGREGATE_TYPE_P (type))
+#define PAD_VARARGS_DOWN \
+ (!AGGREGATE_TYPE_P (type) \
+ && TREE_CODE (type) != COMPLEX_TYPE \
+ && TREE_CODE (type) != VECTOR_TYPE)
/* In the PA architecture, it is not possible to directly move data
between GENERAL_REGS and FP_REGS. On the 32-bit port, we use the