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.
Committed to trunk.
I'm keeping the machine_name fix for now, which adjusts non-ANSI machine
name defines. With the possible exception of <arpa/nameser_compat.h>,
they are only applied to a few headers imported from external projects,
so I may disable them in a follow-up.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2026-01-06 Rainer Orth <[email protected]>
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.
# HG changeset patch
# Parent 72f89f562070c2bf42496fdcc49f3a42d95ea923
fixincludes: Various Solaris 11 fixes
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -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.
*
@@ -470,38 +470,6 @@ static const char* apzAab_Fd_Zero_Select
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * 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
*/
tSCC zAab_Sun_MemcpyName[] =
@@ -4618,7 +4586,7 @@ tSCC zGnu_TypesList[] =
* Machine/OS name selection pattern
*/
tSCC* apzGnu_TypesMachs[] = {
- "*-*-solaris2.1[0-9]*",
+ "*-*-solaris2*",
(const char*)NULL };
/*
@@ -7786,276 +7754,6 @@ static const char* apzRs6000_ParamPatch[
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Solaris___Restrict fix
- */
-tSCC zSolaris___RestrictName[] =
- "solaris___restrict";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris___RestrictList[] =
- "sys/feature_tests.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris___RestrictMachs[] = {
- "*-*-solaris2*",
- (const char*)NULL };
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zSolaris___RestrictSelect0[] =
- "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
-
-#define SOLARIS___RESTRICT_TEST_CT 1
-static tTestDesc aSolaris___RestrictTests[] = {
- { TT_EGREP, zSolaris___RestrictSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Solaris___Restrict
- */
-static const char* apzSolaris___RestrictPatch[] = {
- "format",
- "#ifdef __cplusplus\n\
-#define\t_RESTRICT_KYWD\t__restrict\n\
-#else\n\
-%0\n\
-#endif",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Solaris_Complex fix
- */
-tSCC zSolaris_ComplexName[] =
- "solaris_complex";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_ComplexList[] =
- "complex.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_ComplexMachs[] = {
- "*-*-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";
-
-/*
- * 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
-
-/*
- * Fix Command Arguments for Solaris_Complex_Cxx
- */
-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",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Solaris_Cxx_Linkage fix
- */
-tSCC zSolaris_Cxx_LinkageName[] =
- "solaris_cxx_linkage";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_Cxx_LinkageList[] =
- "iso/stdlib_iso.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Cxx_LinkageMachs[] = {
- "*-*-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).*)";
-
-#define SOLARIS_CXX_LINKAGE_TEST_CT 1
-static tTestDesc aSolaris_Cxx_LinkageTests[] = {
- { TT_EGREP, zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Solaris_Cxx_Linkage
- */
-static const char* apzSolaris_Cxx_LinkagePatch[] = {
- "format",
- "%1 && !__GNUG__\n\
-%2%3",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Solaris_Getc_Strict_Stdc fix
- */
-tSCC zSolaris_Getc_Strict_StdcName[] =
- "solaris_getc_strict_stdc";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_Getc_Strict_StdcList[] =
- "iso/stdio_iso.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
- "*-*-solaris2*",
- (const char*)NULL };
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Getc_Strict_StdcSelect0[] =
- "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
-
-#define SOLARIS_GETC_STRICT_STDC_TEST_CT 1
-static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
- { TT_EGREP, zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Solaris_Getc_Strict_Stdc
- */
-static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
- "format",
- "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Solaris_Gets_C11 fix
- */
-tSCC zSolaris_Gets_C11Name[] =
- "solaris_gets_c11";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_Gets_C11List[] =
- "iso/stdio_iso.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Gets_C11Machs[] = {
- "*-*-solaris2*",
- (const char*)NULL };
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Gets_C11Select0[] =
- "(extern char[ \t]*\\*gets\\(char \\*\\));";
-
-#define SOLARIS_GETS_C11_TEST_CT 1
-static tTestDesc aSolaris_Gets_C11Tests[] = {
- { TT_EGREP, zSolaris_Gets_C11Select0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Solaris_Gets_C11
- */
-static const char* apzSolaris_Gets_C11Patch[] = {
- "format",
- "#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L\n\
-%1 __attribute__((__deprecated__));\n\
-#endif",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Solaris_Gets_Cxx14 fix
- */
-tSCC zSolaris_Gets_Cxx14Name[] =
- "solaris_gets_cxx14";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_Gets_Cxx14List[] =
- "iso/stdio_iso.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Gets_Cxx14Machs[] = {
- "*-*-solaris2*",
- (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;)";
-
-#define SOLARIS_GETS_CXX14_TEST_CT 1
-static tTestDesc aSolaris_Gets_Cxx14Tests[] = {
- { TT_EGREP, zSolaris_Gets_Cxx14Select0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Solaris_Gets_Cxx14
- */
-static const char* apzSolaris_Gets_Cxx14Patch[] = {
- "format",
- "%1 && __cplusplus < 201402L\n\
-%2",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
* Description of Solaris_Int_Const fix
*/
tSCC zSolaris_Int_ConstName[] =
@@ -8136,43 +7834,6 @@ static const char* apzSolaris_Int_Limits
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Solaris_Int_Limits_2 fix
- */
-tSCC zSolaris_Int_Limits_2Name[] =
- "solaris_int_limits_2";
-
-/*
- * File name selection pattern
- */
-tSCC zSolaris_Int_Limits_2List[] =
- "sys/int_limits.h\0";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzSolaris_Int_Limits_2Machs[] = {
- "*-*-solaris2*",
- (const char*)NULL };
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zSolaris_Int_Limits_2Select0[] =
- "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
-
-#define SOLARIS_INT_LIMITS_2_TEST_CT 1
-static tTestDesc aSolaris_Int_Limits_2Tests[] = {
- { TT_EGREP, zSolaris_Int_Limits_2Select0, (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[] =
@@ -8210,362 +7871,6 @@ static const char* apzSolaris_Int_Limits
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * 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[] =
@@ -8609,81 +7914,6 @@ static const char* apzSolaris_Math_12Pat
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * 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[] =
@@ -8724,214 +7954,6 @@ static const char* apzSolaris_Pow_Int_Ov
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * 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[] =
@@ -8981,7 +8003,7 @@ tSCC zStdio_Stdarg_HList[] =
* Machine/OS name selection pattern
*/
tSCC* apzStdio_Stdarg_HMachs[] = {
- "*-*-solaris2.1[0-9]*",
+ "*-*-solaris2*",
(const char*)NULL };
/*
@@ -9019,7 +8041,7 @@ tSCC zStdio_Va_ListList[] =
* Machine/OS name selection pattern
*/
tSCC* apzStdio_Va_ListMachs[] = {
- "*-*-solaris2.1[0-9]*",
+ "*-*-solaris2*",
(const char*)NULL };
/*
@@ -9067,7 +8089,9 @@ tSCC zStdio_Va_List_ClientsList[] =
/*
* Machine/OS name selection pattern
*/
-#define apzStdio_Va_List_ClientsMachs (const char**)NULL
+tSCC* apzStdio_Va_List_ClientsMachs[] = {
+ "*-*-solaris2.1[0-9]*",
+ (const char*)NULL };
/*
* content bypass pattern - skip fix if pattern found
@@ -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,
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -341,24 +341,6 @@ fix = {
};
/*
- * 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
* many other systems have similar text but correct versions of the file.
@@ -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"
@@ -3895,133 +3877,6 @@ fix = {
};
/*
- * 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.
*/
@@ -4062,23 +3917,6 @@ fix = {
/*
* 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.
*/
fix = {
@@ -4093,210 +3931,6 @@ fix = {
};
/*
- * 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.
*/
fix = {
@@ -4315,40 +3949,6 @@ fix = {
};
/*
- * 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.
*/
fix = {
@@ -4366,100 +3966,6 @@ fix = {
};
/*
- * 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.
*/
fix = {
@@ -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";
};
diff --git a/fixincludes/tests/base/complex.h b/fixincludes/tests/base/complex.h
--- a/fixincludes/tests/base/complex.h
+++ b/fixincludes/tests/base/complex.h
@@ -19,21 +19,3 @@
#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
--- a/fixincludes/tests/base/iso/math_c99.h
+++ /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
--- a/fixincludes/tests/base/iso/stdio_iso.h
+++ /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
--- a/fixincludes/tests/base/iso/stdlib_c99.h
+++ /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
--- a/fixincludes/tests/base/iso/stdlib_iso.h
+++ /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 */
diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h
--- a/fixincludes/tests/base/pthread.h
+++ b/fixincludes/tests/base/pthread.h
@@ -96,22 +96,6 @@ extern int __sigsetjmp (struct __jmp_buf
#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
--- a/fixincludes/tests/base/spawn.h
+++ /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 */
diff --git a/fixincludes/tests/base/stdio.h b/fixincludes/tests/base/stdio.h
--- a/fixincludes/tests/base/stdio.h
+++ b/fixincludes/tests/base/stdio.h
@@ -87,23 +87,6 @@ extern int rename(const char *_old, cons
#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
--- a/fixincludes/tests/base/stdio_tag.h
+++ /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
--- a/fixincludes/tests/base/sys/feature_tests.h
+++ /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 */
diff --git a/fixincludes/tests/base/sys/int_limits.h b/fixincludes/tests/base/sys/int_limits.h
--- a/fixincludes/tests/base/sys/int_limits.h
+++ b/fixincludes/tests/base/sys/int_limits.h
@@ -15,13 +15,6 @@
#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 */