OSDN Git Service

* inclhack.def (solaris_math_5, solaris_math_6, solaris_math_7):
[pf3gnuchains/gcc-fork.git] / fixincludes / fixincl.x
index 10466ce..93f2ae0 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Sunday November 21, 2004 at 03:52:23 PM MST
+ * It has been AutoGen-ed  Friday August  3, 2007 at 09:50:46 PM EDT
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Sun Nov 21 15:52:23 MST 2004
+/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Aug  3 21:50:46 EDT 2007
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -15,7 +15,7 @@
  * certain ANSI-incompatible system header files which are fixed to work
  * correctly with ANSI C and placed in a directory that GNU C will search.
  *
- * This file contains 177 fixup descriptions.
+ * This file contains 208 fixup descriptions.
  *
  * See README for more information.
  *
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
+     "AAB_darwin7_9_long_double_funcs";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
+  "architecture/ppc/math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
+        "*-*-darwin7.9*",
+        (const char*)NULL };
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
+       "powl";
+
+#define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
+static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
+  { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
+ */
+static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
+"/* This file prototypes the long double functions available on Mac OS\n\
+   10.3.9.  */\n\
+#ifndef __MATH__\n\
+# undef __APPLE_CC__\n\
+# define __APPLE_CC__  1345\n\
+# include_next <architecture/ppc/math.h>\n\
+# undef __APPLE_CC__\n\
+# define __APPLE_CC__ 1\n\
+# ifndef __LIBMLDBL_COMPAT\n\
+#  ifdef __LONG_DOUBLE_128__\n\
+#   define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
+#  else\n\
+#   define __LIBMLDBL_COMPAT(sym)\n\
+#  endif /* __LONG_DOUBLE_128__ */\n\
+# endif /* __LIBMLDBL_COMPAT */\n\
+# ifdef __cplusplus\n\
+   extern \"C\" {\n\
+# endif\n\
+  extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
+  extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
+  extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
+  extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
+  extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
+  extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
+  extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
+  extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
+  extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
+  extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
+  extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
+  extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
+  extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
+  extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
+  extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
+  extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
+  extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
+  extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
+  extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
+  extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
+  extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
+  extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
+  extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
+  extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
+  extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
+  extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
+  extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
+  extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
+  extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
+  extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
+  extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
+  extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
+  extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
+  extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
+  extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
+  extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
+  extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
+  extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
+  extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
+  extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
+  extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
+  extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
+  extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
+  extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
+  extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
+  extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
+  extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
+  extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
+  extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
+  extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
+  extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
+  extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
+  extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
+  extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
+  extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
+  extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
+  extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
+# ifdef __cplusplus\n\
+   }\n\
+# endif\n\
+#endif /* __MATH__ */",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
+     "AAB_darwin7_9_long_double_funcs_2";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
+  "math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
+        "*-*-darwin7.9*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
+       "#include[ \\t]+\\\"";
+
+#define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
+static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
+  { TT_EGREP,    zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
+ */
+static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
+    "format",
+    "%1<%2.h>",
+    "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
  */
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
@@ -51,7 +203,7 @@ tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
-  "|asm/posix_types.h|";
+  "asm/posix_types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -64,10 +216,13 @@ tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
  */
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
        "} while";
+tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass1[] =
+       "x86_64";
 
-#define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
+#define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  2
 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
-  { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
+  { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL },
+  { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass1, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
@@ -104,7 +259,7 @@ tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
-  "|gnu/types.h|";
+  "gnu/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -124,13 +279,13 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
 #include_next <gnu/types.h>\n\n\
 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
 #undef __FD_ZERO\n\
-# define __FD_ZERO(fdsetp) \\\\\n\
-  do { \\\\\n\
-    int __d0, __d1; \\\\\n\
-__asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
-        \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
-        \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
-  \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
+# define __FD_ZERO(fdsetp) \\\n\
+  do { \\\n\
+    int __d0, __d1; \\\n\
+        __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
+        : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
+        : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
+          \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
   } while (0)\n\
 #endif\n\n\
 #define _TYPES_H_WRAPPER\n\
@@ -148,7 +303,7 @@ tSCC zAab_Fd_Zero_Selectbits_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Selectbits_HList[] =
-  "|selectbits.h|";
+  "selectbits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -196,7 +351,7 @@ tSCC zAab_Solaris_Sys_Varargs_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Solaris_Sys_Varargs_HList[] =
-  "|sys/varargs.h|";
+  "sys/varargs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -228,7 +383,7 @@ tSCC zAab_Sun_MemcpyName[] =
  *  File name selection pattern
  */
 tSCC zAab_Sun_MemcpyList[] =
-  "|memory.h|";
+  "memory.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -420,7 +575,7 @@ tSCC zAab_Ultrix_Ansi_CompatName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_Ansi_CompatList[] =
-  "|ansi_compat.h|";
+  "ansi_compat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -454,7 +609,7 @@ tSCC zAab_Ultrix_LimitsName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_LimitsList[] =
-  "|limits.h|";
+  "limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -485,7 +640,7 @@ tSCC zAab_Ultrix_MemoryName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_MemoryList[] =
-  "|memory.h|";
+  "memory.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -516,7 +671,7 @@ tSCC zAab_Ultrix_StringName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_StringList[] =
-  "|string.h|";
+  "string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -547,7 +702,7 @@ tSCC zAix_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAix_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -584,7 +739,7 @@ tSCC zAix_SysmachineName[] =
  *  File name selection pattern
  */
 tSCC zAix_SysmachineList[] =
-  "|sys/machine.h|";
+  "sys/machine.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -619,7 +774,7 @@ tSCC zAix_SyswaitName[] =
  *  File name selection pattern
  */
 tSCC zAix_SyswaitList[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -658,7 +813,7 @@ tSCC zAix_Syswait_2Name[] =
  *  File name selection pattern
  */
 tSCC zAix_Syswait_2List[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -693,7 +848,7 @@ tSCC zAix_VolatileName[] =
  *  File name selection pattern
  */
 tSCC zAix_VolatileList[] =
-  "|sys/signal.h|";
+  "sys/signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -728,7 +883,7 @@ tSCC zAlpha___AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -801,7 +956,7 @@ tSCC zAlpha___Extern_Prefix_StandardsName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___Extern_Prefix_StandardsList[] =
-  "|standards.h|";
+  "standards.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -838,7 +993,7 @@ tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
-  "|sys/stat.h|sys/mount.h|";
+  "sys/stat.h\0sys/mount.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -875,7 +1030,7 @@ tSCC zAlpha_AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -945,7 +1100,7 @@ tSCC zAlpha_GetoptName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_GetoptList[] =
-  "|stdio.h|stdlib.h|";
+  "stdio.h\0stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -980,7 +1135,7 @@ tSCC zAlpha_ParensName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_ParensList[] =
-  "|sym.h|";
+  "sym.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1015,7 +1170,7 @@ tSCC zAlpha_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1054,7 +1209,7 @@ tSCC zAlpha_Pthread_GccName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_Pthread_GccList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1094,7 +1249,7 @@ tSCC zAlpha_Pthread_InitName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_Pthread_InitList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1135,7 +1290,7 @@ tSCC zAlpha_SbrkName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_SbrkList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1170,7 +1325,7 @@ tSCC zAlpha_WcharName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_WcharList[] =
-  "|wchar.h|";
+  "wchar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1207,7 +1362,7 @@ tSCC zAvoid_Bool_DefineName[] =
  *  File name selection pattern
  */
 tSCC zAvoid_Bool_DefineList[] =
-  "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
+  "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1252,7 +1407,7 @@ tSCC zAvoid_Bool_TypeName[] =
  *  File name selection pattern
  */
 tSCC zAvoid_Bool_TypeList[] =
-  "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
+  "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1345,7 +1500,7 @@ tSCC zBad_Struct_TermName[] =
  *  File name selection pattern
  */
 tSCC zBad_Struct_TermList[] =
-  "|curses.h|";
+  "curses.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1380,7 +1535,7 @@ tSCC zBadquoteName[] =
  *  File name selection pattern
  */
 tSCC zBadquoteList[] =
-  "|sundev/vuid_event.h|";
+  "sundev/vuid_event.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1415,7 +1570,7 @@ tSCC zBroken_Assert_StdioName[] =
  *  File name selection pattern
  */
 tSCC zBroken_Assert_StdioList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1457,7 +1612,7 @@ tSCC zBroken_Assert_StdlibName[] =
  *  File name selection pattern
  */
 tSCC zBroken_Assert_StdlibList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1501,7 +1656,7 @@ tSCC zBroken_CabsName[] =
  *  File name selection pattern
  */
 tSCC zBroken_CabsList[] =
-  "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
+  "math.h\0architecture/*/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1511,7 +1666,7 @@ tSCC zBroken_CabsList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zBroken_CabsSelect0[] =
-       "^extern[ \\t]+double[ \\t]+cabs";
+       "^extern[ \t]+double[ \t]+cabs";
 
 #define    BROKEN_CABS_TEST_CT  1
 static tTestDesc aBroken_CabsTests[] = {
@@ -1520,10 +1675,51 @@ static tTestDesc aBroken_CabsTests[] = {
 /*
  *  Fix Command Arguments for Broken_Cabs
  */
-static const char* apzBroken_CabsPatch[] = {
+static const char* apzBroken_CabsPatch[] = { "sed",
+    "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
+    "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Broken_Nan fix
+ */
+tSCC zBroken_NanName[] =
+     "broken_nan";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zBroken_NanList[] =
+  "architecture/ppc/math.h\0architecture/*/math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzBroken_NanMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zBroken_NanSelect0[] =
+       "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zBroken_NanBypass0[] =
+       "powl";
+
+#define    BROKEN_NAN_TEST_CT  2
+static tTestDesc aBroken_NanTests[] = {
+  { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Broken_Nan
+ */
+static const char* apzBroken_NanPatch[] = {
     "format",
-    "",
-    "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
+    "#if 1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -1537,7 +1733,7 @@ tSCC zBsd_Stdio_Attrs_ConflictName[] =
  *  File name selection pattern
  */
 tSCC zBsd_Stdio_Attrs_ConflictList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1645,7 +1841,7 @@ tSCC zCxx_UnreadyName[] =
  *  File name selection pattern
  */
 tSCC zCxx_UnreadyList[] =
-  "|sys/mman.h|rpc/types.h|";
+  "sys/mman.h\0rpc/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1692,7 +1888,7 @@ tSCC zDarwin_Gcc4_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zDarwin_Gcc4_BreakageList[] =
-  "|AvailabilityMacros.h|";
+  "AvailabilityMacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1729,7 +1925,7 @@ tSCC zDarwin_Private_ExternName[] =
  *  File name selection pattern
  */
 tSCC zDarwin_Private_ExternList[] =
-  "|mach-o/dyld.h|";
+  "mach-o/dyld.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1767,7 +1963,7 @@ tSCC zDec_Intern_AsmName[] =
  *  File name selection pattern
  */
 tSCC zDec_Intern_AsmList[] =
-  "|c_asm.h|";
+  "c_asm.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1839,7 +2035,7 @@ tSCC zEcd_CursorName[] =
  *  File name selection pattern
  */
 tSCC zEcd_CursorList[] =
-  "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
+  "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1874,7 +2070,7 @@ tSCC zException_StructureName[] =
  *  File name selection pattern
  */
 tSCC zException_StructureList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1916,7 +2112,7 @@ tSCC zFreebsd_Gcc3_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zFreebsd_Gcc3_BreakageList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1960,7 +2156,7 @@ tSCC zFreebsd_Gcc4_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zFreebsd_Gcc4_BreakageList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1988,6 +2184,214 @@ static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Glibc_C99_Inline_1 fix
+ */
+tSCC zGlibc_C99_Inline_1Name[] =
+     "glibc_c99_inline_1";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_1List[] =
+  "features.h\0*/features.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_1Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_1Select0[] =
+       "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
+
+#define    GLIBC_C99_INLINE_1_TEST_CT  1
+static tTestDesc aGlibc_C99_Inline_1Tests[] = {
+  { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_C99_Inline_1
+ */
+static const char* apzGlibc_C99_Inline_1Patch[] = {
+    "format",
+    "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Glibc_C99_Inline_2 fix
+ */
+tSCC zGlibc_C99_Inline_2Name[] =
+     "glibc_c99_inline_2";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_2List[] =
+  "sys/stat.h\0*/sys/stat.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_2Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_2Select0[] =
+       "extern __inline__ int";
+
+#define    GLIBC_C99_INLINE_2_TEST_CT  1
+static tTestDesc aGlibc_C99_Inline_2Tests[] = {
+  { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_C99_Inline_2
+ */
+static const char* apzGlibc_C99_Inline_2Patch[] = { "sed",
+    "-e", "s/extern int \\(stat\\|lstat\\|fstat\\|mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int \\1/",
+    "-e", "s/extern int __REDIRECT\\(_NTH\\|\\) (\\(stat\\|lstat\\|fstat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int __REDIRECT\\1 (\\2/",
+    "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int/",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Glibc_C99_Inline_3 fix
+ */
+tSCC zGlibc_C99_Inline_3Name[] =
+     "glibc_c99_inline_3";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_3List[] =
+  "bits/string2.h\0*/bits/string2.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_3Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_3Select0[] =
+       "extern __inline";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_3Bypass0[] =
+       "__STDC_VERSION__";
+
+#define    GLIBC_C99_INLINE_3_TEST_CT  2
+static tTestDesc aGlibc_C99_Inline_3Tests[] = {
+  { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_C99_Inline_3
+ */
+static const char* apzGlibc_C99_Inline_3Patch[] = {
+    "format",
+    "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
+    "^# ifdef __cplusplus$",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Glibc_C99_Inline_4 fix
+ */
+tSCC zGlibc_C99_Inline_4Name[] =
+     "glibc_c99_inline_4";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_4List[] =
+  "sys/sysmacros.h\0*/sys/sysmacros.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_4Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_4Select0[] =
+       "extern __inline";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_4Bypass0[] =
+       "__STDC_VERSION__";
+
+#define    GLIBC_C99_INLINE_4_TEST_CT  2
+static tTestDesc aGlibc_C99_Inline_4Tests[] = {
+  { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_C99_Inline_4
+ */
+static const char* apzGlibc_C99_Inline_4Patch[] = {
+    "format",
+    "\n\
+#ifdef __GNUC_GNU_INLINE__\n\
+extern\n\
+#endif\n",
+    "(^| )extern ",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Glibc_Mutex_Init fix
+ */
+tSCC zGlibc_Mutex_InitName[] =
+     "glibc_mutex_init";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zGlibc_Mutex_InitList[] =
+  "pthread.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzGlibc_Mutex_InitMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_Mutex_InitSelect0[] =
+       "\\{ *\\{ *0, *\\} *\\}";
+
+#define    GLIBC_MUTEX_INIT_TEST_CT  1
+static tTestDesc aGlibc_Mutex_InitTests[] = {
+  { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_Mutex_Init
+ */
+static const char* apzGlibc_Mutex_InitPatch[] = { "sed",
+    "-e", "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/,+1s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/",
+    "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
+    "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
+    "-e", "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\n#  \\1\\n  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# else\\n#  \\1\\n  { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# endif/",
+    "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
+    "-e", "/define[ \t]\\+PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Gnu_Types fix
  */
 tSCC zGnu_TypesName[] =
@@ -1997,11 +2401,13 @@ tSCC zGnu_TypesName[] =
  *  File name selection pattern
  */
 tSCC zGnu_TypesList[] =
-  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
+  "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzGnu_TypesMachs (const char**)NULL
+tSCC* apzGnu_TypesMachs[] = {
+        "*-*-solaris2.1[0-9]*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
@@ -2038,7 +2444,7 @@ tSCC zHp_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHp_InlineList[] =
-  "|sys/spinlock.h|machine/machparam.h|";
+  "sys/spinlock.h\0machine/machparam.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2074,7 +2480,7 @@ tSCC zHp_SysfileName[] =
  *  File name selection pattern
  */
 tSCC zHp_SysfileList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2110,7 +2516,7 @@ tSCC zHpux10_Cpp_Pow_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Cpp_Pow_InlineList[] =
-  "|fixinc-test-limits.h|math.h|";
+  "fixinc-test-limits.h\0math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2152,7 +2558,7 @@ tSCC zHpux11_Cpp_Pow_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Cpp_Pow_InlineList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2180,6 +2586,50 @@ static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Hppa_Hpux_Fp_Macros fix
+ */
+tSCC zHppa_Hpux_Fp_MacrosName[] =
+     "hppa_hpux_fp_macros";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHppa_Hpux_Fp_MacrosList[] =
+  "math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
+        "hppa*-hp-hpux11*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
+       "#[ \t]*define[ \t]*FP_NORMAL.*\n\
+#[ \t]*define[ \t]*FP_ZERO.*\n\
+#[ \t]*define[ \t]*FP_INFINITE.*\n\
+#[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
+#[ \t]*define[ \t]*FP_NAN.*\n";
+
+#define    HPPA_HPUX_FP_MACROS_TEST_CT  1
+static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
+  { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
+ */
+static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
+    "format",
+    "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
+#if defined(_INCLUDE_HPUX_SOURCE) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
+%0#endif\n\n\
+#ifdef _INCLUDE_HPUX_SOURCE\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Hpux10_Ctype_Declarations1 fix
  */
 tSCC zHpux10_Ctype_Declarations1Name[] =
@@ -2189,7 +2639,7 @@ tSCC zHpux10_Ctype_Declarations1Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations1List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2238,7 +2688,7 @@ tSCC zHpux10_Ctype_Declarations2Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations2List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2305,7 +2755,7 @@ tSCC zHpux10_Stdio_DeclarationsName[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Stdio_DeclarationsList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2354,7 +2804,7 @@ tSCC zHpux11_AbsName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_AbsList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2391,7 +2841,7 @@ tSCC zHpux11_FabsfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_FabsfList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2471,7 +2921,7 @@ tSCC zHpux11_SnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_SnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2506,7 +2956,7 @@ tSCC zHpux11_Uint32_CName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Uint32_CList[] =
-  "|inttypes.h|";
+  "inttypes.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2541,7 +2991,7 @@ tSCC zHpux11_VsnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_VsnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2576,7 +3026,7 @@ tSCC zHpux8_Bogus_InlinesName[] =
  *  File name selection pattern
  */
 tSCC zHpux8_Bogus_InlinesList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2620,7 +3070,7 @@ tSCC zHpux_Ctype_MacrosName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Ctype_MacrosList[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2646,6 +3096,46 @@ static const char* apzHpux_Ctype_MacrosPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Hpux_Htonl fix
+ */
+tSCC zHpux_HtonlName[] =
+     "hpux_htonl";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHpux_HtonlList[] =
+  "netinet/in.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzHpux_HtonlMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_HtonlSelect0[] =
+       "#ifndef _XOPEN_SOURCE_EXTENDED\n\
+(/\\*\n\
+ \\* Macros for number representation conversion\\.\n\
+ \\*/\n\
+#ifndef ntohl)";
+
+#define    HPUX_HTONL_TEST_CT  1
+static tTestDesc aHpux_HtonlTests[] = {
+  { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hpux_Htonl
+ */
+static const char* apzHpux_HtonlPatch[] = {
+    "format",
+    "#if 1\n\
+%1",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Hpux_Long_Double fix
  */
 tSCC zHpux_Long_DoubleName[] =
@@ -2655,7 +3145,7 @@ tSCC zHpux_Long_DoubleName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Long_DoubleList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2697,7 +3187,7 @@ tSCC zHpux_SystimeName[] =
  *  File name selection pattern
  */
 tSCC zHpux_SystimeList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2723,95 +3213,422 @@ static const char* apzHpux_SystimePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Int_Abort_Free_And_Exit fix
+ *  Description of Hpux_Spu_Info fix
  */
-tSCC zInt_Abort_Free_And_ExitName[] =
-     "int_abort_free_and_exit";
+tSCC zHpux_Spu_InfoName[] =
+     "hpux_spu_info";
 
 /*
  *  File name selection pattern
  */
-tSCC zInt_Abort_Free_And_ExitList[] =
-  "|stdlib.h|";
+tSCC zHpux_Spu_InfoList[] =
+  "ia64/sys/getppdp.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
+tSCC* apzHpux_Spu_InfoMachs[] = {
+        "*-hp-hpux*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zInt_Abort_Free_And_ExitSelect0[] =
-       "int[ \t]+(abort|free|exit)[ \t]*\\(";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zInt_Abort_Free_And_ExitBypass0[] =
-       "_CLASSIC_ANSI_TYPES";
+tSCC zHpux_Spu_InfoSelect0[] =
+       "^.*extern.*spu_info.*";
 
-#define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
-static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
-  { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
+#define    HPUX_SPU_INFO_TEST_CT  1
+static tTestDesc aHpux_Spu_InfoTests[] = {
+  { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Int_Abort_Free_And_Exit
+ *  Fix Command Arguments for Hpux_Spu_Info
  */
-static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+static const char* apzHpux_Spu_InfoPatch[] = {
     "format",
-    "void\t%1(",
+    "#ifdef _KERNEL\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Io_Quotes_Def fix
+ *  Description of Hpux11_Extern_Sendfile fix
  */
-tSCC zIo_Quotes_DefName[] =
-     "io_quotes_def";
+tSCC zHpux11_Extern_SendfileName[] =
+     "hpux11_extern_sendfile";
 
 /*
  *  File name selection pattern
  */
-#define zIo_Quotes_DefList (char*)NULL
+tSCC zHpux11_Extern_SendfileList[] =
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIo_Quotes_DefMachs (const char**)NULL
+tSCC* apzHpux11_Extern_SendfileMachs[] = {
+        "*-hp-hpux11.[12]*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIo_Quotes_DefSelect0[] =
-       "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
+tSCC zHpux11_Extern_SendfileSelect0[] =
+       "^[ \t]*extern sbsize_t sendfile.*\n\
+.*, int\\)\\);\n";
 
-#define    IO_QUOTES_DEF_TEST_CT  1
-static tTestDesc aIo_Quotes_DefTests[] = {
-  { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
+#define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
+static tTestDesc aHpux11_Extern_SendfileTests[] = {
+  { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Io_Quotes_Def
+ *  Fix Command Arguments for Hpux11_Extern_Sendfile
  */
-static const char* apzIo_Quotes_DefPatch[] = {
-    "char_macro_def",
-    "IO",
+static const char* apzHpux11_Extern_SendfilePatch[] = {
+    "format",
+    "#ifndef _APP32_64BIT_OFF_T\n\
+%0#endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Io_Quotes_Use fix
+ *  Description of Hpux11_Extern_Sendpath fix
  */
-tSCC zIo_Quotes_UseName[] =
-     "io_quotes_use";
+tSCC zHpux11_Extern_SendpathName[] =
+     "hpux11_extern_sendpath";
 
 /*
  *  File name selection pattern
  */
-#define zIo_Quotes_UseList (char*)NULL
+tSCC zHpux11_Extern_SendpathList[] =
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIo_Quotes_UseMachs (const char**)NULL
+tSCC* apzHpux11_Extern_SendpathMachs[] = {
+        "*-hp-hpux11.[12]*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHpux11_Extern_SendpathSelect0[] =
+       "^[ \t]*extern sbsize_t sendpath.*\n\
+.*, int\\)\\);\n";
+
+#define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
+static tTestDesc aHpux11_Extern_SendpathTests[] = {
+  { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hpux11_Extern_Sendpath
+ */
+static const char* apzHpux11_Extern_SendpathPatch[] = {
+    "format",
+    "#ifndef _APP32_64BIT_OFF_T\n\
+%0#endif\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Hpux_Extern_Errno fix
+ */
+tSCC zHpux_Extern_ErrnoName[] =
+     "hpux_extern_errno";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHpux_Extern_ErrnoList[] =
+  "errno.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzHpux_Extern_ErrnoMachs[] = {
+        "*-hp-hpux10.*",
+        "*-hp-hpux11.[0-2]*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_Extern_ErrnoSelect0[] =
+       "^[ \t]*extern int errno;$";
+
+#define    HPUX_EXTERN_ERRNO_TEST_CT  1
+static tTestDesc aHpux_Extern_ErrnoTests[] = {
+  { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hpux_Extern_Errno
+ */
+static const char* apzHpux_Extern_ErrnoPatch[] = {
+    "format",
+    "#ifdef __cplusplus\n\
+extern \"C\" {\n\
+#endif\n\
+%0\n\
+#ifdef __cplusplus\n\
+}\n\
+#endif",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Hpux_Pthread_Initializers fix
+ */
+tSCC zHpux_Pthread_InitializersName[] =
+     "hpux_pthread_initializers";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHpux_Pthread_InitializersList[] =
+  "sys/pthread.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzHpux_Pthread_InitializersMachs[] = {
+        "*-hp-hpux11.[0-3]*",
+        (const char*)NULL };
+#define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
+#define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
+
+/*
+ *  Fix Command Arguments for Hpux_Pthread_Initializers
+ */
+static const char* apzHpux_Pthread_InitializersPatch[] = { "sed",
+    "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
+    "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
+    "-e", "/^[ \t]*0$/d",
+    "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
+    "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
+    "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
+    "-e", "s@^[ \t]*__LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@\t{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
+    "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
+    "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
+    "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
+    "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
+    "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
+    "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Huge_Val_Hex fix
+ */
+tSCC zHuge_Val_HexName[] =
+     "huge_val_hex";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHuge_Val_HexList[] =
+  "bits/huge_val.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzHuge_Val_HexMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Val_HexSelect0[] =
+       "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Val_HexBypass0[] =
+       "__builtin_huge_val";
+
+#define    HUGE_VAL_HEX_TEST_CT  2
+static tTestDesc aHuge_Val_HexTests[] = {
+  { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Huge_Val_Hex
+ */
+static const char* apzHuge_Val_HexPatch[] = {
+    "format",
+    "#define HUGE_VAL (__builtin_huge_val())\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Huge_Valf_Hex fix
+ */
+tSCC zHuge_Valf_HexName[] =
+     "huge_valf_hex";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHuge_Valf_HexList[] =
+  "bits/huge_val.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzHuge_Valf_HexMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Valf_HexSelect0[] =
+       "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Valf_HexBypass0[] =
+       "__builtin_huge_valf";
+
+#define    HUGE_VALF_HEX_TEST_CT  2
+static tTestDesc aHuge_Valf_HexTests[] = {
+  { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Huge_Valf_Hex
+ */
+static const char* apzHuge_Valf_HexPatch[] = {
+    "format",
+    "#define HUGE_VALF (__builtin_huge_valf())\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Huge_Vall_Hex fix
+ */
+tSCC zHuge_Vall_HexName[] =
+     "huge_vall_hex";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHuge_Vall_HexList[] =
+  "bits/huge_val.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzHuge_Vall_HexMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Vall_HexSelect0[] =
+       "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Vall_HexBypass0[] =
+       "__builtin_huge_vall";
+
+#define    HUGE_VALL_HEX_TEST_CT  2
+static tTestDesc aHuge_Vall_HexTests[] = {
+  { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Huge_Vall_Hex
+ */
+static const char* apzHuge_Vall_HexPatch[] = {
+    "format",
+    "#define HUGE_VALL (__builtin_huge_vall())\n",
+    (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\0";
+/*
+ *  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]*\\(";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zInt_Abort_Free_And_ExitBypass0[] =
+       "_CLASSIC_ANSI_TYPES";
+
+#define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
+static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
+  { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
+  { 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
+ */
+tSCC zIo_Quotes_DefName[] =
+     "io_quotes_def";
+
+/*
+ *  File name selection pattern
+ */
+#define zIo_Quotes_DefList (char*)NULL
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzIo_Quotes_DefMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIo_Quotes_DefSelect0[] =
+       "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
+
+#define    IO_QUOTES_DEF_TEST_CT  1
+static tTestDesc aIo_Quotes_DefTests[] = {
+  { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Io_Quotes_Def
+ */
+static const char* apzIo_Quotes_DefPatch[] = {
+    "char_macro_def",
+    "IO",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Io_Quotes_Use fix
+ */
+tSCC zIo_Quotes_UseName[] =
+     "io_quotes_use";
+
+/*
+ *  File name selection pattern
+ */
+#define zIo_Quotes_UseList (char*)NULL
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzIo_Quotes_UseMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
@@ -2842,7 +3659,7 @@ tSCC zIp_Missing_SemiName[] =
  *  File name selection pattern
  */
 tSCC zIp_Missing_SemiList[] =
-  "|netinet/ip.h|";
+  "netinet/ip.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2876,7 +3693,7 @@ tSCC zIrix___RestrictName[] =
  *  File name selection pattern
  */
 tSCC zIrix___RestrictList[] =
-  "|internal/sgimacros.h|";
+  "internal/sgimacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2916,7 +3733,7 @@ tSCC zIrix___Generic1Name[] =
  *  File name selection pattern
  */
 tSCC zIrix___Generic1List[] =
-  "|internal/math_core.h|";
+  "internal/math_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2958,7 +3775,7 @@ tSCC zIrix___Generic2Name[] =
  *  File name selection pattern
  */
 tSCC zIrix___Generic2List[] =
-  "|internal/math_core.h|";
+  "internal/math_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2998,7 +3815,7 @@ tSCC zIrix_Asm_ApostropheName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Asm_ApostropheList[] =
-  "|sys/asm.h|";
+  "sys/asm.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3034,7 +3851,7 @@ tSCC zIrix_Limits_ConstName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Limits_ConstList[] =
-  "|fixinc-test-limits.h|limits.h|";
+  "fixinc-test-limits.h\0limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3069,7 +3886,7 @@ tSCC zIrix_Socklen_TName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Socklen_TList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3102,6 +3919,45 @@ typedef int socklen_t;\n\
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Irix_Stdint_C99 fix
+ */
+tSCC zIrix_Stdint_C99Name[] =
+     "irix_stdint_c99";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zIrix_Stdint_C99List[] =
+  "stdint.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzIrix_Stdint_C99Machs[] = {
+        "mips-sgi-irix6.5",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_Stdint_C99Select0[] =
+       "(#ifndef __c99\n\
+)(#error This header file is to be used only for c99 mode compilations)";
+
+#define    IRIX_STDINT_C99_TEST_CT  1
+static tTestDesc aIrix_Stdint_C99Tests[] = {
+  { TT_EGREP,    zIrix_Stdint_C99Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Irix_Stdint_C99
+ */
+static const char* apzIrix_Stdint_C99Patch[] = {
+    "format",
+    "#if 0\n\
+%2",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Irix_Stdio_Va_List fix
  */
 tSCC zIrix_Stdio_Va_ListName[] =
@@ -3111,7 +3967,7 @@ tSCC zIrix_Stdio_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Stdio_Va_ListList[] =
-  "|stdio.h|internal/stdio_core.h|";
+  "stdio.h\0internal/stdio_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3146,7 +4002,7 @@ tSCC zIrix_WcsftimeName[] =
  *  File name selection pattern
  */
 tSCC zIrix_WcsftimeList[] =
-  "|internal/wchar_core.h|";
+  "internal/wchar_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3185,7 +4041,7 @@ tSCC zIsc_FmodName[] =
  *  File name selection pattern
  */
 tSCC zIsc_FmodList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3220,7 +4076,7 @@ tSCC zIsc_Omits_With_StdcName[] =
  *  File name selection pattern
  */
 tSCC zIsc_Omits_With_StdcList[] =
-  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+  "stdio.h\0math.h\0ctype.h\0sys/limits.h\0sys/fcntl.h\0sys/dirent.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3255,7 +4111,7 @@ tSCC zKandr_ConcatName[] =
  *  File name selection pattern
  */
 tSCC zKandr_ConcatList[] =
-  "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
+  "sparc/asm_linkage.h\0sun*/asm_linkage.h\0arm/as_support.h\0arm/mc_type.h\0arm/xcb.h\0dev/chardefmac.h\0dev/ps_irq.h\0dev/screen.h\0dev/scsi.h\0sys/tty.h\0Xm.acorn/XmP.h\0bsd43/bsd43_.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3290,7 +4146,7 @@ tSCC zLibc1_G_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zLibc1_G_Va_ListList[] =
-  "|_G_config.h|";
+  "_G_config.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3327,7 +4183,7 @@ tSCC zLibc1_Ifdefd_MemxName[] =
  *  File name selection pattern
  */
 tSCC zLibc1_Ifdefd_MemxList[] =
-  "|testing.h|string.h|";
+  "testing.h\0string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3375,7 +4231,7 @@ tSCC zLinux_Ia64_UcontextName[] =
  *  File name selection pattern
  */
 tSCC zLinux_Ia64_UcontextList[] =
-  "|sys/ucontext.h|";
+  "sys/ucontext.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3412,7 +4268,7 @@ tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
  *  File name selection pattern
  */
 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3447,7 +4303,7 @@ tSCC zLynxos_Missing_PutenvName[] =
  *  File name selection pattern
  */
 tSCC zLynxos_Missing_PutenvList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3567,7 +4423,7 @@ tSCC zMath_ExceptionName[] =
  *  File name selection pattern
  */
 tSCC zMath_ExceptionList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3614,7 +4470,7 @@ tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
  *  File name selection pattern
  */
 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3659,7 +4515,7 @@ tSCC zNested_Auth_DesName[] =
  *  File name selection pattern
  */
 tSCC zNested_Auth_DesList[] =
-  "|rpc/rpc.h|";
+  "rpc/rpc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3694,7 +4550,7 @@ tSCC zNested_MotorolaName[] =
  *  File name selection pattern
  */
 tSCC zNested_MotorolaList[] =
-  "|sys/limits.h|limits.h|";
+  "sys/limits.h\0limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3731,7 +4587,7 @@ tSCC zNested_Sys_LimitsName[] =
  *  File name selection pattern
  */
 tSCC zNested_Sys_LimitsList[] =
-  "|sys/limits.h|";
+  "sys/limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3757,37 +4613,119 @@ static const char* apzNested_Sys_LimitsPatch[] = { "sed",
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Netbsd_Extra_Semicolon fix
+ *  Description of Netbsd_C99_Inline_1 fix
  */
-tSCC zNetbsd_Extra_SemicolonName[] =
-     "netbsd_extra_semicolon";
+tSCC zNetbsd_C99_Inline_1Name[] =
+     "netbsd_c99_inline_1";
 
 /*
  *  File name selection pattern
  */
-tSCC zNetbsd_Extra_SemicolonList[] =
-  "|sys/cdefs.h|";
+tSCC zNetbsd_C99_Inline_1List[] =
+  "signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
+tSCC* apzNetbsd_C99_Inline_1Machs[] = {
         "*-*-netbsd*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zNetbsd_Extra_SemicolonSelect0[] =
-       "#define[ \t]*__END_DECLS[ \t]*};";
+tSCC zNetbsd_C99_Inline_1Select0[] =
+       "extern __inline int";
 
-#define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
-static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
-  { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
+#define    NETBSD_C99_INLINE_1_TEST_CT  1
+static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
+  { TT_EGREP,    zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Netbsd_Extra_Semicolon
+ *  Fix Command Arguments for Netbsd_C99_Inline_1
  */
-static const char* apzNetbsd_Extra_SemicolonPatch[] = {
+static const char* apzNetbsd_C99_Inline_1Patch[] = {
+    "format",
+    "extern\n\
+#ifdef __GNUC_STDC_INLINE__\n\
+__attribute__((__gnu_inline__))\n\
+#endif\n\
+__inline int",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Netbsd_C99_Inline_2 fix
+ */
+tSCC zNetbsd_C99_Inline_2Name[] =
+     "netbsd_c99_inline_2";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zNetbsd_C99_Inline_2List[] =
+  "signal.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzNetbsd_C99_Inline_2Machs[] = {
+        "*-*-netbsd*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNetbsd_C99_Inline_2Select0[] =
+       "#define _SIGINLINE extern __inline";
+
+#define    NETBSD_C99_INLINE_2_TEST_CT  1
+static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
+  { TT_EGREP,    zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Netbsd_C99_Inline_2
+ */
+static const char* apzNetbsd_C99_Inline_2Patch[] = {
+    "format",
+    "#ifdef __GNUC_STDC_INLINE__\n\
+#define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
+#else\n\
+%0\n\
+#endif",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Netbsd_Extra_Semicolon fix
+ */
+tSCC zNetbsd_Extra_SemicolonName[] =
+     "netbsd_extra_semicolon";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zNetbsd_Extra_SemicolonList[] =
+  "sys/cdefs.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
+        "*-*-netbsd*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNetbsd_Extra_SemicolonSelect0[] =
+       "#define[ \t]*__END_DECLS[ \t]*};";
+
+#define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
+static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
+  { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Netbsd_Extra_Semicolon
+ */
+static const char* apzNetbsd_Extra_SemicolonPatch[] = {
     "format",
     "#define __END_DECLS }",
     (char*)NULL };
@@ -3803,7 +4741,7 @@ tSCC zNext_Math_PrefixName[] =
  *  File name selection pattern
  */
 tSCC zNext_Math_PrefixList[] =
-  "|ansi/math.h|";
+  "ansi/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3839,7 +4777,7 @@ tSCC zNext_TemplateName[] =
  *  File name selection pattern
  */
 tSCC zNext_TemplateList[] =
-  "|bsd/libc.h|";
+  "bsd/libc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3875,7 +4813,7 @@ tSCC zNext_VolitileName[] =
  *  File name selection pattern
  */
 tSCC zNext_VolitileList[] =
-  "|ansi/stdlib.h|";
+  "ansi/stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3911,7 +4849,7 @@ tSCC zNext_Wait_UnionName[] =
  *  File name selection pattern
  */
 tSCC zNext_Wait_UnionList[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3946,7 +4884,7 @@ tSCC zNodeent_SyntaxName[] =
  *  File name selection pattern
  */
 tSCC zNodeent_SyntaxList[] =
-  "|netdnet/dnetdb.h|";
+  "netdnet/dnetdb.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3981,7 +4919,7 @@ tSCC zObstack_Lvalue_CastName[] =
  *  File name selection pattern
  */
 tSCC zObstack_Lvalue_CastList[] =
-  "|obstack.h|";
+  "obstack.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4016,7 +4954,7 @@ tSCC zOsf_Namespace_AName[] =
  *  File name selection pattern
  */
 tSCC zOsf_Namespace_AList[] =
-  "|reg_types.h|sys/lc_core.h|";
+  "reg_types.h\0sys/lc_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4061,7 +4999,7 @@ tSCC zOsf_Namespace_CName[] =
  *  File name selection pattern
  */
 tSCC zOsf_Namespace_CList[] =
-  "|regex.h|";
+  "regex.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4115,7 +5053,7 @@ tSCC zPthread_Page_SizeName[] =
  *  File name selection pattern
  */
 tSCC zPthread_Page_SizeList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4141,6 +5079,42 @@ static const char* apzPthread_Page_SizePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Pthread_Incomplete_Struct_Argument fix
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentName[] =
+     "pthread_incomplete_struct_argument";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentList[] =
+  "pthread.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
+       "struct __jmp_buf_tag";
+
+#define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
+static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
+  { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
+ */
+static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
+    "format",
+    "%1 *%2%3",
+    "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Read_Ret_Type fix
  */
 tSCC zRead_Ret_TypeName[] =
@@ -4150,7 +5124,7 @@ tSCC zRead_Ret_TypeName[] =
  *  File name selection pattern
  */
 tSCC zRead_Ret_TypeList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4187,7 +5161,7 @@ tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
  *  File name selection pattern
  */
 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4200,406 +5174,805 @@ tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
 .*__extension__.*";
 
-#define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
-static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
-  { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
+#define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
+static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
+  { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
+ */
+static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
+    "format",
+    "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rpc_Xdr_Lvalue_Cast_B fix
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
+     "rpc_xdr_lvalue_cast_b";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
+  "rpc/xdr.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
+       "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
+.*__extension__.*";
+
+#define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
+static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
+  { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
+ */
+static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
+    "format",
+    "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rs6000_Double fix
+ */
+tSCC zRs6000_DoubleName[] =
+     "rs6000_double";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRs6000_DoubleList[] =
+  "math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRs6000_DoubleMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_DoubleSelect0[] =
+       "[^a-zA-Z_]class\\(";
+
+#define    RS6000_DOUBLE_TEST_CT  1
+static tTestDesc aRs6000_DoubleTests[] = {
+  { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rs6000_Double
+ */
+static const char* apzRs6000_DoublePatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
+    "^.*[^a-zA-Z_]class\\(.*",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rs6000_Fchmod fix
+ */
+tSCC zRs6000_FchmodName[] =
+     "rs6000_fchmod";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRs6000_FchmodList[] =
+  "sys/stat.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRs6000_FchmodMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_FchmodSelect0[] =
+       "fchmod\\(char \\*";
+
+#define    RS6000_FCHMOD_TEST_CT  1
+static tTestDesc aRs6000_FchmodTests[] = {
+  { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rs6000_Fchmod
+ */
+static const char* apzRs6000_FchmodPatch[] = {
+    "format",
+    "fchmod(int",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rs6000_Param fix
+ */
+tSCC zRs6000_ParamName[] =
+     "rs6000_param";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRs6000_ParamList[] =
+  "stdio.h\0unistd.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRs6000_ParamMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_ParamSelect0[] =
+       "rename\\(const char \\*old, const char \\*new\\)";
+
+#define    RS6000_PARAM_TEST_CT  1
+static tTestDesc aRs6000_ParamTests[] = {
+  { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rs6000_Param
+ */
+static const char* apzRs6000_ParamPatch[] = {
+    "format",
+    "rename(const char *_old, const char *_new)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sco_Math fix
+ */
+tSCC zSco_MathName[] =
+     "sco_math";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_MathList[] =
+  "math.h\0*/math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSco_MathMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_MathSelect0[] =
+       "inline double abs";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSco_MathBypass0[] =
+       "__GNUG__";
+
+#define    SCO_MATH_TEST_CT  2
+static tTestDesc aSco_MathTests[] = {
+  { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Math
+ */
+static const char* apzSco_MathPatch[] = { "sed",
+    "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
+#ifndef __GNUC__\n",
+    "-e", "/.*__builtin_generic/a\\\n\
+#else\\\n\
+#define __fp_class(a) \\\\\\\n\
+  __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
+   __fpclassifyl(a), \\\\\\\n\
+    __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
+      __fpclassifyf(a),__fpclassify(a)))\\\n\
+#endif",
+    "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
+#ifndef __GNUC__\n",
+    "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
+#endif /* ! __GNUC__ */",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sco_Regset fix
+ */
+tSCC zSco_RegsetName[] =
+     "sco_regset";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_RegsetList[] =
+  "sys/regset.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzSco_RegsetMachs[] = {
+        "*-*-sco3.2v5*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_RegsetSelect0[] =
+       "(struct[ \t]+.*)fpstate";
+
+#define    SCO_REGSET_TEST_CT  1
+static tTestDesc aSco_RegsetTests[] = {
+  { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Regset
+ */
+static const char* apzSco_RegsetPatch[] = {
+    "format",
+    "%1rsfpstate",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sco_Static_Func fix
+ */
+tSCC zSco_Static_FuncName[] =
+     "sco_static_func";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_Static_FuncList[] =
+  "sys/stat.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzSco_Static_FuncMachs[] = {
+        "i?86-*-sco3.2*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_Static_FuncSelect0[] =
+       "^static int";
+
+#define    SCO_STATIC_FUNC_TEST_CT  1
+static tTestDesc aSco_Static_FuncTests[] = {
+  { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Static_Func
+ */
+static const char* apzSco_Static_FuncPatch[] = { "sed",
+    "-e", "/^static int/i\\\n\
+#if __cplusplus\\\n\
+extern \"C\" {\\\n\
+#endif /* __cplusplus */",
+    "-e", "/^}$/a\\\n\
+#if __cplusplus\\\n\
+ }\\\n\
+#endif /* __cplusplus */",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sco_Utime fix
+ */
+tSCC zSco_UtimeName[] =
+     "sco_utime";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_UtimeList[] =
+  "sys/times.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzSco_UtimeMachs[] = {
+        "i?86-*-sco3.2v4*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_UtimeSelect0[] =
+       "\\(const char \\*, struct utimbuf \\*\\);";
+
+#define    SCO_UTIME_TEST_CT  1
+static tTestDesc aSco_UtimeTests[] = {
+  { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Utime
+ */
+static const char* apzSco_UtimePatch[] = {
+    "format",
+    "(const char *, const struct utimbuf *);",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Solaris_Math_1 fix
+ */
+tSCC zSolaris_Math_1Name[] =
+     "solaris_math_1";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSolaris_Math_1List[] =
+  "iso/math_c99.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_1Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_1Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_1Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_1_TEST_CT  2
+static tTestDesc aSolaris_Math_1Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
+ *  Fix Command Arguments for Solaris_Math_1
  */
-static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
+static const char* apzSolaris_Math_1Patch[] = {
     "format",
-    "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
+    "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
+    "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rpc_Xdr_Lvalue_Cast_B fix
+ *  Description of Solaris_Math_2 fix
  */
-tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
-     "rpc_xdr_lvalue_cast_b";
+tSCC zSolaris_Math_2Name[] =
+     "solaris_math_2";
 
 /*
  *  File name selection pattern
  */
-tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
-  "|rpc/xdr.h|";
+tSCC zSolaris_Math_2List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
+#define apzSolaris_Math_2Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
-       "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
-.*__extension__.*";
+tSCC zSolaris_Math_2Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
-static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
-  { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_2Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_2_TEST_CT  2
+static tTestDesc aSolaris_Math_2Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
+ *  Fix Command Arguments for Solaris_Math_2
  */
-static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
+static const char* apzSolaris_Math_2Patch[] = {
     "format",
-    "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
+    "#define\tINFINITY\t(__builtin_inff())",
+    "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Double fix
+ *  Description of Solaris_Math_3 fix
  */
-tSCC zRs6000_DoubleName[] =
-     "rs6000_double";
+tSCC zSolaris_Math_3Name[] =
+     "solaris_math_3";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_DoubleList[] =
-  "|math.h|";
+tSCC zSolaris_Math_3List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_DoubleMachs (const char**)NULL
+#define apzSolaris_Math_3Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_DoubleSelect0[] =
-       "[^a-zA-Z_]class\\(";
+tSCC zSolaris_Math_3Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    RS6000_DOUBLE_TEST_CT  1
-static tTestDesc aRs6000_DoubleTests[] = {
-  { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_3Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_3_TEST_CT  2
+static tTestDesc aSolaris_Math_3Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Double
+ *  Fix Command Arguments for Solaris_Math_3
  */
-static const char* apzRs6000_DoublePatch[] = {
+static const char* apzSolaris_Math_3Patch[] = {
     "format",
-    "#ifndef __cplusplus\n\
-%0\n\
-#endif",
-    "^.*[^a-zA-Z_]class\\(.*",
+    "#define\tNAN\t\t(__builtin_nanf(\"\"))",
+    "^#define[ \t]+NAN[ \t]+__builtin_nan",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Fchmod fix
+ *  Description of Solaris_Math_4 fix
  */
-tSCC zRs6000_FchmodName[] =
-     "rs6000_fchmod";
+tSCC zSolaris_Math_4Name[] =
+     "solaris_math_4";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_FchmodList[] =
-  "|sys/stat.h|";
+tSCC zSolaris_Math_4List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_FchmodMachs (const char**)NULL
+#define apzSolaris_Math_4Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_FchmodSelect0[] =
-       "fchmod\\(char \\*";
+tSCC zSolaris_Math_4Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    RS6000_FCHMOD_TEST_CT  1
-static tTestDesc aRs6000_FchmodTests[] = {
-  { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_4Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_4_TEST_CT  2
+static tTestDesc aSolaris_Math_4Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Fchmod
+ *  Fix Command Arguments for Solaris_Math_4
  */
-static const char* apzRs6000_FchmodPatch[] = {
+static const char* apzSolaris_Math_4Patch[] = {
     "format",
-    "fchmod(int",
+    "#define\tfpclassify(x) \\\n\
+  __extension__ ({ const __typeof(x) __x_fp = (x); \\\n\
+\t\t   isnan(__x_fp) \\\n\
+\t\t     ? FP_NAN \\\n\
+\t\t     : isinf(__x_fp) \\\n\
+\t\t       ? FP_INFINITE \\\n\
+\t\t       : isnormal(__x_fp) \\\n\
+\t\t\t ? FP_NORMAL \\\n\
+\t\t\t : __x_fp == 0.0 \\\n\
+\t\t\t   ? FP_ZERO \\\n\
+\t\t\t   : FP_SUBNORMAL; })",
+    "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Param fix
+ *  Description of Solaris_Math_8 fix
  */
-tSCC zRs6000_ParamName[] =
-     "rs6000_param";
+tSCC zSolaris_Math_8Name[] =
+     "solaris_math_8";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_ParamList[] =
-  "|stdio.h|unistd.h|";
+tSCC zSolaris_Math_8List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_ParamMachs (const char**)NULL
+#define apzSolaris_Math_8Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_ParamSelect0[] =
-       "rename\\(const char \\*old, const char \\*new\\)";
+tSCC zSolaris_Math_8Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    RS6000_PARAM_TEST_CT  1
-static tTestDesc aRs6000_ParamTests[] = {
-  { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_8Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_8_TEST_CT  2
+static tTestDesc aSolaris_Math_8Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Param
+ *  Fix Command Arguments for Solaris_Math_8
  */
-static const char* apzRs6000_ParamPatch[] = {
+static const char* apzSolaris_Math_8Patch[] = {
     "format",
-    "rename(const char *_old, const char *_new)",
+    "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
+\t\t\t   ? __builtin_signbitf(x) \\\n\
+\t\t\t   : sizeof(x) == sizeof(long double) \\\n\
+\t\t\t     ? __builtin_signbitl(x) \\\n\
+\t\t\t     : __builtin_signbit(x))",
+    "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco_Math fix
+ *  Description of Solaris_Math_9 fix
  */
-tSCC zSco_MathName[] =
-     "sco_math";
+tSCC zSolaris_Math_9Name[] =
+     "solaris_math_9";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco_MathList[] =
-  "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
+tSCC zSolaris_Math_9List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSco_MathMachs (const char**)NULL
+#define apzSolaris_Math_9Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSco_MathSelect0[] =
-       "inline double abs";
+tSCC zSolaris_Math_9Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSco_MathBypass0[] =
-       "__GNUG__";
+tSCC zSolaris_Math_9Bypass0[] =
+       "__GNUC__";
 
-#define    SCO_MATH_TEST_CT  2
-static tTestDesc aSco_MathTests[] = {
-  { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_MATH_9_TEST_CT  2
+static tTestDesc aSolaris_Math_9Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sco_Math
+ *  Fix Command Arguments for Solaris_Math_9
  */
-static const char* apzSco_MathPatch[] = { "sed",
-    "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
-#ifndef __GNUC__\n",
-    "-e", "/.*__builtin_generic/a\\\n\
-#else\\\n\
-#define __fp_class(a) \\\\\\\n\
-  __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
-   __fpclassifyl(a), \\\\\\\n\
-    __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
-      __fpclassifyf(a),__fpclassify(a)))\\\n\
-#endif",
-    "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
-#ifndef __GNUC__\n",
-    "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
-#endif /* ! __GNUC__ */",
+static const char* apzSolaris_Math_9Patch[] = {
+    "format",
+    "#define\t%1(x, y)%2__builtin_%1(x, y)",
+    "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco_Regset fix
+ *  Description of Solaris_Mutex_Init_1 fix
  */
-tSCC zSco_RegsetName[] =
-     "sco_regset";
+tSCC zSolaris_Mutex_Init_1Name[] =
+     "solaris_mutex_init_1";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco_RegsetList[] =
-  "|sys/regset.h|";
+tSCC zSolaris_Mutex_Init_1List[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSco_RegsetMachs[] = {
-        "*-*-sco3.2v5*",
-        (const char*)NULL };
+#define apzSolaris_Mutex_Init_1Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSco_RegsetSelect0[] =
-       "(struct[ \t]+.*)fpstate";
+tSCC zSolaris_Mutex_Init_1Select0[] =
+       "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
 
-#define    SCO_REGSET_TEST_CT  1
-static tTestDesc aSco_RegsetTests[] = {
-  { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
+static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
+  { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sco_Regset
+ *  Fix Command Arguments for Solaris_Mutex_Init_1
  */
-static const char* apzSco_RegsetPatch[] = {
-    "format",
-    "%1rsfpstate",
+static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
+    "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
+/define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco_Static_Func fix
+ *  Description of Solaris_Mutex_Init_2 fix
  */
-tSCC zSco_Static_FuncName[] =
-     "sco_static_func";
+tSCC zSolaris_Mutex_Init_2Name[] =
+     "solaris_mutex_init_2";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco_Static_FuncList[] =
-  "|sys/stat.h|";
+tSCC zSolaris_Mutex_Init_2List[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSco_Static_FuncMachs[] = {
-        "i?86-*-sco3.2*",
+tSCC* apzSolaris_Mutex_Init_2Machs[] = {
+        "*-*-solaris2.[0-9]",
+        "*-*-solaris2.[0-9][!0-9]*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSco_Static_FuncSelect0[] =
-       "^static int";
+tSCC zSolaris_Mutex_Init_2Select0[] =
+       "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    SCO_STATIC_FUNC_TEST_CT  1
-static tTestDesc aSco_Static_FuncTests[] = {
-  { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
+static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
+  { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sco_Static_Func
+ *  Fix Command Arguments for Solaris_Mutex_Init_2
  */
-static const char* apzSco_Static_FuncPatch[] = { "sed",
-    "-e", "/^static int/i\\\n\
-#if __cplusplus\\\n\
-extern \"C\" {\\\n\
-#endif /* __cplusplus */",
-    "-e", "/^}$/a\\\n\
-#if __cplusplus\\\n\
}\\\n\
-#endif /* __cplusplus */",
+static const char* apzSolaris_Mutex_Init_2Patch[] = {
+    "format",
+    "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
+%0\n\
+#else\n\
+%1, {0}}%4\n\
+#endif",
   "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
+[ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco_Utime fix
+ *  Description of Solaris_Rwlock_Init_1 fix
  */
-tSCC zSco_UtimeName[] =
-     "sco_utime";
+tSCC zSolaris_Rwlock_Init_1Name[] =
+     "solaris_rwlock_init_1";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco_UtimeList[] =
-  "|sys/times.h|";
+tSCC zSolaris_Rwlock_Init_1List[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSco_UtimeMachs[] = {
-        "i?86-*-sco3.2v4*",
+tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
+        "*-*-solaris*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSco_UtimeSelect0[] =
-       "\\(const char \\*, struct utimbuf \\*\\);";
+tSCC zSolaris_Rwlock_Init_1Select0[] =
+       "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    SCO_UTIME_TEST_CT  1
-static tTestDesc aSco_UtimeTests[] = {
-  { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
+static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
+  { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sco_Utime
+ *  Fix Command Arguments for Solaris_Rwlock_Init_1
  */
-static const char* apzSco_UtimePatch[] = {
+static const char* apzSolaris_Rwlock_Init_1Patch[] = {
     "format",
-    "(const char *, const struct utimbuf *);",
+    "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
+%0\n\
+#else\n\
+%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
+#endif",
+    "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Mutex_Init_1 fix
+ *  Description of Solaris_Once_Init_1 fix
  */
-tSCC zSolaris_Mutex_Init_1Name[] =
-     "solaris_mutex_init_1";
+tSCC zSolaris_Once_Init_1Name[] =
+     "solaris_once_init_1";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Mutex_Init_1List[] =
-  "|pthread.h|";
+tSCC zSolaris_Once_Init_1List[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSolaris_Mutex_Init_1Machs (const char**)NULL
+tSCC* apzSolaris_Once_Init_1Machs[] = {
+        "*-*-solaris*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Mutex_Init_1Select0[] =
-       "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
+tSCC zSolaris_Once_Init_1Select0[] =
+       "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
-static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
-  { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
+#define    SOLARIS_ONCE_INIT_1_TEST_CT  1
+static tTestDesc aSolaris_Once_Init_1Tests[] = {
+  { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Mutex_Init_1
+ *  Fix Command Arguments for Solaris_Once_Init_1
  */
-static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
-    "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
-/define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
+static const char* apzSolaris_Once_Init_1Patch[] = {
+    "format",
+    "%1{%2}%3",
+    "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Mutex_Init_2 fix
+ *  Description of Solaris_Once_Init_2 fix
  */
-tSCC zSolaris_Mutex_Init_2Name[] =
-     "solaris_mutex_init_2";
+tSCC zSolaris_Once_Init_2Name[] =
+     "solaris_once_init_2";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Mutex_Init_2List[] =
-  "|pthread.h|";
+tSCC zSolaris_Once_Init_2List[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSolaris_Mutex_Init_2Machs (const char**)NULL
+tSCC* apzSolaris_Once_Init_2Machs[] = {
+        "*-*-solaris2.[0-9]",
+        "*-*-solaris2.[0-9][!0-9]*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Mutex_Init_2Select0[] =
+tSCC zSolaris_Once_Init_2Select0[] =
        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
-static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
-  { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
+#define    SOLARIS_ONCE_INIT_2_TEST_CT  1
+static tTestDesc aSolaris_Once_Init_2Tests[] = {
+  { TT_EGREP,    zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Mutex_Init_2
+ *  Fix Command Arguments for Solaris_Once_Init_2
  */
-static const char* apzSolaris_Mutex_Init_2Patch[] = {
+static const char* apzSolaris_Once_Init_2Patch[] = {
     "format",
     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
 %0\n\
 #else\n\
-%1, {0}}%3\n\
+%1{0}, {0}, {0}, {%3}%4\n\
 #endif",
-    "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
+    "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -4613,7 +5986,7 @@ tSCC zSolaris_SocketName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_SocketList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4649,7 +6022,7 @@ tSCC zSolaris_Stdio_TagName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Stdio_TagList[] =
-  "|stdio_tag.h|";
+  "stdio_tag.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4661,8 +6034,15 @@ tSCC zSolaris_Stdio_TagList[] =
 tSCC zSolaris_Stdio_TagSelect0[] =
        "__cplusplus < 54321L";
 
-#define    SOLARIS_STDIO_TAG_TEST_CT  1
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Stdio_TagBypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_STDIO_TAG_TEST_CT  2
 static tTestDesc aSolaris_Stdio_TagTests[] = {
+  { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
 
 /*
@@ -4683,7 +6063,7 @@ tSCC zSolaris_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4727,7 +6107,7 @@ tSCC zSolaris_WidecName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_WidecList[] =
-  "|widec.h|";
+  "widec.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4773,7 +6153,7 @@ tSCC zStatsswtchName[] =
  *  File name selection pattern
  */
 tSCC zStatsswtchList[] =
-  "|rpcsvc/rstat.h|";
+  "rpcsvc/rstat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4808,11 +6188,13 @@ tSCC zStdio_Stdarg_HName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Stdarg_HList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStdio_Stdarg_HMachs (const char**)NULL
+tSCC* apzStdio_Stdarg_HMachs[] = {
+        "*-*-solaris2.1[0-9]*",
+        (const char*)NULL };
 
 /*
  *  content bypass pattern - skip fix if pattern found
@@ -4844,11 +6226,13 @@ tSCC zStdio_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Va_ListList[] =
-  "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
+  "stdio.h\0internal/stdio_core.h\0internal/wchar_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStdio_Va_ListMachs (const char**)NULL
+tSCC* apzStdio_Va_ListMachs[] = {
+        "*-*-solaris2.1[0-9]*",
+        (const char*)NULL };
 
 /*
  *  content bypass pattern - skip fix if pattern found
@@ -4891,7 +6275,7 @@ tSCC zStdio_Va_List_ClientsName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Va_List_ClientsList[] =
-  "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
+  "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4991,7 +6375,7 @@ tSCC zStrict_Ansi_Not_CtdName[] =
  *  File name selection pattern
  */
 tSCC zStrict_Ansi_Not_CtdList[] =
-  "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
+  "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5072,7 +6456,7 @@ tSCC zStruct_FileName[] =
  *  File name selection pattern
  */
 tSCC zStruct_FileList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5108,7 +6492,7 @@ tSCC zStruct_SockaddrName[] =
  *  File name selection pattern
  */
 tSCC zStruct_SockaddrList[] =
-  "|rpc/auth.h|";
+  "rpc/auth.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5154,7 +6538,7 @@ tSCC zSun_Auth_ProtoName[] =
  *  File name selection pattern
  */
 tSCC zSun_Auth_ProtoList[] =
-  "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
+  "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5201,7 +6585,7 @@ tSCC zSun_Bogus_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zSun_Bogus_IfdefList[] =
-  "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
+  "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5236,7 +6620,7 @@ tSCC zSun_CatmacroName[] =
  *  File name selection pattern
  */
 tSCC zSun_CatmacroList[] =
-  "|pixrect/memvar.h|";
+  "pixrect/memvar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5275,7 +6659,7 @@ tSCC zSun_MallocName[] =
  *  File name selection pattern
  */
 tSCC zSun_MallocList[] =
-  "|malloc.h|";
+  "malloc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5313,7 +6697,7 @@ tSCC zSun_Rusers_SemiName[] =
  *  File name selection pattern
  */
 tSCC zSun_Rusers_SemiList[] =
-  "|rpcsvc/rusers.h|";
+  "rpcsvc/rusers.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5347,7 +6731,7 @@ tSCC zSun_SignalName[] =
  *  File name selection pattern
  */
 tSCC zSun_SignalList[] =
-  "|sys/signal.h|signal.h|";
+  "sys/signal.h\0signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5386,7 +6770,7 @@ tSCC zSunos_StrlenName[] =
  *  File name selection pattern
  */
 tSCC zSunos_StrlenList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5421,7 +6805,7 @@ tSCC zSvr4_Disable_OptName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Disable_OptList[] =
-  "|string.h|";
+  "string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5455,7 +6839,7 @@ tSCC zSvr4_GetcwdName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_GetcwdList[] =
-  "|stdlib.h|unistd.h|prototypes.h|";
+  "stdlib.h\0unistd.h\0prototypes.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5490,7 +6874,7 @@ tSCC zSvr4_KrnlName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_KrnlList[] =
-  "|fs/rfs/rf_cache.h|sys/erec.h|sys/err.h|sys/char.h|sys/getpages.h|sys/map.h|sys/cmn_err.h|sys/kdebugger.h|";
+  "fs/rfs/rf_cache.h\0sys/erec.h\0sys/err.h\0sys/char.h\0sys/getpages.h\0sys/map.h\0sys/cmn_err.h\0sys/kdebugger.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5529,7 +6913,7 @@ tSCC zSvr4_ProfilName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_ProfilList[] =
-  "|stdlib.h|unistd.h|";
+  "stdlib.h\0unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5571,7 +6955,7 @@ tSCC zSvr4_Sighandler_TypeName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Sighandler_TypeList[] =
-  "|sys/signal.h|";
+  "sys/signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5606,7 +6990,7 @@ tSCC zSvr4_Undeclared_GetrngeName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Undeclared_GetrngeList[] =
-  "|regexp.h|";
+  "regexp.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5650,7 +7034,7 @@ tSCC zSysv68_StringName[] =
  *  File name selection pattern
  */
 tSCC zSysv68_StringList[] =
-  "|testing.h|string.h|";
+  "testing.h\0string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5694,7 +7078,7 @@ tSCC zSysz_Stdlib_For_SunName[] =
  *  File name selection pattern
  */
 tSCC zSysz_Stdlib_For_SunList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5736,7 +7120,7 @@ tSCC zThread_KeywordName[] =
  *  File name selection pattern
  */
 tSCC zThread_KeywordList[] =
-  "|pthread.h|bits/sigthread.h|";
+  "pthread.h\0bits/sigthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5771,7 +7155,7 @@ tSCC zTinfo_CplusplusName[] =
  *  File name selection pattern
  */
 tSCC zTinfo_CplusplusList[] =
-  "|tinfo.h|";
+  "tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5806,7 +7190,7 @@ tSCC zUltrix_Atexit_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atexit_ParamList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5841,7 +7225,7 @@ tSCC zUltrix_Atof_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atof_ParamList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5876,7 +7260,7 @@ tSCC zUltrix_ConstName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_ConstList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5912,7 +7296,7 @@ tSCC zUltrix_Const2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const2List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5948,7 +7332,7 @@ tSCC zUltrix_Const3Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const3List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5984,7 +7368,7 @@ tSCC zUltrix_Fix_FixprotoName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Fix_FixprotoList[] =
-  "|sys/utsname.h|";
+  "sys/utsname.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6021,7 +7405,7 @@ tSCC zUltrix_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_IfdefList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6056,7 +7440,7 @@ tSCC zUltrix_LocaleName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_LocaleList[] =
-  "|locale.h|";
+  "locale.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6090,7 +7474,7 @@ tSCC zUltrix_Math_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Math_IfdefList[] =
-  "|sys/limits.h|float.h|math.h|";
+  "sys/limits.h\0float.h\0math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6125,7 +7509,7 @@ tSCC zUltrix_Nested_IoctlName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Nested_IoctlList[] =
-  "|sys/ioctl.h|";
+  "sys/ioctl.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6159,7 +7543,7 @@ tSCC zUltrix_Nested_SvcName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Nested_SvcList[] =
-  "|rpc/svc.h|";
+  "rpc/svc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6193,7 +7577,7 @@ tSCC zUltrix_StatName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StatList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6232,7 +7616,7 @@ tSCC zUltrix_StaticName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StaticList[] =
-  "|machine/cpu.h|";
+  "machine/cpu.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6268,7 +7652,7 @@ tSCC zUltrix_StdlibName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StdlibList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6309,7 +7693,7 @@ tSCC zUltrix_StringsName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StringsList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6343,7 +7727,7 @@ tSCC zUltrix_Strings2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Strings2List[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6385,7 +7769,7 @@ tSCC zUltrix_Sys_TimeName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Sys_TimeList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6439,7 +7823,7 @@ tSCC zUltrix_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6476,7 +7860,7 @@ tSCC zUnicosmk_RestrictName[] =
  *  File name selection pattern
  */
 tSCC zUnicosmk_RestrictList[] =
-  "|stdio.h|stdlib.h|wchar.h|";
+  "stdio.h\0stdlib.h\0wchar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6513,7 +7897,7 @@ tSCC zUw7_Byteorder_FixName[] =
  *  File name selection pattern
  */
 tSCC zUw7_Byteorder_FixList[] =
-  "|arpa/inet.h|";
+  "arpa/inet.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6563,7 +7947,7 @@ tSCC zVa_I960_MacroName[] =
  *  File name selection pattern
  */
 tSCC zVa_I960_MacroList[] =
-  "|arch/i960/archI960.h|";
+  "arch/i960/archI960.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6598,7 +7982,7 @@ tSCC zVoid_NullName[] =
  *  File name selection pattern
  */
 tSCC zVoid_NullList[] =
-  "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
+  "curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0sys/dir.h\0sys/param.h\0sys/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6640,7 +8024,7 @@ tSCC zVxworks_Gcc_ProblemName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Gcc_ProblemList[] =
-  "|types/vxTypesBase.h|";
+  "types/vxTypesBase.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6689,7 +8073,7 @@ tSCC zVxworks_Needs_VxtypesName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Needs_VxtypesList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6724,7 +8108,7 @@ tSCC zVxworks_Needs_VxworksName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Needs_VxworksList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6772,7 +8156,7 @@ tSCC zVxworks_TimeName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_TimeList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6822,7 +8206,7 @@ tSCC zWindiss_Math1Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math1List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6850,7 +8234,7 @@ tSCC zWindiss_Math2Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math2List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6913,7 +8297,7 @@ tSCC zX11_ClassName[] =
  *  File name selection pattern
  */
 tSCC zX11_ClassList[] =
-  "|X11/ShellP.h|";
+  "X11/ShellP.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6959,7 +8343,7 @@ tSCC zX11_Class_UsageName[] =
  *  File name selection pattern
  */
 tSCC zX11_Class_UsageList[] =
-  "|Xm/BaseClassI.h|";
+  "Xm/BaseClassI.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7001,7 +8385,7 @@ tSCC zX11_NewName[] =
  *  File name selection pattern
  */
 tSCC zX11_NewList[] =
-  "|Xm/Traversal.h|";
+  "Xm/Traversal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7041,7 +8425,7 @@ tSCC zX11_SprintfName[] =
  *  File name selection pattern
  */
 tSCC zX11_SprintfList[] =
-  "|X11/Xmu.h|X11/Xmu/Xmu.h|";
+  "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7072,14 +8456,16 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          206
+#define REGEX_COUNT          250
 #define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT            177
+#define FIX_COUNT            208
 
 /*
  *  Enumerate the fixes
  */
 typedef enum {
+    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
+    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
@@ -7115,6 +8501,7 @@ typedef enum {
     BROKEN_ASSERT_STDIO_FIXIDX,
     BROKEN_ASSERT_STDLIB_FIXIDX,
     BROKEN_CABS_FIXIDX,
+    BROKEN_NAN_FIXIDX,
     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
     CTRL_QUOTES_DEF_FIXIDX,
     CTRL_QUOTES_USE_FIXIDX,
@@ -7127,11 +8514,17 @@ typedef enum {
     EXCEPTION_STRUCTURE_FIXIDX,
     FREEBSD_GCC3_BREAKAGE_FIXIDX,
     FREEBSD_GCC4_BREAKAGE_FIXIDX,
+    GLIBC_C99_INLINE_1_FIXIDX,
+    GLIBC_C99_INLINE_2_FIXIDX,
+    GLIBC_C99_INLINE_3_FIXIDX,
+    GLIBC_C99_INLINE_4_FIXIDX,
+    GLIBC_MUTEX_INIT_FIXIDX,
     GNU_TYPES_FIXIDX,
     HP_INLINE_FIXIDX,
     HP_SYSFILE_FIXIDX,
     HPUX10_CPP_POW_INLINE_FIXIDX,
     HPUX11_CPP_POW_INLINE_FIXIDX,
+    HPPA_HPUX_FP_MACROS_FIXIDX,
     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
     HPUX10_STDIO_DECLARATIONS_FIXIDX,
@@ -7143,8 +8536,17 @@ typedef enum {
     HPUX11_VSNPRINTF_FIXIDX,
     HPUX8_BOGUS_INLINES_FIXIDX,
     HPUX_CTYPE_MACROS_FIXIDX,
+    HPUX_HTONL_FIXIDX,
     HPUX_LONG_DOUBLE_FIXIDX,
     HPUX_SYSTIME_FIXIDX,
+    HPUX_SPU_INFO_FIXIDX,
+    HPUX11_EXTERN_SENDFILE_FIXIDX,
+    HPUX11_EXTERN_SENDPATH_FIXIDX,
+    HPUX_EXTERN_ERRNO_FIXIDX,
+    HPUX_PTHREAD_INITIALIZERS_FIXIDX,
+    HUGE_VAL_HEX_FIXIDX,
+    HUGE_VALF_HEX_FIXIDX,
+    HUGE_VALL_HEX_FIXIDX,
     INT_ABORT_FREE_AND_EXIT_FIXIDX,
     IO_QUOTES_DEF_FIXIDX,
     IO_QUOTES_USE_FIXIDX,
@@ -7155,6 +8557,7 @@ typedef enum {
     IRIX_ASM_APOSTROPHE_FIXIDX,
     IRIX_LIMITS_CONST_FIXIDX,
     IRIX_SOCKLEN_T_FIXIDX,
+    IRIX_STDINT_C99_FIXIDX,
     IRIX_STDIO_VA_LIST_FIXIDX,
     IRIX_WCSFTIME_FIXIDX,
     ISC_FMOD_FIXIDX,
@@ -7172,6 +8575,8 @@ typedef enum {
     NESTED_AUTH_DES_FIXIDX,
     NESTED_MOTOROLA_FIXIDX,
     NESTED_SYS_LIMITS_FIXIDX,
+    NETBSD_C99_INLINE_1_FIXIDX,
+    NETBSD_C99_INLINE_2_FIXIDX,
     NETBSD_EXTRA_SEMICOLON_FIXIDX,
     NEXT_MATH_PREFIX_FIXIDX,
     NEXT_TEMPLATE_FIXIDX,
@@ -7182,6 +8587,7 @@ typedef enum {
     OSF_NAMESPACE_A_FIXIDX,
     OSF_NAMESPACE_C_FIXIDX,
     PTHREAD_PAGE_SIZE_FIXIDX,
+    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
     READ_RET_TYPE_FIXIDX,
     RPC_XDR_LVALUE_CAST_A_FIXIDX,
     RPC_XDR_LVALUE_CAST_B_FIXIDX,
@@ -7192,8 +8598,17 @@ typedef enum {
     SCO_REGSET_FIXIDX,
     SCO_STATIC_FUNC_FIXIDX,
     SCO_UTIME_FIXIDX,
+    SOLARIS_MATH_1_FIXIDX,
+    SOLARIS_MATH_2_FIXIDX,
+    SOLARIS_MATH_3_FIXIDX,
+    SOLARIS_MATH_4_FIXIDX,
+    SOLARIS_MATH_8_FIXIDX,
+    SOLARIS_MATH_9_FIXIDX,
     SOLARIS_MUTEX_INIT_1_FIXIDX,
     SOLARIS_MUTEX_INIT_2_FIXIDX,
+    SOLARIS_RWLOCK_INIT_1_FIXIDX,
+    SOLARIS_ONCE_INIT_1_FIXIDX,
+    SOLARIS_ONCE_INIT_2_FIXIDX,
     SOLARIS_SOCKET_FIXIDX,
     SOLARIS_STDIO_TAG_FIXIDX,
     SOLARIS_UNISTD_FIXIDX,
@@ -7260,6 +8675,16 @@ typedef enum {
 } t_fixinc_idx;
 
 tFixDesc fixDescList[ FIX_COUNT ] = {
+  {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
+     apzAab_Darwin7_9_Long_Double_FuncsMachs,
+     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
+
+  {  zAab_Darwin7_9_Long_Double_Funcs_2Name,    zAab_Darwin7_9_Long_Double_Funcs_2List,
+     apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
+     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAab_Darwin7_9_Long_Double_Funcs_2Tests,   apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
+
   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
@@ -7432,9 +8857,14 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
 
   {  zBroken_CabsName,    zBroken_CabsList,
      apzBroken_CabsMachs,
-     BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
 
+  {  zBroken_NanName,    zBroken_NanList,
+     apzBroken_NanMachs,
+     BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBroken_NanTests,   apzBroken_NanPatch, 0 },
+
   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
      apzBsd_Stdio_Attrs_ConflictMachs,
      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7495,9 +8925,34 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
 
+  {  zGlibc_C99_Inline_1Name,    zGlibc_C99_Inline_1List,
+     apzGlibc_C99_Inline_1Machs,
+     GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aGlibc_C99_Inline_1Tests,   apzGlibc_C99_Inline_1Patch, 0 },
+
+  {  zGlibc_C99_Inline_2Name,    zGlibc_C99_Inline_2List,
+     apzGlibc_C99_Inline_2Machs,
+     GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
+     aGlibc_C99_Inline_2Tests,   apzGlibc_C99_Inline_2Patch, 0 },
+
+  {  zGlibc_C99_Inline_3Name,    zGlibc_C99_Inline_3List,
+     apzGlibc_C99_Inline_3Machs,
+     GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aGlibc_C99_Inline_3Tests,   apzGlibc_C99_Inline_3Patch, 0 },
+
+  {  zGlibc_C99_Inline_4Name,    zGlibc_C99_Inline_4List,
+     apzGlibc_C99_Inline_4Machs,
+     GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aGlibc_C99_Inline_4Tests,   apzGlibc_C99_Inline_4Patch, 0 },
+
+  {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
+     apzGlibc_Mutex_InitMachs,
+     GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
+     aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
+
   {  zGnu_TypesName,    zGnu_TypesList,
      apzGnu_TypesMachs,
-     GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
 
   {  zHp_InlineName,    zHp_InlineList,
@@ -7520,6 +8975,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
 
+  {  zHppa_Hpux_Fp_MacrosName,    zHppa_Hpux_Fp_MacrosList,
+     apzHppa_Hpux_Fp_MacrosMachs,
+     HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHppa_Hpux_Fp_MacrosTests,   apzHppa_Hpux_Fp_MacrosPatch, 0 },
+
   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
      apzHpux10_Ctype_Declarations1Machs,
      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7575,6 +9035,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
 
+  {  zHpux_HtonlName,    zHpux_HtonlList,
+     apzHpux_HtonlMachs,
+     HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
+
   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
      apzHpux_Long_DoubleMachs,
      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
@@ -7585,6 +9050,46 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
 
+  {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
+     apzHpux_Spu_InfoMachs,
+     HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
+
+  {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
+     apzHpux11_Extern_SendfileMachs,
+     HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
+
+  {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
+     apzHpux11_Extern_SendpathMachs,
+     HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
+
+  {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
+     apzHpux_Extern_ErrnoMachs,
+     HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
+
+  {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
+     apzHpux_Pthread_InitializersMachs,
+     HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
+     aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
+
+  {  zHuge_Val_HexName,    zHuge_Val_HexList,
+     apzHuge_Val_HexMachs,
+     HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
+
+  {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
+     apzHuge_Valf_HexMachs,
+     HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
+
+  {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
+     apzHuge_Vall_HexMachs,
+     HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 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,
@@ -7635,6 +9140,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
 
+  {  zIrix_Stdint_C99Name,    zIrix_Stdint_C99List,
+     apzIrix_Stdint_C99Machs,
+     IRIX_STDINT_C99_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Stdint_C99Tests,   apzIrix_Stdint_C99Patch, 0 },
+
   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
      apzIrix_Stdio_Va_ListMachs,
      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7720,6 +9230,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
 
+  {  zNetbsd_C99_Inline_1Name,    zNetbsd_C99_Inline_1List,
+     apzNetbsd_C99_Inline_1Machs,
+     NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNetbsd_C99_Inline_1Tests,   apzNetbsd_C99_Inline_1Patch, 0 },
+
+  {  zNetbsd_C99_Inline_2Name,    zNetbsd_C99_Inline_2List,
+     apzNetbsd_C99_Inline_2Machs,
+     NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNetbsd_C99_Inline_2Tests,   apzNetbsd_C99_Inline_2Patch, 0 },
+
   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
      apzNetbsd_Extra_SemicolonMachs,
      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7770,6 +9290,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
 
+  {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
+     apzPthread_Incomplete_Struct_ArgumentMachs,
+     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
+
   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
      apzRead_Ret_TypeMachs,
      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7820,6 +9345,36 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
 
+  {  zSolaris_Math_1Name,    zSolaris_Math_1List,
+     apzSolaris_Math_1Machs,
+     SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
+
+  {  zSolaris_Math_2Name,    zSolaris_Math_2List,
+     apzSolaris_Math_2Machs,
+     SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
+
+  {  zSolaris_Math_3Name,    zSolaris_Math_3List,
+     apzSolaris_Math_3Machs,
+     SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
+
+  {  zSolaris_Math_4Name,    zSolaris_Math_4List,
+     apzSolaris_Math_4Machs,
+     SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
+
+  {  zSolaris_Math_8Name,    zSolaris_Math_8List,
+     apzSolaris_Math_8Machs,
+     SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
+
+  {  zSolaris_Math_9Name,    zSolaris_Math_9List,
+     apzSolaris_Math_9Machs,
+     SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
+
   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
      apzSolaris_Mutex_Init_1Machs,
      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
@@ -7830,6 +9385,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
 
+  {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
+     apzSolaris_Rwlock_Init_1Machs,
+     SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
+
+  {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
+     apzSolaris_Once_Init_1Machs,
+     SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
+
+  {  zSolaris_Once_Init_2Name,    zSolaris_Once_Init_2List,
+     apzSolaris_Once_Init_2Machs,
+     SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Once_Init_2Tests,   apzSolaris_Once_Init_2Patch, 0 },
+
   {  zSolaris_SocketName,    zSolaris_SocketList,
      apzSolaris_SocketMachs,
      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -7857,12 +9427,12 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
 
   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
      apzStdio_Stdarg_HMachs,
-     STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
 
   {  zStdio_Va_ListName,    zStdio_Va_ListList,
      apzStdio_Va_ListMachs,
-     STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
+     STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
 
   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,