+ * 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_Cond_Init fix
+ */
+tSCC zSolaris_Cond_InitName[] =
+ "solaris_cond_init";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Cond_InitList[] =
+ "pthread.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzSolaris_Cond_InitMachs[] = {
+ "*-*-solaris2.8",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Cond_InitSelect0[] =
+ "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+#define SOLARIS_COND_INIT_TEST_CT 1
+static tTestDesc aSolaris_Cond_InitTests[] = {
+ { TT_EGREP, zSolaris_Cond_InitSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Cond_Init
+ */
+static const char* apzSolaris_Cond_InitPatch[] = {
+ "format",
+ "%1, 0x4356%2",
+ "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+\\{.*0)(\\},[ \t]*0\\}.*)$",
+ (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_Longjmp_Noreturn fix
+ */
+tSCC zSolaris_Longjmp_NoreturnName[] =
+ "solaris_longjmp_noreturn";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Longjmp_NoreturnList[] =
+ "iso/setjmp_iso.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzSolaris_Longjmp_NoreturnMachs[] = {
+ "*-*-solaris2*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Longjmp_NoreturnSelect0[] =
+ "(.*longjmp\\(jmp_buf.*[^)]+\\));";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Longjmp_NoreturnBypass0[] =
+ "__NORETURN";
+
+#define SOLARIS_LONGJMP_NORETURN_TEST_CT 2
+static tTestDesc aSolaris_Longjmp_NoreturnTests[] = {
+ { TT_NEGREP, zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL },
+ { TT_EGREP, zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Longjmp_Noreturn
+ */
+static const char* apzSolaris_Longjmp_NoreturnPatch[] = {
+ "format",
+ "%1 __attribute__ ((__noreturn__));",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *