]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
fixincludes: Remove unnecessary Solaris fixes
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Wed, 7 Jan 2026 08:52:39 +0000 (09:52 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Wed, 7 Jan 2026 08:52:39 +0000 (09:52 +0100)
Many fixincludes fixes are no longer applied on Solaris 11.4, usually
because they have been incorporated into the system headers.  Sometimes
this happened as early as Solaris 10 already.

A few still were applied although unnecessarily, usually because they
have been applied to system headers in a slightly different way.

This patch removes all such fixes or disables the unnecessary ones that
aren't Solaris-specific on Solaris only.  While the solaris_math_12 fix
isn't necessary in current Solaris 11.4 SRUs, it was kept since it still
applies to Solaris 11.4 FCS.

Bootstrapped without regressions on i386-pc-solaris2.11 and
sparc-sun-solaris2.11.  I've also checked that the fixes applied to the
11.4 FCS headers are identical to those before this patch, with the
exception of those that are no longer actually needed.

2026-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

fixincludes:
* inclhack.def (AAB_solaris_sys_varargs_h): Remove.
(solaris___restrict): Likewise.
(solaris_complex): Likewise.
(solaris_complex_cxx): Likewise.
(solaris_cxx_linkage): Likewise.
(solaris_getc_strict_stdc): Likewise.
(solaris_gets_c11): Likewise.
(solaris_gets_cxx14): Likewise.
(solaris_int_limits_2): Likewise.
(solaris_math_1): Likewise.
(solaris_math_10): Likewise.
(solaris_math_2): Likewise.
(solaris_math_3): Likewise.
(solaris_math_4): Likewise.
(solaris_math_8): Likewise.
(solaris_math_9): Likewise.
(solaris_math_11): Likewise.
(solaris_once_init_1): Likewise.
(solaris_posix_spawn_restrict): Likewise.
(solaris_rwlock_init_1): Likewise.
(solaris_std___filbuf): Likewise.
(solaris_std_gets_cxx14): Likewise.
(solaris_stdio_tag): Likewise.
(solaris_stdlib_noreturn): Likewise.
(gnu_types): Simplify Solaris guard.
(stdio_stdarg_h): Likewise.
(stdio_va_list): Likewise.
(stdio_va_list_clients): Bypass on Solaris.
(strict_ansi_only): Likewise.
* fixincl.x: Regenerate.

* tests/base/iso/math_c99.h: Remove.
* tests/base/iso/stdio_iso.h: Likewise.
* tests/base/iso/stdlib_c99.h: Likewise.
* tests/base/iso/stdlib_iso.h: Likewise.
* tests/base/spawn.h: Likewise.
* tests/base/stdio_tag.h: Likewise.
* tests/base/sys/feature_tests.h: Likewise.

* tests/base/complex.h  [SOLARIS_COMPLEX_CHECK]: Remove.
[SOLARIS_COMPLEX_CXX_CHECK]: Likewise.
* tests/base/pthread.h [SOLARIS_ONCE_INIT_1_CHECK]: Likewise.
[SOLARIS_RWLOCK_INIT_1_CHECK]: Likewise
* tests/base/stdio.h [SOLARIS_STD___FILBUF_CHECK]: Likewise.
[SOLARIS_GETS_CXX14_CHECK]: Likewise.
* tests/base/sys/int_limits.h [SOLARIS_INT_LIMITS_2_CHECK]: Likewise.

13 files changed:
fixincludes/fixincl.x
fixincludes/inclhack.def
fixincludes/tests/base/complex.h
fixincludes/tests/base/iso/math_c99.h [deleted file]
fixincludes/tests/base/iso/stdio_iso.h [deleted file]
fixincludes/tests/base/iso/stdlib_c99.h [deleted file]
fixincludes/tests/base/iso/stdlib_iso.h [deleted file]
fixincludes/tests/base/pthread.h
fixincludes/tests/base/spawn.h [deleted file]
fixincludes/tests/base/stdio.h
fixincludes/tests/base/stdio_tag.h [deleted file]
fixincludes/tests/base/sys/feature_tests.h [deleted file]
fixincludes/tests/base/sys/int_limits.h

index e684b211cd002d3b57ce8ae31ac01a607fa39b05..6f2c1ffbefe834f3888951fd8fe1a4beab30564e 100644 (file)
@@ -2,11 +2,11 @@
  *
  * DO NOT EDIT THIS FILE   (fixincl.x)
  *
- * It has been AutoGen-ed  August 28, 2025 at 04:10:25 PM by AutoGen 5.18.16
+ * It has been AutoGen-ed  January  6, 2026 at 04:43:53 PM by AutoGen 5.18.12
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT MERGE THIS FILE, EITHER Thu Aug 28 16:10:25 BST 2025
+/* DO NOT MERGE THIS FILE, EITHER Tue Jan  6 16:43:53 CET 2026
  *
  * 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 274 fixup descriptions.
+ * This file contains 250 fixup descriptions.
  *
  * See README for more information.
  *
@@ -468,38 +468,6 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
 #endif /* _SELECTBITS_H_WRAPPER */",
     (char*)NULL };
 
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Aab_Solaris_Sys_Varargs_H fix
- */
-tSCC zAab_Solaris_Sys_Varargs_HName[] =
-     "AAB_solaris_sys_varargs_h";
-
-/*
- *  File name selection pattern
- */
-tSCC zAab_Solaris_Sys_Varargs_HList[] =
-  "sys/varargs.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
-        "*-*-solaris*",
-        (const char*)NULL };
-#define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
-#define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
-
-/*
- *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
- */
-static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
-"#ifdef __STDC__\n\
-  #include <stdarg.h>\n\
-#else\n\
-  #include <varargs.h>\n\
-#endif",
-    (char*)NULL };
-
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aab_Sun_Memcpy fix
@@ -4618,7 +4586,7 @@ tSCC zGnu_TypesList[] =
  *  Machine/OS name selection pattern
  */
 tSCC* apzGnu_TypesMachs[] = {
-        "*-*-solaris2.1[0-9]*",
+        "*-*-solaris2*",
         (const char*)NULL };
 
 /*
@@ -7786,1304 +7754,360 @@ static const char* apzRs6000_ParamPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris___Restrict fix
+ *  Description of Solaris_Int_Const fix
  */
-tSCC zSolaris___RestrictName[] =
-     "solaris___restrict";
+tSCC zSolaris_Int_ConstName[] =
+     "solaris_int_const";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris___RestrictList[] =
-  "sys/feature_tests.h\0";
+tSCC zSolaris_Int_ConstList[] =
+  "sys/int_const.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris___RestrictMachs[] = {
+tSCC* apzSolaris_Int_ConstMachs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris___RestrictSelect0[] =
-       "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
+tSCC zSolaris_Int_ConstSelect0[] =
+       "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
+(/*.**/)\n\
+#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
 
-#define    SOLARIS___RESTRICT_TEST_CT  1
-static tTestDesc aSolaris___RestrictTests[] = {
-  { TT_EGREP,    zSolaris___RestrictSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_INT_CONST_TEST_CT  1
+static tTestDesc aSolaris_Int_ConstTests[] = {
+  { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris___Restrict
+ *  Fix Command Arguments for Solaris_Int_Const
  */
-static const char* apzSolaris___RestrictPatch[] = {
+static const char* apzSolaris_Int_ConstPatch[] = {
     "format",
-    "#ifdef __cplusplus\n\
-#define\t_RESTRICT_KYWD\t__restrict\n\
-#else\n\
-%0\n\
-#endif",
+    "#define\tUINT8_C(c)\t(c)\n\
+%1\n\
+#define\tUINT16_C(c)\t(c)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Complex fix
+ *  Description of Solaris_Int_Limits_1 fix
  */
-tSCC zSolaris_ComplexName[] =
-     "solaris_complex";
+tSCC zSolaris_Int_Limits_1Name[] =
+     "solaris_int_limits_1";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_ComplexList[] =
-  "complex.h\0";
+tSCC zSolaris_Int_Limits_1List[] =
+  "sys/int_limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_ComplexMachs[] = {
-        "*-*-solaris2.*",
+tSCC* apzSolaris_Int_Limits_1Machs[] = {
+        "*-*-solaris2*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_ComplexSelect0[] =
-       "#define[ \t]_Complex_I[ \t]_Complex_I";
-
-#define    SOLARIS_COMPLEX_TEST_CT  1
-static tTestDesc aSolaris_ComplexTests[] = {
-  { TT_EGREP,    zSolaris_ComplexSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Complex
- */
-static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
-    "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
-    "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
-    "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
-    "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Complex_Cxx fix
- */
-tSCC zSolaris_Complex_CxxName[] =
-     "solaris_complex_cxx";
+tSCC zSolaris_Int_Limits_1Select0[] =
+       "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
+#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
 
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Complex_CxxList[] =
-  "complex.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Complex_CxxMachs[] = {
-        "*-*-solaris2.*",
-        (const char*)NULL };
-#define SOLARIS_COMPLEX_CXX_TEST_CT  0
-#define aSolaris_Complex_CxxTests   (tTestDesc*)NULL
+#define    SOLARIS_INT_LIMITS_1_TEST_CT  1
+static tTestDesc aSolaris_Int_Limits_1Tests[] = {
+  { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Complex_Cxx
+ *  Fix Command Arguments for Solaris_Int_Limits_1
  */
-static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
-    "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
-#ifdef\t__cplusplus\\\n\
-extern \"C\" {\\\n\
-#endif",
-    "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
-#ifdef\t__cplusplus\\\n\
-}\\\n\
-#endif",
+static const char* apzSolaris_Int_Limits_1Patch[] = {
+    "format",
+    "#define\tUINT8_MAX\t(255)\n\
+#define\tUINT16_MAX\t(65535)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Cxx_Linkage fix
+ *  Description of Solaris_Int_Limits_3 fix
  */
-tSCC zSolaris_Cxx_LinkageName[] =
-     "solaris_cxx_linkage";
+tSCC zSolaris_Int_Limits_3Name[] =
+     "solaris_int_limits_3";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Cxx_LinkageList[] =
-  "iso/stdlib_iso.h\0";
+tSCC zSolaris_Int_Limits_3List[] =
+  "sys/int_limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Cxx_LinkageMachs[] = {
+tSCC* apzSolaris_Int_Limits_3Machs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Cxx_LinkageSelect0[] =
-       "(#if __cplusplus >= 199711L)\n\
-(extern \"C\\+\\+\" \\{\n\
-)(.*(bsearch|qsort).*)";
+tSCC zSolaris_Int_Limits_3Select0[] =
+       "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
 
-#define    SOLARIS_CXX_LINKAGE_TEST_CT  1
-static tTestDesc aSolaris_Cxx_LinkageTests[] = {
-  { TT_EGREP,    zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_INT_LIMITS_3_TEST_CT  1
+static tTestDesc aSolaris_Int_Limits_3Tests[] = {
+  { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Cxx_Linkage
+ *  Fix Command Arguments for Solaris_Int_Limits_3
  */
-static const char* apzSolaris_Cxx_LinkagePatch[] = {
+static const char* apzSolaris_Int_Limits_3Patch[] = {
     "format",
-    "%1 && !__GNUG__\n\
-%2%3",
+    "#define\tSIZE_MAX\t4294967295U",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Getc_Strict_Stdc fix
+ *  Description of Solaris_Math_12 fix
  */
-tSCC zSolaris_Getc_Strict_StdcName[] =
-     "solaris_getc_strict_stdc";
+tSCC zSolaris_Math_12Name[] =
+     "solaris_math_12";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Getc_Strict_StdcList[] =
-  "iso/stdio_iso.h\0";
+tSCC zSolaris_Math_12List[] =
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
+tSCC* apzSolaris_Math_12Machs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Getc_Strict_StdcSelect0[] =
-       "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
+tSCC zSolaris_Math_12Select0[] =
+       "#undef.*_GLIBCXX_USE_C99_MATH";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_12Bypass0[] =
+       "__MATH_PREEMPTS_GLIBCXX_C99_MATH";
 
-#define    SOLARIS_GETC_STRICT_STDC_TEST_CT  1
-static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
-  { TT_EGREP,    zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
+#define    SOLARIS_MATH_12_TEST_CT  2
+static tTestDesc aSolaris_Math_12Tests[] = {
+  { TT_NEGREP,   zSolaris_Math_12Bypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSolaris_Math_12Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Getc_Strict_Stdc
+ *  Fix Command Arguments for Solaris_Math_12
  */
-static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
-    "format",
-    "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
+static const char* apzSolaris_Math_12Patch[] = { sed_cmd_z,
+    "-e", "/#undef[ \t]*_GLIBCXX_USE_C99_MATH/d",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Gets_C11 fix
+ *  Description of Solaris_Pow_Int_Overload fix
  */
-tSCC zSolaris_Gets_C11Name[] =
-     "solaris_gets_c11";
+tSCC zSolaris_Pow_Int_OverloadName[] =
+     "solaris_pow_int_overload";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Gets_C11List[] =
-  "iso/stdio_iso.h\0";
+tSCC zSolaris_Pow_Int_OverloadList[] =
+  "iso/math_iso.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Gets_C11Machs[] = {
+tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Gets_C11Select0[] =
-       "(extern char[ \t]*\\*gets\\(char \\*\\));";
+tSCC zSolaris_Pow_Int_OverloadSelect0[] =
+       "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
+[^{}]*\\}";
 
-#define    SOLARIS_GETS_C11_TEST_CT  1
-static tTestDesc aSolaris_Gets_C11Tests[] = {
-  { TT_EGREP,    zSolaris_Gets_C11Select0, (regex_t*)NULL }, };
+#define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
+static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
+  { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Gets_C11
+ *  Fix Command Arguments for Solaris_Pow_Int_Overload
  */
-static const char* apzSolaris_Gets_C11Patch[] = {
+static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
     "format",
-    "#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L\n\
-%1 __attribute__((__deprecated__));\n\
+    "#if __cplusplus < 201103L\n\
+%0\n\
 #endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Gets_Cxx14 fix
+ *  Description of Statsswtch fix
  */
-tSCC zSolaris_Gets_Cxx14Name[] =
-     "solaris_gets_cxx14";
+tSCC zStatsswtchName[] =
+     "statsswtch";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Gets_Cxx14List[] =
-  "iso/stdio_iso.h\0";
+tSCC zStatsswtchList[] =
+  "rpcsvc/rstat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Gets_Cxx14Machs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
+#define apzStatsswtchMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSolaris_Gets_Cxx14Select0[] =
-       "(#if __STDC_VERSION__ < 201112L)\n\
-(extern char\t\\*gets\\(char \\*\\) __ATTR_DEPRECATED;)";
+tSCC zStatsswtchSelect0[] =
+       "boottime$";
 
-#define    SOLARIS_GETS_CXX14_TEST_CT  1
-static tTestDesc aSolaris_Gets_Cxx14Tests[] = {
-  { TT_EGREP,    zSolaris_Gets_Cxx14Select0, (regex_t*)NULL }, };
+#define    STATSSWTCH_TEST_CT  1
+static tTestDesc aStatsswtchTests[] = {
+  { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Gets_Cxx14
+ *  Fix Command Arguments for Statsswtch
  */
-static const char* apzSolaris_Gets_Cxx14Patch[] = {
+static const char* apzStatsswtchPatch[] = {
     "format",
-    "%1 && __cplusplus < 201402L\n\
-%2",
+    "boottime;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Int_Const fix
+ *  Description of Stdio_Stdarg_H fix
  */
-tSCC zSolaris_Int_ConstName[] =
-     "solaris_int_const";
+tSCC zStdio_Stdarg_HName[] =
+     "stdio_stdarg_h";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Int_ConstList[] =
-  "sys/int_const.h\0";
+tSCC zStdio_Stdarg_HList[] =
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Int_ConstMachs[] = {
+tSCC* apzStdio_Stdarg_HMachs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSolaris_Int_ConstSelect0[] =
-       "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
-(/*.**/)\n\
-#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
+tSCC zStdio_Stdarg_HBypass0[] =
+       "include.*(stdarg.h|machine/ansi.h|_stdio.h)";
 
-#define    SOLARIS_INT_CONST_TEST_CT  1
-static tTestDesc aSolaris_Int_ConstTests[] = {
-  { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
+#define    STDIO_STDARG_H_TEST_CT  1
+static tTestDesc aStdio_Stdarg_HTests[] = {
+  { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Int_Const
+ *  Fix Command Arguments for Stdio_Stdarg_H
  */
-static const char* apzSolaris_Int_ConstPatch[] = {
-    "format",
-    "#define\tUINT8_C(c)\t(c)\n\
-%1\n\
-#define\tUINT16_C(c)\t(c)",
+static const char* apzStdio_Stdarg_HPatch[] = {
+    "wrap",
+    "#define __need___va_list\n\
+#include <stdarg.h>\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Int_Limits_1 fix
+ *  Description of Stdio_Va_List fix
  */
-tSCC zSolaris_Int_Limits_1Name[] =
-     "solaris_int_limits_1";
+tSCC zStdio_Va_ListName[] =
+     "stdio_va_list";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Int_Limits_1List[] =
-  "sys/int_limits.h\0";
+tSCC zStdio_Va_ListList[] =
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSolaris_Int_Limits_1Machs[] = {
+tSCC* apzStdio_Va_ListMachs[] = {
         "*-*-solaris2*",
         (const char*)NULL };
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSolaris_Int_Limits_1Select0[] =
-       "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
-#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
+tSCC zStdio_Va_ListBypass0[] =
+       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list|_stdio.h";
 
-#define    SOLARIS_INT_LIMITS_1_TEST_CT  1
-static tTestDesc aSolaris_Int_Limits_1Tests[] = {
-  { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
+#define    STDIO_VA_LIST_TEST_CT  1
+static tTestDesc aStdio_Va_ListTests[] = {
+  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Int_Limits_1
+ *  Fix Command Arguments for Stdio_Va_List
  */
-static const char* apzSolaris_Int_Limits_1Patch[] = {
-    "format",
-    "#define\tUINT8_MAX\t(255)\n\
-#define\tUINT16_MAX\t(65535)",
+static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
+    "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
+s@(va_list)&@(__gnuc_va_list)\\&@\n\
+s@ _VA_LIST_));@ __gnuc_va_list));@\n\
+s@ __VA_LIST__));@ __gnuc_va_list));@\n\
+s@ va_list@ __not_va_list__@\n\
+s@\\*va_list@*__not_va_list__@\n\
+s@ __va_list)@ __gnuc_va_list)@\n\
+s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
+s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
+s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
+s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
+s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
+s@VA_LIST@DUMMY_VA_LIST@\n\
+s@_Va_LIST@_VA_LIST@",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Solaris_Int_Limits_2 fix
+ *  Description of Stdio_Va_List_Clients fix
  */
-tSCC zSolaris_Int_Limits_2Name[] =
-     "solaris_int_limits_2";
+tSCC zStdio_Va_List_ClientsName[] =
+     "stdio_va_list_clients";
 
 /*
  *  File name selection pattern
  */
-tSCC zSolaris_Int_Limits_2List[] =
-  "sys/int_limits.h\0";
+tSCC zStdio_Va_List_ClientsList[] =
+  "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
  */
-tSCC* apzSolaris_Int_Limits_2Machs[] = {
-        "*-*-solaris2*",
+tSCC* apzStdio_Va_List_ClientsMachs[] = {
+        "*-*-solaris2.1[0-9]*",
         (const char*)NULL };
 
 /*
- *  content selection pattern - do fix if pattern found
+ *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSolaris_Int_Limits_2Select0[] =
-       "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
+tSCC zStdio_Va_List_ClientsBypass0[] =
+       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
+tSCC zStdio_Va_List_ClientsBypass1[] =
+       "include <stdarg\\.h>|#ifdef va_start";
 
-#define    SOLARIS_INT_LIMITS_2_TEST_CT  1
-static tTestDesc aSolaris_Int_Limits_2Tests[] = {
-  { TT_EGREP,    zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
+#define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
+static tTestDesc aStdio_Va_List_ClientsTests[] = {
+  { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
+  { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Solaris_Int_Limits_2
- */
-static const char* apzSolaris_Int_Limits_2Patch[] = {
-    "format",
-    "#define\t%1_FAST16_%2 %132_%2",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Int_Limits_3 fix
- */
-tSCC zSolaris_Int_Limits_3Name[] =
-     "solaris_int_limits_3";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Int_Limits_3List[] =
-  "sys/int_limits.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Int_Limits_3Machs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Int_Limits_3Select0[] =
-       "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
-
-#define    SOLARIS_INT_LIMITS_3_TEST_CT  1
-static tTestDesc aSolaris_Int_Limits_3Tests[] = {
-  { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Int_Limits_3
- */
-static const char* apzSolaris_Int_Limits_3Patch[] = {
-    "format",
-    "#define\tSIZE_MAX\t4294967295U",
-    (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_10 fix
- */
-tSCC zSolaris_Math_10Name[] =
-     "solaris_math_10";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Math_10List[] =
-  "iso/math_c99.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzSolaris_Math_10Machs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_10Select0[] =
-       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-
-#define    SOLARIS_MATH_10_TEST_CT  1
-static tTestDesc aSolaris_Math_10Tests[] = {
-  { TT_EGREP,    zSolaris_Math_10Select0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Math_10
- */
-static const char* apzSolaris_Math_10Patch[] = {
-    "format",
-    "#define\tisinf(x) __builtin_isinf(x)",
-    "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
-[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
-[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
-[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
-    (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 apzSolaris_Math_4Machs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_4Select0[] =
-       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-
-/*
- *  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 Solaris_Math_4
- */
-static const char* apzSolaris_Math_4Patch[] = {
-    "format",
-    "#define\tfpclassify(x) \\\n\
-  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
-    "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Math_8 fix
- */
-tSCC zSolaris_Math_8Name[] =
-     "solaris_math_8";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Math_8List[] =
-  "iso/math_c99.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzSolaris_Math_8Machs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_8Select0[] =
-       "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
-
-/*
- *  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 Solaris_Math_8
- */
-static const char* apzSolaris_Math_8Patch[] = {
-    "format",
-    "#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 Solaris_Math_9 fix
- */
-tSCC zSolaris_Math_9Name[] =
-     "solaris_math_9";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Math_9List[] =
-  "iso/math_c99.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzSolaris_Math_9Machs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_9Select0[] =
-       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zSolaris_Math_9Bypass0[] =
-       "__GNUC__";
-
-#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 Solaris_Math_9
- */
-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 Solaris_Math_11 fix
- */
-tSCC zSolaris_Math_11Name[] =
-     "solaris_math_11";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Math_11List[] =
-  "iso/math_c99.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzSolaris_Math_11Machs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_11Select0[] =
-       "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ ";
-
-#define    SOLARIS_MATH_11_TEST_CT  1
-static tTestDesc aSolaris_Math_11Tests[] = {
-  { TT_EGREP,    zSolaris_Math_11Select0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Math_11
- */
-static const char* apzSolaris_Math_11Patch[] = {
-    "format",
-    "#undef\tsignbit\n\
-#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))",
-    "^#undef[ \t]+signbit\n\
-#if defined\\(__sparc\\)\n\
-#define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
-[ \t]+\\{[ \t]*__typeof\\(x\\)[ \t]*__x_s[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
-[ \t]+\\(int\\)[ \t]*\\(\\*\\(unsigned[ \t]*\\*\\)[ \t]*\\&__x_s[ \t]*>>[ \t]*31\\);[ \t]*\\}\\)\n\
-#elif defined\\(__i386\\) \\|\\| defined\\(__amd64\\)\n\
-#define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
-[ \t]+\\{ __typeof\\(x\\) __x_s = \\(x\\); \\\\\n\
-[ \t]+\\(sizeof \\(__x_s\\) == sizeof \\(float\\) \\? \\\\\n\
-[ \t]+\\(int\\) \\(\\*\\(unsigned \\*\\) \\&__x_s >> 31\\) : \\\\\n\
-[ \t]+sizeof \\(__x_s\\) == sizeof \\(double\\) \\? \\\\\n\
-[ \t]+\\(int\\) \\(\\(\\(unsigned \\*\\) \\&__x_s\\)\\[1\\] >> 31\\) : \\\\\n\
-[ \t]+\\(int\\) \\(\\(\\(unsigned short \\*\\) \\&__x_s\\)\\[4\\] >> 15\\)\\); \\}\\)\n\
-#endif",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Math_12 fix
- */
-tSCC zSolaris_Math_12Name[] =
-     "solaris_math_12";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Math_12List[] =
-  "math.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Math_12Machs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Math_12Select0[] =
-       "#undef.*_GLIBCXX_USE_C99_MATH";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zSolaris_Math_12Bypass0[] =
-       "__MATH_PREEMPTS_GLIBCXX_C99_MATH";
-
-#define    SOLARIS_MATH_12_TEST_CT  2
-static tTestDesc aSolaris_Math_12Tests[] = {
-  { TT_NEGREP,   zSolaris_Math_12Bypass0, (regex_t*)NULL },
-  { TT_EGREP,    zSolaris_Math_12Select0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Math_12
- */
-static const char* apzSolaris_Math_12Patch[] = { sed_cmd_z,
-    "-e", "/#undef[ \t]*_GLIBCXX_USE_C99_MATH/d",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Once_Init_1 fix
- */
-tSCC zSolaris_Once_Init_1Name[] =
-     "solaris_once_init_1";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Once_Init_1List[] =
-  "pthread.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Once_Init_1Machs[] = {
-        "*-*-solaris*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Once_Init_1Select0[] =
-       "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-
-#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_Once_Init_1
- */
-static const char* apzSolaris_Once_Init_1Patch[] = {
-    "format",
-    "%1{%2}%3",
-    "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Posix_Spawn_Restrict fix
- */
-tSCC zSolaris_Posix_Spawn_RestrictName[] =
-     "solaris_posix_spawn_restrict";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Posix_Spawn_RestrictList[] =
-  "spawn.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
-       "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
-
-#define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
-static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
-  { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
- */
-static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
-    "format",
-    "%1*_RESTRICT_KYWD %2%3",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Pow_Int_Overload fix
- */
-tSCC zSolaris_Pow_Int_OverloadName[] =
-     "solaris_pow_int_overload";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Pow_Int_OverloadList[] =
-  "iso/math_iso.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Pow_Int_OverloadSelect0[] =
-       "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
-[^{}]*\\}";
-
-#define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
-static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
-  { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Pow_Int_Overload
- */
-static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
-    "format",
-    "#if __cplusplus < 201103L\n\
-%0\n\
-#endif",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Rwlock_Init_1 fix
- */
-tSCC zSolaris_Rwlock_Init_1Name[] =
-     "solaris_rwlock_init_1";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Rwlock_Init_1List[] =
-  "pthread.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
-        "*-*-solaris*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Rwlock_Init_1Select0[] =
-       "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-
-#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 Solaris_Rwlock_Init_1
- */
-static const char* apzSolaris_Rwlock_Init_1Patch[] = {
-    "format",
-    "#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_Std___Filbuf fix
- */
-tSCC zSolaris_Std___FilbufName[] =
-     "solaris_std___filbuf";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Std___FilbufList[] =
-  "stdio.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Std___FilbufMachs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Std___FilbufSelect0[] =
-       "(using std::perror;\n\
-)(#endif)";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zSolaris_Std___FilbufBypass0[] =
-       "using std::__filbuf";
-
-#define    SOLARIS_STD___FILBUF_TEST_CT  2
-static tTestDesc aSolaris_Std___FilbufTests[] = {
-  { TT_NEGREP,   zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Std___Filbuf
- */
-static const char* apzSolaris_Std___FilbufPatch[] = {
-    "format",
-    "%1#ifndef _LP64\n\
-using std::__filbuf;\n\
-using std::__flsbuf;\n\
-#endif\n\
-%2",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Std_Gets_Cxx14 fix
- */
-tSCC zSolaris_Std_Gets_Cxx14Name[] =
-     "solaris_std_gets_cxx14";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Std_Gets_Cxx14List[] =
-  "stdio.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Std_Gets_Cxx14Machs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Std_Gets_Cxx14Select0[] =
-       "using std::gets;";
-
-#define    SOLARIS_STD_GETS_CXX14_TEST_CT  1
-static tTestDesc aSolaris_Std_Gets_Cxx14Tests[] = {
-  { TT_EGREP,    zSolaris_Std_Gets_Cxx14Select0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Std_Gets_Cxx14
- */
-static const char* apzSolaris_Std_Gets_Cxx14Patch[] = {
-    "format",
-    "#if __cplusplus < 201402L\n\
-%0\n\
-#endif",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Stdio_Tag fix
- */
-tSCC zSolaris_Stdio_TagName[] =
-     "solaris_stdio_tag";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Stdio_TagList[] =
-  "stdio_tag.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzSolaris_Stdio_TagMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Stdio_TagSelect0[] =
-       "__cplusplus < 54321L";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zSolaris_Stdio_TagBypass0[] =
-       "__GNUC__";
-
-#define    SOLARIS_STDIO_TAG_TEST_CT  2
-static tTestDesc aSolaris_Stdio_TagTests[] = {
-  { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Stdio_Tag
- */
-static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
-    "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Solaris_Stdlib_Noreturn fix
- */
-tSCC zSolaris_Stdlib_NoreturnName[] =
-     "solaris_stdlib_noreturn";
-
-/*
- *  File name selection pattern
- */
-tSCC zSolaris_Stdlib_NoreturnList[] =
-  "iso/stdlib_c99.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Stdlib_NoreturnMachs[] = {
-        "*-*-solaris2*",
-        (const char*)NULL };
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Stdlib_NoreturnSelect0[] =
-       "(extern) _Noreturn (void quick_exit\\(int\\));";
-
-#define    SOLARIS_STDLIB_NORETURN_TEST_CT  1
-static tTestDesc aSolaris_Stdlib_NoreturnTests[] = {
-  { TT_EGREP,    zSolaris_Stdlib_NoreturnSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Solaris_Stdlib_Noreturn
- */
-static const char* apzSolaris_Stdlib_NoreturnPatch[] = {
-    "format",
-    "%1 %2 __attribute__((__noreturn__));",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Statsswtch fix
- */
-tSCC zStatsswtchName[] =
-     "statsswtch";
-
-/*
- *  File name selection pattern
- */
-tSCC zStatsswtchList[] =
-  "rpcsvc/rstat.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-#define apzStatsswtchMachs (const char**)NULL
-
-/*
- *  content selection pattern - do fix if pattern found
- */
-tSCC zStatsswtchSelect0[] =
-       "boottime$";
-
-#define    STATSSWTCH_TEST_CT  1
-static tTestDesc aStatsswtchTests[] = {
-  { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Statsswtch
- */
-static const char* apzStatsswtchPatch[] = {
-    "format",
-    "boottime;",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Stdio_Stdarg_H fix
- */
-tSCC zStdio_Stdarg_HName[] =
-     "stdio_stdarg_h";
-
-/*
- *  File name selection pattern
- */
-tSCC zStdio_Stdarg_HList[] =
-  "stdio.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzStdio_Stdarg_HMachs[] = {
-        "*-*-solaris2.1[0-9]*",
-        (const char*)NULL };
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zStdio_Stdarg_HBypass0[] =
-       "include.*(stdarg.h|machine/ansi.h|_stdio.h)";
-
-#define    STDIO_STDARG_H_TEST_CT  1
-static tTestDesc aStdio_Stdarg_HTests[] = {
-  { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Stdio_Stdarg_H
- */
-static const char* apzStdio_Stdarg_HPatch[] = {
-    "wrap",
-    "#define __need___va_list\n\
-#include <stdarg.h>\n",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Stdio_Va_List fix
- */
-tSCC zStdio_Va_ListName[] =
-     "stdio_va_list";
-
-/*
- *  File name selection pattern
- */
-tSCC zStdio_Va_ListList[] =
-  "stdio.h\0";
-/*
- *  Machine/OS name selection pattern
- */
-tSCC* apzStdio_Va_ListMachs[] = {
-        "*-*-solaris2.1[0-9]*",
-        (const char*)NULL };
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zStdio_Va_ListBypass0[] =
-       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list|_stdio.h";
-
-#define    STDIO_VA_LIST_TEST_CT  1
-static tTestDesc aStdio_Va_ListTests[] = {
-  { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Stdio_Va_List
- */
-static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
-    "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
-s@(va_list)&@(__gnuc_va_list)\\&@\n\
-s@ _VA_LIST_));@ __gnuc_va_list));@\n\
-s@ __VA_LIST__));@ __gnuc_va_list));@\n\
-s@ va_list@ __not_va_list__@\n\
-s@\\*va_list@*__not_va_list__@\n\
-s@ __va_list)@ __gnuc_va_list)@\n\
-s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
-s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
-s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
-s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
-s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
-s@VA_LIST@DUMMY_VA_LIST@\n\
-s@_Va_LIST@_VA_LIST@",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Stdio_Va_List_Clients fix
- */
-tSCC zStdio_Va_List_ClientsName[] =
-     "stdio_va_list_clients";
-
-/*
- *  File name selection pattern
- */
-tSCC zStdio_Va_List_ClientsList[] =
-  "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
- */
-#define apzStdio_Va_List_ClientsMachs (const char**)NULL
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zStdio_Va_List_ClientsBypass0[] =
-       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
-tSCC zStdio_Va_List_ClientsBypass1[] =
-       "include <stdarg\\.h>|#ifdef va_start";
-
-#define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
-static tTestDesc aStdio_Va_List_ClientsTests[] = {
-  { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
-  { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
-
-/*
- *  Fix Command Arguments for Stdio_Va_List_Clients
+ *  Fix Command Arguments for Stdio_Va_List_Clients
  */
 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
@@ -9207,7 +8231,9 @@ tSCC zStrict_Ansi_OnlyName[] =
 /*
  *  Machine/OS name selection pattern
  */
-#define apzStrict_Ansi_OnlyMachs (const char**)NULL
+tSCC* apzStrict_Ansi_OnlyMachs[] = {
+        "*-*-solaris2*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
@@ -11209,9 +10235,9 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          319
+#define REGEX_COUNT          289
 #define MACH_LIST_SIZE_LIMIT 187
-#define FIX_COUNT            274
+#define FIX_COUNT            250
 
 /*
  *  Enumerate the fixes
@@ -11224,7 +10250,6 @@ typedef enum {
     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
-    AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
     AAB_SUN_MEMCPY_FIXIDX,
     AAB_VXWORKS_ASSERT_FIXIDX,
     AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
@@ -11406,34 +10431,11 @@ typedef enum {
     RS6000_DOUBLE_FIXIDX,
     RS6000_FCHMOD_FIXIDX,
     RS6000_PARAM_FIXIDX,
-    SOLARIS___RESTRICT_FIXIDX,
-    SOLARIS_COMPLEX_FIXIDX,
-    SOLARIS_COMPLEX_CXX_FIXIDX,
-    SOLARIS_CXX_LINKAGE_FIXIDX,
-    SOLARIS_GETC_STRICT_STDC_FIXIDX,
-    SOLARIS_GETS_C11_FIXIDX,
-    SOLARIS_GETS_CXX14_FIXIDX,
     SOLARIS_INT_CONST_FIXIDX,
     SOLARIS_INT_LIMITS_1_FIXIDX,
-    SOLARIS_INT_LIMITS_2_FIXIDX,
     SOLARIS_INT_LIMITS_3_FIXIDX,
-    SOLARIS_MATH_1_FIXIDX,
-    SOLARIS_MATH_10_FIXIDX,
-    SOLARIS_MATH_2_FIXIDX,
-    SOLARIS_MATH_3_FIXIDX,
-    SOLARIS_MATH_4_FIXIDX,
-    SOLARIS_MATH_8_FIXIDX,
-    SOLARIS_MATH_9_FIXIDX,
-    SOLARIS_MATH_11_FIXIDX,
     SOLARIS_MATH_12_FIXIDX,
-    SOLARIS_ONCE_INIT_1_FIXIDX,
-    SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
     SOLARIS_POW_INT_OVERLOAD_FIXIDX,
-    SOLARIS_RWLOCK_INIT_1_FIXIDX,
-    SOLARIS_STD___FILBUF_FIXIDX,
-    SOLARIS_STD_GETS_CXX14_FIXIDX,
-    SOLARIS_STDIO_TAG_FIXIDX,
-    SOLARIS_STDLIB_NORETURN_FIXIDX,
     STATSSWTCH_FIXIDX,
     STDIO_STDARG_H_FIXIDX,
     STDIO_VA_LIST_FIXIDX,
@@ -11529,11 +10531,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
 
-  {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
-     apzAab_Solaris_Sys_Varargs_HMachs,
-     AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
-
   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
      apzAab_Sun_MemcpyMachs,
      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
@@ -12439,41 +11436,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
 
-  {  zSolaris___RestrictName,    zSolaris___RestrictList,
-     apzSolaris___RestrictMachs,
-     SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris___RestrictTests,   apzSolaris___RestrictPatch, 0 },
-
-  {  zSolaris_ComplexName,    zSolaris_ComplexList,
-     apzSolaris_ComplexMachs,
-     SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
-     aSolaris_ComplexTests,   apzSolaris_ComplexPatch, 0 },
-
-  {  zSolaris_Complex_CxxName,    zSolaris_Complex_CxxList,
-     apzSolaris_Complex_CxxMachs,
-     SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
-     aSolaris_Complex_CxxTests,   apzSolaris_Complex_CxxPatch, 0 },
-
-  {  zSolaris_Cxx_LinkageName,    zSolaris_Cxx_LinkageList,
-     apzSolaris_Cxx_LinkageMachs,
-     SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Cxx_LinkageTests,   apzSolaris_Cxx_LinkagePatch, 0 },
-
-  {  zSolaris_Getc_Strict_StdcName,    zSolaris_Getc_Strict_StdcList,
-     apzSolaris_Getc_Strict_StdcMachs,
-     SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Getc_Strict_StdcTests,   apzSolaris_Getc_Strict_StdcPatch, 0 },
-
-  {  zSolaris_Gets_C11Name,    zSolaris_Gets_C11List,
-     apzSolaris_Gets_C11Machs,
-     SOLARIS_GETS_C11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Gets_C11Tests,   apzSolaris_Gets_C11Patch, 0 },
-
-  {  zSolaris_Gets_Cxx14Name,    zSolaris_Gets_Cxx14List,
-     apzSolaris_Gets_Cxx14Machs,
-     SOLARIS_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Gets_Cxx14Tests,   apzSolaris_Gets_Cxx14Patch, 0 },
-
   {  zSolaris_Int_ConstName,    zSolaris_Int_ConstList,
      apzSolaris_Int_ConstMachs,
      SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -12484,101 +11446,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSolaris_Int_Limits_1Tests,   apzSolaris_Int_Limits_1Patch, 0 },
 
-  {  zSolaris_Int_Limits_2Name,    zSolaris_Int_Limits_2List,
-     apzSolaris_Int_Limits_2Machs,
-     SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Int_Limits_2Tests,   apzSolaris_Int_Limits_2Patch, 0 },
-
   {  zSolaris_Int_Limits_3Name,    zSolaris_Int_Limits_3List,
      apzSolaris_Int_Limits_3Machs,
      SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSolaris_Int_Limits_3Tests,   apzSolaris_Int_Limits_3Patch, 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_10Name,    zSolaris_Math_10List,
-     apzSolaris_Math_10Machs,
-     SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_10Tests,   apzSolaris_Math_10Patch, 0 },
-
-  {  zSolaris_Math_2Name,    zSolaris_Math_2List,
-     apzSolaris_Math_2Machs,
-     SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
-
-  {  zSolaris_Math_3Name,    zSolaris_Math_3List,
-     apzSolaris_Math_3Machs,
-     SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
-
-  {  zSolaris_Math_4Name,    zSolaris_Math_4List,
-     apzSolaris_Math_4Machs,
-     SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
-
-  {  zSolaris_Math_8Name,    zSolaris_Math_8List,
-     apzSolaris_Math_8Machs,
-     SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
-
-  {  zSolaris_Math_9Name,    zSolaris_Math_9List,
-     apzSolaris_Math_9Machs,
-     SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
-
-  {  zSolaris_Math_11Name,    zSolaris_Math_11List,
-     apzSolaris_Math_11Machs,
-     SOLARIS_MATH_11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Math_11Tests,   apzSolaris_Math_11Patch, 0 },
-
   {  zSolaris_Math_12Name,    zSolaris_Math_12List,
      apzSolaris_Math_12Machs,
      SOLARIS_MATH_12_TEST_CT, FD_MACH_ONLY,
      aSolaris_Math_12Tests,   apzSolaris_Math_12Patch, 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_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
-     apzSolaris_Posix_Spawn_RestrictMachs,
-     SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
-
   {  zSolaris_Pow_Int_OverloadName,    zSolaris_Pow_Int_OverloadList,
      apzSolaris_Pow_Int_OverloadMachs,
      SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aSolaris_Pow_Int_OverloadTests,   apzSolaris_Pow_Int_OverloadPatch, 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_Std___FilbufName,    zSolaris_Std___FilbufList,
-     apzSolaris_Std___FilbufMachs,
-     SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Std___FilbufTests,   apzSolaris_Std___FilbufPatch, 0 },
-
-  {  zSolaris_Std_Gets_Cxx14Name,    zSolaris_Std_Gets_Cxx14List,
-     apzSolaris_Std_Gets_Cxx14Machs,
-     SOLARIS_STD_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Std_Gets_Cxx14Tests,   apzSolaris_Std_Gets_Cxx14Patch, 0 },
-
-  {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
-     apzSolaris_Stdio_TagMachs,
-     SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
-     aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
-
-  {  zSolaris_Stdlib_NoreturnName,    zSolaris_Stdlib_NoreturnList,
-     apzSolaris_Stdlib_NoreturnMachs,
-     SOLARIS_STDLIB_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aSolaris_Stdlib_NoreturnTests,   apzSolaris_Stdlib_NoreturnPatch, 0 },
-
   {  zStatsswtchName,    zStatsswtchList,
      apzStatsswtchMachs,
      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -12596,7 +11478,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
 
   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
      apzStdio_Va_List_ClientsMachs,
-     STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
+     STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_IFNOT,
      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
 
   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
@@ -12611,7 +11493,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
 
   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
      apzStrict_Ansi_OnlyMachs,
-     STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     STRICT_ANSI_ONLY_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
 
   {  zStruct_FileName,    zStruct_FileList,
index 71777cb10e73d06c4a2788bd0823df72c6c7504c..53022aaeee563b485dd0a3f128ed9a42832d3609 100644 (file)
@@ -340,24 +340,6 @@ fix = {
        _EndOfHeader_;
 };
 
-/*
- * Solaris <sys/varargs.h> is a DDK (aka kernel-land) header providing
- * the same interface as <stdarg.h>.  No idea why they couldn't have just
- * used the standard header.
- */
-fix = {
-    hackname = AAB_solaris_sys_varargs_h;
-    files    = "sys/varargs.h";
-    mach     = '*-*-solaris*';
-    replace  = <<-  _EndOfHeader_
-       #ifdef __STDC__
-         #include <stdarg.h>
-       #else
-         #include <varargs.h>
-       #endif
-       _EndOfHeader_;
-};
-
 /*
  *  Fix non-ANSI memcpy declaration that conflicts with gcc's builtin
  *  declaration on Sun OS 4.x.  We must only fix this on Sun OS 4.x, because
@@ -2346,8 +2328,8 @@ fix = {
     bypass    = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
     select    = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
     c_fix     = gnu_type;
-    /* The Solaris 10 headers already define these types correctly.  */
-    mach   = '*-*-solaris2.1[0-9]*';
+    /* The Solaris 10+ headers already define these types correctly.  */
+    mach   = '*-*-solaris2*';
     not_machine = true;
 
     test_text = "typedef long int ptrdiff_t; /* long int */\n"
@@ -3894,133 +3876,6 @@ fix = {
     test_text = 'extern int rename(const char *old, const char *new);';
 };
 
-/*
- *  Solaris 10+ <sys/feature_tests.h> defines _RESTRICT_KYWD as restrict
- *  for C99.  This is wrong for C++, which needs many C99 features, but
- *  only supports __restrict.
- */
-fix = {
-    hackname  = solaris___restrict;
-    files     = sys/feature_tests.h;
-    select    = "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
-    mach      = "*-*-solaris2*";
-    c_fix     = format;
-    c_fix_arg = "#ifdef __cplusplus\n#define\t_RESTRICT_KYWD\t__restrict\n"
-               "#else\n%0\n#endif";
-    test_text = "#define       _RESTRICT_KYWD  restrict";
-};
-
-/*
- * Solaris 10+ complex.h defines _Complex_I and _Imaginary_I in terms of
- * themselves, which are Sun Studio compiler intrinsics.  Remove _Imaginary_I
- * and imaginary definitions which are not supported by GCC.
- */
-fix = {
-    hackname  = solaris_complex;
-    mach      = "*-*-solaris2.*";
-    files     = complex.h;
-    select    = "#define[ \t]_Complex_I[ \t]_Complex_I";
-    sed              = "s/#define[ \t]_Complex_I[ \t]_Complex_I/"
-               "#define\t_Complex_I\t(__extension__ 1.0iF)/";
-    sed              = "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d";
-    sed              = "/#define[ \t]imaginary[ \t]_Imaginary/d";
-    sed       = "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/";
-    test_text = "#define       _Complex_I      _Complex_I\n"
-               "#define        complex         _Complex\n"
-               "#define        _Imaginary_I    _Imaginary_I\n"
-               "#define        imaginary       _Imaginary\n"
-               "#undef I\n"
-               "#define        I               _Imaginary_I";
-};
-
-/*
- * Solaris 10+ <complex.h> is wrapped in #ifndef __cplusplus.  Wrap in
- * extern "C" instead so libstdc++ can use it.
- */
-fix = {
-    hackname  = solaris_complex_cxx;
-    mach      = "*-*-solaris2.*";
-    files     = complex.h;
-    sed              = "/#if[ \t]*!defined(__cplusplus)/c\\\n"
-               "#ifdef\t__cplusplus\\\nextern \"C\" {\\\n#endif";
-    sed              = "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n"
-               "#ifdef\t__cplusplus\\\n}\\\n#endif";
-    test_text = "#if !defined(__cplusplus)\n"
-               "#endif /* !defined(__cplusplus) */";
-};
-
-/*
- *  g++ rejects functions declared with both C and C++ linkage.
- */
-fix = {
-    hackname  = solaris_cxx_linkage;
-    mach      = '*-*-solaris2*';
-    files     = "iso/stdlib_iso.h";
-    select    = "(#if __cplusplus >= 199711L)\n"
-               "(extern \"C\\+\\+\" \\{\n)"
-               "(.*(bsearch|qsort).*)";
-    c_fix     = format;
-    c_fix_arg = "%1 && !__GNUG__\n%2%3";
-
-    test_text =
-    "#if __cplusplus >= 199711L\n"
-    "extern \"C++\" {\n"
-    "  void *bsearch(const void *, const void *, size_t, size_t,";
-};
-
-/*
- *  Solaris <iso/stdio_iso.h> doesn't declare getc for C++ with
- *  _STRICT_STDC, but uses it.
- */
-fix = {
-    hackname  = solaris_getc_strict_stdc;
-    mach      = "*-*-solaris2*";
-    files     = "iso/stdio_iso.h";
-    select    = "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
-    c_fix     = format;
-    c_fix_arg = "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2";
-
-    test_text =
-    "#if       !defined(_REENTRANT) && !defined(_LP64) && !defined(_STRICT_STDC)";
-};
-
-/*
- *  Solaris <iso/stdio_iso.h> should deprecate gets before C11.
- */
-fix = {
-    hackname  = solaris_gets_c11;
-    mach      = "*-*-solaris2*";
-    files     = "iso/stdio_iso.h";
-    select    = "(extern char[ \t]*\\*gets\\(char \\*\\));";
-
-    c_fix     = format;
-    c_fix_arg = "#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L\n"
-               "%1 __attribute__((__deprecated__));\n"
-               "#endif";
-
-    test_text = "extern char   *gets(char *);";
-};
-
-/*
- *  Solaris <iso/stdio_iso.h> shouldn't declare gets for C++14.
- */
-fix = {
-    hackname  = solaris_gets_cxx14;
-    mach      = "*-*-solaris2*";
-    files     = "iso/stdio_iso.h";
-    select    = <<- _EOSelect_
-(#if __STDC_VERSION__ < 201112L)
-(extern char   \*gets\(char \*\) __ATTR_DEPRECATED;)
-_EOSelect_;
-    c_fix     = format;
-    c_fix_arg = "%1 && __cplusplus < 201402L\n%2";
-
-    test_text = <<- _EOText_
-#if __STDC_VERSION__ < 201112L
-extern char    *gets(char *) __ATTR_DEPRECATED;
-_EOText_;
-};
-
 /*
  * Sun Solaris 2 has a version of sys/int_const.h that defines
  * UINT8_C and UINT16_C to unsigned constants.
@@ -4060,23 +3915,6 @@ fix = {
     "#define   UINT16_MAX      (65535U)";
 };
 
-/*
- * Sun Solaris 2 has a version of sys/int_limits.h that defines
- * INT_FAST16 limits to wrong values for sys/int_types.h.
- */
-fix = {
-    hackname  = solaris_int_limits_2;
-    files     = sys/int_limits.h;
-    mach      = '*-*-solaris2*';
-    c_fix     = format;
-    c_fix_arg = "#define\t%1_FAST16_%2 %132_%2";
-    select    = "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
-    test_text =
-    "#define   INT_FAST16_MAX INT16_MAX\n"
-    "#define   UINT_FAST16_MAX UINT16_MAX\n"
-    "#define   INT_FAST16_MIN  INT16_MIN";
-};
-
 /*
  * Sun Solaris 2 has a version of sys/int_limits.h that defines
  * SIZE_MAX as unsigned long.
@@ -4092,210 +3930,6 @@ fix = {
     "#define   SIZE_MAX        4294967295UL";
 };
 
-/*
- * Sun Solaris 10 defines several C99 math macros in terms of
- * builtins specific to the Studio compiler, in particular not
- * compatible with the GNU compiler.
- */
-fix = {
-    hackname = solaris_math_1;
-    select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#define\tHUGE_VA%1\t(__builtin_huge_va%2())";
-    c_fix_arg = "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)";
-    test_text =
-    '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
-    "#undef    HUGE_VAL\n"
-    "#define   HUGE_VAL        __builtin_huge_val\n"
-    "#undef    HUGE_VALF\n"
-    "#define   HUGE_VALF       __builtin_huge_valf\n"
-    "#undef    HUGE_VALL\n"
-    "#define   HUGE_VALL       __builtin_huge_vall";
-};
-
-/*
- * On Solaris 11, if you do isinf(NaN) you'll get a floating point
- * exception.  Provide an alternative using GCC's builtin.
- */
-fix = {
-    hackname  = solaris_math_10;
-    select    = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    files     = iso/math_c99.h;
-    c_fix     = format;
-    c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)";
-    c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n"
-                "[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);"
-                    "[ \t]*\\\\\n"
-                "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*"
-                    "INFINITY[ \t]*\\|\\|[ \t]*\\\\\n"
-                "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*"
-                    "\\(-INFINITY\\);[ \t]*\\}\\)";
-    test_text =
-    '#pragma ident     "@(#)math_c99.h 1.12    07/01/21 SMI"'"\n"
-    "#undef    isinf\n"
-    "#define   isinf(x)        __extension__( \\\\\n"
-    "                  { __typeof(x) __x_i = (x); \\\\\n"
-    "                  __x_i == (__typeof(__x_i)) INFINITY || \\\\\n"
-    "                  __x_i == (__typeof(__x_i)) (-INFINITY); })";
-};
-
-/*
- * Solaris math INFINITY
- */
-fix = {
-    hackname = solaris_math_2;
-    select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#define\tINFINITY\t(__builtin_inff())";
-    c_fix_arg = "^#define[ \t]+INFINITY[ \t]+__builtin_infinity";
-    test_text =
-    '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
-    "#undef    INFINITY\n"
-    "#define   INFINITY        __builtin_infinity";
-};
-
-/*
- * Solaris math NAN
- */
-fix = {
-    hackname = solaris_math_3;
-    select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#define\tNAN\t\t(__builtin_nanf(\"\"))";
-    c_fix_arg = "^#define[ \t]+NAN[ \t]+__builtin_nan";
-    test_text =
-    '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
-    "#undef    NAN\n"
-    "#define   NAN     __builtin_nan";
-};
-
-/*
- * Solaris math fpclassify
- */
-fix = {
-    hackname = solaris_math_4;
-    select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#define\tfpclassify(x) \\\n"
-                "  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, "
-                    "FP_SUBNORMAL, FP_ZERO, (x))";
-    c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)";
-    test_text =
-    '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
-    "#undef    fpclassify\n"
-    "#define   fpclassify(x)   __builtin_fpclassify(x)";
-};
-
-/*
- * Solaris math signbit
- */
-fix = {
-    hackname = solaris_math_8;
-    select = '@\(#\)math_c99\.h' "[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#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))";
-    c_fix_arg = "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)";
-    test_text = <<- _EOText_
-       #ident  "@(#)math_c99.h 1.9     04/11/01 SMI"
-       #undef  signbit
-       #define signbit(x)      __builtin_signbit(x)
-       _EOText_;
-};
-
-/*
- * Solaris math comparison macros
- */
-fix = {
-    hackname = solaris_math_9;
-    select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    bypass = "__GNUC__";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = "#define\t%1(x, y)%2__builtin_%1(x, y)";
-    c_fix_arg = "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) "
-                    "__builtin_[a-z]+\\(y\\)\\)";
-    test_text =
-    '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
-    "#undef    isgreater\n"
-    "#define   isgreater(x, y)         ((x) __builtin_isgreater(y))\n"
-    "#undef    isgreaterequal\n"
-    "#define   isgreaterequal(x, y)    ((x) __builtin_isgreaterequal(y))\n"
-    "#undef    isless\n"
-    "#define   isless(x, y)            ((x) __builtin_isless(y))\n"
-    "#undef    islessequal\n"
-    "#define   islessequal(x, y)       ((x) __builtin_islessequal(y))\n"
-    "#undef    islessgreater\n"
-    "#define   islessgreater(x, y)     ((x) __builtin_islessgreater(y))\n"
-    "#undef    isunordered\n"
-    "#define   isunordered(x, y)       ((x) __builtin_isunordered(y))";
-};
-
-/*
- * Newer Solaris 10/11 GCC signbit implementations cause strict-aliasing
- * warnings.
- */
-fix = {
-    hackname = solaris_math_11;
-    select = '@\(#\)math_c99\.h' "[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ ";
-    files = iso/math_c99.h;
-    c_fix = format;
-    c_fix_arg = << _EOArg_
-#undef signbit
-#define        signbit(x)      (sizeof(x) == sizeof(float) \
-                          ? __builtin_signbitf(x) \
-                          : sizeof(x) == sizeof(long double) \
-                            ? __builtin_signbitl(x) \
-                            : __builtin_signbit(x))
-_EOArg_;
-    c_fix_arg = << _EOArg_
-^#undef[       ]+signbit
-#if defined\(__sparc\)
-#define[       ]+signbit\(x\)[         ]+__extension__\( \\
-[      ]+\{[   ]*__typeof\(x\)[        ]*__x_s[        ]*=[    ]*\(x\);[       ]*\\
-[      ]+\(int\)[      ]*\(\*\(unsigned[       ]*\*\)[         ]*\&__x_s[      ]*>>[   ]*31\);[        ]*\}\)
-#elif defined\(__i386\) \|\| defined\(__amd64\)
-#define[       ]+signbit\(x\)[         ]+__extension__\( \\
-[      ]+\{ __typeof\(x\) __x_s = \(x\); \\
-[      ]+\(sizeof \(__x_s\) == sizeof \(float\) \? \\
-[      ]+\(int\) \(\*\(unsigned \*\) \&__x_s >> 31\) : \\
-[      ]+sizeof \(__x_s\) == sizeof \(double\) \? \\
-[      ]+\(int\) \(\(\(unsigned \*\) \&__x_s\)\[1\] >> 31\) : \\
-[      ]+\(int\) \(\(\(unsigned short \*\) \&__x_s\)\[4\] >> 15\)\); \}\)
-#endif
-_EOArg_;
-    test_text = << _EOText_
-/* @(#)math_c99.h      1.14    13/03/27 */
-#undef signbit
-#if defined(__sparc)
-#define        signbit(x)      __extension__( \\
-                               { __typeof(x) __x_s = (x); \\
-                               (int) (*(unsigned *) &__x_s >> 31); })
-#elif defined(__i386) || defined(__amd64)
-#define        signbit(x)      __extension__( \\
-                       { __typeof(x) __x_s = (x); \\
-                       (sizeof (__x_s) == sizeof (float) ? \\
-                       (int) (*(unsigned *) &__x_s >> 31) : \\
-                       sizeof (__x_s) == sizeof (double) ? \\
-                       (int) (((unsigned *) &__x_s)[1] >> 31) : \\
-                       (int) (((unsigned short *) &__x_s)[4] >> 15)); })
-#endif
-_EOText_;
-};
-
 /*
  * Some versions of Solaris 10+ <math.h> #undef libstdc++-internal macros.
  */
@@ -4314,40 +3948,6 @@ fix = {
 _EOText_;
 };
 
-/*
- * Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a
- * structure.  As such, it need two levels of brackets, but only
- * contains one.  Wrap the macro definition in an extra layer.
- */
-fix = {
-    hackname = solaris_once_init_1;
-    select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    files = pthread.h;
-    mach = '*-*-solaris*';
-    c_fix = format;
-    c_fix_arg = "%1{%2}%3";
-    c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$";
-    test_text =
-    '#pragma ident     "@(#)pthread.h  1.37    04/09/28 SMI"'"\n"
-    "#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}";
-};
-
-/*
- * Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
- * posix_spawn declarations, which doesn't work with C++.
- */
-fix = {
-    hackname  = solaris_posix_spawn_restrict;
-    files     = spawn.h;
-    mach      = '*-*-solaris2*';
-    c_fix     = format;
-    c_fix_arg = "%1*_RESTRICT_KYWD %2%3";
-    select    = "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
-    test_text =
-    "char *const argv[_RESTRICT_KYWD],\n"
-    "char *const envp[_RESTRICT_KYWD]);";
-};
-
 /*
  *  The pow overloads with int were removed in C++ 2011 DR 550.
  */
@@ -4365,100 +3965,6 @@ fix = {
     "          __powl(__X, (long double) (__Y)); }";
 };
 
-/*
- * Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some
- *  fields of the pthread_rwlock_t structure, which are of type
- *  upad64_t, which itself is typedef'd to int64_t, but with __STDC__
- *  defined (e.g. by -ansi) it is a union. So change the initializer
- *  to "{0}" instead.
- */
-fix = {
-    hackname = solaris_rwlock_init_1;
-    select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-    files = pthread.h;
-    mach = '*-*-solaris*';
-    c_fix = format;
-    c_fix_arg = "#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";
-    c_fix_arg = "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)"
-                "\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$";
-
-    test_text =
-    '#ident "@(#)pthread.h  1.26  98/04/12 SMI"'"\n"
-    "#define PTHREAD_RWLOCK_INITIALIZER\t{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}";
-};
-
-/*
- * Before Solaris 10, <stdio.h> lacks declarations of std::__filbuf and
- * std::__flsbuf, but <iso/stdio_iso.h> uses them.
- */
-fix = {
-    hackname  = solaris_std___filbuf;
-    files     = stdio.h;
-    mach      = '*-*-solaris2*';
-    bypass    = "using std::__filbuf";
-    select    = "(using std::perror;\n)(#endif)";
-    c_fix     = format;
-    c_fix_arg = "%1#ifndef _LP64\n"
-               "using std::__filbuf;\n"
-               "using std::__flsbuf;\n"
-               "#endif\n%2";
-
-    test_text = "using std::perror;\n"
-               "#endif";
-};
-
-/*
- *  Solaris <stdio.h> shouldn't use std::gets for C++14.
- */
-fix = {
-    hackname  = solaris_std_gets_cxx14;
-    mach      = "*-*-solaris2*";
-    files     = "stdio.h";
-    select    = "using std::gets;";
-
-    c_fix     = format;
-    c_fix_arg = "#if __cplusplus < 201402L\n%0\n#endif";
-
-    test_text = "using std::gets;";
-};
-
-/*
- * Sun Solaris 8 has what appears to be some gross workaround for
- * some old version of their c++ compiler.  G++ doesn't want it
- * either, but doesn't want to be tied to SunPRO version numbers.
- */
-fix = {
-    hackname = solaris_stdio_tag;
-    files    = stdio_tag.h;
-
-    select   = '__cplusplus < 54321L';
-    /* In Solaris 10, the code in stdio_tag.h is conditionalized on 
-       "!defined(__GNUC__)" so we no longer need to fix it.  */
-    bypass   = '__GNUC__';
-    sed      = 's/defined(__cplusplus) && (__cplusplus < 54321L)/0/';
-
-    test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)";
-};
-
-/*
- *  Solaris <stdlib.h> shouldn't use _Noreturn, breaks with C++.
- */
-fix = {
-    hackname  = solaris_stdlib_noreturn;
-    mach      = "*-*-solaris2*";
-    files     = "iso/stdlib_c99.h";
-    select    = "(extern) _Noreturn (void quick_exit\\(int\\));";
-
-    c_fix     = format;
-    c_fix_arg = "%1 %2 __attribute__((__noreturn__));";
-
-    test_text = "extern _Noreturn void quick_exit(int);";
-};
-
 /*
  *  a missing semi-colon at the end of the statsswtch structure definition.
  */
@@ -4481,10 +3987,10 @@ fix = {
     files    = stdio.h;
     bypass   = "include.*(stdarg\.h|machine/ansi\.h|_stdio\.h)";
     /*
-     * On Solaris 10, this fix is unncessary; <stdio.h> includes
+     * On Solaris 10+, this fix is unncessary; <stdio.h> includes
      * <iso/stdio_iso.h>, which includes <sys/va_list.h>.
       */
-    mach     = '*-*-solaris2.1[0-9]*';
+    mach     = '*-*-solaris2*';
     not_machine = true;
 
     c_fix     = wrap;
@@ -4507,11 +4013,10 @@ fix = {
     files    = stdio.h;
     bypass   = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list|_stdio.h';
     /* 
-     * On Solaris 10, the definition in 
-     * <stdio.h> is guarded appropriately by the _XPG4 feature macro; 
-     * there is therefore no need for this fix there.
+     * On Solaris 10+, the definition in <stdio.h> is guarded appropriately
+     * by the _XPG4 feature macro.
      */
-    mach = '*-*-solaris2.1[0-9]*';
+    mach = '*-*-solaris2*';
     not_machine = true;
 
     /*
@@ -4562,6 +4067,9 @@ fix = {
     /* Don't fix, if we use va_list from stdarg.h, or if the use is
        otherwise protected.  */
     bypass   = 'include <stdarg\.h>|#ifdef va_start';
+    /* Only used in comments.  */
+    mach   = '*-*-solaris2.1[0-9]*';
+    not_machine = true;
 
     /*
      * Use __gnuc_va_list in arg types in place of va_list.
@@ -4667,6 +4175,9 @@ fix = {
 
     c_fix     = format;
     c_fix_arg = "%1 defined(__STRICT_ANSI__)";
+    /* The Solaris 10+ headers only use this if !__GNUC__.  */
+    mach   = '*-*-solaris2*';
+    not_machine = true;
 
     test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif";
 };
index f648d6fc2c42242c4a4b83b1005c78867ea17328..d20310d346d472fff24438a48465bcd77d677e08 100644 (file)
 #define _Complex_I (__extension__ 1.0iF)
 
 #endif  /* HPUX_IMAGINARY_I_CHECK */
-
-
-#if defined( SOLARIS_COMPLEX_CHECK )
-#define _Complex_I (__extension__ 1.0iF)
-#define        complex         _Complex
-#undef I
-#define        I               _Complex_I
-#endif  /* SOLARIS_COMPLEX_CHECK */
-
-
-#if defined( SOLARIS_COMPLEX_CXX_CHECK )
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif  /* SOLARIS_COMPLEX_CXX_CHECK */
diff --git a/fixincludes/tests/base/iso/math_c99.h b/fixincludes/tests/base/iso/math_c99.h
deleted file mode 100644 (file)
index 6c642e5..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/iso/math_c99.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_MATH_1_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef HUGE_VAL
-#define        HUGE_VAL        (__builtin_huge_val())
-#undef HUGE_VALF
-#define        HUGE_VALF       (__builtin_huge_valf())
-#undef HUGE_VALL
-#define        HUGE_VALL       (__builtin_huge_vall())
-#endif  /* SOLARIS_MATH_1_CHECK */
-
-
-#if defined( SOLARIS_MATH_10_CHECK )
-#pragma ident  "@(#)math_c99.h 1.12    07/01/21 SMI"
-#undef isinf
-#define        isinf(x) __builtin_isinf(x)
-#endif  /* SOLARIS_MATH_10_CHECK */
-
-
-#if defined( SOLARIS_MATH_2_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef INFINITY
-#define        INFINITY        (__builtin_inff())
-#endif  /* SOLARIS_MATH_2_CHECK */
-
-
-#if defined( SOLARIS_MATH_3_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef NAN
-#define        NAN             (__builtin_nanf(""))
-#endif  /* SOLARIS_MATH_3_CHECK */
-
-
-#if defined( SOLARIS_MATH_4_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef fpclassify
-#define        fpclassify(x) \
-  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))
-#endif  /* SOLARIS_MATH_4_CHECK */
-
-
-#if defined( SOLARIS_MATH_8_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef signbit
-#define        signbit(x)      (sizeof(x) == sizeof(float) \
-                          ? __builtin_signbitf(x) \
-                          : sizeof(x) == sizeof(long double) \
-                            ? __builtin_signbitl(x) \
-                            : __builtin_signbit(x))
-#endif  /* SOLARIS_MATH_8_CHECK */
-
-
-#if defined( SOLARIS_MATH_9_CHECK )
-#ident "@(#)math_c99.h 1.9     04/11/01 SMI"
-#undef isgreater
-#define        isgreater(x, y)         __builtin_isgreater(x, y)
-#undef isgreaterequal
-#define        isgreaterequal(x, y)    __builtin_isgreaterequal(x, y)
-#undef isless
-#define        isless(x, y)            __builtin_isless(x, y)
-#undef islessequal
-#define        islessequal(x, y)       __builtin_islessequal(x, y)
-#undef islessgreater
-#define        islessgreater(x, y)     __builtin_islessgreater(x, y)
-#undef isunordered
-#define        isunordered(x, y)       __builtin_isunordered(x, y)
-#endif  /* SOLARIS_MATH_9_CHECK */
-
-
-#if defined( SOLARIS_MATH_11_CHECK )
-/* @(#)math_c99.h      1.14    13/03/27 */
-#undef signbit
-#define        signbit(x)      (sizeof(x) == sizeof(float) \
-                          ? __builtin_signbitf(x) \
-                          : sizeof(x) == sizeof(long double) \
-                            ? __builtin_signbitl(x) \
-                            : __builtin_signbit(x))
-#endif  /* SOLARIS_MATH_11_CHECK */
diff --git a/fixincludes/tests/base/iso/stdio_iso.h b/fixincludes/tests/base/iso/stdio_iso.h
deleted file mode 100644 (file)
index e2d70b4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/iso/stdio_iso.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_GETC_STRICT_STDC_CHECK )
-#if    !defined(_REENTRANT) && !defined(_LP64) && (!defined(_STRICT_STDC) || (__cplusplus >= 199711L))
-#endif  /* SOLARIS_GETC_STRICT_STDC_CHECK */
-
-
-#if defined( SOLARIS_GETS_C11_CHECK )
-#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L
-extern char    *gets(char *) __attribute__((__deprecated__));
-#endif
-#endif  /* SOLARIS_GETS_C11_CHECK */
-
-
-#if defined( SOLARIS_GETS_CXX14_CHECK )
-#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L
-extern char    *gets(char *) __ATTR_DEPRECATED;
-#endif  /* SOLARIS_GETS_CXX14_CHECK */
diff --git a/fixincludes/tests/base/iso/stdlib_c99.h b/fixincludes/tests/base/iso/stdlib_c99.h
deleted file mode 100644 (file)
index 0c500de..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/iso/stdlib_c99.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_STDLIB_NORETURN_CHECK )
-extern void quick_exit(int) __attribute__((__noreturn__));
-#endif  /* SOLARIS_STDLIB_NORETURN_CHECK */
diff --git a/fixincludes/tests/base/iso/stdlib_iso.h b/fixincludes/tests/base/iso/stdlib_iso.h
deleted file mode 100644 (file)
index 3fb5b34..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/iso/stdlib_iso.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_CXX_LINKAGE_CHECK )
-#if __cplusplus >= 199711L && !__GNUG__
-extern "C++" {
-       void *bsearch(const void *, const void *, size_t, size_t,
-#endif  /* SOLARIS_CXX_LINKAGE_CHECK */
index 5df290965a43488a373d555051faa8f8f94e937c..bbc194dc695528a8e828f6e7ebd8c6dce4e8fcdb 100644 (file)
@@ -96,22 +96,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
 #endif  /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
 
 
-#if defined( SOLARIS_ONCE_INIT_1_CHECK )
-#pragma ident  "@(#)pthread.h  1.37    04/09/28 SMI"
-#define PTHREAD_ONCE_INIT      {{0, 0, 0, PTHREAD_ONCE_NOTDONE}}
-#endif  /* SOLARIS_ONCE_INIT_1_CHECK */
-
-
-#if defined( SOLARIS_RWLOCK_INIT_1_CHECK )
-#ident "@(#)pthread.h  1.26  98/04/12 SMI"
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_RWLOCK_INITIALIZER     {0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}
-#else
-#define PTHREAD_RWLOCK_INITIALIZER     {0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}
-#endif
-#endif  /* SOLARIS_RWLOCK_INIT_1_CHECK */
-
-
 #if defined( THREAD_KEYWORD_CHECK )
 extern int pthread_create (pthread_t *__restrict __thr,
 extern int pthread_kill (pthread_t __thr, int __signo);
diff --git a/fixincludes/tests/base/spawn.h b/fixincludes/tests/base/spawn.h
deleted file mode 100644 (file)
index 6590f3b..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/spawn.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_POSIX_SPAWN_RESTRICT_CHECK )
-char *const *_RESTRICT_KYWD argv,
-char *const *_RESTRICT_KYWD envp);
-#endif  /* SOLARIS_POSIX_SPAWN_RESTRICT_CHECK */
index 38381bacb2d5af025cceb485716d37ae027c0480..59a31d54dd1722d4d277ebdf91478486323c4ede 100644 (file)
@@ -87,23 +87,6 @@ extern int rename(const char *_old, const char *_new);
 #endif  /* RS6000_PARAM_CHECK */
 
 
-#if defined( SOLARIS_STD___FILBUF_CHECK )
-using std::perror;
-#ifndef _LP64
-using std::__filbuf;
-using std::__flsbuf;
-#endif
-#endif
-#endif  /* SOLARIS_STD___FILBUF_CHECK */
-
-
-#if defined( SOLARIS_STD_GETS_CXX14_CHECK )
-#if __cplusplus < 201402L
-using std::gets;
-#endif
-#endif  /* SOLARIS_STD_GETS_CXX14_CHECK */
-
-
 #if defined( STDIO_STDARG_H_CHECK )
 
 #endif  /* STDIO_STDARG_H_CHECK */
diff --git a/fixincludes/tests/base/stdio_tag.h b/fixincludes/tests/base/stdio_tag.h
deleted file mode 100644 (file)
index 788de24..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/stdio_tag.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS_STDIO_TAG_CHECK )
-#if    0
-#endif  /* SOLARIS_STDIO_TAG_CHECK */
diff --git a/fixincludes/tests/base/sys/feature_tests.h b/fixincludes/tests/base/sys/feature_tests.h
deleted file mode 100644 (file)
index 3bb803c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*  DO NOT EDIT THIS FILE.
-
-    It has been auto-edited by fixincludes from:
-
-       "fixinc/tests/inc/sys/feature_tests.h"
-
-    This had to be done to correct non-standard usages in the
-    original, manufacturer supplied header file.  */
-
-
-
-#if defined( SOLARIS___RESTRICT_CHECK )
-#ifdef __cplusplus
-#define        _RESTRICT_KYWD  __restrict
-#else
-#define        _RESTRICT_KYWD  restrict
-#endif
-#endif  /* SOLARIS___RESTRICT_CHECK */
index bcacd68a9c39828a83e78b06712d8a5fd8147069..c2b5355b46d831bd94b45262c53c50661afcd0ea 100644 (file)
 #endif  /* SOLARIS_INT_LIMITS_1_CHECK */
 
 
-#if defined( SOLARIS_INT_LIMITS_2_CHECK )
-#define        INT_FAST16_MAX INT32_MAX
-#define        UINT_FAST16_MAX UINT32_MAX
-#define        INT_FAST16_MIN INT32_MIN
-#endif  /* SOLARIS_INT_LIMITS_2_CHECK */
-
-
 #if defined( SOLARIS_INT_LIMITS_3_CHECK )
 #define        SIZE_MAX        4294967295U
 #endif  /* SOLARIS_INT_LIMITS_3_CHECK */