From d9832c78fc53a696d9dada0f276de33dc1d82e35 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 31 Oct 1992 21:40:51 +0000 Subject: [PATCH] [4.3 net 2]: If _VA_LIST_, is undefined then va_list is already declared. Use _ANSI_STDARG_H_, not _ANSI_STDARG_H. From-SVN: r2670 --- gcc/ginclude/stdarg.h | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/gcc/ginclude/stdarg.h b/gcc/ginclude/stdarg.h index 9b9b30152c2..d44cf9e76e3 100644 --- a/gcc/ginclude/stdarg.h +++ b/gcc/ginclude/stdarg.h @@ -105,20 +105,35 @@ typedef __gnuc_va_list va_list; #endif /* _VA_LIST_ */ #else /* not __SVR4_2__ */ +/* On 4.3bsd-net2, make sure ansi.h is included, so we have + one less case to deal with in the following. */ +#if defined (__BSD_NET2__) || defined (____386BSD____) +#include +#endif + +/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which remain + defined as long as the corresponding type is *not* defined. */ +#ifdef _ANSI_H_ +#ifndef _VA_LIST_ +#define _VA_LIST +#endif +#undef _VA_LIST_ +#endif /* _ANSI_H_ */ + /* The macro _VA_LIST_ is the same thing used by this file in Ultrix. */ -/* However, 4.3bsd-net2 uses it in a completely different way. - So if we are in 4.3bsd-net2, pay no attention to _VA_LIST_. */ -#if ! defined (_VA_LIST_) || defined (_ANSI_H_) || defined (__BSD_NET2__) || defined (____386BSD____) +#ifndef _VA_LIST_ /* The macro _VA_LIST is used in SCO Unix 3.2. */ #ifndef _VA_LIST -#if !(defined (_ANSI_H_) || defined (__BSD_NET2__) || defined (____386BSD____)) - /* Don't mess with _VA_LIST_ at all, on 4.3bsd-net2. */ #define _VA_LIST_ -#endif /* not net2 */ #define _VA_LIST typedef __gnuc_va_list va_list; #endif /* not _VA_LIST */ -#endif /* not _VA_LIST_ (or _ANSI_H_) */ +#endif /* not _VA_LIST_ */ + +/* On 4.3bsd-net2, leave _VA_LIST_ undef to indicate va_list is defined. */ +#ifdef _ANSI_H_ +#undef _VA_LIST_ +#endif #endif /* not __SVR4_2__ */ -- 2.30.2