(va_arg): Don't assume __va_rounded_size (char) has the value of 4.
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 30 Apr 1995 12:11:09 +0000 (08:11 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 30 Apr 1995 12:11:09 +0000 (08:11 -0400)
From-SVN: r9550

gcc/ginclude/stdarg.h
gcc/ginclude/varargs.h

index 0ac176e7aeaa8de57bd157a50e1fb9fc51ca8ffd..b8d85e8f729aa08a0ab97fc93847b544d69bda81 100644 (file)
@@ -84,9 +84,9 @@ void va_end (__gnuc_va_list);         /* Defined in libgcc.a */
 /* This is for big-endian machines; small args are padded downward.  */
 #define va_arg(AP, TYPE)                                               \
  (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)),    \
-  *((TYPE *) (void *) ((char *) (AP) - ((sizeof (TYPE) < 4             \
-                                        ? sizeof (TYPE)                \
-                                        : __va_rounded_size (TYPE))))))
+  *((TYPE *) (void *) ((char *) (AP)                                   \
+                      - ((sizeof (TYPE) < __va_rounded_size (char)     \
+                          ? sizeof (TYPE) : __va_rounded_size (TYPE))))))
 #endif /* big-endian */
 #endif /* _STDARG_H */
 
index 68e20a62d7470540d6220d64c9b79ba0164c7bad..17098054780db247df1344903bf35c7277b11e8c 100644 (file)
@@ -103,9 +103,9 @@ typedef void *__gnuc_va_list;
 /* This is for big-endian machines; small args are padded downward.  */
 #define va_arg(AP, TYPE)                                               \
  (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)),    \
-  *((TYPE *) (void *) ((char *) (AP) - ((sizeof (TYPE) < 4             \
-                                        ? sizeof (TYPE)                \
-                                        : __va_rounded_size (TYPE))))))
+  *((TYPE *) (void *) ((char *) (AP)                                   \
+                      - ((sizeof (TYPE) < __va_rounded_size (char)     \
+                          ? sizeof (TYPE) : __va_rounded_size (TYPE))))))
 #endif /* big-endian */
 
 #endif /* not h8300 */