From d1ea4593075a282c71a4560b32d50a26d3519092 Mon Sep 17 00:00:00 2001
From: Mike Stump <mrs@apple.com>
Date: Fri, 29 Oct 2004 02:42:54 +0000
Subject: [PATCH] inclhack.def (stdio_va_list): Don't fix if stdarg.h is
 included or ifdef va_start.

	* inclhack.def (stdio_va_list): Don't fix if stdarg.h is
          included or ifdef va_start.

From-SVN: r89803
---
 fixincludes/ChangeLog    |  9 ++++++++-
 fixincludes/fixincl.x    | 13 ++++++++-----
 fixincludes/inclhack.def | 20 +++++++++++---------
 3 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index 5161dd6c4631..6fba0c3d455d 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,6 +1,13 @@
 2004-10-28  Mike Stump  <mrs@apple.com>
 
-	* inclhack.def: Avoid changing NULL on C++ friendly systems.
+	* inclhack.def (stdio_va_list): Don't fix if stdarg.h is
+        included or ifdef va_start.
+	* fixincl.x: Regenerate.
+	
+2004-10-28  Mike Stump  <mrs@apple.com>
+
+	* inclhack.def (void_null): Avoid changing NULL on C++ friendly
+	systems.
 	* fixincl.x: Regenerate.
 
 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 948c72793760..781c9383f09c 100644
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Thursday October 28, 2004 at 01:52:23 PM PDT
+ * It has been AutoGen-ed  Thursday October 28, 2004 at 07:37:27 PM PDT
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Oct 28 13:52:23 PDT 2004
+/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Oct 28 19:37:27 PDT 2004
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -4927,10 +4927,13 @@ tSCC zStdio_Va_ListList[] =
  */
 tSCC zStdio_Va_ListBypass0[] =
        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
+tSCC zStdio_Va_ListBypass1[] =
+       "include <stdarg\\.h>|#ifdef va_start";
 
-#define    STDIO_VA_LIST_TEST_CT  1
+#define    STDIO_VA_LIST_TEST_CT  2
 static tTestDesc aStdio_Va_ListTests[] = {
-  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
+  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL },
+  { TT_NEGREP,   zStdio_Va_ListBypass1, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Stdio_Va_List
@@ -7146,7 +7149,7 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          204
+#define REGEX_COUNT          205
 #define MACH_LIST_SIZE_LIMIT 261
 #define FIX_COUNT            180
 
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index 084594c2c0f5..30d8065db453 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -2692,15 +2692,14 @@ fix = {
 
 
 /*
- *  Don't use or define the name va_list in stdio.h.
- *  This is for ANSI and also to interoperate properly with gcc's
- *  varargs.h.  Note _BSD_VA_LIST_ is dealt with elsewhere.  The
- *  presence of __gnuc_va_list, __DJ_va_list, or _G_va_list is taken
- *  to indicate that the header knows what it's doing -- under SUSv2,
- *  stdio.h is required to define va_list, and we shouldn't break that.
- *  On IRIX 6.5, internal/wchar_core.h used to get its definition of
- *  va_list from stdio.h.  Since this doesn't happen any longer, use
- *  __gnuc_va_list there, too.
+ *  Don't use or define the name va_list in stdio.h.  This is for
+ *  ANSI.  Note _BSD_VA_LIST_ is dealt with elsewhere.  The presence
+ *  of __gnuc_va_list, __DJ_va_list, or _G_va_list is taken to
+ *  indicate that the header knows what it's doing -- under SUSv2,
+ *  stdio.h is required to define va_list, and we shouldn't break
+ *  that.  On IRIX 6.5, internal/wchar_core.h used to get its
+ *  definition of va_list from stdio.h.  Since this doesn't happen any
+ *  longer, use __gnuc_va_list there, too.
  */
 fix = {
     hackname = stdio_va_list;
@@ -2716,6 +2715,9 @@ fix = {
     files    = wchar.h;
     files    = curses_colr/curses.h;
     bypass   = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list';
+    /* Don't fix, if we use va_list from stdarg.h, or if the use is
+       otherwise protected.  */
+    bypass   = 'include <stdarg\.h>|#ifdef va_start';
 
     /*
      * Use __gnuc_va_list in arg types in place of va_list.
-- 
GitLab