OSDN Git Service

* pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Dec 1999 12:11:13 +0000 (12:11 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Dec 1999 12:11:13 +0000 (12:11 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31050 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa.h

index 8bb1587..f009143 100644 (file)
@@ -1,3 +1,7 @@
+Tue Dec 21 07:06:36 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
+
 1999-12-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
        * md.texi: Add c4x constraints documentation.
index 4e5c9ef..1794520 100644 (file)
@@ -1058,13 +1058,15 @@ struct hppa_args {int words, nargs_prototype, indirect; };
    bits, of an argument with the specified mode and type.  If it is
    not defined,  `PARM_BOUNDARY' is used for all arguments.  */
 
-#define FUNCTION_ARG_BOUNDARY(MODE, TYPE)                              \
-  (((TYPE) != 0)                                                       \
-       ? (((int_size_in_bytes (TYPE)) + UNITS_PER_WORD - 1)            \
-          / UNITS_PER_WORD) * BITS_PER_WORD                            \
-       : ((GET_MODE_ALIGNMENT(MODE) <= PARM_BOUNDARY)                  \
-               ? PARM_BOUNDARY                                         \
-               : GET_MODE_ALIGNMENT(MODE)))
+#define FUNCTION_ARG_BOUNDARY(MODE, TYPE)                      \
+  (((TYPE) != 0)                                               \
+   ? ((integer_zerop (TYPE_SIZE (TYPE))                                \
+       || ! TREE_CONSTANT (TYPE_SIZE (TYPE)))                  \
+      ? BITS_PER_UNIT                                          \
+      : (((int_size_in_bytes (TYPE)) + UNITS_PER_WORD - 1)     \
+        / UNITS_PER_WORD) * BITS_PER_WORD)                     \
+   : ((GET_MODE_ALIGNMENT(MODE) <= PARM_BOUNDARY)              \
+      ? PARM_BOUNDARY : GET_MODE_ALIGNMENT(MODE)))
 
 /* Arguments larger than eight bytes are passed by invisible reference */