diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-07-18 19:16:31 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-07-18 19:16:31 -0400 |
commit | 35d17c1d94820ecd169be6ef9b16027d587b4d7a (patch) | |
tree | 4f3bcdd2775a2d76ae921d25115a10fb188dd265 | |
parent | 06aa52de3cf82005be7339f00befa978f9990e22 (diff) | |
download | gcc-35d17c1d94820ecd169be6ef9b16027d587b4d7a.zip gcc-35d17c1d94820ecd169be6ef9b16027d587b4d7a.tar.gz gcc-35d17c1d94820ecd169be6ef9b16027d587b4d7a.tar.bz2 |
(va_arg): Add support for 128 bit long double type.
From-SVN: r10147
-rw-r--r-- | gcc/ginclude/va-sparc.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ginclude/va-sparc.h b/gcc/ginclude/va-sparc.h index 525420a..9433992 100644 --- a/gcc/ginclude/va-sparc.h +++ b/gcc/ginclude/va-sparc.h @@ -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 \ |