OSDN Git Service

(va_arg): Add support for 128 bit long double type.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 1995 23:16:31 +0000 (23:16 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 1995 23:16:31 +0000 (23:16 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10147 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ginclude/va-sparc.h

index 525420a..9433992 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                            \