OSDN Git Service

reorganize inclhacks and apply fix to fixtests.c
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 May 2001 18:21:04 +0000 (18:21 +0000)
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 May 2001 18:21:04 +0000 (18:21 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42663 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/README-fixinc
gcc/fixinc/check.tpl
gcc/fixinc/fixfixes.c
gcc/fixinc/fixincl.tpl
gcc/fixinc/fixincl.x
gcc/fixinc/fixtests.c
gcc/fixinc/inclhack.def
gcc/fixinc/tests/base/stdio.h

index 2d49273..73105b8 100644 (file)
@@ -1,3 +1,19 @@
+2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+        * fixinc/fixtests.c: Declare entries in ENV_TABLE.
+
+2001-05-27  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/check.tpl(HACK) add and use a Scheme variable
+       (has no test text): error out if no "test_text" is defined
+       * fixinc/fixincl.tpl: likewise
+       (FIXIDX): make it an enumeration so we minimize diffs
+       * fixinc/inclhack.def: re-alphabetize and add sort instructions
+       * fixinc/fixincl.x: regenerate
+       * fixinc/tests/base/stdio.h: test output got moved due to
+       the alphabetizing
+       * README-fixinc: rewrite (mostly)
+
 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cpplib.c (run_directive): Set pfile->directive.
index 4b303dd..7086a77 100644 (file)
@@ -1,9 +1,14 @@
 This README file is copied into the directory for GCC-only header files
 when fixincludes is run by the makefile for GCC.
 
-Many of the files in this directory were made from the standard system
-header files of this system by the shell script `fixincludes'.
-They are system-specific, and will not work on any other kind of system.
-They are also not part of GCC.  The reason for making the files here
-is to fix the places in the header files which use constructs
-that are incompatible with ANSI C.
+Many of the files in this directory were automatically edited from the
+standard system header files by the fixincludes process.  They are
+system-specific, and will not work on any other kind of system.  They
+are also not part of GCC.  The reason we have to do this is because
+GCC requires ANSI C headers and many vendors supply ANSI-incompatible
+headers.
+
+Because this is an automated process, sometimes headers get "fixed"
+that do not, strictly speaking, need a fix.  As long as nothing is broken
+by the process, it is just an unfortunate collateral inconvenience.
+We would like to rectify it, if it is not "too inconvenient".
index c89b214..fd03b3e 100644 (file)
@@ -40,12 +40,13 @@ mkdir ${DESTDIR} ${SRCDIR}
 cd inc
 [=
 (define sfile "")
+(define HACK  "")
 (define dfile "")              =][=
 
 FOR fix                        =][=
 
   IF (> (count "test_text") 1) =][=
-
+    (set! HACK (string-upcase! (get "hackname")))
     (set! sfile (if (exist? "files") (get "files[]") "testing.h"))
     (set! dfile (string-append
           (if (*==* sfile "/")
@@ -58,9 +59,9 @@ FOR fix                        =][=
 cat >> [=(. sfile)=] <<_HACK_EOF_
 
 
-#if defined( [=(string-upcase! (get "hackname"))=]_CHECK_[=(for-index)=] )
+#if defined( [=(. HACK)=]_CHECK_[=(for-index)=] )
 [=test_text=]
-#endif  /* [=(string-upcase! (get "hackname"))=]_CHECK_[=(for-index)=] */
+#endif  /* [=(. HACK)=]_CHECK_[=(for-index)=] */
 _HACK_EOF_
 echo [=(. sfile)=] | ../../fixincl
 mv -f [=(. sfile)=] [=(. dfile)=]-[=(for-index)=].h
@@ -75,17 +76,15 @@ ENDFOR  fix
 
 =][=
 
-FOR fix =][=
+FOR fix  =][=
+  (set! HACK (string-upcase! (get "hackname")))  =][=
 
   IF (not (exist? "test_text")) =][=
-    IF (not (exist? "replace")) =]
-echo No test for [=hackname=] in inc/[=
-      IF (exist? "files")       =][=
-        files[0] =][=
-      ELSE  =]testing.h[=
-      ENDIF =][=
-    ENDIF   =][=
-  ELSE      =]
+    (if (not (exist? "replace"))
+        (error (sprintf "include fix '%s' has no test text"
+                        (get "hackname") )) )
+         =][=
+  ELSE   =]
 cat >> [=
     IF (exist? "files") =][=
       files[0] =][=
@@ -93,9 +92,9 @@ cat >> [=
     ENDIF =] <<_HACK_EOF_
 
 
-#if defined( [=(string-upcase! (get "hackname"))=]_CHECK )
+#if defined( [=(. HACK)=]_CHECK )
 [=test_text=]
-#endif  /* [=(string-upcase! (get "hackname"))=]_CHECK */
+#endif  /* [=(. HACK)=]_CHECK */
 _HACK_EOF_
 [=ENDIF =][=
 
@@ -103,7 +102,7 @@ ENDFOR  fix
 
 =]
 
-find . -type f | sed 's;\./;;' | sort | ../../fixincl
+find . -type f | sed 's;^\./;;' | sort | ../../fixincl
 cd ${DESTDIR}
 
 exitok=true
index 56b9f54..afdecfc 100644 (file)
@@ -30,14 +30,6 @@ Here are the rules:
     This may be useful, for example, if there are interesting strings
     or pre-compiled regular expressions stored there.
 
-    It is also possible to access fix descriptions by using the
-    index of a known fix, "my_fix_name" for example:
-
-        tFixDesc*  p_desc  = fixDescList + MY_FIX_NAME_FIXIDX;
-        tTestDesc* p_tlist = p_desc->p_test_desc;
-
-        regexec (p_tlist->p_test_regex, ...)
-
 = = = = = = = = = = = = = = = = = = = = = = = = =
 
 This file is part of GNU CC.
index 7aeb9ca..e8aefd0 100644 (file)
@@ -26,6 +26,8 @@ FOR fix =]
  *  Description of [=
     (set! Hack (string-capitalize! (get "hackname")))
     (set! HACK (string-upcase!     (get "hackname")))
+    (if (and (not (exist? "test_text")) (not (exist? "replace")))
+        (error (sprintf "include fix '%s' has no test text" Hack )) )
     (. Hack)=] fix
  */[=
 
@@ -33,7 +35,6 @@ FOR fix =]
   some C fix wishes to refer to the regexps it is paired with.
   See commentary at the top of fixfixes.c.
 =]
-#define [=(sprintf "%-32s" (string-append HACK "_FIXIDX"))=] [=(for-index)=]
 tSCC z[=(. Hack)=]Name[] =
      "[=hackname=]";
 
@@ -181,6 +182,18 @@ static const char* apz[=(. Hack)=]Patch[] = {[=
 #define MACH_LIST_SIZE_LIMIT [= (+ 128 max-mach) =]
 #define FIX_COUNT            [= (count "fix") =]
 
+/*
+ *  Enumerate the fixes[= # in a way that minimizes diffs :-) =]
+ */
+typedef enum {[=
+
+FOR fix "," =]
+    [=(string-upcase! (get "hackname"))=]_FIXIDX[=
+ENDFOR
+
+=]
+} t_fixinc_idx;
+
 tFixDesc fixDescList[ FIX_COUNT ] = {[=
 
 
index 526e599..da19e6c 100644 (file)
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Aaa_Ki_Iface fix
+ *  Description of Aaa_Bad_Fixes fix
  */
-#define AAA_KI_IFACE_FIXIDX              0
-tSCC zAaa_Ki_IfaceName[] =
-     "AAA_ki_iface";
+tSCC zAaa_Bad_FixesName[] =
+     "AAA_bad_fixes";
 
 /*
  *  File name selection pattern
  */
-tSCC zAaa_Ki_IfaceList[] =
-  "|sys/ki_iface.h|";
+tSCC zAaa_Bad_FixesList[] =
+  "|sundev/ipi_error.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzAaa_Ki_IfaceMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zAaa_Ki_IfaceSelect0[] =
-       "These definitions are for HP Internal developers";
-
-#define    AAA_KI_IFACE_TEST_CT  1
-static tTestDesc aAaa_Ki_IfaceTests[] = {
-  { TT_EGREP,    zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
+#define apzAaa_Bad_FixesMachs (const char**)NULL
+#define AAA_BAD_FIXES_TEST_CT  0
+#define aAaa_Bad_FixesTests   (tTestDesc*)NULL
 
 /*
- *  Fix Command Arguments for Aaa_Ki_Iface
+ *  Fix Command Arguments for Aaa_Bad_Fixes
  */
-static const char* apzAaa_Ki_IfacePatch[] = {
+static const char* apzAaa_Bad_FixesPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aaa_Ki fix
  */
-#define AAA_KI_FIXIDX                    1
 tSCC zAaa_KiName[] =
      "AAA_ki";
 
@@ -102,7 +92,6 @@ static const char* apzAaa_KiPatch[] = {
  *
  *  Description of Aaa_Ki_Calls fix
  */
-#define AAA_KI_CALLS_FIXIDX              2
 tSCC zAaa_Ki_CallsName[] =
      "AAA_ki_calls";
 
@@ -136,7 +125,6 @@ static const char* apzAaa_Ki_CallsPatch[] = {
  *
  *  Description of Aaa_Ki_Defs fix
  */
-#define AAA_KI_DEFS_FIXIDX               3
 tSCC zAaa_Ki_DefsName[] =
      "AAA_ki_defs";
 
@@ -168,69 +156,74 @@ static const char* apzAaa_Ki_DefsPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Aaa_Standards fix
+ *  Description of Aaa_Ki_Iface fix
  */
-#define AAA_STANDARDS_FIXIDX             4
-tSCC zAaa_StandardsName[] =
-     "AAA_standards";
+tSCC zAaa_Ki_IfaceName[] =
+     "AAA_ki_iface";
 
 /*
  *  File name selection pattern
  */
-tSCC zAaa_StandardsList[] =
-  "|standards.h|";
+tSCC zAaa_Ki_IfaceList[] =
+  "|sys/ki_iface.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzAaa_StandardsMachs (const char**)NULL
+#define apzAaa_Ki_IfaceMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zAaa_StandardsSelect0[] =
-       "GNU and MIPS C compilers define __STDC__ differently";
+tSCC zAaa_Ki_IfaceSelect0[] =
+       "These definitions are for HP Internal developers";
 
-#define    AAA_STANDARDS_TEST_CT  1
-static tTestDesc aAaa_StandardsTests[] = {
-  { TT_EGREP,    zAaa_StandardsSelect0, (regex_t*)NULL }, };
+#define    AAA_KI_IFACE_TEST_CT  1
+static tTestDesc aAaa_Ki_IfaceTests[] = {
+  { TT_EGREP,    zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Aaa_Standards
+ *  Fix Command Arguments for Aaa_Ki_Iface
  */
-static const char* apzAaa_StandardsPatch[] = {
+static const char* apzAaa_Ki_IfacePatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Aaa_Bad_Fixes fix
+ *  Description of Aaa_Standards fix
  */
-#define AAA_BAD_FIXES_FIXIDX             5
-tSCC zAaa_Bad_FixesName[] =
-     "AAA_bad_fixes";
+tSCC zAaa_StandardsName[] =
+     "AAA_standards";
 
 /*
  *  File name selection pattern
  */
-tSCC zAaa_Bad_FixesList[] =
-  "|sundev/ipi_error.h|";
+tSCC zAaa_StandardsList[] =
+  "|standards.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzAaa_Bad_FixesMachs (const char**)NULL
-#define AAA_BAD_FIXES_TEST_CT  0
-#define aAaa_Bad_FixesTests   (tTestDesc*)NULL
+#define apzAaa_StandardsMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Aaa_Bad_Fixes
+ *  content selection pattern - do fix if pattern found
  */
-static const char* apzAaa_Bad_FixesPatch[] = {
+tSCC zAaa_StandardsSelect0[] =
+       "GNU and MIPS C compilers define __STDC__ differently";
+
+#define    AAA_STANDARDS_TEST_CT  1
+static tTestDesc aAaa_StandardsTests[] = {
+  { TT_EGREP,    zAaa_StandardsSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aaa_Standards
+ */
+static const char* apzAaa_StandardsPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aaa_Time fix
  */
-#define AAA_TIME_FIXIDX                  6
 tSCC zAaa_TimeName[] =
      "AAA_time";
 
@@ -264,7 +257,6 @@ static const char* apzAaa_TimePatch[] = {
  *
  *  Description of Aab_Dgux_Int_Varargs fix
  */
-#define AAB_DGUX_INT_VARARGS_FIXIDX      7
 tSCC zAab_Dgux_Int_VarargsName[] =
      "AAB_dgux_int_varargs";
 
@@ -336,7 +328,6 @@ typedef char * va_list;\n\
  *
  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
  */
-#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 8
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
      "AAB_fd_zero_asm_posix_types_h";
 
@@ -390,7 +381,6 @@ static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
  *
  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
  */
-#define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX   9
 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
      "AAB_fd_zero_gnu_types_h";
 
@@ -435,7 +425,6 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
  *
  *  Description of Aab_Fd_Zero_Selectbits_H fix
  */
-#define AAB_FD_ZERO_SELECTBITS_H_FIXIDX  10
 tSCC zAab_Fd_Zero_Selectbits_HName[] =
      "AAB_fd_zero_selectbits_h";
 
@@ -484,7 +473,6 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
  *
  *  Description of Aab_Sun_Memcpy fix
  */
-#define AAB_SUN_MEMCPY_FIXIDX            11
 tSCC zAab_Sun_MemcpyName[] =
      "AAB_sun_memcpy";
 
@@ -534,7 +522,6 @@ extern int memcmp();\n\n\
  *
  *  Description of Aab_Svr4_Replace_Byteorder fix
  */
-#define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 12
 tSCC zAab_Svr4_Replace_ByteorderName[] =
      "AAB_svr4_replace_byteorder";
 
@@ -674,7 +661,6 @@ ntohs (unsigned int __arg)\n\
  *
  *  Description of Aab_Ultrix_Ansi_Compat fix
  */
-#define AAB_ULTRIX_ANSI_COMPAT_FIXIDX    13
 tSCC zAab_Ultrix_Ansi_CompatName[] =
      "AAB_ultrix_ansi_compat";
 
@@ -709,7 +695,6 @@ static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
  *
  *  Description of Aab_Ultrix_Limits fix
  */
-#define AAB_ULTRIX_LIMITS_FIXIDX         14
 tSCC zAab_Ultrix_LimitsName[] =
      "AAB_ultrix_limits";
 
@@ -741,7 +726,6 @@ static const char* apzAab_Ultrix_LimitsPatch[] = {
  *
  *  Description of Aab_Ultrix_Memory fix
  */
-#define AAB_ULTRIX_MEMORY_FIXIDX         15
 tSCC zAab_Ultrix_MemoryName[] =
      "AAB_ultrix_memory";
 
@@ -773,7 +757,6 @@ static const char* apzAab_Ultrix_MemoryPatch[] = {
  *
  *  Description of Aab_Ultrix_String fix
  */
-#define AAB_ULTRIX_STRING_FIXIDX         16
 tSCC zAab_Ultrix_StringName[] =
      "AAB_ultrix_string";
 
@@ -805,7 +788,6 @@ static const char* apzAab_Ultrix_StringPatch[] = {
  *
  *  Description of Aix_Pthread fix
  */
-#define AIX_PTHREAD_FIXIDX               17
 tSCC zAix_PthreadName[] =
      "aix_pthread";
 
@@ -843,7 +825,6 @@ static const char* apzAix_PthreadPatch[] = {
  *
  *  Description of Aix_Sysmachine fix
  */
-#define AIX_SYSMACHINE_FIXIDX            18
 tSCC zAix_SysmachineName[] =
      "aix_sysmachine";
 
@@ -879,7 +860,6 @@ static const char* apzAix_SysmachinePatch[] = {
  *
  *  Description of Aix_Syswait fix
  */
-#define AIX_SYSWAIT_FIXIDX               19
 tSCC zAix_SyswaitName[] =
      "aix_syswait";
 
@@ -919,7 +899,6 @@ static const char* apzAix_SyswaitPatch[] = {
  *
  *  Description of Aix_Volatile fix
  */
-#define AIX_VOLATILE_FIXIDX              20
 tSCC zAix_VolatileName[] =
      "aix_volatile";
 
@@ -955,7 +934,6 @@ static const char* apzAix_VolatilePatch[] = {
  *
  *  Description of Alpha___Assert fix
  */
-#define ALPHA___ASSERT_FIXIDX            21
 tSCC zAlpha___AssertName[] =
      "alpha___assert";
 
@@ -991,7 +969,6 @@ static const char* apzAlpha___AssertPatch[] = {
  *
  *  Description of Alpha_Getopt fix
  */
-#define ALPHA_GETOPT_FIXIDX              22
 tSCC zAlpha_GetoptName[] =
      "alpha_getopt";
 
@@ -1027,7 +1004,6 @@ static const char* apzAlpha_GetoptPatch[] = {
  *
  *  Description of Alpha_Parens fix
  */
-#define ALPHA_PARENS_FIXIDX              23
 tSCC zAlpha_ParensName[] =
      "alpha_parens";
 
@@ -1063,7 +1039,6 @@ static const char* apzAlpha_ParensPatch[] = {
  *
  *  Description of Alpha_Sbrk fix
  */
-#define ALPHA_SBRK_FIXIDX                24
 tSCC zAlpha_SbrkName[] =
      "alpha_sbrk";
 
@@ -1099,7 +1074,6 @@ static const char* apzAlpha_SbrkPatch[] = {
  *
  *  Description of Arm_Norcroft_Hint fix
  */
-#define ARM_NORCROFT_HINT_FIXIDX         25
 tSCC zArm_Norcroft_HintName[] =
      "arm_norcroft_hint";
 
@@ -1135,7 +1109,6 @@ static const char* apzArm_Norcroft_HintPatch[] = {
  *
  *  Description of Arm_Wchar fix
  */
-#define ARM_WCHAR_FIXIDX                 26
 tSCC zArm_WcharName[] =
      "arm_wchar";
 
@@ -1172,7 +1145,6 @@ static const char* apzArm_WcharPatch[] = {
  *
  *  Description of Aux_Asm fix
  */
-#define AUX_ASM_FIXIDX                   27
 tSCC zAux_AsmName[] =
      "aux_asm";
 
@@ -1208,7 +1180,6 @@ static const char* apzAux_AsmPatch[] = {
  *
  *  Description of Avoid_Bool_Define fix
  */
-#define AVOID_BOOL_DEFINE_FIXIDX         28
 tSCC zAvoid_Bool_DefineName[] =
      "avoid_bool_define";
 
@@ -1254,7 +1225,6 @@ static const char* apzAvoid_Bool_DefinePatch[] = {
  *
  *  Description of Avoid_Bool_Type fix
  */
-#define AVOID_BOOL_TYPE_FIXIDX           29
 tSCC zAvoid_Bool_TypeName[] =
      "avoid_bool_type";
 
@@ -1299,7 +1269,6 @@ static const char* apzAvoid_Bool_TypePatch[] = {
  *
  *  Description of Avoid_Wchar_T_Type fix
  */
-#define AVOID_WCHAR_T_TYPE_FIXIDX        30
 tSCC zAvoid_Wchar_T_TypeName[] =
      "avoid_wchar_t_type";
 
@@ -1336,7 +1305,6 @@ static const char* apzAvoid_Wchar_T_TypePatch[] = {
  *
  *  Description of Bad_Lval fix
  */
-#define BAD_LVAL_FIXIDX                  31
 tSCC zBad_LvalName[] =
      "bad_lval";
 
@@ -1371,7 +1339,6 @@ static const char* apzBad_LvalPatch[] = { "sed",
  *
  *  Description of Bad_Struct_Term fix
  */
-#define BAD_STRUCT_TERM_FIXIDX           32
 tSCC zBad_Struct_TermName[] =
      "bad_struct_term";
 
@@ -1407,7 +1374,6 @@ static const char* apzBad_Struct_TermPatch[] = {
  *
  *  Description of Badquote fix
  */
-#define BADQUOTE_FIXIDX                  33
 tSCC zBadquoteName[] =
      "badquote";
 
@@ -1443,7 +1409,6 @@ static const char* apzBadquotePatch[] = {
  *
  *  Description of Broken_Assert_Stdio fix
  */
-#define BROKEN_ASSERT_STDIO_FIXIDX       34
 tSCC zBroken_Assert_StdioName[] =
      "broken_assert_stdio";
 
@@ -1486,7 +1451,6 @@ static const char* apzBroken_Assert_StdioPatch[] = {
  *
  *  Description of Broken_Assert_Stdlib fix
  */
-#define BROKEN_ASSERT_STDLIB_FIXIDX      35
 tSCC zBroken_Assert_StdlibName[] =
      "broken_assert_stdlib";
 
@@ -1531,7 +1495,6 @@ static const char* apzBroken_Assert_StdlibPatch[] = {
  *
  *  Description of Broken_Cabs fix
  */
-#define BROKEN_CABS_FIXIDX               36
 tSCC zBroken_CabsName[] =
      "broken_cabs";
 
@@ -1568,7 +1531,6 @@ static const char* apzBroken_CabsPatch[] = {
  *
  *  Description of Ctrl_Quotes_Def fix
  */
-#define CTRL_QUOTES_DEF_FIXIDX           37
 tSCC zCtrl_Quotes_DefName[] =
      "ctrl_quotes_def";
 
@@ -1603,7 +1565,6 @@ static const char* apzCtrl_Quotes_DefPatch[] = {
  *
  *  Description of Ctrl_Quotes_Use fix
  */
-#define CTRL_QUOTES_USE_FIXIDX           38
 tSCC zCtrl_Quotes_UseName[] =
      "ctrl_quotes_use";
 
@@ -1638,7 +1599,6 @@ static const char* apzCtrl_Quotes_UsePatch[] = {
  *
  *  Description of Cxx_Unready fix
  */
-#define CXX_UNREADY_FIXIDX               39
 tSCC zCxx_UnreadyName[] =
      "cxx_unready";
 
@@ -1686,7 +1646,6 @@ extern \"C\" {\n\
  *
  *  Description of Dec_Intern_Asm fix
  */
-#define DEC_INTERN_ASM_FIXIDX            40
 tSCC zDec_Intern_AsmName[] =
      "dec_intern_asm";
 
@@ -1716,7 +1675,6 @@ static const char* apzDec_Intern_AsmPatch[] = { "sed",
  *
  *  Description of Djgpp_Wchar_H fix
  */
-#define DJGPP_WCHAR_H_FIXIDX             41
 tSCC zDjgpp_Wchar_HName[] =
      "djgpp_wchar_h";
 
@@ -1760,7 +1718,6 @@ static const char* apzDjgpp_Wchar_HPatch[] = {
  *
  *  Description of Ecd_Cursor fix
  */
-#define ECD_CURSOR_FIXIDX                42
 tSCC zEcd_CursorName[] =
      "ecd_cursor";
 
@@ -1796,7 +1753,6 @@ static const char* apzEcd_CursorPatch[] = {
  *
  *  Description of Fix_Header_Breakage fix
  */
-#define FIX_HEADER_BREAKAGE_FIXIDX       43
 tSCC zFix_Header_BreakageName[] =
      "fix_header_breakage";
 
@@ -1834,7 +1790,6 @@ static const char* apzFix_Header_BreakagePatch[] = {
  *
  *  Description of Freebsd_Gcc3_Breakage fix
  */
-#define FREEBSD_GCC3_BREAKAGE_FIXIDX     44
 tSCC zFreebsd_Gcc3_BreakageName[] =
      "freebsd_gcc3_breakage";
 
@@ -1877,9 +1832,49 @@ static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Gnu_Types fix
+ */
+tSCC zGnu_TypesName[] =
+     "gnu_types";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGnu_TypesList[] =
+  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGnu_TypesMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGnu_TypesSelect0[] =
+       "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zGnu_TypesBypass0[] =
+       "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
+
+#define    GNU_TYPES_TEST_CT  2
+static tTestDesc aGnu_TypesTests[] = {
+  { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Gnu_Types
+ */
+static const char* apzGnu_TypesPatch[] = {
+    "gnu_type",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Hp_Inline fix
  */
-#define HP_INLINE_FIXIDX                 45
 tSCC zHp_InlineName[] =
      "hp_inline";
 
@@ -1916,7 +1911,6 @@ static const char* apzHp_InlinePatch[] = {
  *
  *  Description of Hp_Sysfile fix
  */
-#define HP_SYSFILE_FIXIDX                46
 tSCC zHp_SysfileName[] =
      "hp_sysfile";
 
@@ -1953,7 +1947,6 @@ static const char* apzHp_SysfilePatch[] = {
  *
  *  Description of Hpux11_Fabsf fix
  */
-#define HPUX11_FABSF_FIXIDX              47
 tSCC zHpux11_FabsfName[] =
      "hpux11_fabsf";
 
@@ -1998,7 +1991,6 @@ static const char* apzHpux11_FabsfPatch[] = {
  *
  *  Description of Hpux11_Uint32_C fix
  */
-#define HPUX11_UINT32_C_FIXIDX           48
 tSCC zHpux11_Uint32_CName[] =
      "hpux11_uint32_c";
 
@@ -2034,7 +2026,6 @@ static const char* apzHpux11_Uint32_CPatch[] = {
  *
  *  Description of Hpux8_Bogus_Inlines fix
  */
-#define HPUX8_BOGUS_INLINES_FIXIDX       49
 tSCC zHpux8_Bogus_InlinesName[] =
      "hpux8_bogus_inlines";
 
@@ -2070,81 +2061,130 @@ static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Int_Abort_Free_And_Exit fix
+ *  Description of Hpux_Maxint fix
  */
-#define INT_ABORT_FREE_AND_EXIT_FIXIDX   50
-tSCC zInt_Abort_Free_And_ExitName[] =
-     "int_abort_free_and_exit";
+tSCC zHpux_MaxintName[] =
+     "hpux_maxint";
 
 /*
  *  File name selection pattern
  */
-tSCC zInt_Abort_Free_And_ExitList[] =
-  "|stdlib.h|";
+tSCC zHpux_MaxintList[] =
+  "|sys/param.h|values.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
+#define apzHpux_MaxintMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zInt_Abort_Free_And_ExitSelect0[] =
-       "int[ \t]+(abort|free|exit)[ \t]*\\(";
+tSCC zHpux_MaxintSelect0[] =
+       "^#[ \t]*define[ \t]+MAXINT[ \t]";
 
-#define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
-static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
-  { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux_MaxintBypass0[] =
+       "^#[ \t]*ifndef[ \t]+MAXINT";
 
 /*
- *  Fix Command Arguments for Int_Abort_Free_And_Exit
+ *  perform the 'test' shell command - do fix on success
  */
-static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+tSCC zHpux_MaxintTest0[] =
+       "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
+
+#define    HPUX_MAXINT_TEST_CT  3
+static tTestDesc aHpux_MaxintTests[] = {
+  { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
+  { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hpux_Maxint
+ */
+static const char* apzHpux_MaxintPatch[] = {
     "format",
-    "void\t%1(",
+    "#ifndef MAXINT\n\
+%0\n\
+#endif",
+    "^#[ \t]*define[ \t]+MAXINT[ \t].*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Isc_Omits_With_Stdc fix
+ *  Description of Hpux_Systime fix
  */
-#define ISC_OMITS_WITH_STDC_FIXIDX       51
-tSCC zIsc_Omits_With_StdcName[] =
-     "isc_omits_with_stdc";
+tSCC zHpux_SystimeName[] =
+     "hpux_systime";
 
 /*
  *  File name selection pattern
  */
-tSCC zIsc_Omits_With_StdcList[] =
-  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+tSCC zHpux_SystimeList[] =
+  "|sys/time.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIsc_Omits_With_StdcMachs (const char**)NULL
+#define apzHpux_SystimeMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIsc_Omits_With_StdcSelect0[] =
-       "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
+tSCC zHpux_SystimeSelect0[] =
+       "^extern struct sigevent;";
 
-#define    ISC_OMITS_WITH_STDC_TEST_CT  1
-static tTestDesc aIsc_Omits_With_StdcTests[] = {
-  { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
+#define    HPUX_SYSTIME_TEST_CT  1
+static tTestDesc aHpux_SystimeTests[] = {
+  { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Isc_Omits_With_Stdc
+ *  Fix Command Arguments for Hpux_Systime
  */
-static const char* apzIsc_Omits_With_StdcPatch[] = {
+static const char* apzHpux_SystimePatch[] = {
     "format",
-    "!defined(_POSIX_SOURCE)",
+    "struct sigevent;",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Int_Abort_Free_And_Exit fix
+ */
+tSCC zInt_Abort_Free_And_ExitName[] =
+     "int_abort_free_and_exit";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zInt_Abort_Free_And_ExitList[] =
+  "|stdlib.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zInt_Abort_Free_And_ExitSelect0[] =
+       "int[ \t]+(abort|free|exit)[ \t]*\\(";
+
+#define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
+static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
+  { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Int_Abort_Free_And_Exit
+ */
+static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+    "format",
+    "void\t%1(",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Io_Quotes_Def fix
  */
-#define IO_QUOTES_DEF_FIXIDX             52
 tSCC zIo_Quotes_DefName[] =
      "io_quotes_def";
 
@@ -2179,7 +2219,6 @@ static const char* apzIo_Quotes_DefPatch[] = {
  *
  *  Description of Io_Quotes_Use fix
  */
-#define IO_QUOTES_USE_FIXIDX             53
 tSCC zIo_Quotes_UseName[] =
      "io_quotes_use";
 
@@ -2212,170 +2251,113 @@ static const char* apzIo_Quotes_UsePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hpux_Maxint fix
+ *  Description of Ip_Missing_Semi fix
  */
-#define HPUX_MAXINT_FIXIDX               54
-tSCC zHpux_MaxintName[] =
-     "hpux_maxint";
+tSCC zIp_Missing_SemiName[] =
+     "ip_missing_semi";
 
 /*
  *  File name selection pattern
  */
-tSCC zHpux_MaxintList[] =
-  "|sys/param.h|values.h|";
+tSCC zIp_Missing_SemiList[] =
+  "|netinet/ip.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHpux_MaxintMachs (const char**)NULL
+#define apzIp_Missing_SemiMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHpux_MaxintSelect0[] =
-       "^#[ \t]*define[ \t]+MAXINT[ \t]";
+tSCC zIp_Missing_SemiSelect0[] =
+       "}$";
 
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zHpux_MaxintBypass0[] =
-       "^#[ \t]*ifndef[ \t]+MAXINT";
+#define    IP_MISSING_SEMI_TEST_CT  1
+static tTestDesc aIp_Missing_SemiTests[] = {
+  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
 
 /*
- *  perform the 'test' shell command - do fix on success
- */
-tSCC zHpux_MaxintTest0[] =
-       "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
-
-#define    HPUX_MAXINT_TEST_CT  3
-static tTestDesc aHpux_MaxintTests[] = {
-  { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
-  { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Hpux_Maxint
+ *  Fix Command Arguments for Ip_Missing_Semi
  */
-static const char* apzHpux_MaxintPatch[] = {
-    "format",
-    "#ifndef MAXINT\n\
-%0\n\
-#endif",
-    "^#[ \t]*define[ \t]+MAXINT[ \t].*",
+static const char* apzIp_Missing_SemiPatch[] = { "sed",
+    "-e", "/^struct/,/^};/s/}$/};/",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hpux_Systime fix
+ *  Description of Irix_Asm_Apostrophe fix
  */
-#define HPUX_SYSTIME_FIXIDX              55
-tSCC zHpux_SystimeName[] =
-     "hpux_systime";
+tSCC zIrix_Asm_ApostropheName[] =
+     "irix_asm_apostrophe";
 
 /*
  *  File name selection pattern
  */
-tSCC zHpux_SystimeList[] =
-  "|sys/time.h|";
+tSCC zIrix_Asm_ApostropheList[] =
+  "|sys/asm.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHpux_SystimeMachs (const char**)NULL
+#define apzIrix_Asm_ApostropheMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHpux_SystimeSelect0[] =
-       "^extern struct sigevent;";
+tSCC zIrix_Asm_ApostropheSelect0[] =
+       "^[ \t]*#.*[Ww]e're";
 
-#define    HPUX_SYSTIME_TEST_CT  1
-static tTestDesc aHpux_SystimeTests[] = {
-  { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
+#define    IRIX_ASM_APOSTROPHE_TEST_CT  1
+static tTestDesc aIrix_Asm_ApostropheTests[] = {
+  { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Hpux_Systime
+ *  Fix Command Arguments for Irix_Asm_Apostrophe
  */
-static const char* apzHpux_SystimePatch[] = {
+static const char* apzIrix_Asm_ApostrophePatch[] = {
     "format",
-    "struct sigevent;",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Ip_Missing_Semi fix
- */
-#define IP_MISSING_SEMI_FIXIDX           56
-tSCC zIp_Missing_SemiName[] =
-     "ip_missing_semi";
-
-/*
- *  File name selection pattern
- */
-tSCC zIp_Missing_SemiList[] =
-  "|netinet/ip.h|";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzIp_Missing_SemiMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zIp_Missing_SemiSelect0[] =
-       "}$";
-
-#define    IP_MISSING_SEMI_TEST_CT  1
-static tTestDesc aIp_Missing_SemiTests[] = {
-  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Ip_Missing_Semi
- */
-static const char* apzIp_Missing_SemiPatch[] = { "sed",
-    "-e", "/^struct/,/^};/s/}$/};/",
+    "%1 are",
+    "^([ \t]*#.*[Ww]e)'re",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Irix_Asm_Apostrophe fix
+ *  Description of Irix_Limits_Const fix
  */
-#define IRIX_ASM_APOSTROPHE_FIXIDX       57
-tSCC zIrix_Asm_ApostropheName[] =
-     "irix_asm_apostrophe";
+tSCC zIrix_Limits_ConstName[] =
+     "irix_limits_const";
 
 /*
  *  File name selection pattern
  */
-tSCC zIrix_Asm_ApostropheList[] =
-  "|sys/asm.h|";
+tSCC zIrix_Limits_ConstList[] =
+  "|fixinc-test-limits.h|limits.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIrix_Asm_ApostropheMachs (const char**)NULL
+#define apzIrix_Limits_ConstMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIrix_Asm_ApostropheSelect0[] =
-       "^[ \t]*#.*[Ww]e're";
+tSCC zIrix_Limits_ConstSelect0[] =
+       "^extern const ";
 
-#define    IRIX_ASM_APOSTROPHE_TEST_CT  1
-static tTestDesc aIrix_Asm_ApostropheTests[] = {
-  { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
+#define    IRIX_LIMITS_CONST_TEST_CT  1
+static tTestDesc aIrix_Limits_ConstTests[] = {
+  { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Irix_Asm_Apostrophe
+ *  Fix Command Arguments for Irix_Limits_Const
  */
-static const char* apzIrix_Asm_ApostrophePatch[] = {
+static const char* apzIrix_Limits_ConstPatch[] = {
     "format",
-    "%1 are",
-    "^([ \t]*#.*[Ww]e)'re",
+    "extern __const ",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Irix_Stdio_Va_List fix
  */
-#define IRIX_STDIO_VA_LIST_FIXIDX        58
 tSCC zIrix_Stdio_Va_ListName[] =
      "irix_stdio_va_list";
 
@@ -2409,81 +2391,78 @@ static const char* apzIrix_Stdio_Va_ListPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Irix_Limits_Const fix
+ *  Description of Isc_Fmod fix
  */
-#define IRIX_LIMITS_CONST_FIXIDX         59
-tSCC zIrix_Limits_ConstName[] =
-     "irix_limits_const";
+tSCC zIsc_FmodName[] =
+     "isc_fmod";
 
 /*
  *  File name selection pattern
  */
-tSCC zIrix_Limits_ConstList[] =
-  "|fixinc-test-limits.h|limits.h|";
+tSCC zIsc_FmodList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIrix_Limits_ConstMachs (const char**)NULL
+#define apzIsc_FmodMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIrix_Limits_ConstSelect0[] =
-       "^extern const ";
+tSCC zIsc_FmodSelect0[] =
+       "fmod\\(double\\)";
 
-#define    IRIX_LIMITS_CONST_TEST_CT  1
-static tTestDesc aIrix_Limits_ConstTests[] = {
-  { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
+#define    ISC_FMOD_TEST_CT  1
+static tTestDesc aIsc_FmodTests[] = {
+  { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Irix_Limits_Const
+ *  Fix Command Arguments for Isc_Fmod
  */
-static const char* apzIrix_Limits_ConstPatch[] = {
+static const char* apzIsc_FmodPatch[] = {
     "format",
-    "extern __const ",
+    "fmod(double, double)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Isc_Fmod fix
+ *  Description of Isc_Omits_With_Stdc fix
  */
-#define ISC_FMOD_FIXIDX                  60
-tSCC zIsc_FmodName[] =
-     "isc_fmod";
+tSCC zIsc_Omits_With_StdcName[] =
+     "isc_omits_with_stdc";
 
 /*
  *  File name selection pattern
  */
-tSCC zIsc_FmodList[] =
-  "|math.h|";
+tSCC zIsc_Omits_With_StdcList[] =
+  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIsc_FmodMachs (const char**)NULL
+#define apzIsc_Omits_With_StdcMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIsc_FmodSelect0[] =
-       "fmod\\(double\\)";
+tSCC zIsc_Omits_With_StdcSelect0[] =
+       "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
 
-#define    ISC_FMOD_TEST_CT  1
-static tTestDesc aIsc_FmodTests[] = {
-  { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
+#define    ISC_OMITS_WITH_STDC_TEST_CT  1
+static tTestDesc aIsc_Omits_With_StdcTests[] = {
+  { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Isc_Fmod
+ *  Fix Command Arguments for Isc_Omits_With_Stdc
  */
-static const char* apzIsc_FmodPatch[] = {
+static const char* apzIsc_Omits_With_StdcPatch[] = {
     "format",
-    "fmod(double, double)",
+    "!defined(_POSIX_SOURCE)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Kandr_Concat fix
  */
-#define KANDR_CONCAT_FIXIDX              61
 tSCC zKandr_ConcatName[] =
      "kandr_concat";
 
@@ -2519,7 +2498,6 @@ static const char* apzKandr_ConcatPatch[] = {
  *
  *  Description of Libc1_Ifdefd_Memx fix
  */
-#define LIBC1_IFDEFD_MEMX_FIXIDX         62
 tSCC zLibc1_Ifdefd_MemxName[] =
      "libc1_ifdefd_memx";
 
@@ -2568,7 +2546,6 @@ extern [a-z_]+ mem.*(\n\
  *
  *  Description of Limits_Ifndefs fix
  */
-#define LIMITS_IFNDEFS_FIXIDX            63
 tSCC zLimits_IfndefsName[] =
      "limits_ifndefs";
 
@@ -2607,7 +2584,6 @@ static const char* apzLimits_IfndefsPatch[] = {
  *
  *  Description of Lynx_Void_Int fix
  */
-#define LYNX_VOID_INT_FIXIDX             64
 tSCC zLynx_Void_IntName[] =
      "lynx_void_int";
 
@@ -2643,7 +2619,6 @@ static const char* apzLynx_Void_IntPatch[] = {
  *
  *  Description of Lynxos_Fcntl_Proto fix
  */
-#define LYNXOS_FCNTL_PROTO_FIXIDX        65
 tSCC zLynxos_Fcntl_ProtoName[] =
      "lynxos_fcntl_proto";
 
@@ -2680,7 +2655,6 @@ static const char* apzLynxos_Fcntl_ProtoPatch[] = {
  *
  *  Description of M88k_Bad_Hypot_Opt fix
  */
-#define M88K_BAD_HYPOT_OPT_FIXIDX        66
 tSCC zM88k_Bad_Hypot_OptName[] =
      "m88k_bad_hypot_opt";
 
@@ -2729,7 +2703,6 @@ static __inline__ double fake_hypot (x, y)\n\
  *
  *  Description of M88k_Bad_S_If fix
  */
-#define M88K_BAD_S_IF_FIXIDX             67
 tSCC zM88k_Bad_S_IfName[] =
      "m88k_bad_s_if";
 
@@ -2768,7 +2741,6 @@ static const char* apzM88k_Bad_S_IfPatch[] = {
  *
  *  Description of M88k_Multi_Incl fix
  */
-#define M88K_MULTI_INCL_FIXIDX           68
 tSCC zM88k_Multi_InclName[] =
      "m88k_multi_incl";
 
@@ -2805,7 +2777,6 @@ static const char* apzM88k_Multi_InclPatch[] = {
  *
  *  Description of Machine_Ansi_H_Va_List fix
  */
-#define MACHINE_ANSI_H_VA_LIST_FIXIDX    69
 tSCC zMachine_Ansi_H_Va_ListName[] =
      "machine_ansi_h_va_list";
 
@@ -2848,7 +2819,6 @@ static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
  *
  *  Description of Machine_Name fix
  */
-#define MACHINE_NAME_FIXIDX              70
 tSCC zMachine_NameName[] =
      "machine_name";
 
@@ -2881,7 +2851,6 @@ static const char* apzMachine_NamePatch[] = {
  *
  *  Description of Math_Exception fix
  */
-#define MATH_EXCEPTION_FIXIDX            71
 tSCC zMath_ExceptionName[] =
      "math_exception";
 
@@ -2929,7 +2898,6 @@ static const char* apzMath_ExceptionPatch[] = {
  *
  *  Description of Math_Huge_Val_From_Dbl_Max fix
  */
-#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 72
 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
      "math_huge_val_from_dbl_max";
 
@@ -2975,7 +2943,6 @@ static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
  *
  *  Description of Math_Huge_Val_Ifndef fix
  */
-#define MATH_HUGE_VAL_IFNDEF_FIXIDX      73
 tSCC zMath_Huge_Val_IfndefName[] =
      "math_huge_val_ifndef";
 
@@ -3012,9 +2979,43 @@ static const char* apzMath_Huge_Val_IfndefPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Nested_Auth_Des fix
+ */
+tSCC zNested_Auth_DesName[] =
+     "nested_auth_des";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zNested_Auth_DesList[] =
+  "|rpc/rpc.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzNested_Auth_DesMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNested_Auth_DesSelect0[] =
+       "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
+
+#define    NESTED_AUTH_DES_TEST_CT  1
+static tTestDesc aNested_Auth_DesTests[] = {
+  { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Nested_Auth_Des
+ */
+static const char* apzNested_Auth_DesPatch[] = {
+    "format",
+    "%1*/ /*",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Nested_Motorola fix
  */
-#define NESTED_MOTOROLA_FIXIDX           74
 tSCC zNested_MotorolaName[] =
      "nested_motorola";
 
@@ -3052,7 +3053,6 @@ static const char* apzNested_MotorolaPatch[] = { "sed",
  *
  *  Description of Nested_Sys_Limits fix
  */
-#define NESTED_SYS_LIMITS_FIXIDX         75
 tSCC zNested_Sys_LimitsName[] =
      "nested_sys_limits";
 
@@ -3086,45 +3086,8 @@ static const char* apzNested_Sys_LimitsPatch[] = { "sed",
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Nested_Auth_Des fix
- */
-#define NESTED_AUTH_DES_FIXIDX           76
-tSCC zNested_Auth_DesName[] =
-     "nested_auth_des";
-
-/*
- *  File name selection pattern
- */
-tSCC zNested_Auth_DesList[] =
-  "|rpc/rpc.h|";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzNested_Auth_DesMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zNested_Auth_DesSelect0[] =
-       "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
-
-#define    NESTED_AUTH_DES_TEST_CT  1
-static tTestDesc aNested_Auth_DesTests[] = {
-  { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Nested_Auth_Des
- */
-static const char* apzNested_Auth_DesPatch[] = {
-    "format",
-    "%1*/ /*",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
  *  Description of News_Os_Recursion fix
  */
-#define NEWS_OS_RECURSION_FIXIDX         77
 tSCC zNews_Os_RecursionName[] =
      "news_os_recursion";
 
@@ -3162,7 +3125,6 @@ static const char* apzNews_Os_RecursionPatch[] = {
  *
  *  Description of Next_Math_Prefix fix
  */
-#define NEXT_MATH_PREFIX_FIXIDX          78
 tSCC zNext_Math_PrefixName[] =
      "next_math_prefix";
 
@@ -3199,7 +3161,6 @@ static const char* apzNext_Math_PrefixPatch[] = {
  *
  *  Description of Next_Template fix
  */
-#define NEXT_TEMPLATE_FIXIDX             79
 tSCC zNext_TemplateName[] =
      "next_template";
 
@@ -3236,7 +3197,6 @@ static const char* apzNext_TemplatePatch[] = {
  *
  *  Description of Next_Volitile fix
  */
-#define NEXT_VOLITILE_FIXIDX             80
 tSCC zNext_VolitileName[] =
      "next_volitile";
 
@@ -3273,7 +3233,6 @@ static const char* apzNext_VolitilePatch[] = {
  *
  *  Description of Next_Wait_Union fix
  */
-#define NEXT_WAIT_UNION_FIXIDX           81
 tSCC zNext_Wait_UnionName[] =
      "next_wait_union";
 
@@ -3309,7 +3268,6 @@ static const char* apzNext_Wait_UnionPatch[] = {
  *
  *  Description of Nodeent_Syntax fix
  */
-#define NODEENT_SYNTAX_FIXIDX            82
 tSCC zNodeent_SyntaxName[] =
      "nodeent_syntax";
 
@@ -3345,7 +3303,6 @@ static const char* apzNodeent_SyntaxPatch[] = {
  *
  *  Description of Osf_Namespace_A fix
  */
-#define OSF_NAMESPACE_A_FIXIDX           83
 tSCC zOsf_Namespace_AName[] =
      "osf_namespace_a";
 
@@ -3391,7 +3348,6 @@ static const char* apzOsf_Namespace_APatch[] = {
  *
  *  Description of Osf_Namespace_C fix
  */
-#define OSF_NAMESPACE_C_FIXIDX           84
 tSCC zOsf_Namespace_CName[] =
      "osf_namespace_c";
 
@@ -3446,7 +3402,6 @@ typedef __regmatch_t\tregmatch_t;",
  *
  *  Description of Pthread_Page_Size fix
  */
-#define PTHREAD_PAGE_SIZE_FIXIDX         85
 tSCC zPthread_Page_SizeName[] =
      "pthread_page_size";
 
@@ -3482,7 +3437,6 @@ static const char* apzPthread_Page_SizePatch[] = {
  *
  *  Description of Read_Ret_Type fix
  */
-#define READ_RET_TYPE_FIXIDX             86
 tSCC zRead_Ret_TypeName[] =
      "read_ret_type";
 
@@ -3520,7 +3474,6 @@ static const char* apzRead_Ret_TypePatch[] = {
  *
  *  Description of Rs6000_Double fix
  */
-#define RS6000_DOUBLE_FIXIDX             87
 tSCC zRs6000_DoubleName[] =
      "rs6000_double";
 
@@ -3559,7 +3512,6 @@ static const char* apzRs6000_DoublePatch[] = {
  *
  *  Description of Rs6000_Fchmod fix
  */
-#define RS6000_FCHMOD_FIXIDX             88
 tSCC zRs6000_FchmodName[] =
      "rs6000_fchmod";
 
@@ -3595,7 +3547,6 @@ static const char* apzRs6000_FchmodPatch[] = {
  *
  *  Description of Rs6000_Param fix
  */
-#define RS6000_PARAM_FIXIDX              89
 tSCC zRs6000_ParamName[] =
      "rs6000_param";
 
@@ -3631,7 +3582,6 @@ static const char* apzRs6000_ParamPatch[] = {
  *
  *  Description of Sco_Static_Func fix
  */
-#define SCO_STATIC_FUNC_FIXIDX           90
 tSCC zSco_Static_FuncName[] =
      "sco_static_func";
 
@@ -3673,326 +3623,317 @@ extern \"C\" {\\\n\
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Strict_Ansi_Not fix
+ *  Description of Sco_Utime fix
  */
-#define STRICT_ANSI_NOT_FIXIDX           91
-tSCC zStrict_Ansi_NotName[] =
-     "strict_ansi_not";
+tSCC zSco_UtimeName[] =
+     "sco_utime";
 
 /*
  *  File name selection pattern
  */
-#define zStrict_Ansi_NotList (char*)NULL
+tSCC zSco_UtimeList[] =
+  "|sys/times.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStrict_Ansi_NotMachs (const char**)NULL
+tSCC* apzSco_UtimeMachs[] = {
+        "i?86-*-sco3.2v4*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zStrict_Ansi_NotSelect0[] =
-       "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
-
-/*
- *  perform the C function call test
- */
-tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
+tSCC zSco_UtimeSelect0[] =
+       "\\(const char \\*, struct utimbuf \\*\\);";
 
-#define    STRICT_ANSI_NOT_TEST_CT  2
-static tTestDesc aStrict_Ansi_NotTests[] = {
-  { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
-  { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
+#define    SCO_UTIME_TEST_CT  1
+static tTestDesc aSco_UtimeTests[] = {
+  { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Strict_Ansi_Not
+ *  Fix Command Arguments for Sco_Utime
  */
-static const char* apzStrict_Ansi_NotPatch[] = {
+static const char* apzSco_UtimePatch[] = {
     "format",
-    "%1 !defined(__STRICT_ANSI__)%3",
+    "(const char *, const struct utimbuf *);",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Strict_Ansi_Not_Ctd fix
+ *  Description of Solaris27_Mutex_Init fix
  */
-#define STRICT_ANSI_NOT_CTD_FIXIDX       92
-tSCC zStrict_Ansi_Not_CtdName[] =
-     "strict_ansi_not_ctd";
+tSCC zSolaris27_Mutex_InitName[] =
+     "solaris27_mutex_init";
 
 /*
  *  File name selection pattern
  */
-tSCC zStrict_Ansi_Not_CtdList[] =
-  "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|";
+tSCC zSolaris27_Mutex_InitList[] =
+  "|pthread.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
+#define apzSolaris27_Mutex_InitMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zStrict_Ansi_Not_CtdSelect0[] =
-       "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
-
-/*
- *  perform the C function call test
- */
-tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
+tSCC zSolaris27_Mutex_InitSelect0[] =
+       "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI";
 
-#define    STRICT_ANSI_NOT_CTD_TEST_CT  2
-static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
-  { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
-  { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
+#define    SOLARIS27_MUTEX_INIT_TEST_CT  1
+static tTestDesc aSolaris27_Mutex_InitTests[] = {
+  { TT_EGREP,    zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Strict_Ansi_Not_Ctd
+ *  Fix Command Arguments for Solaris27_Mutex_Init
  */
-static const char* apzStrict_Ansi_Not_CtdPatch[] = {
+static const char* apzSolaris27_Mutex_InitPatch[] = {
     "format",
-    "%1 !defined(__STRICT_ANSI__)%3",
+    "%1, {0}}",
+    "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Strict_Ansi_Only fix
+ *  Description of Statsswtch fix
  */
-#define STRICT_ANSI_ONLY_FIXIDX          93
-tSCC zStrict_Ansi_OnlyName[] =
-     "strict_ansi_only";
+tSCC zStatsswtchName[] =
+     "statsswtch";
 
 /*
  *  File name selection pattern
  */
-#define zStrict_Ansi_OnlyList (char*)NULL
+tSCC zStatsswtchList[] =
+  "|rpcsvc/rstat.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStrict_Ansi_OnlyMachs (const char**)NULL
+#define apzStatsswtchMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zStrict_Ansi_OnlySelect0[] =
-       "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)";
-
-/*
- *  perform the C function call test
- */
-tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
+tSCC zStatsswtchSelect0[] =
+       "boottime$";
 
-#define    STRICT_ANSI_ONLY_TEST_CT  2
-static tTestDesc aStrict_Ansi_OnlyTests[] = {
-  { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
-  { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
+#define    STATSSWTCH_TEST_CT  1
+static tTestDesc aStatsswtchTests[] = {
+  { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Strict_Ansi_Only
+ *  Fix Command Arguments for Statsswtch
  */
-static const char* apzStrict_Ansi_OnlyPatch[] = {
+static const char* apzStatsswtchPatch[] = {
     "format",
-    "%1 defined(__STRICT_ANSI__)%3",
+    "boottime;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco_Utime fix
+ *  Description of Stdio_Stdarg_H fix
  */
-#define SCO_UTIME_FIXIDX                 94
-tSCC zSco_UtimeName[] =
-     "sco_utime";
+tSCC zStdio_Stdarg_HName[] =
+     "stdio_stdarg_h";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco_UtimeList[] =
-  "|sys/times.h|";
+tSCC zStdio_Stdarg_HList[] =
+  "|stdio.h|";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSco_UtimeMachs[] = {
-        "i?86-*-sco3.2v4*",
-        (const char*)NULL };
+#define apzStdio_Stdarg_HMachs (const char**)NULL
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSco_UtimeSelect0[] =
-       "\\(const char \\*, struct utimbuf \\*\\);";
+tSCC zStdio_Stdarg_HBypass0[] =
+       "include.*(stdarg.h|machine/ansi.h)";
 
-#define    SCO_UTIME_TEST_CT  1
-static tTestDesc aSco_UtimeTests[] = {
-  { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
+#define    STDIO_STDARG_H_TEST_CT  1
+static tTestDesc aStdio_Stdarg_HTests[] = {
+  { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sco_Utime
+ *  Fix Command Arguments for Stdio_Stdarg_H
  */
-static const char* apzSco_UtimePatch[] = {
-    "format",
-    "(const char *, const struct utimbuf *);",
+static const char* apzStdio_Stdarg_HPatch[] = {
+    "wrap",
+    "#define __need___va_list\n\
+#include <stdarg.h>\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris27_Mutex_Init fix
+ *  Description of Stdio_Va_List fix
  */
-#define SOLARIS27_MUTEX_INIT_FIXIDX      95
-tSCC zSolaris27_Mutex_InitName[] =
-     "solaris27_mutex_init";
+tSCC zStdio_Va_ListName[] =
+     "stdio_va_list";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris27_Mutex_InitList[] =
-  "|pthread.h|";
+tSCC zStdio_Va_ListList[] =
+  "|stdio.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSolaris27_Mutex_InitMachs (const char**)NULL
+#define apzStdio_Va_ListMachs (const char**)NULL
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSolaris27_Mutex_InitSelect0[] =
-       "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI";
+tSCC zStdio_Va_ListBypass0[] =
+       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
 
-#define    SOLARIS27_MUTEX_INIT_TEST_CT  1
-static tTestDesc aSolaris27_Mutex_InitTests[] = {
-  { TT_EGREP,    zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, };
+#define    STDIO_VA_LIST_TEST_CT  1
+static tTestDesc aStdio_Va_ListTests[] = {
+  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris27_Mutex_Init
+ *  Fix Command Arguments for Stdio_Va_List
  */
-static const char* apzSolaris27_Mutex_InitPatch[] = {
-    "format",
-    "%1, {0}}",
-    "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$",
+static const char* apzStdio_Va_ListPatch[] = { "sed",
+    "-e", "s@ va_list @ __gnuc_va_list @\n\
+s@ va_list)@ __gnuc_va_list)@\n\
+s@ _VA_LIST_));@ __gnuc_va_list));@\n\
+s@ va_list@ __not_va_list__@\n\
+s@\\*va_list@*__not_va_list__@\n\
+s@ __va_list)@ __gnuc_va_list)@\n\
+s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
+s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
+s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
+s@VA_LIST@DUMMY_VA_LIST@\n\
+s@_Va_LIST@_VA_LIST@",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Statsswtch fix
+ *  Description of Strict_Ansi_Not fix
  */
-#define STATSSWTCH_FIXIDX                96
-tSCC zStatsswtchName[] =
-     "statsswtch";
+tSCC zStrict_Ansi_NotName[] =
+     "strict_ansi_not";
 
 /*
  *  File name selection pattern
  */
-tSCC zStatsswtchList[] =
-  "|rpcsvc/rstat.h|";
+#define zStrict_Ansi_NotList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStatsswtchMachs (const char**)NULL
+#define apzStrict_Ansi_NotMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_NotSelect0[] =
+       "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  perform the C function call test
  */
-tSCC zStatsswtchSelect0[] =
-       "boottime$";
+tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
 
-#define    STATSSWTCH_TEST_CT  1
-static tTestDesc aStatsswtchTests[] = {
-  { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
+#define    STRICT_ANSI_NOT_TEST_CT  2
+static tTestDesc aStrict_Ansi_NotTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Statsswtch
+ *  Fix Command Arguments for Strict_Ansi_Not
  */
-static const char* apzStatsswtchPatch[] = {
+static const char* apzStrict_Ansi_NotPatch[] = {
     "format",
-    "boottime;",
+    "%1 !defined(__STRICT_ANSI__)%3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Stdio_Stdarg_H fix
+ *  Description of Strict_Ansi_Not_Ctd fix
  */
-#define STDIO_STDARG_H_FIXIDX            97
-tSCC zStdio_Stdarg_HName[] =
-     "stdio_stdarg_h";
+tSCC zStrict_Ansi_Not_CtdName[] =
+     "strict_ansi_not_ctd";
 
 /*
  *  File name selection pattern
  */
-tSCC zStdio_Stdarg_HList[] =
-  "|stdio.h|";
+tSCC zStrict_Ansi_Not_CtdList[] =
+  "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStdio_Stdarg_HMachs (const char**)NULL
+#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
 
 /*
- *  content bypass pattern - skip fix if pattern found
+ *  content selection pattern - do fix if pattern found
  */
-tSCC zStdio_Stdarg_HBypass0[] =
-       "include.*(stdarg.h|machine/ansi.h)";
+tSCC zStrict_Ansi_Not_CtdSelect0[] =
+       "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
 
-#define    STDIO_STDARG_H_TEST_CT  1
-static tTestDesc aStdio_Stdarg_HTests[] = {
-  { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
+/*
+ *  perform the C function call test
+ */
+tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
+
+#define    STRICT_ANSI_NOT_CTD_TEST_CT  2
+static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Stdio_Stdarg_H
+ *  Fix Command Arguments for Strict_Ansi_Not_Ctd
  */
-static const char* apzStdio_Stdarg_HPatch[] = {
-    "wrap",
-    "#define __need___va_list\n\
-#include <stdarg.h>\n",
+static const char* apzStrict_Ansi_Not_CtdPatch[] = {
+    "format",
+    "%1 !defined(__STRICT_ANSI__)%3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Stdio_Va_List fix
+ *  Description of Strict_Ansi_Only fix
  */
-#define STDIO_VA_LIST_FIXIDX             98
-tSCC zStdio_Va_ListName[] =
-     "stdio_va_list";
+tSCC zStrict_Ansi_OnlyName[] =
+     "strict_ansi_only";
 
 /*
  *  File name selection pattern
  */
-tSCC zStdio_Va_ListList[] =
-  "|stdio.h|";
+#define zStrict_Ansi_OnlyList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStdio_Va_ListMachs (const char**)NULL
+#define apzStrict_Ansi_OnlyMachs (const char**)NULL
 
 /*
- *  content bypass pattern - skip fix if pattern found
+ *  content selection pattern - do fix if pattern found
  */
-tSCC zStdio_Va_ListBypass0[] =
-       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
+tSCC zStrict_Ansi_OnlySelect0[] =
+       "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)";
 
-#define    STDIO_VA_LIST_TEST_CT  1
-static tTestDesc aStdio_Va_ListTests[] = {
-  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
+/*
+ *  perform the C function call test
+ */
+tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
+
+#define    STRICT_ANSI_ONLY_TEST_CT  2
+static tTestDesc aStrict_Ansi_OnlyTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Stdio_Va_List
+ *  Fix Command Arguments for Strict_Ansi_Only
  */
-static const char* apzStdio_Va_ListPatch[] = { "sed",
-    "-e", "s@ va_list @ __gnuc_va_list @\n\
-s@ va_list)@ __gnuc_va_list)@\n\
-s@ _VA_LIST_));@ __gnuc_va_list));@\n\
-s@ va_list@ __not_va_list__@\n\
-s@\\*va_list@*__not_va_list__@\n\
-s@ __va_list)@ __gnuc_va_list)@\n\
-s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
-s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
-s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
-s@VA_LIST@DUMMY_VA_LIST@\n\
-s@_Va_LIST@_VA_LIST@",
+static const char* apzStrict_Ansi_OnlyPatch[] = {
+    "format",
+    "%1 defined(__STRICT_ANSI__)%3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Struct_File fix
  */
-#define STRUCT_FILE_FIXIDX               99
 tSCC zStruct_FileName[] =
      "struct_file";
 
@@ -4029,7 +3970,6 @@ static const char* apzStruct_FilePatch[] = {
  *
  *  Description of Struct_Sockaddr fix
  */
-#define STRUCT_SOCKADDR_FIXIDX           100
 tSCC zStruct_SockaddrName[] =
      "struct_sockaddr";
 
@@ -4073,7 +4013,6 @@ static const char* apzStruct_SockaddrPatch[] = {
  *
  *  Description of Sun_Auth_Proto fix
  */
-#define SUN_AUTH_PROTO_FIXIDX            101
 tSCC zSun_Auth_ProtoName[] =
      "sun_auth_proto";
 
@@ -4114,7 +4053,6 @@ static const char* apzSun_Auth_ProtoPatch[] = {
  *
  *  Description of Sun_Bogus_Ifdef fix
  */
-#define SUN_BOGUS_IFDEF_FIXIDX           102
 tSCC zSun_Bogus_IfdefName[] =
      "sun_bogus_ifdef";
 
@@ -4150,7 +4088,6 @@ static const char* apzSun_Bogus_IfdefPatch[] = {
  *
  *  Description of Sun_Catmacro fix
  */
-#define SUN_CATMACRO_FIXIDX              103
 tSCC zSun_CatmacroName[] =
      "sun_catmacro";
 
@@ -4190,7 +4127,6 @@ static const char* apzSun_CatmacroPatch[] = {
  *
  *  Description of Sun_Malloc fix
  */
-#define SUN_MALLOC_FIXIDX                104
 tSCC zSun_MallocName[] =
      "sun_malloc";
 
@@ -4221,7 +4157,6 @@ static const char* apzSun_MallocPatch[] = { "sed",
  *
  *  Description of Sun_Rusers_Semi fix
  */
-#define SUN_RUSERS_SEMI_FIXIDX           105
 tSCC zSun_Rusers_SemiName[] =
      "sun_rusers_semi";
 
@@ -4256,7 +4191,6 @@ static const char* apzSun_Rusers_SemiPatch[] = { "sed",
  *
  *  Description of Sun_Signal fix
  */
-#define SUN_SIGNAL_FIXIDX                106
 tSCC zSun_SignalName[] =
      "sun_signal";
 
@@ -4296,7 +4230,6 @@ void\t(*signal(...))(...);\n\
  *
  *  Description of Sunos_Matherr_Decl fix
  */
-#define SUNOS_MATHERR_DECL_FIXIDX        107
 tSCC zSunos_Matherr_DeclName[] =
      "sunos_matherr_decl";
 
@@ -4339,7 +4272,6 @@ static const char* apzSunos_Matherr_DeclPatch[] = {
  *
  *  Description of Sunos_Strlen fix
  */
-#define SUNOS_STRLEN_FIXIDX              108
 tSCC zSunos_StrlenName[] =
      "sunos_strlen";
 
@@ -4375,7 +4307,6 @@ static const char* apzSunos_StrlenPatch[] = {
  *
  *  Description of Svr4__P fix
  */
-#define SVR4__P_FIXIDX                   109
 tSCC zSvr4__PName[] =
      "svr4__p";
 
@@ -4413,7 +4344,6 @@ static const char* apzSvr4__PPatch[] = {
  *
  *  Description of Svr4_Getcwd fix
  */
-#define SVR4_GETCWD_FIXIDX               110
 tSCC zSvr4_GetcwdName[] =
      "svr4_getcwd";
 
@@ -4449,7 +4379,6 @@ static const char* apzSvr4_GetcwdPatch[] = {
  *
  *  Description of Svr4_Profil fix
  */
-#define SVR4_PROFIL_FIXIDX               111
 tSCC zSvr4_ProfilName[] =
      "svr4_profil";
 
@@ -4483,51 +4412,8 @@ static const char* apzSvr4_ProfilPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Gnu_Types fix
- */
-#define GNU_TYPES_FIXIDX                 112
-tSCC zGnu_TypesName[] =
-     "gnu_types";
-
-/*
- *  File name selection pattern
- */
-tSCC zGnu_TypesList[] =
-  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzGnu_TypesMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zGnu_TypesSelect0[] =
-       "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zGnu_TypesBypass0[] =
-       "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
-
-#define    GNU_TYPES_TEST_CT  2
-static tTestDesc aGnu_TypesTests[] = {
-  { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Gnu_Types
- */
-static const char* apzGnu_TypesPatch[] = {
-    "gnu_type",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
  *  Description of Sysv68_String fix
  */
-#define SYSV68_STRING_FIXIDX             113
 tSCC zSysv68_StringName[] =
      "sysv68_string";
 
@@ -4564,7 +4450,6 @@ extern unsigned int\\\n\
  *
  *  Description of Sysz_Stdlib_For_Sun fix
  */
-#define SYSZ_STDLIB_FOR_SUN_FIXIDX       114
 tSCC zSysz_Stdlib_For_SunName[] =
      "sysz_stdlib_for_sun";
 
@@ -4600,7 +4485,6 @@ static const char* apzSysz_Stdlib_For_SunPatch[] = {
  *
  *  Description of Tinfo_Cplusplus fix
  */
-#define TINFO_CPLUSPLUS_FIXIDX           115
 tSCC zTinfo_CplusplusName[] =
      "tinfo_cplusplus";
 
@@ -4636,7 +4520,6 @@ static const char* apzTinfo_CplusplusPatch[] = {
  *
  *  Description of Ultrix_Atof_Param fix
  */
-#define ULTRIX_ATOF_PARAM_FIXIDX         116
 tSCC zUltrix_Atof_ParamName[] =
      "ultrix_atof_param";
 
@@ -4672,7 +4555,6 @@ static const char* apzUltrix_Atof_ParamPatch[] = {
  *
  *  Description of Ultrix_Const fix
  */
-#define ULTRIX_CONST_FIXIDX              117
 tSCC zUltrix_ConstName[] =
      "ultrix_const";
 
@@ -4709,7 +4591,6 @@ static const char* apzUltrix_ConstPatch[] = {
  *
  *  Description of Ultrix_Const2 fix
  */
-#define ULTRIX_CONST2_FIXIDX             118
 tSCC zUltrix_Const2Name[] =
      "ultrix_const2";
 
@@ -4746,7 +4627,6 @@ static const char* apzUltrix_Const2Patch[] = {
  *
  *  Description of Ultrix_Fix_Fixproto fix
  */
-#define ULTRIX_FIX_FIXPROTO_FIXIDX       119
 tSCC zUltrix_Fix_FixprotoName[] =
      "ultrix_fix_fixproto";
 
@@ -4784,7 +4664,6 @@ static const char* apzUltrix_Fix_FixprotoPatch[] = {
  *
  *  Description of Ultrix_Ifdef fix
  */
-#define ULTRIX_IFDEF_FIXIDX              120
 tSCC zUltrix_IfdefName[] =
      "ultrix_ifdef";
 
@@ -4820,7 +4699,6 @@ static const char* apzUltrix_IfdefPatch[] = {
  *
  *  Description of Ultrix_Math_Ifdef fix
  */
-#define ULTRIX_MATH_IFDEF_FIXIDX         121
 tSCC zUltrix_Math_IfdefName[] =
      "ultrix_math_ifdef";
 
@@ -4856,7 +4734,6 @@ static const char* apzUltrix_Math_IfdefPatch[] = {
  *
  *  Description of Ultrix_Nested_Ioctl fix
  */
-#define ULTRIX_NESTED_IOCTL_FIXIDX       122
 tSCC zUltrix_Nested_IoctlName[] =
      "ultrix_nested_ioctl";
 
@@ -4891,7 +4768,6 @@ static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
  *
  *  Description of Ultrix_Nested_Svc fix
  */
-#define ULTRIX_NESTED_SVC_FIXIDX         123
 tSCC zUltrix_Nested_SvcName[] =
      "ultrix_nested_svc";
 
@@ -4926,7 +4802,6 @@ static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
  *
  *  Description of Ultrix_Stat fix
  */
-#define ULTRIX_STAT_FIXIDX               124
 tSCC zUltrix_StatName[] =
      "ultrix_stat";
 
@@ -4966,7 +4841,6 @@ static const char* apzUltrix_StatPatch[] = { "sed",
  *
  *  Description of Ultrix_Static fix
  */
-#define ULTRIX_STATIC_FIXIDX             125
 tSCC zUltrix_StaticName[] =
      "ultrix_static";
 
@@ -5003,7 +4877,6 @@ static const char* apzUltrix_StaticPatch[] = { "sed",
  *
  *  Description of Ultrix_Strings fix
  */
-#define ULTRIX_STRINGS_FIXIDX            126
 tSCC zUltrix_StringsName[] =
      "ultrix_strings";
 
@@ -5038,7 +4911,6 @@ static const char* apzUltrix_StringsPatch[] = {
  *
  *  Description of Undefine_Null fix
  */
-#define UNDEFINE_NULL_FIXIDX             127
 tSCC zUndefine_NullName[] =
      "undefine_null";
 
@@ -5084,7 +4956,6 @@ static const char* apzUndefine_NullPatch[] = {
  *
  *  Description of Uw7_Byteorder_Fix fix
  */
-#define UW7_BYTEORDER_FIX_FIXIDX         128
 tSCC zUw7_Byteorder_FixName[] =
      "uw7_byteorder_fix";
 
@@ -5135,7 +5006,6 @@ static const char* apzUw7_Byteorder_FixPatch[] = {
  *
  *  Description of Va_I960_Macro fix
  */
-#define VA_I960_MACRO_FIXIDX             129
 tSCC zVa_I960_MacroName[] =
      "va_i960_macro";
 
@@ -5171,7 +5041,6 @@ static const char* apzVa_I960_MacroPatch[] = {
  *
  *  Description of Void_Null fix
  */
-#define VOID_NULL_FIXIDX                 130
 tSCC zVoid_NullName[] =
      "void_null";
 
@@ -5207,7 +5076,6 @@ static const char* apzVoid_NullPatch[] = {
  *
  *  Description of Vxworks_Gcc_Problem fix
  */
-#define VXWORKS_GCC_PROBLEM_FIXIDX       131
 tSCC zVxworks_Gcc_ProblemName[] =
      "vxworks_gcc_problem";
 
@@ -5257,7 +5125,6 @@ static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
  *
  *  Description of Vxworks_Needs_Vxtypes fix
  */
-#define VXWORKS_NEEDS_VXTYPES_FIXIDX     132
 tSCC zVxworks_Needs_VxtypesName[] =
      "vxworks_needs_vxtypes";
 
@@ -5293,7 +5160,6 @@ static const char* apzVxworks_Needs_VxtypesPatch[] = {
  *
  *  Description of Vxworks_Needs_Vxworks fix
  */
-#define VXWORKS_NEEDS_VXWORKS_FIXIDX     133
 tSCC zVxworks_Needs_VxworksName[] =
      "vxworks_needs_vxworks";
 
@@ -5342,7 +5208,6 @@ static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
  *
  *  Description of Vxworks_Time fix
  */
-#define VXWORKS_TIME_FIXIDX              134
 tSCC zVxworks_TimeName[] =
      "vxworks_time";
 
@@ -5393,7 +5258,6 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\n\
  *
  *  Description of X11_Class fix
  */
-#define X11_CLASS_FIXIDX                 135
 tSCC zX11_ClassName[] =
      "x11_class";
 
@@ -5440,7 +5304,6 @@ static const char* apzX11_ClassPatch[] = {
  *
  *  Description of X11_Class_Usage fix
  */
-#define X11_CLASS_USAGE_FIXIDX           136
 tSCC zX11_Class_UsageName[] =
      "x11_class_usage";
 
@@ -5483,7 +5346,6 @@ static const char* apzX11_Class_UsagePatch[] = {
  *
  *  Description of X11_New fix
  */
-#define X11_NEW_FIXIDX                   137
 tSCC zX11_NewName[] =
      "x11_new";
 
@@ -5524,7 +5386,6 @@ static const char* apzX11_NewPatch[] = { "sed",
  *
  *  Description of X11_Sprintf fix
  */
-#define X11_SPRINTF_FIXIDX               138
 tSCC zX11_SprintfName[] =
      "x11_sprintf";
 
@@ -5567,11 +5428,156 @@ static const char* apzX11_SprintfPatch[] = {
 #define MACH_LIST_SIZE_LIMIT 279
 #define FIX_COUNT            139
 
+/*
+ *  Enumerate the fixes
+ */
+typedef enum {
+    AAA_BAD_FIXES_FIXIDX,
+    AAA_KI_FIXIDX,
+    AAA_KI_CALLS_FIXIDX,
+    AAA_KI_DEFS_FIXIDX,
+    AAA_KI_IFACE_FIXIDX,
+    AAA_STANDARDS_FIXIDX,
+    AAA_TIME_FIXIDX,
+    AAB_DGUX_INT_VARARGS_FIXIDX,
+    AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
+    AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
+    AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
+    AAB_SUN_MEMCPY_FIXIDX,
+    AAB_SVR4_REPLACE_BYTEORDER_FIXIDX,
+    AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
+    AAB_ULTRIX_LIMITS_FIXIDX,
+    AAB_ULTRIX_MEMORY_FIXIDX,
+    AAB_ULTRIX_STRING_FIXIDX,
+    AIX_PTHREAD_FIXIDX,
+    AIX_SYSMACHINE_FIXIDX,
+    AIX_SYSWAIT_FIXIDX,
+    AIX_VOLATILE_FIXIDX,
+    ALPHA___ASSERT_FIXIDX,
+    ALPHA_GETOPT_FIXIDX,
+    ALPHA_PARENS_FIXIDX,
+    ALPHA_SBRK_FIXIDX,
+    ARM_NORCROFT_HINT_FIXIDX,
+    ARM_WCHAR_FIXIDX,
+    AUX_ASM_FIXIDX,
+    AVOID_BOOL_DEFINE_FIXIDX,
+    AVOID_BOOL_TYPE_FIXIDX,
+    AVOID_WCHAR_T_TYPE_FIXIDX,
+    BAD_LVAL_FIXIDX,
+    BAD_STRUCT_TERM_FIXIDX,
+    BADQUOTE_FIXIDX,
+    BROKEN_ASSERT_STDIO_FIXIDX,
+    BROKEN_ASSERT_STDLIB_FIXIDX,
+    BROKEN_CABS_FIXIDX,
+    CTRL_QUOTES_DEF_FIXIDX,
+    CTRL_QUOTES_USE_FIXIDX,
+    CXX_UNREADY_FIXIDX,
+    DEC_INTERN_ASM_FIXIDX,
+    DJGPP_WCHAR_H_FIXIDX,
+    ECD_CURSOR_FIXIDX,
+    FIX_HEADER_BREAKAGE_FIXIDX,
+    FREEBSD_GCC3_BREAKAGE_FIXIDX,
+    GNU_TYPES_FIXIDX,
+    HP_INLINE_FIXIDX,
+    HP_SYSFILE_FIXIDX,
+    HPUX11_FABSF_FIXIDX,
+    HPUX11_UINT32_C_FIXIDX,
+    HPUX8_BOGUS_INLINES_FIXIDX,
+    HPUX_MAXINT_FIXIDX,
+    HPUX_SYSTIME_FIXIDX,
+    INT_ABORT_FREE_AND_EXIT_FIXIDX,
+    IO_QUOTES_DEF_FIXIDX,
+    IO_QUOTES_USE_FIXIDX,
+    IP_MISSING_SEMI_FIXIDX,
+    IRIX_ASM_APOSTROPHE_FIXIDX,
+    IRIX_LIMITS_CONST_FIXIDX,
+    IRIX_STDIO_VA_LIST_FIXIDX,
+    ISC_FMOD_FIXIDX,
+    ISC_OMITS_WITH_STDC_FIXIDX,
+    KANDR_CONCAT_FIXIDX,
+    LIBC1_IFDEFD_MEMX_FIXIDX,
+    LIMITS_IFNDEFS_FIXIDX,
+    LYNX_VOID_INT_FIXIDX,
+    LYNXOS_FCNTL_PROTO_FIXIDX,
+    M88K_BAD_HYPOT_OPT_FIXIDX,
+    M88K_BAD_S_IF_FIXIDX,
+    M88K_MULTI_INCL_FIXIDX,
+    MACHINE_ANSI_H_VA_LIST_FIXIDX,
+    MACHINE_NAME_FIXIDX,
+    MATH_EXCEPTION_FIXIDX,
+    MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
+    MATH_HUGE_VAL_IFNDEF_FIXIDX,
+    NESTED_AUTH_DES_FIXIDX,
+    NESTED_MOTOROLA_FIXIDX,
+    NESTED_SYS_LIMITS_FIXIDX,
+    NEWS_OS_RECURSION_FIXIDX,
+    NEXT_MATH_PREFIX_FIXIDX,
+    NEXT_TEMPLATE_FIXIDX,
+    NEXT_VOLITILE_FIXIDX,
+    NEXT_WAIT_UNION_FIXIDX,
+    NODEENT_SYNTAX_FIXIDX,
+    OSF_NAMESPACE_A_FIXIDX,
+    OSF_NAMESPACE_C_FIXIDX,
+    PTHREAD_PAGE_SIZE_FIXIDX,
+    READ_RET_TYPE_FIXIDX,
+    RS6000_DOUBLE_FIXIDX,
+    RS6000_FCHMOD_FIXIDX,
+    RS6000_PARAM_FIXIDX,
+    SCO_STATIC_FUNC_FIXIDX,
+    SCO_UTIME_FIXIDX,
+    SOLARIS27_MUTEX_INIT_FIXIDX,
+    STATSSWTCH_FIXIDX,
+    STDIO_STDARG_H_FIXIDX,
+    STDIO_VA_LIST_FIXIDX,
+    STRICT_ANSI_NOT_FIXIDX,
+    STRICT_ANSI_NOT_CTD_FIXIDX,
+    STRICT_ANSI_ONLY_FIXIDX,
+    STRUCT_FILE_FIXIDX,
+    STRUCT_SOCKADDR_FIXIDX,
+    SUN_AUTH_PROTO_FIXIDX,
+    SUN_BOGUS_IFDEF_FIXIDX,
+    SUN_CATMACRO_FIXIDX,
+    SUN_MALLOC_FIXIDX,
+    SUN_RUSERS_SEMI_FIXIDX,
+    SUN_SIGNAL_FIXIDX,
+    SUNOS_MATHERR_DECL_FIXIDX,
+    SUNOS_STRLEN_FIXIDX,
+    SVR4__P_FIXIDX,
+    SVR4_GETCWD_FIXIDX,
+    SVR4_PROFIL_FIXIDX,
+    SYSV68_STRING_FIXIDX,
+    SYSZ_STDLIB_FOR_SUN_FIXIDX,
+    TINFO_CPLUSPLUS_FIXIDX,
+    ULTRIX_ATOF_PARAM_FIXIDX,
+    ULTRIX_CONST_FIXIDX,
+    ULTRIX_CONST2_FIXIDX,
+    ULTRIX_FIX_FIXPROTO_FIXIDX,
+    ULTRIX_IFDEF_FIXIDX,
+    ULTRIX_MATH_IFDEF_FIXIDX,
+    ULTRIX_NESTED_IOCTL_FIXIDX,
+    ULTRIX_NESTED_SVC_FIXIDX,
+    ULTRIX_STAT_FIXIDX,
+    ULTRIX_STATIC_FIXIDX,
+    ULTRIX_STRINGS_FIXIDX,
+    UNDEFINE_NULL_FIXIDX,
+    UW7_BYTEORDER_FIX_FIXIDX,
+    VA_I960_MACRO_FIXIDX,
+    VOID_NULL_FIXIDX,
+    VXWORKS_GCC_PROBLEM_FIXIDX,
+    VXWORKS_NEEDS_VXTYPES_FIXIDX,
+    VXWORKS_NEEDS_VXWORKS_FIXIDX,
+    VXWORKS_TIME_FIXIDX,
+    X11_CLASS_FIXIDX,
+    X11_CLASS_USAGE_FIXIDX,
+    X11_NEW_FIXIDX,
+    X11_SPRINTF_FIXIDX
+} t_fixinc_idx;
+
 tFixDesc fixDescList[ FIX_COUNT ] = {
-  {  zAaa_Ki_IfaceName,    zAaa_Ki_IfaceList,
-     apzAaa_Ki_IfaceMachs,
-     AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Ki_IfaceTests,   apzAaa_Ki_IfacePatch, 0 },
+  {  zAaa_Bad_FixesName,    zAaa_Bad_FixesList,
+     apzAaa_Bad_FixesMachs,
+     AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAaa_Bad_FixesTests,   apzAaa_Bad_FixesPatch, 0 },
 
   {  zAaa_KiName,    zAaa_KiList,
      apzAaa_KiMachs,
@@ -5588,16 +5594,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      AAA_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
      aAaa_Ki_DefsTests,   apzAaa_Ki_DefsPatch, 0 },
 
+  {  zAaa_Ki_IfaceName,    zAaa_Ki_IfaceList,
+     apzAaa_Ki_IfaceMachs,
+     AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAaa_Ki_IfaceTests,   apzAaa_Ki_IfacePatch, 0 },
+
   {  zAaa_StandardsName,    zAaa_StandardsList,
      apzAaa_StandardsMachs,
      AAA_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
      aAaa_StandardsTests,   apzAaa_StandardsPatch, 0 },
 
-  {  zAaa_Bad_FixesName,    zAaa_Bad_FixesList,
-     apzAaa_Bad_FixesMachs,
-     AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Bad_FixesTests,   apzAaa_Bad_FixesPatch, 0 },
-
   {  zAaa_TimeName,    zAaa_TimeList,
      apzAaa_TimeMachs,
      AAA_TIME_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
@@ -5793,6 +5799,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
 
+  {  zGnu_TypesName,    zGnu_TypesList,
+     apzGnu_TypesMachs,
+     GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
+
   {  zHp_InlineName,    zHp_InlineList,
      apzHp_InlineMachs,
      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5818,16 +5829,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
 
+  {  zHpux_MaxintName,    zHpux_MaxintList,
+     apzHpux_MaxintMachs,
+     HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
+
+  {  zHpux_SystimeName,    zHpux_SystimeList,
+     apzHpux_SystimeMachs,
+     HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
+
   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
      apzInt_Abort_Free_And_ExitMachs,
      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
 
-  {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
-     apzIsc_Omits_With_StdcMachs,
-     ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
-
   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
      apzIo_Quotes_DefMachs,
      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5838,16 +5854,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
 
-  {  zHpux_MaxintName,    zHpux_MaxintList,
-     apzHpux_MaxintMachs,
-     HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
-
-  {  zHpux_SystimeName,    zHpux_SystimeList,
-     apzHpux_SystimeMachs,
-     HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
-
   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
      apzIp_Missing_SemiMachs,
      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
@@ -5858,21 +5864,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
 
-  {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
-     apzIrix_Stdio_Va_ListMachs,
-     IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
-
   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
      apzIrix_Limits_ConstMachs,
      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
 
+  {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
+     apzIrix_Stdio_Va_ListMachs,
+     IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
+
   {  zIsc_FmodName,    zIsc_FmodList,
      apzIsc_FmodMachs,
      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
 
+  {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
+     apzIsc_Omits_With_StdcMachs,
+     ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
+
   {  zKandr_ConcatName,    zKandr_ConcatList,
      apzKandr_ConcatMachs,
      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5938,6 +5949,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
 
+  {  zNested_Auth_DesName,    zNested_Auth_DesList,
+     apzNested_Auth_DesMachs,
+     NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
+
   {  zNested_MotorolaName,    zNested_MotorolaList,
      apzNested_MotorolaMachs,
      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
@@ -5948,11 +5964,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
 
-  {  zNested_Auth_DesName,    zNested_Auth_DesList,
-     apzNested_Auth_DesMachs,
-     NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
-
   {  zNews_Os_RecursionName,    zNews_Os_RecursionList,
      apzNews_Os_RecursionMachs,
      NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6023,21 +6034,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
 
-  {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
-     apzStrict_Ansi_NotMachs,
-     STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
-
-  {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
-     apzStrict_Ansi_Not_CtdMachs,
-     STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
-
-  {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
-     apzStrict_Ansi_OnlyMachs,
-     STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
-
   {  zSco_UtimeName,    zSco_UtimeList,
      apzSco_UtimeMachs,
      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6063,6 +6059,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
 
+  {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
+     apzStrict_Ansi_NotMachs,
+     STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
+
+  {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
+     apzStrict_Ansi_Not_CtdMachs,
+     STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
+
+  {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
+     apzStrict_Ansi_OnlyMachs,
+     STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
+
   {  zStruct_FileName,    zStruct_FileList,
      apzStruct_FileMachs,
      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6128,11 +6139,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
 
-  {  zGnu_TypesName,    zGnu_TypesList,
-     apzGnu_TypesMachs,
-     GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
-
   {  zSysv68_StringName,    zSysv68_StringList,
      apzSysv68_StringMachs,
      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
index ce254d8..40687cf 100644 (file)
@@ -47,6 +47,10 @@ Boston, MA 02111-1307, USA.  */
 
 #include "fixlib.h"
 
+#define _ENV_(v,m,n,t)   extern tCC* v;
+ENV_TABLE
+#undef _ENV_
+
 typedef apply_fix_p_t t_test_proc PARAMS(( tCC* file, tCC* text ));
 
 typedef struct {
index 03b99cf..88018d9 100644 (file)
@@ -6,6 +6,15 @@ autogen definitions fixincl;
 /* Define all the fixes we know about for repairing damaged headers.
    Please see the README before adding or changing entries in this file.
 
+   This is the sort command:
+
+   blocksort output=XXX \
+          pattern='^/\*$' \
+          start='DO +NOT +DO +BROKEN +FIXES' \
+          trailer='^/\*EOF\*[/]' \
+          input=inclhack.def \
+          key='hackname[       ]*=[    ]*(.*);'
+
    Set up a debug test so we can make the templates emit special
    code while debugging these fixes:  */
 
@@ -16,12 +25,15 @@ FIXINC_DEBUG = yes;
 /* DO NOT DO BROKEN FIXES (empty replacement fixes) */
 
 /*
- *  Purge some HP-UX 11 files that are only broken after they are "fixed".
+ *  This file on SunOS 4 has a very large macro.  When the sed loop
+ *  tries pull it in, it overflows the pattern space size of the SunOS
+ *  sed (GNU sed does not have this problem).  Since the file does not
+ *  require fixing, we remove it from the fixed directory.
  */
 fix = {
-    hackname = AAA_ki_iface;
-    files    = sys/ki_iface.h;
-    select   = 'These definitions are for HP Internal developers';
+    hackname = AAA_bad_fixes;
+    files    = sundev/ipi_error.h;
+    /* shouldn't there be a select expression here??? */
     replace; /* empty replacement -> no fixing the file */
 };
 
@@ -60,27 +72,24 @@ fix = {
 
 
 /*
- * Tru64 UNIX V4.0F/V5.1 <standards.h> defines _NO_PROTO and _NONSTD_TYPES
- * correctly for GCC, but strict_ansi_not breaks it.
+ *  Purge some HP-UX 11 files that are only broken after they are "fixed".
  */
 fix = {
-    hackname = AAA_standards;
-    files    = standards.h;
-    select   = 'GNU and MIPS C compilers define __STDC__ differently';
+    hackname = AAA_ki_iface;
+    files    = sys/ki_iface.h;
+    select   = 'These definitions are for HP Internal developers';
     replace; /* empty replacement -> no fixing the file */
 };
 
 
 /*
- *  This file on SunOS 4 has a very large macro.  When the sed loop
- *  tries pull it in, it overflows the pattern space size of the SunOS
- *  sed (GNU sed does not have this problem).  Since the file does not
- *  require fixing, we remove it from the fixed directory.
+ * Tru64 UNIX V4.0F/V5.1 <standards.h> defines _NO_PROTO and _NONSTD_TYPES
+ * correctly for GCC, but strict_ansi_not breaks it.
  */
 fix = {
-    hackname = AAA_bad_fixes;
-    files    = sundev/ipi_error.h;
-    /* shouldn't there be a select expression here??? */
+    hackname = AAA_standards;
+    files    = standards.h;
+    select   = 'GNU and MIPS C compilers define __STDC__ differently';
     replace; /* empty replacement -> no fixing the file */
 };
 
@@ -333,6 +342,29 @@ extern int memcmp();
 
 
 /*
+ *  Completely replace <sys/varargs.h> with a file that includes gcc's
+ *  stdarg.h or varargs.h files as appropriate.
+ */
+#ifdef SVR4
+fix = {
+    hackname = AAB_svr4_no_varargs;
+    files    = sys/varargs.h;
+    replace  = "/* This file was generated by fixincludes.  */\n"
+               "#ifndef _SYS_VARARGS_H\n"
+               "#define _SYS_VARARGS_H\n\n"
+
+               "#ifdef __STDC__\n"
+               "#include <stdarg.h>\n"
+               "#else\n"
+               "#include <varargs.h>\n"
+               "#endif\n\n"
+
+               "#endif  /* _SYS_VARARGS_H */\n";
+};
+#endif
+
+
+/*
  *  Completely replace <sys/byteorder.h>; with a file that implements gcc's
  *  optimized byteswapping.  Restricted to "SVR4" machines until either
  *  it is shown to be safe to replace this file always, or we get bolder ;-)
@@ -496,29 +528,6 @@ ntohs (unsigned int __arg)
 
 
 /*
- *  Completely replace <sys/varargs.h> with a file that includes gcc's
- *  stdarg.h or varargs.h files as appropriate.
- */
-#ifdef SVR4
-fix = {
-    hackname = AAB_svr4_no_varargs;
-    files    = sys/varargs.h;
-    replace  = "/* This file was generated by fixincludes.  */\n"
-               "#ifndef _SYS_VARARGS_H\n"
-               "#define _SYS_VARARGS_H\n\n"
-
-               "#ifdef __STDC__\n"
-               "#include <stdarg.h>\n"
-               "#else\n"
-               "#include <varargs.h>\n"
-               "#endif\n\n"
-
-               "#endif  /* _SYS_VARARGS_H */\n";
-};
-#endif
-
-
-/*
  *  Cancel out ansi_compat.h on Ultrix.  Replace it with an empty file.
  */
 fix = {
@@ -1083,6 +1092,27 @@ fix = {
 
 
 /*
+ * Fix these files to use the same types that we think they should.
+ */
+fix = {
+    hackname  = gnu_types;
+    files  = "sys/types.h";
+    files  = "stdlib.h";
+    files  = "sys/stdtypes.h";
+    files  = "stddef.h";
+    files  = "memory.h";
+    files  = "unistd.h";
+    bypass    = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
+    select    = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
+    c_fix     = gnu_type;
+
+    test_text = "typedef long int ptrdiff_t; /* long int */\n"
+                "typedef uint_t size_t; /* uint_t */\n"
+                "typedef ushort_t wchar_t; /* ushort_t */";
+};
+
+
+/*
  *  Fix HP & Sony's use of "../machine/xxx.h"
  *  to refer to:  <machine/xxx.h>
  */
@@ -1139,7 +1169,7 @@ fix = {
 
 
 /*
- * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition 
+ * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition
  * of UINT32_C has undefined behavior according to ISO/ANSI:
  * the arguments to __CONCAT__ are not macro expanded before the
  * concatination happens so the trailing ')' in the first argument
@@ -1147,7 +1177,7 @@ fix = {
  * invalid pp token.  The behavior of invalid pp tokens is undefined.
  * GCC does not handle these invalid tokens the way the HP compiler does.
  * This problem will potentially occur anytime macros are used in the
- * arguments to __CONCAT__.  A general solution to this problem would be to 
+ * arguments to __CONCAT__.  A general solution to this problem would be to
  * insert another layer of macro between __CONCAT__ and its use
  * in UINT32_C.  An example of this solution can be found in the C standard.
  * A more specific solution, the one used here, is to change the UINT32_C
@@ -1184,43 +1214,54 @@ fix = {
 
 
 /*
- *  Fix return type of abort and free
+ *  HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
  */
 fix = {
-    hackname  = int_abort_free_and_exit;
-    files     = stdlib.h;
-    select    = "int[ \t]+(abort|free|exit)[ \t]*\\(";
+    hackname  = hpux_maxint;
+    files     = sys/param.h;
+    files     = values.h;
+    select    = "^#[ \t]*define[ \t]+MAXINT[ \t]";
+    bypass    = "^#[ \t]*ifndef[ \t]+MAXINT";
+    test =
+    "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
 
     c_fix     = format;
-    c_fix_arg = "void\t%1(";
+    c_fix_arg = "#ifndef MAXINT\n%0\n#endif";
+    c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*";
 
-    test_text = "extern int abort(int);\n"
-                "extern int free(void*);\n"
-                "extern int exit(void*);";
+    test_text = '#define MAXINT 0x7FFFFFFF';
 };
 
 
 /*
- *  On Interactive Unix 2.2, certain traditional Unix definitions
- *  (notably getc and putc in stdio.h) are omitted if __STDC__ is
- *  defined, not just if _POSIX_SOURCE is defined.  This makes it
- *  impossible to compile any nontrivial program except with -posix.
+ *  Fix hpux10.20 <sys/time.h> to avoid invalid forward decl
  */
 fix = {
-    hackname = isc_omits_with_stdc;
+    hackname = hpux_systime;
+    files    = sys/time.h;
+    select   = "^extern struct sigevent;";
 
-    files     = "stdio.h";
-    files     = "math.h";
-    files     = "ctype.h";
-    files     = "sys/limits.h";
-    files     = "sys/fcntl.h";
-    files     = "sys/dirent.h";
+    c_fix     = format;
+    c_fix_arg = "struct sigevent;";
+
+    test_text = 'extern struct sigevent;';
+};
+
+
+/*
+ *  Fix return type of abort and free
+ */
+fix = {
+    hackname  = int_abort_free_and_exit;
+    files     = stdlib.h;
+    select    = "int[ \t]+(abort|free|exit)[ \t]*\\(";
 
-    select    = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)';
     c_fix     = format;
-    c_fix_arg = '!defined(_POSIX_SOURCE)';
-    test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */"
-                "\nint foo;\n#endif";
+    c_fix_arg = "void\t%1(";
+
+    test_text = "extern int abort(int);\n"
+                "extern int free(void*);\n"
+                "extern int exit(void*);";
 };
 
 
@@ -1267,41 +1308,6 @@ fix = {
 
 
 /*
- *  HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
- */
-fix = {
-    hackname  = hpux_maxint;
-    files     = sys/param.h;
-    files     = values.h;
-    select    = "^#[ \t]*define[ \t]+MAXINT[ \t]";
-    bypass    = "^#[ \t]*ifndef[ \t]+MAXINT";
-    test =
-    "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
-
-    c_fix     = format;
-    c_fix_arg = "#ifndef MAXINT\n%0\n#endif";
-    c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*";
-
-    test_text = '#define MAXINT 0x7FFFFFFF';
-};
-
-
-/*
- *  Fix hpux10.20 <sys/time.h> to avoid invalid forward decl
- */
-fix = {
-    hackname = hpux_systime;
-    files    = sys/time.h;
-    select   = "^extern struct sigevent;";
-
-    c_fix     = format;
-    c_fix_arg = "struct sigevent;";
-
-    test_text = 'extern struct sigevent;';
-};
-
-
-/*
  *  Check for missing ';' in struct
  */
 fix = {
@@ -1336,8 +1342,21 @@ fix = {
 
 
 /*
+ *  Non-traditional "const" declaration in Irix's limits.h.
+ */
+fix = {
+    hackname    = irix_limits_const;
+    files       = fixinc-test-limits.h, limits.h;
+    select      = "^extern const ";
+    c_fix       = format;
+    c_fix_arg   = "extern __const ";
+    test_text   = "extern const char limit; /* test limits */";
+};
+
+
+/*
  *  IRIX 5.x's stdio.h declares some functions that take a va_list as
- *  taking char *.  However, GCC uses void * for va_list, so 
+ *  taking char *.  However, GCC uses void * for va_list, so
  *  calling vfprintf with a va_list fails in C++.  */
 fix = {
     hackname  = irix_stdio_va_list;
@@ -1352,19 +1371,6 @@ fix = {
 
 
 /*
- *  Non-traditional "const" declaration in Irix's limits.h.
- */
-fix = {
-    hackname   = irix_limits_const;
-    files      = fixinc-test-limits.h, limits.h;
-    select     = "^extern const ";
-    c_fix      = format;
-    c_fix_arg  = "extern __const ";
-    test_text   = "extern const char limit; /* test limits */";
-};
-
-
-/*
  * Fixing ISC fmod declaration
  */
 fix = {
@@ -1378,6 +1384,30 @@ fix = {
 
 
 /*
+ *  On Interactive Unix 2.2, certain traditional Unix definitions
+ *  (notably getc and putc in stdio.h) are omitted if __STDC__ is
+ *  defined, not just if _POSIX_SOURCE is defined.  This makes it
+ *  impossible to compile any nontrivial program except with -posix.
+ */
+fix = {
+    hackname = isc_omits_with_stdc;
+
+    files     = "stdio.h";
+    files     = "math.h";
+    files     = "ctype.h";
+    files     = "sys/limits.h";
+    files     = "sys/fcntl.h";
+    files     = "sys/dirent.h";
+
+    select    = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)';
+    c_fix     = format;
+    c_fix_arg = '!defined(_POSIX_SOURCE)';
+    test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */"
+                "\nint foo;\n#endif";
+};
+
+
+/*
  * These files in Sun OS 4.x and ARM/RISCiX and BSD4.3
  * use / * * / to concatenate tokens.
  */
@@ -1556,7 +1586,7 @@ fix = {
 
 /*
  * Fix BSD machine/ansi.h to use __builtin_va_list to define _BSD_VA_LIST_.
- * 
+ *
  * On NetBSD, machine is a symbolic link to an architecture specific
  * directory name, so we can't match a specific file name here.
  */
@@ -1671,6 +1701,19 @@ fix = {
 
 
 /*
+ *  nested comment
+ */
+fix = {
+    hackname  = nested_auth_des;
+    files     = rpc/rpc.h;
+    select    = '(/\*.*rpc/auth_des\.h>.*)/\*';
+    c_fix     = format;
+    c_fix_arg = "%1*/ /*";
+    test_text = "/*#include <rpc/auth_des.h> /* skip this */";
+};
+
+
+/*
  * Fix nested comments in Motorola's <limits.h> and <sys/limits.h>
  */
 fix = {
@@ -1706,19 +1749,6 @@ fix = {
 };
 
 /*
- *  nested comment
- */
-fix = {
-    hackname  = nested_auth_des;
-    files     = rpc/rpc.h;
-    select    = '(/\*.*rpc/auth_des\.h>.*)/\*';
-    c_fix     = format;
-    c_fix_arg = "%1*/ /*";
-    test_text = "/*#include <rpc/auth_des.h> /* skip this */";
-};
-
-
-/*
  *  fix bogus recursive stdlib.h in NEWS-OS 4.0C
  */
 fix = {
@@ -1888,7 +1918,7 @@ fix = {
 
 
 /*
- *  function class(double x) conflicts with C++ keyword on rs/6000 
+ *  function class(double x) conflicts with C++ keyword on rs/6000
  */
 fix = {
     hackname  = rs6000_double;
@@ -1917,7 +1947,7 @@ fix = {
 
 
 /*
- *  parameters conflict with C++ new on rs/6000 
+ *  parameters conflict with C++ new on rs/6000
  */
 fix = {
     hackname  = rs6000_param;
@@ -1933,7 +1963,7 @@ fix = {
 
 
 /*
- *  The static functions lstat() and fchmod() in <sys/stat.h> 
+ *  The static functions lstat() and fchmod() in <sys/stat.h>
  *  cause G++ grief since they're not wrapped in "if __cplusplus".
  *
  *  On SCO OpenServer 5.0.0 through (at least) 5.0.5 <sys/stat.h> contains
@@ -1972,71 +2002,6 @@ fix = {
 
 
 /*
- *  "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0"
- *  is "!defined( __STRICT_ANSI__ )"
- */
-fix = {
-    hackname = strict_ansi_not;
-    select   = "^([ \t]*#[ \t]*if.*)"
-               "(!__STDC__"
-               "|__STDC__[ \t]*==[ \t]*0"
-               "|__STDC__[ \t]*!=[ \t]*1"
-               "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
-               ")(.*)";
-    c_test   = stdc_0_in_system_headers;
-
-    c_fix     = format;
-    c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
-
-    test_text = "#if !__STDC__ \n"
-                "#if __STDC__ == 0\n"
-                "#if __STDC__ != 1\n"
-                "#if __STDC__ - 0 == 0"
-               "/* not std C */\nint foo;\n"
-               "\n#end-end-end-end-if :-)";
-};
-
-/*
- *  "__STDC__-0==0"
- *  is "!defined( __STRICT_ANSI__ )" on continued #if-s
- */
-fix = {
-    hackname = strict_ansi_not_ctd;
-    files    = math.h, limits.h, stdio.h, signal.h, stdlib.h, time.h;
-    select   = "^([ \t]*[|&][|&][ \t(]*)"
-               "(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
-               ")(.*)";
-    c_test   = stdc_0_in_system_headers;
-
-    c_fix     = format;
-    c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
-
-    test_text = "#if 1\\\n"
-               "|| __STDC__ - 0 == 0 /* not std C */\nint foo;\n#endif";
-};
-
-/*
- *  "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1"
- *  is "defined( __STRICT_ANSI__ )"
- */
-fix = {
-    hackname = strict_ansi_only;
-    select   = "^([ \t]*#[ \t]*if.*)"
-               "(__STDC__[ \t]*!=[ \t]*0"
-               "|__STDC__[ \t]*==[ \t]*1"
-               "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1"
-               "|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0"
-               ")(.*)";
-    c_test   = stdc_0_in_system_headers;
-
-    c_fix     = format;
-    c_fix_arg = "%1 defined(__STRICT_ANSI__)%3";
-
-    test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif";
-};
-
-
-/*
  *  Fix prototype declaration of utime in sys/times.h.
  *  In 3.2v4.0 the const is missing.
  */
@@ -2188,6 +2153,71 @@ fix = {
 
 
 /*
+ *  "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0"
+ *  is "!defined( __STRICT_ANSI__ )"
+ */
+fix = {
+    hackname = strict_ansi_not;
+    select   = "^([ \t]*#[ \t]*if.*)"
+               "(!__STDC__"
+               "|__STDC__[ \t]*==[ \t]*0"
+               "|__STDC__[ \t]*!=[ \t]*1"
+               "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
+               ")(.*)";
+    c_test   = stdc_0_in_system_headers;
+
+    c_fix     = format;
+    c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
+
+    test_text = "#if !__STDC__ \n"
+                "#if __STDC__ == 0\n"
+                "#if __STDC__ != 1\n"
+                "#if __STDC__ - 0 == 0"
+               "/* not std C */\nint foo;\n"
+               "\n#end-end-end-end-if :-)";
+};
+
+/*
+ *  "__STDC__-0==0"
+ *  is "!defined( __STRICT_ANSI__ )" on continued #if-s
+ */
+fix = {
+    hackname = strict_ansi_not_ctd;
+    files    = math.h, limits.h, stdio.h, signal.h, stdlib.h, time.h;
+    select   = "^([ \t]*[|&][|&][ \t(]*)"
+               "(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
+               ")(.*)";
+    c_test   = stdc_0_in_system_headers;
+
+    c_fix     = format;
+    c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
+
+    test_text = "#if 1\\\n"
+               "|| __STDC__ - 0 == 0 /* not std C */\nint foo;\n#endif";
+};
+
+/*
+ *  "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1"
+ *  is "defined( __STRICT_ANSI__ )"
+ */
+fix = {
+    hackname = strict_ansi_only;
+    select   = "^([ \t]*#[ \t]*if.*)"
+               "(__STDC__[ \t]*!=[ \t]*0"
+               "|__STDC__[ \t]*==[ \t]*1"
+               "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1"
+               "|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0"
+               ")(.*)";
+    c_test   = stdc_0_in_system_headers;
+
+    c_fix     = format;
+    c_fix_arg = "%1 defined(__STRICT_ANSI__)%3";
+
+    test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif";
+};
+
+
+/*
  *  IRIX 4.0.5 <rpc/xdr.h> uses struct __file_s
  *  in prototype without previous definition.
  */
@@ -2688,7 +2718,7 @@ fix = {
 #endif
 
 
-/* 
+/*
  *  Like svr4_mach_defines, but with newfangled syntax.
  *  Source lines are of #define __i386 #machine(i386).   Delete them.
  */
@@ -2703,27 +2733,6 @@ fix = {
 
 
 /*
- * Fix these files to use the same types that we think they should.
- */
-fix = {
-    hackname  = gnu_types;
-    files  = "sys/types.h";
-    files  = "stdlib.h";
-    files  = "sys/stdtypes.h";
-    files  = "stddef.h";
-    files  = "memory.h";
-    files  = "unistd.h";
-    bypass    = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
-    select    = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
-    c_fix     = gnu_type;
-
-    test_text = "typedef long int ptrdiff_t; /* long int */\n"
-                "typedef uint_t size_t; /* uint_t */\n"
-                "typedef ushort_t wchar_t; /* ushort_t */";
-};
-
-
-/*
  *  Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn}
  *  in string.h on sysV68
  *  Correct the return type for strlen in string.h on Lynx.
index a7b4550..865f839 100644 (file)
@@ -19,6 +19,11 @@ extern int getopt(int, char *const[], const char *);
 #endif  /* ALPHA_GETOPT_CHECK */
 
 
+#if defined( IRIX_STDIO_DUMMY_VA_LIST_CHECK )
+extern int printf( const char *, __gnuc_va_list );
+#endif  /* IRIX_STDIO_DUMMY_VA_LIST_CHECK */
+
+
 #if defined( ISC_OMITS_WITH_STDC_CHECK )
 #if !defined(_POSIX_SOURCE) /* ? ! */
 int foo;
@@ -26,11 +31,6 @@ int foo;
 #endif  /* ISC_OMITS_WITH_STDC_CHECK */
 
 
-#if defined( IRIX_STDIO_DUMMY_VA_LIST_CHECK )
-extern int printf( const char *, __gnuc_va_list );
-#endif  /* IRIX_STDIO_DUMMY_VA_LIST_CHECK */
-
-
 #if defined( READ_RET_TYPE_CHECK )
 extern unsigned int fread(), fwrite();
 extern int     fclose(), fflush(), foo();