+tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
+ "math.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
+ "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
+ "define[ \t]+DBL_MAX";
+
+#define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
+static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
+ { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
+ { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
+ */
+static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
+ "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
+\tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
+\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
+\telse cat\n\
+\tfi",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Nested_Auth_Des fix
+ */
+tSCC zNested_Auth_DesName[] =
+ "nested_auth_des";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNested_Auth_DesList[] =
+ "rpc/rpc.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNested_Auth_DesMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNested_Auth_DesSelect0[] =
+ "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
+
+#define NESTED_AUTH_DES_TEST_CT 1
+static tTestDesc aNested_Auth_DesTests[] = {
+ { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Nested_Auth_Des
+ */
+static const char* apzNested_Auth_DesPatch[] = {
+ "format",
+ "%1*/ /*",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Netbsd_C99_Inline_1 fix
+ */
+tSCC zNetbsd_C99_Inline_1Name[] =
+ "netbsd_c99_inline_1";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNetbsd_C99_Inline_1List[] =
+ "signal.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzNetbsd_C99_Inline_1Machs[] = {
+ "*-*-netbsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNetbsd_C99_Inline_1Select0[] =
+ "extern __inline int";
+
+#define NETBSD_C99_INLINE_1_TEST_CT 1
+static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
+ { TT_EGREP, zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Netbsd_C99_Inline_1
+ */
+static const char* apzNetbsd_C99_Inline_1Patch[] = {
+ "format",
+ "extern\n\
+#ifdef __GNUC_STDC_INLINE__\n\
+__attribute__((__gnu_inline__))\n\
+#endif\n\
+__inline int",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Netbsd_C99_Inline_2 fix
+ */
+tSCC zNetbsd_C99_Inline_2Name[] =
+ "netbsd_c99_inline_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNetbsd_C99_Inline_2List[] =
+ "signal.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzNetbsd_C99_Inline_2Machs[] = {
+ "*-*-netbsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNetbsd_C99_Inline_2Select0[] =
+ "#define _SIGINLINE extern __inline";
+
+#define NETBSD_C99_INLINE_2_TEST_CT 1
+static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
+ { TT_EGREP, zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Netbsd_C99_Inline_2
+ */
+static const char* apzNetbsd_C99_Inline_2Patch[] = {
+ "format",
+ "#ifdef __GNUC_STDC_INLINE__\n\
+#define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
+#else\n\
+%0\n\
+#endif",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Netbsd_Extra_Semicolon fix
+ */
+tSCC zNetbsd_Extra_SemicolonName[] =
+ "netbsd_extra_semicolon";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNetbsd_Extra_SemicolonList[] =
+ "sys/cdefs.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
+ "*-*-netbsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNetbsd_Extra_SemicolonSelect0[] =
+ "#define[ \t]*__END_DECLS[ \t]*};";
+
+#define NETBSD_EXTRA_SEMICOLON_TEST_CT 1
+static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
+ { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Netbsd_Extra_Semicolon
+ */
+static const char* apzNetbsd_Extra_SemicolonPatch[] = {
+ "format",
+ "#define __END_DECLS }",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Newlib_Stdint_1 fix
+ */
+tSCC zNewlib_Stdint_1Name[] =
+ "newlib_stdint_1";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNewlib_Stdint_1List[] =
+ "stdint-newlib.h\0stdint.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNewlib_Stdint_1Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNewlib_Stdint_1Select0[] =
+ "@todo - Add support for wint_t types";
+
+#define NEWLIB_STDINT_1_TEST_CT 1
+static tTestDesc aNewlib_Stdint_1Tests[] = {
+ { TT_EGREP, zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Newlib_Stdint_1
+ */
+static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
+ "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
+ "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
+ "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
+ "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
+ "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
+ "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
+ "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
+ "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
+ "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
+ "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
+ "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
+ "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
+ "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
+ "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Newlib_Stdint_2 fix
+ */
+tSCC zNewlib_Stdint_2Name[] =
+ "newlib_stdint_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNewlib_Stdint_2List[] =
+ "stdint-newlib.h\0stdint.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNewlib_Stdint_2Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNewlib_Stdint_2Select0[] =
+ "@todo - Add support for wint_t types";
+
+#define NEWLIB_STDINT_2_TEST_CT 1
+static tTestDesc aNewlib_Stdint_2Tests[] = {
+ { TT_EGREP, zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Newlib_Stdint_2
+ */
+static const char* apzNewlib_Stdint_2Patch[] = {
+ "format",
+ "#define INTMAX_MAX __INTMAX_MAX__\n\
+#define INTMAX_MIN (-INTMAX_MAX - 1)\n\
+#define UINTMAX_MAX __UINTMAX_MAX__\n\
+#define WCHAR_MAX __WCHAR_MAX__\n\
+#define WCHAR_MIN __WCHAR_MIN__\n\
+#define WINT_MAX __WINT_MAX__\n\
+#define WINT_MIN __WINT_MIN__\n\n\
+%0",
+ "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Next_Math_Prefix fix
+ */
+tSCC zNext_Math_PrefixName[] =
+ "next_math_prefix";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNext_Math_PrefixList[] =
+ "ansi/math.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNext_Math_PrefixMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNext_Math_PrefixSelect0[] =
+ "^extern[ \t]+double[ \t]+__const__[ \t]";
+
+#define NEXT_MATH_PREFIX_TEST_CT 1
+static tTestDesc aNext_Math_PrefixTests[] = {
+ { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Next_Math_Prefix
+ */
+static const char* apzNext_Math_PrefixPatch[] = {
+ "format",
+ "extern double %1(",
+ "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Next_Template fix
+ */
+tSCC zNext_TemplateName[] =
+ "next_template";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNext_TemplateList[] =
+ "bsd/libc.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNext_TemplateMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNext_TemplateSelect0[] =
+ "[ \t]template\\)";
+
+#define NEXT_TEMPLATE_TEST_CT 1
+static tTestDesc aNext_TemplateTests[] = {
+ { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Next_Template
+ */
+static const char* apzNext_TemplatePatch[] = {
+ "format",
+ "(%1)",
+ "\\(([^)]*)[ \t]template\\)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Next_Volitile fix
+ */
+tSCC zNext_VolitileName[] =
+ "next_volitile";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNext_VolitileList[] =
+ "ansi/stdlib.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNext_VolitileMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNext_VolitileSelect0[] =
+ "^extern[ \t]+volatile[ \t]+void[ \t]";
+
+#define NEXT_VOLITILE_TEST_CT 1
+static tTestDesc aNext_VolitileTests[] = {
+ { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Next_Volitile
+ */
+static const char* apzNext_VolitilePatch[] = {
+ "format",
+ "extern void %1(",
+ "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Next_Wait_Union fix
+ */
+tSCC zNext_Wait_UnionName[] =
+ "next_wait_union";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNext_Wait_UnionList[] =
+ "sys/wait.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNext_Wait_UnionMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNext_Wait_UnionSelect0[] =
+ "wait\\(union wait";
+
+#define NEXT_WAIT_UNION_TEST_CT 1
+static tTestDesc aNext_Wait_UnionTests[] = {
+ { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Next_Wait_Union
+ */
+static const char* apzNext_Wait_UnionPatch[] = {
+ "format",
+ "wait(void",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Nodeent_Syntax fix
+ */
+tSCC zNodeent_SyntaxName[] =
+ "nodeent_syntax";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNodeent_SyntaxList[] =
+ "netdnet/dnetdb.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNodeent_SyntaxMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNodeent_SyntaxSelect0[] =
+ "char[ \t]*\\*na_addr[ \t]*$";
+
+#define NODEENT_SYNTAX_TEST_CT 1
+static tTestDesc aNodeent_SyntaxTests[] = {
+ { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Nodeent_Syntax
+ */
+static const char* apzNodeent_SyntaxPatch[] = {
+ "format",
+ "%0;",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Openbsd_Null_Definition fix
+ */
+tSCC zOpenbsd_Null_DefinitionName[] =
+ "openbsd_null_definition";
+
+/*
+ * File name selection pattern
+ */
+tSCC zOpenbsd_Null_DefinitionList[] =
+ "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
+ "*-*-openbsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zOpenbsd_Null_DefinitionSelect0[] =
+ "__GNUG__";
+
+#define OPENBSD_NULL_DEFINITION_TEST_CT 1
+static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
+ { TT_EGREP, zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Openbsd_Null_Definition
+ */
+static const char* apzOpenbsd_Null_DefinitionPatch[] = {
+ "format",
+ "#ifndef NULL\n\
+#ifdef __cplusplus\n\
+#ifdef __GNUG__\n\
+#define NULL\t__null\n\
+#else\t /* ! __GNUG__ */\n\
+#define NULL\t0L\n\
+#endif\t /* __GNUG__ */\n\
+#else\t /* ! __cplusplus */\n\
+#define NULL\t((void *)0)\n\
+#endif\t /* __cplusplus */\n\
+#endif\t /* !NULL */",
+ "^#ifndef[ \t]*NULL\n\
+^#ifdef[ \t]*__GNUG__\n\
+^#define[ \t]*NULL[ \t]*__null\n\
+^#else\n\
+^#define[ \t]*NULL[ \t]*0L\n\
+^#endif\n\
+^#endif",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Obstack_Lvalue_Cast fix
+ */
+tSCC zObstack_Lvalue_CastName[] =
+ "obstack_lvalue_cast";
+
+/*
+ * File name selection pattern
+ */
+tSCC zObstack_Lvalue_CastList[] =
+ "obstack.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzObstack_Lvalue_CastMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zObstack_Lvalue_CastSelect0[] =
+ "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
+
+#define OBSTACK_LVALUE_CAST_TEST_CT 1
+static tTestDesc aObstack_Lvalue_CastTests[] = {
+ { TT_EGREP, zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Obstack_Lvalue_Cast
+ */
+static const char* apzObstack_Lvalue_CastPatch[] = {
+ "format",
+ "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Openbsd_Va_Start fix
+ */
+tSCC zOpenbsd_Va_StartName[] =
+ "openbsd_va_start";
+
+/*
+ * File name selection pattern
+ */
+tSCC zOpenbsd_Va_StartList[] =
+ "stdarg.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzOpenbsd_Va_StartMachs[] = {
+ "*-*-openbsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zOpenbsd_Va_StartSelect0[] =
+ "__builtin_stdarg_start";
+
+#define OPENBSD_VA_START_TEST_CT 1
+static tTestDesc aOpenbsd_Va_StartTests[] = {
+ { TT_EGREP, zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Openbsd_Va_Start
+ */
+static const char* apzOpenbsd_Va_StartPatch[] = {
+ "format",
+ "__builtin_va_start",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Osf_Namespace_A fix
+ */
+tSCC zOsf_Namespace_AName[] =
+ "osf_namespace_a";
+
+/*
+ * File name selection pattern
+ */
+tSCC zOsf_Namespace_AList[] =
+ "reg_types.h\0sys/lc_core.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzOsf_Namespace_AMachs (const char**)NULL
+
+/*
+ * perform the 'test' shell command - do fix on success
+ */
+tSCC zOsf_Namespace_ATest0[] =
+ " -r reg_types.h";
+tSCC zOsf_Namespace_ATest1[] =
+ " -r sys/lc_core.h";
+tSCC zOsf_Namespace_ATest2[] =
+ " -n \"`grep '} regex_t;' reg_types.h`\"";
+tSCC zOsf_Namespace_ATest3[] =
+ " -z \"`grep __regex_t regex.h`\"";
+
+#define OSF_NAMESPACE_A_TEST_CT 4
+static tTestDesc aOsf_Namespace_ATests[] = {
+ { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
+
+/*
+ * Fix Command Arguments for Osf_Namespace_A
+ */
+static const char* apzOsf_Namespace_APatch[] = {
+ "format",
+ "__%0",
+ "reg(ex|off|match)_t",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Osf_Namespace_C fix
+ */
+tSCC zOsf_Namespace_CName[] =
+ "osf_namespace_c";
+
+/*
+ * File name selection pattern
+ */
+tSCC zOsf_Namespace_CList[] =
+ "regex.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzOsf_Namespace_CMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zOsf_Namespace_CSelect0[] =
+ "#include <reg_types.h>.*";
+
+/*
+ * perform the 'test' shell command - do fix on success
+ */
+tSCC zOsf_Namespace_CTest0[] =
+ " -r reg_types.h";
+tSCC zOsf_Namespace_CTest1[] =
+ " -r sys/lc_core.h";
+tSCC zOsf_Namespace_CTest2[] =
+ " -n \"`grep '} regex_t;' reg_types.h`\"";
+tSCC zOsf_Namespace_CTest3[] =
+ " -z \"`grep __regex_t regex.h`\"";
+
+#define OSF_NAMESPACE_C_TEST_CT 5
+static tTestDesc aOsf_Namespace_CTests[] = {
+ { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
+ { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
+ { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Osf_Namespace_C
+ */
+static const char* apzOsf_Namespace_CPatch[] = {
+ "format",
+ "%0\n\
+typedef __regex_t\tregex_t;\n\
+typedef __regoff_t\tregoff_t;\n\
+typedef __regmatch_t\tregmatch_t;",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Pthread_Incomplete_Struct_Argument fix
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentName[] =
+ "pthread_incomplete_struct_argument";
+
+/*
+ * File name selection pattern
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentList[] =
+ "pthread.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
+ "struct __jmp_buf_tag";
+
+#define PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT 1
+static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
+ { TT_EGREP, zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Pthread_Incomplete_Struct_Argument
+ */
+static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
+ "format",
+ "%1 *%2%3",
+ "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Read_Ret_Type fix
+ */
+tSCC zRead_Ret_TypeName[] =
+ "read_ret_type";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRead_Ret_TypeList[] =
+ "stdio.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRead_Ret_TypeMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRead_Ret_TypeSelect0[] =
+ "extern int\t.*, fread\\(\\), fwrite\\(\\)";
+
+#define READ_RET_TYPE_TEST_CT 1
+static tTestDesc aRead_Ret_TypeTests[] = {
+ { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Read_Ret_Type
+ */
+static const char* apzRead_Ret_TypePatch[] = {
+ "format",
+ "extern unsigned int fread(), fwrite();\n\
+%1%2",
+ "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Rpc_Xdr_Lvalue_Cast_A fix
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
+ "rpc_xdr_lvalue_cast_a";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
+ "rpc/xdr.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
+ "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
+.*__extension__.*";
+
+#define RPC_XDR_LVALUE_CAST_A_TEST_CT 1
+static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
+ { TT_EGREP, zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
+ */
+static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
+ "format",
+ "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Rpc_Xdr_Lvalue_Cast_B fix
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
+ "rpc_xdr_lvalue_cast_b";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
+ "rpc/xdr.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
+ "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
+.*__extension__.*";
+
+#define RPC_XDR_LVALUE_CAST_B_TEST_CT 1
+static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
+ { TT_EGREP, zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
+ */
+static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
+ "format",
+ "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Rs6000_Double fix
+ */
+tSCC zRs6000_DoubleName[] =
+ "rs6000_double";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRs6000_DoubleList[] =
+ "math.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRs6000_DoubleMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_DoubleSelect0[] =
+ "[^a-zA-Z_]class\\(";
+
+#define RS6000_DOUBLE_TEST_CT 1
+static tTestDesc aRs6000_DoubleTests[] = {
+ { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Rs6000_Double
+ */
+static const char* apzRs6000_DoublePatch[] = {
+ "format",
+ "#ifndef __cplusplus\n\
+%0\n\
+#endif",
+ "^.*[^a-zA-Z_]class\\(.*",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Rs6000_Fchmod fix
+ */
+tSCC zRs6000_FchmodName[] =
+ "rs6000_fchmod";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRs6000_FchmodList[] =
+ "sys/stat.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRs6000_FchmodMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_FchmodSelect0[] =
+ "fchmod\\(char \\*";
+
+#define RS6000_FCHMOD_TEST_CT 1
+static tTestDesc aRs6000_FchmodTests[] = {
+ { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Rs6000_Fchmod
+ */
+static const char* apzRs6000_FchmodPatch[] = {
+ "format",
+ "fchmod(int",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Rs6000_Param fix
+ */
+tSCC zRs6000_ParamName[] =
+ "rs6000_param";
+
+/*
+ * File name selection pattern
+ */
+tSCC zRs6000_ParamList[] =
+ "stdio.h\0unistd.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzRs6000_ParamMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_ParamSelect0[] =
+ "rename\\(const char \\*old, const char \\*new\\)";
+
+#define RS6000_PARAM_TEST_CT 1
+static tTestDesc aRs6000_ParamTests[] = {
+ { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Rs6000_Param
+ */
+static const char* apzRs6000_ParamPatch[] = {
+ "format",
+ "rename(const char *_old, const char *_new)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of 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_Int_Const fix
+ */
+tSCC zSolaris_Int_ConstName[] =
+ "solaris_int_const";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Int_ConstList[] =
+ "sys/int_const.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzSolaris_Int_ConstMachs[] = {
+ "*-*-solaris2*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Int_ConstSelect0[] =
+ "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
+(/*.**/)\n\
+#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
+
+#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_Int_Const
+ */
+static const char* apzSolaris_Int_ConstPatch[] = {
+ "format",
+ "#define\tUINT8_C(c)\t(c)\n\
+%1\n\
+#define\tUINT16_C(c)\t(c)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Solaris_Int_Limits_1 fix
+ */
+tSCC zSolaris_Int_Limits_1Name[] =
+ "solaris_int_limits_1";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Int_Limits_1List[] =
+ "sys/int_limits.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzSolaris_Int_Limits_1Machs[] = {
+ "*-*-solaris2*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Int_Limits_1Select0[] =
+ "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
+#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
+
+#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_Int_Limits_1
+ */
+static const char* apzSolaris_Int_Limits_1Patch[] = {
+ "format",
+ "#define\tUINT8_MAX\t(255)\n\
+#define\tUINT16_MAX\t(65535)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * 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[] =
+ "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_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_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 Statsswtch fix
+ */
+tSCC zStatsswtchName[] =
+ "statsswtch";
+
+/*
+ * File name selection pattern
+ */
+tSCC zStatsswtchList[] =