aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-02-18 17:25:28 -0800
committerJim Wilson <wilson@gcc.gnu.org>1993-02-18 17:25:28 -0800
commit4cf82435af7f4def40ab6c240782b97236bce996 (patch)
treec40e0617c966a3f0f98b075b9ab690266661e2a1
parentf19c1a78bda2b8977586f0067eca46fd7656bb9f (diff)
downloadgcc-4cf82435af7f4def40ab6c240782b97236bce996.zip
gcc-4cf82435af7f4def40ab6c240782b97236bce996.tar.gz
gcc-4cf82435af7f4def40ab6c240782b97236bce996.tar.bz2
(va_start): If __GCC_NEW_VARARGS__ not defined, use old definition.
From-SVN: r3491
-rw-r--r--gcc/ginclude/va-sparc.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ginclude/va-sparc.h b/gcc/ginclude/va-sparc.h
index 617739b..02567ef 100644
--- a/gcc/ginclude/va-sparc.h
+++ b/gcc/ginclude/va-sparc.h
@@ -23,13 +23,24 @@ typedef void * __gnuc_va_list;
#ifdef _STDARG_H
+#ifdef __GCC_NEW_VARARGS__
#define va_start(AP, LASTARG) (AP = (char *) __builtin_saveregs ())
+#else
+#define va_start(AP, LASTARG) \
+ (__builtin_saveregs (), AP = ((char *) __builtin_next_arg ()))
+#endif
#else
#define va_alist __builtin_va_alist
#define va_dcl
+
+#ifdef __GCC_NEW_VARARGS__
#define va_start(AP) ((AP) = (char *) __builtin_saveregs ())
+#else
+#define va_start(AP) \
+ (__builtin_saveregs (), (AP) = ((char *) &__builtin_va_alist))
+#endif
#endif