summaryrefslogtreecommitdiff
path: root/gcc/ginclude/va-sparc.h
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-06-11 20:14:59 +0000
committerRichard Stallman <rms@gnu.org>1992-06-11 20:14:59 +0000
commit81359be555307aac889b95715f38754f61121d3e (patch)
treec665ea65701805476332a8ca533daa7322e1f3d5 /gcc/ginclude/va-sparc.h
parent590f7e643898c1ae37fb3d5cea6e5986186ee2dc (diff)
downloadgcc-81359be555307aac889b95715f38754f61121d3e.tar.gz
*** empty log message ***
From-SVN: r1191
Diffstat (limited to 'gcc/ginclude/va-sparc.h')
-rw-r--r--gcc/ginclude/va-sparc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ginclude/va-sparc.h b/gcc/ginclude/va-sparc.h
index cc423740a50..79d9938676a 100644
--- a/gcc/ginclude/va-sparc.h
+++ b/gcc/ginclude/va-sparc.h
@@ -54,5 +54,11 @@ __extension__ \
((__builtin_classify_type (__va_temp) >= 12) \
? ((pvar) += __va_rounded_size (TYPE *), \
**(TYPE **) ((pvar) - __va_rounded_size (TYPE *))) \
+ : __va_rounded_size (TYPE) == 8 \
+ ? ({ union {double d; int i[2];} u; \
+ u.i[0] = ((int *) (pvar))[0]; \
+ u.i[1] = ((int *) (pvar))[1]; \
+ (pvar) += 8; \
+ u.d; }) \
: ((pvar) += __va_rounded_size (TYPE), \
*((TYPE *) ((pvar) - __va_rounded_size (TYPE)))));})