(va_arg): Add support for 128 bit long double type.
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 18 Jul 1995 23:16:31 +0000 (19:16 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 18 Jul 1995 23:16:31 +0000 (19:16 -0400)
From-SVN: r10147

gcc/ginclude/va-sparc.h

index 525420a96e4251e39d4a8c1c77d335275c80dc1d..94339922f064f18aecfcc3b9c845884ec709022a 100644 (file)
@@ -184,7 +184,9 @@ __extension__                                                       \
    The casts to char * avoid warnings about invalid pointer arithmetic.  */
 #define va_arg(pvar,TYPE)                                      \
 __extension__                                                  \
-(*({((__builtin_classify_type (*(TYPE*) 0) >= __record_type_class) \
+(*({((__builtin_classify_type (*(TYPE*) 0) >= __record_type_class \
+      || (__builtin_classify_type (*(TYPE*) 0) == __real_type_class \
+         && sizeof (TYPE) == 16))                              \
     ? ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE *),   \
        *(TYPE **) (void *) ((char *)(pvar) - __va_rounded_size (TYPE *))) \
     : __va_rounded_size (TYPE) == 8                            \