OSDN Git Service

On Net 2 system, don't test, define or undef _VA_LIST_.
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 1992 09:21:34 +0000 (09:21 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 1992 09:21:34 +0000 (09:21 +0000)
Use _ANSI_H_, __BSD_NET2__ and ____386BSD____ to test for this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2657 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ginclude/varargs.h

index 9af23e9..01d6c3d 100644 (file)
@@ -108,13 +108,6 @@ typedef void *__gnuc_va_list;
 #undef _VA_LIST
 #endif
 
-/*  In 4.3bsd-net2, _VA_LIST_ is defined by machine/ansi.h, but no
-    typedef for va_list is in that file.  Undef _VA_LIST_ here
-    so we do define va_list.  */
-#ifdef _ANSI_H_
-#undef _VA_LIST_
-#endif
-
 #ifdef __SVR4_2__
 
 /* SVR4.2 uses _VA_LIST for an internal alias for va_list,
@@ -127,23 +120,22 @@ typedef __gnuc_va_list va_list;
 #else /* not __SVR4_2__ */
 
 /* The macro _VA_LIST_ is the same thing used by this file in Ultrix.  */
-#ifndef _VA_LIST_
+/* 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____)
 /* 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 /* _VA_LIST */
-#endif /* _VA_LIST_ */
+#endif /* not _VA_LIST */
+#endif /* not _VA_LIST_ (or _ANSI_H_) */
 
 #endif /* not __SVR4_2__ */
 
-/*  I think that in 4.3bsd-net2 there is some need
-    to leave _VA_LIST_ undefined after.  I don't know why. -- rms.  */
-#ifdef _ANSI_H_
-#undef _VA_LIST_
-#endif
-
 /* The next BSD release (if there is one) wants this symbol to be
    undefined instead of _VA_LIST_.  */
 #ifdef _BSD_VA_LIST