OSDN Git Service

replace "extern" only if surrounded by space characters.
[pf3gnuchains/gcc-fork.git] / fixincludes / fixincl.x
index 2eabf1f..f97bdb6 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Friday November 26, 2004 at 09:59:26 PM UTC
+ * It has been AutoGen-ed  Sunday February  4, 2007 at 07:08:33 AM PST
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Fri Nov 26 21:59:26 UTC 2004
+/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Feb  4 07:08:34 PST 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 207 fixup descriptions.
  *
  * See README for more information.
  *
@@ -26,7 +26,8 @@
  *  
  *  You may redistribute it and/or modify it under the terms of the
  *  GNU General Public License, as published by the Free Software
- *  Foundation; either version 2, or (at your option) any later version.
+ *  Foundation; either version 2 of the License, or (at your option)
+ *  any later version.
  *  
  *  inclhack is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  See the GNU General Public License for more details.
  *  
  *  You should have received a copy of the GNU General Public License
- *  along with inclhack.  See the file "COPYING".  If not,
- *  write to:  The Free Software Foundation, Inc.,
- *             59 Temple Place - Suite 330,
- *             Boston,  MA  02111-1307, USA.
+ *  along with inclhack.  If not, write to:
+ *     The Free Software Foundation, Inc.,
+ *     51 Franklin Street, Fifth Floor
+ *     Boston, MA  02110-1301, USA.
  */
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  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 +204,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 +217,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 +260,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 +280,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 +304,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 +352,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 +384,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 +576,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 +610,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 +641,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 +672,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 +703,7 @@ tSCC zAix_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAix_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -584,7 +740,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 +775,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 +814,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 +849,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 +884,7 @@ tSCC zAlpha___AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -801,7 +957,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 +994,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 +1031,7 @@ tSCC zAlpha_AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -945,7 +1101,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 +1136,7 @@ tSCC zAlpha_ParensName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_ParensList[] =
-  "|sym.h|";
+  "sym.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1015,7 +1171,7 @@ tSCC zAlpha_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1054,7 +1210,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 +1250,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 +1291,7 @@ tSCC zAlpha_SbrkName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_SbrkList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1170,7 +1326,7 @@ tSCC zAlpha_WcharName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_WcharList[] =
-  "|wchar.h|";
+  "wchar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1207,7 +1363,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 +1408,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 +1501,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 +1536,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 +1571,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 +1613,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 +1657,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 +1667,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 +1676,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 +1734,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 +1842,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 +1889,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 +1926,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 +1964,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 +2036,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 +2071,7 @@ tSCC zException_StructureName[] =
  *  File name selection pattern
  */
 tSCC zException_StructureList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1916,7 +2113,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 +2157,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 +2185,206 @@ 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 && __STDC_VERSION__ < 199901L",
+    (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\\)/#if __STDC_VERSION__ < 199901L\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int \\1/",
+    "-e", "s/extern int __REDIRECT\\(_NTH\\|\\) (\\(stat\\|lstat\\|fstat\\)/#if __STDC_VERSION__ < 199901L\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int __REDIRECT\\1 (\\2/",
+    "-e", "s/^extern __inline__ int/#if __STDC_VERSION__ < 199901L\\\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 bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_3Bypass0[] =
+       "__STDC_VERSION__";
+
+#define    GLIBC_C99_INLINE_3_TEST_CT  1
+static tTestDesc aGlibc_C99_Inline_3Tests[] = {
+  { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Glibc_C99_Inline_3
+ */
+static const char* apzGlibc_C99_Inline_3Patch[] = {
+    "format",
+    "# if defined(__cplusplus) || __STDC_VERSION__ >= 19901L",
+    "^# 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 ";
+
+/*
+ *  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\
+#if __STDC_VERSION__ < 19901L\n\
+extern\n\
+#endif\n",
+    (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,7 +2394,7 @@ 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
  */
@@ -2040,7 +2437,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
  */
@@ -2076,7 +2473,7 @@ tSCC zHp_SysfileName[] =
  *  File name selection pattern
  */
 tSCC zHp_SysfileList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2112,7 +2509,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
  */
@@ -2154,7 +2551,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
  */
@@ -2191,7 +2588,7 @@ tSCC zHpux10_Ctype_Declarations1Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations1List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2240,7 +2637,7 @@ tSCC zHpux10_Ctype_Declarations2Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations2List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2307,7 +2704,7 @@ tSCC zHpux10_Stdio_DeclarationsName[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Stdio_DeclarationsList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2356,7 +2753,7 @@ tSCC zHpux11_AbsName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_AbsList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2393,7 +2790,7 @@ tSCC zHpux11_FabsfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_FabsfList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2473,7 +2870,7 @@ tSCC zHpux11_SnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_SnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2508,7 +2905,7 @@ tSCC zHpux11_Uint32_CName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Uint32_CList[] =
-  "|inttypes.h|";
+  "inttypes.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2543,7 +2940,7 @@ tSCC zHpux11_VsnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_VsnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2578,7 +2975,7 @@ tSCC zHpux8_Bogus_InlinesName[] =
  *  File name selection pattern
  */
 tSCC zHpux8_Bogus_InlinesList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2622,7 +3019,7 @@ tSCC zHpux_Ctype_MacrosName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Ctype_MacrosList[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2648,6 +3045,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[] =
@@ -2657,7 +3094,7 @@ tSCC zHpux_Long_DoubleName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Long_DoubleList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2699,7 +3136,7 @@ tSCC zHpux_SystimeName[] =
  *  File name selection pattern
  */
 tSCC zHpux_SystimeList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2725,149 +3162,476 @@ 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 zIo_Quotes_UseSelect0[] =
-       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
+tSCC zHpux11_Extern_SendpathSelect0[] =
+       "^[ \t]*extern sbsize_t sendpath.*\n\
+.*, int\\)\\);\n";
 
-#define    IO_QUOTES_USE_TEST_CT  1
-static tTestDesc aIo_Quotes_UseTests[] = {
-  { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
+#define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
+static tTestDesc aHpux11_Extern_SendpathTests[] = {
+  { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Io_Quotes_Use
+ *  Fix Command Arguments for Hpux11_Extern_Sendpath
  */
-static const char* apzIo_Quotes_UsePatch[] = {
-    "char_macro_use",
-    "IO",
+static const char* apzHpux11_Extern_SendpathPatch[] = {
+    "format",
+    "#ifndef _APP32_64BIT_OFF_T\n\
+%0#endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ip_Missing_Semi fix
+ *  Description of Hpux_Extern_Errno fix
  */
-tSCC zIp_Missing_SemiName[] =
-     "ip_missing_semi";
+tSCC zHpux_Extern_ErrnoName[] =
+     "hpux_extern_errno";
 
 /*
  *  File name selection pattern
  */
-tSCC zIp_Missing_SemiList[] =
-  "|netinet/ip.h|";
+tSCC zHpux_Extern_ErrnoList[] =
+  "errno.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIp_Missing_SemiMachs (const char**)NULL
+tSCC* apzHpux_Extern_ErrnoMachs[] = {
+        "*-hp-hpux10.*",
+        "*-hp-hpux11.[0-2]*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIp_Missing_SemiSelect0[] =
-       "}$";
+tSCC zHpux_Extern_ErrnoSelect0[] =
+       "^[ \t]*extern int errno;$";
 
-#define    IP_MISSING_SEMI_TEST_CT  1
-static tTestDesc aIp_Missing_SemiTests[] = {
-  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
+#define    HPUX_EXTERN_ERRNO_TEST_CT  1
+static tTestDesc aHpux_Extern_ErrnoTests[] = {
+  { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ip_Missing_Semi
+ *  Fix Command Arguments for Hpux_Extern_Errno
  */
-static const char* apzIp_Missing_SemiPatch[] = { "sed",
-    "-e", "/^struct/,/^};/s/}$/};/",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
+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
+ */
+tSCC zIo_Quotes_UseSelect0[] =
+       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
+
+#define    IO_QUOTES_USE_TEST_CT  1
+static tTestDesc aIo_Quotes_UseTests[] = {
+  { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Io_Quotes_Use
+ */
+static const char* apzIo_Quotes_UsePatch[] = {
+    "char_macro_use",
+    "IO",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Ip_Missing_Semi fix
+ */
+tSCC zIp_Missing_SemiName[] =
+     "ip_missing_semi";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zIp_Missing_SemiList[] =
+  "netinet/ip.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzIp_Missing_SemiMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIp_Missing_SemiSelect0[] =
+       "}$";
+
+#define    IP_MISSING_SEMI_TEST_CT  1
+static tTestDesc aIp_Missing_SemiTests[] = {
+  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ip_Missing_Semi
+ */
+static const char* apzIp_Missing_SemiPatch[] = { "sed",
+    "-e", "/^struct/,/^};/s/}$/};/",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Irix___Restrict fix
  */
@@ -2878,7 +3642,7 @@ tSCC zIrix___RestrictName[] =
  *  File name selection pattern
  */
 tSCC zIrix___RestrictList[] =
-  "|internal/sgimacros.h|";
+  "internal/sgimacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2918,7 +3682,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
  */
@@ -2960,7 +3724,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
  */
@@ -3000,7 +3764,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
  */
@@ -3036,7 +3800,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
  */
@@ -3071,7 +3835,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
  */
@@ -3113,7 +3877,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
  */
@@ -3148,7 +3912,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
  */
@@ -3187,7 +3951,7 @@ tSCC zIsc_FmodName[] =
  *  File name selection pattern
  */
 tSCC zIsc_FmodList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3222,7 +3986,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
  */
@@ -3257,7 +4021,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
  */
@@ -3292,7 +4056,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
  */
@@ -3329,7 +4093,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
  */
@@ -3377,7 +4141,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
  */
@@ -3414,7 +4178,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
  */
@@ -3449,7 +4213,7 @@ tSCC zLynxos_Missing_PutenvName[] =
  *  File name selection pattern
  */
 tSCC zLynxos_Missing_PutenvList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3569,7 +4333,7 @@ tSCC zMath_ExceptionName[] =
  *  File name selection pattern
  */
 tSCC zMath_ExceptionList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3616,7 +4380,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
  */
@@ -3661,7 +4425,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
  */
@@ -3696,7 +4460,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
  */
@@ -3733,7 +4497,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
  */
@@ -3768,7 +4532,7 @@ tSCC zNetbsd_Extra_SemicolonName[] =
  *  File name selection pattern
  */
 tSCC zNetbsd_Extra_SemicolonList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3805,7 +4569,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
  */
@@ -3841,7 +4605,7 @@ tSCC zNext_TemplateName[] =
  *  File name selection pattern
  */
 tSCC zNext_TemplateList[] =
-  "|bsd/libc.h|";
+  "bsd/libc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3877,7 +4641,7 @@ tSCC zNext_VolitileName[] =
  *  File name selection pattern
  */
 tSCC zNext_VolitileList[] =
-  "|ansi/stdlib.h|";
+  "ansi/stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3913,7 +4677,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
  */
@@ -3948,7 +4712,7 @@ tSCC zNodeent_SyntaxName[] =
  *  File name selection pattern
  */
 tSCC zNodeent_SyntaxList[] =
-  "|netdnet/dnetdb.h|";
+  "netdnet/dnetdb.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3983,7 +4747,7 @@ tSCC zObstack_Lvalue_CastName[] =
  *  File name selection pattern
  */
 tSCC zObstack_Lvalue_CastList[] =
-  "|obstack.h|";
+  "obstack.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4018,7 +4782,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
  */
@@ -4063,7 +4827,7 @@ tSCC zOsf_Namespace_CName[] =
  *  File name selection pattern
  */
 tSCC zOsf_Namespace_CList[] =
-  "|regex.h|";
+  "regex.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4117,7 +4881,7 @@ tSCC zPthread_Page_SizeName[] =
  *  File name selection pattern
  */
 tSCC zPthread_Page_SizeList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4143,35 +4907,71 @@ static const char* apzPthread_Page_SizePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Read_Ret_Type fix
+ *  Description of Pthread_Incomplete_Struct_Argument fix
  */
-tSCC zRead_Ret_TypeName[] =
-     "read_ret_type";
+tSCC zPthread_Incomplete_Struct_ArgumentName[] =
+     "pthread_incomplete_struct_argument";
 
 /*
  *  File name selection pattern
  */
-tSCC zRead_Ret_TypeList[] =
-  "|stdio.h|";
+tSCC zPthread_Incomplete_Struct_ArgumentList[] =
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRead_Ret_TypeMachs (const char**)NULL
+#define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRead_Ret_TypeSelect0[] =
-       "extern int\t.*, fread\\(\\), fwrite\\(\\)";
+tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
+       "struct __jmp_buf_tag";
 
-#define    READ_RET_TYPE_TEST_CT  1
-static tTestDesc aRead_Ret_TypeTests[] = {
-  { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
+#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 Read_Ret_Type
+ *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
  */
-static const char* apzRead_Ret_TypePatch[] = {
+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[] =
+     "read_ret_type";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRead_Ret_TypeList[] =
+  "stdio.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRead_Ret_TypeMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRead_Ret_TypeSelect0[] =
+       "extern int\t.*, fread\\(\\), fwrite\\(\\)";
+
+#define    READ_RET_TYPE_TEST_CT  1
+static tTestDesc aRead_Ret_TypeTests[] = {
+  { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Read_Ret_Type
+ */
+static const char* apzRead_Ret_TypePatch[] = {
     "format",
     "extern unsigned int fread(), fwrite();\n\
 %1%2",
@@ -4188,420 +4988,960 @@ tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
 /*
  *  File name selection pattern
  */
-tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
-  "|rpc/xdr.h|";
+tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
+  "rpc/xdr.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+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 }, };
+
+/*
+ *  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 Solaris_Math_1
+ */
+static const char* apzSolaris_Math_1Patch[] = {
+    "format",
+    "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
+    "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Solaris_Math_2 fix
+ */
+tSCC zSolaris_Math_2Name[] =
+     "solaris_math_2";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSolaris_Math_2List[] =
+  "iso/math_c99.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_2Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_2Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ *  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 Solaris_Math_2
+ */
+static const char* apzSolaris_Math_2Patch[] = {
+    "format",
+    "#define\tINFINITY\t(__builtin_inff())",
+    "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Solaris_Math_3 fix
+ */
+tSCC zSolaris_Math_3Name[] =
+     "solaris_math_3";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSolaris_Math_3List[] =
+  "iso/math_c99.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_3Machs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_3Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ *  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 Solaris_Math_3
+ */
+static const char* apzSolaris_Math_3Patch[] = {
+    "format",
+    "#define\tNAN\t\t(__builtin_nanf(\"\"))",
+    "^#define[ \t]+NAN[ \t]+__builtin_nan",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Solaris_Math_4 fix
+ */
+tSCC zSolaris_Math_4Name[] =
+     "solaris_math_4";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSolaris_Math_4List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
+#define apzSolaris_Math_4Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
-       "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
-.*__extension__.*";
+tSCC zSolaris_Math_4Select0[] =
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
-#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 }, };
+/*
+ *  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 Rpc_Xdr_Lvalue_Cast_A
+ *  Fix Command Arguments for Solaris_Math_4
  */
-static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
+static const char* apzSolaris_Math_4Patch[] = {
     "format",
-    "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
+    "#define\tfpclassify(x) \\\n\
+  __extension__ ({ __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 Rpc_Xdr_Lvalue_Cast_B fix
+ *  Description of Solaris_Math_5 fix
  */
-tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
-     "rpc_xdr_lvalue_cast_b";
+tSCC zSolaris_Math_5Name[] =
+     "solaris_math_5";
 
 /*
  *  File name selection pattern
  */
-tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
-  "|rpc/xdr.h|";
+tSCC zSolaris_Math_5List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
+#define apzSolaris_Math_5Machs (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_5Select0[] =
+       "@\\(#\\)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_5Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_5_TEST_CT  2
+static tTestDesc aSolaris_Math_5Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_5Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_5Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
+ *  Fix Command Arguments for Solaris_Math_5
  */
-static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
+static const char* apzSolaris_Math_5Patch[] = {
     "format",
-    "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
+    "#define\tisfinite(x) \\\n\
+  __extension__ ({ __typeof (x) __x_f = (x); \\\n\
+\t\t   __builtin_expect(!isnan(__x_f - __x_f), 1); })",
+    "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Double fix
+ *  Description of Solaris_Math_6 fix
  */
-tSCC zRs6000_DoubleName[] =
-     "rs6000_double";
+tSCC zSolaris_Math_6Name[] =
+     "solaris_math_6";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_DoubleList[] =
-  "|math.h|";
+tSCC zSolaris_Math_6List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_DoubleMachs (const char**)NULL
+#define apzSolaris_Math_6Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_DoubleSelect0[] =
-       "[^a-zA-Z_]class\\(";
+tSCC zSolaris_Math_6Select0[] =
+       "@\\(#\\)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_6Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_6_TEST_CT  2
+static tTestDesc aSolaris_Math_6Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_6Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_6Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Double
+ *  Fix Command Arguments for Solaris_Math_6
  */
-static const char* apzRs6000_DoublePatch[] = {
+static const char* apzSolaris_Math_6Patch[] = {
     "format",
-    "#ifndef __cplusplus\n\
-%0\n\
-#endif",
-    "^.*[^a-zA-Z_]class\\(.*",
+    "#define\tisinf(x) \\\n\
+  __extension__ ({ __typeof (x) __x_i = (x); \\\n\
+\t\t   __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
+    "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Fchmod fix
+ *  Description of Solaris_Math_7 fix
  */
-tSCC zRs6000_FchmodName[] =
-     "rs6000_fchmod";
+tSCC zSolaris_Math_7Name[] =
+     "solaris_math_7";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_FchmodList[] =
-  "|sys/stat.h|";
+tSCC zSolaris_Math_7List[] =
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_FchmodMachs (const char**)NULL
+#define apzSolaris_Math_7Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_FchmodSelect0[] =
-       "fchmod\\(char \\*";
+tSCC zSolaris_Math_7Select0[] =
+       "@\\(#\\)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_7Bypass0[] =
+       "__GNUC__";
+
+#define    SOLARIS_MATH_7_TEST_CT  2
+static tTestDesc aSolaris_Math_7Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_7Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_7Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Fchmod
+ *  Fix Command Arguments for Solaris_Math_7
  */
-static const char* apzRs6000_FchmodPatch[] = {
+static const char* apzSolaris_Math_7Patch[] = {
     "format",
-    "fchmod(int",
+    "#define\tisnormal(x) \\\n\
+  __extension__ ({ __typeof(x) __x_n = (x); \\\n\
+\t\t   if (__x_n < 0.0) __x_n = -__x_n; \\\n\
+\t\t   __builtin_expect(isfinite(__x_n) \\\n\
+\t\t\t\t    && (sizeof(__x_n) == sizeof(float) \\\n\
+\t\t\t\t\t  ? __x_n >= __FLT_MIN__ \\\n\
+\t\t\t\t\t  : sizeof(__x_n) == sizeof(long double) \\\n\
+\t\t\t\t\t    ? __x_n >= __LDBL_MIN__ \\\n\
+\t\t\t\t\t    : __x_n >= __DBL_MIN__), 1); })",
+    "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(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 };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -4615,7 +5955,7 @@ tSCC zSolaris_SocketName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_SocketList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4651,7 +5991,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
  */
@@ -4692,7 +6032,7 @@ tSCC zSolaris_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4736,7 +6076,7 @@ tSCC zSolaris_WidecName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_WidecList[] =
-  "|widec.h|";
+  "widec.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4782,7 +6122,7 @@ tSCC zStatsswtchName[] =
  *  File name selection pattern
  */
 tSCC zStatsswtchList[] =
-  "|rpcsvc/rstat.h|";
+  "rpcsvc/rstat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4817,12 +6157,12 @@ tSCC zStdio_Stdarg_HName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Stdarg_HList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
 tSCC* apzStdio_Stdarg_HMachs[] = {
-        "*-*-solaris2.1[0-9]",
+        "*-*-solaris2.1[0-9]*",
         (const char*)NULL };
 
 /*
@@ -4855,12 +6195,12 @@ 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
  */
 tSCC* apzStdio_Va_ListMachs[] = {
-        "*-*-solaris2.1[0-9]",
+        "*-*-solaris2.1[0-9]*",
         (const char*)NULL };
 
 /*
@@ -4904,7 +6244,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
  */
@@ -5004,7 +6344,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
  */
@@ -5085,7 +6425,7 @@ tSCC zStruct_FileName[] =
  *  File name selection pattern
  */
 tSCC zStruct_FileList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5121,7 +6461,7 @@ tSCC zStruct_SockaddrName[] =
  *  File name selection pattern
  */
 tSCC zStruct_SockaddrList[] =
-  "|rpc/auth.h|";
+  "rpc/auth.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5167,7 +6507,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
  */
@@ -5214,7 +6554,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
  */
@@ -5249,7 +6589,7 @@ tSCC zSun_CatmacroName[] =
  *  File name selection pattern
  */
 tSCC zSun_CatmacroList[] =
-  "|pixrect/memvar.h|";
+  "pixrect/memvar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5288,7 +6628,7 @@ tSCC zSun_MallocName[] =
  *  File name selection pattern
  */
 tSCC zSun_MallocList[] =
-  "|malloc.h|";
+  "malloc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5326,7 +6666,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
  */
@@ -5360,7 +6700,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
  */
@@ -5399,7 +6739,7 @@ tSCC zSunos_StrlenName[] =
  *  File name selection pattern
  */
 tSCC zSunos_StrlenList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5434,7 +6774,7 @@ tSCC zSvr4_Disable_OptName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Disable_OptList[] =
-  "|string.h|";
+  "string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5468,7 +6808,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
  */
@@ -5503,7 +6843,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
  */
@@ -5542,7 +6882,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
  */
@@ -5584,7 +6924,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
  */
@@ -5619,7 +6959,7 @@ tSCC zSvr4_Undeclared_GetrngeName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Undeclared_GetrngeList[] =
-  "|regexp.h|";
+  "regexp.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5663,7 +7003,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
  */
@@ -5707,7 +7047,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
  */
@@ -5749,7 +7089,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
  */
@@ -5784,7 +7124,7 @@ tSCC zTinfo_CplusplusName[] =
  *  File name selection pattern
  */
 tSCC zTinfo_CplusplusList[] =
-  "|tinfo.h|";
+  "tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5819,7 +7159,7 @@ tSCC zUltrix_Atexit_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atexit_ParamList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5854,7 +7194,7 @@ tSCC zUltrix_Atof_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atof_ParamList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5889,7 +7229,7 @@ tSCC zUltrix_ConstName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_ConstList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5925,7 +7265,7 @@ tSCC zUltrix_Const2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const2List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5961,7 +7301,7 @@ tSCC zUltrix_Const3Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const3List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5997,7 +7337,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
  */
@@ -6034,7 +7374,7 @@ tSCC zUltrix_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_IfdefList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6069,7 +7409,7 @@ tSCC zUltrix_LocaleName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_LocaleList[] =
-  "|locale.h|";
+  "locale.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6103,7 +7443,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
  */
@@ -6138,7 +7478,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
  */
@@ -6172,7 +7512,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
  */
@@ -6206,7 +7546,7 @@ tSCC zUltrix_StatName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StatList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6245,7 +7585,7 @@ tSCC zUltrix_StaticName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StaticList[] =
-  "|machine/cpu.h|";
+  "machine/cpu.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6281,7 +7621,7 @@ tSCC zUltrix_StdlibName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StdlibList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6322,7 +7662,7 @@ tSCC zUltrix_StringsName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StringsList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6356,7 +7696,7 @@ tSCC zUltrix_Strings2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Strings2List[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6398,7 +7738,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
  */
@@ -6452,7 +7792,7 @@ tSCC zUltrix_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6489,7 +7829,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
  */
@@ -6526,7 +7866,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
  */
@@ -6576,7 +7916,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
  */
@@ -6611,7 +7951,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
  */
@@ -6653,7 +7993,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
  */
@@ -6702,7 +8042,7 @@ tSCC zVxworks_Needs_VxtypesName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Needs_VxtypesList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6737,7 +8077,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
  */
@@ -6785,7 +8125,7 @@ tSCC zVxworks_TimeName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_TimeList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6835,7 +8175,7 @@ tSCC zWindiss_Math1Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math1List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6863,7 +8203,7 @@ tSCC zWindiss_Math2Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math2List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6926,7 +8266,7 @@ tSCC zX11_ClassName[] =
  *  File name selection pattern
  */
 tSCC zX11_ClassList[] =
-  "|X11/ShellP.h|";
+  "X11/ShellP.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6972,7 +8312,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
  */
@@ -7014,7 +8354,7 @@ tSCC zX11_NewName[] =
  *  File name selection pattern
  */
 tSCC zX11_NewList[] =
-  "|Xm/Traversal.h|";
+  "Xm/Traversal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7054,7 +8394,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
  */
@@ -7085,14 +8425,16 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          207
+#define REGEX_COUNT          251
 #define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT            177
+#define FIX_COUNT            207
 
 /*
  *  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,
@@ -7128,6 +8470,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,
@@ -7140,6 +8483,11 @@ 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,
@@ -7156,8 +8504,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,
@@ -7195,6 +8552,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,
@@ -7205,8 +8563,20 @@ 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_5_FIXIDX,
+    SOLARIS_MATH_6_FIXIDX,
+    SOLARIS_MATH_7_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,
@@ -7273,6 +8643,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,
@@ -7445,9 +8825,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,
@@ -7508,6 +8893,31 @@ 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_IFNOT | FD_SUBROUTINE,
@@ -7588,6 +8998,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,
@@ -7598,6 +9013,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,
@@ -7783,6 +9238,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,
@@ -7833,6 +9293,51 @@ 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_5Name,    zSolaris_Math_5List,
+     apzSolaris_Math_5Machs,
+     SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_5Tests,   apzSolaris_Math_5Patch, 0 },
+
+  {  zSolaris_Math_6Name,    zSolaris_Math_6List,
+     apzSolaris_Math_6Machs,
+     SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_6Tests,   apzSolaris_Math_6Patch, 0 },
+
+  {  zSolaris_Math_7Name,    zSolaris_Math_7List,
+     apzSolaris_Math_7Machs,
+     SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris_Math_7Tests,   apzSolaris_Math_7Patch, 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,
@@ -7843,6 +9348,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,