+static const char* apzGlibc_C99_Inline_1Patch[] = {
+ "format",
+ "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_C99_Inline_1a fix
+ */
+tSCC zGlibc_C99_Inline_1aName[] =
+ "glibc_c99_inline_1a";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_1aList[] =
+ "features.h\0*/features.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_1aMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_1aSelect0[] =
+ "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
+(#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
+
+#define GLIBC_C99_INLINE_1A_TEST_CT 1
+static tTestDesc aGlibc_C99_Inline_1aTests[] = {
+ { TT_EGREP, zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_C99_Inline_1a
+ */
+static const char* apzGlibc_C99_Inline_1aPatch[] = {
+ "format",
+ "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
+%2",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_C99_Inline_2 fix
+ */
+tSCC zGlibc_C99_Inline_2Name[] =
+ "glibc_c99_inline_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_2List[] =
+ "sys/stat.h\0*/sys/stat.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_2Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_2Select0[] =
+ "extern __inline__ int";
+
+#define GLIBC_C99_INLINE_2_TEST_CT 1
+static tTestDesc aGlibc_C99_Inline_2Tests[] = {
+ { TT_EGREP, zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_C99_Inline_2
+ */
+static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
+ "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int \\1/",
+ "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int \\1/",
+ "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int \\1/",
+ "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int __REDIRECT\\1 (\\2/",
+ "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int __REDIRECT\\1 (\\2/",
+ "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
+extern\\\n\
+#endif\\\n\
+__inline__ int/",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_C99_Inline_3 fix
+ */
+tSCC zGlibc_C99_Inline_3Name[] =
+ "glibc_c99_inline_3";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_3List[] =
+ "bits/string2.h\0*/bits/string2.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_3Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_3Select0[] =
+ "extern __inline";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_3Bypass0[] =
+ "__extern_inline|__GNU_STDC_INLINE__";
+
+#define GLIBC_C99_INLINE_3_TEST_CT 2
+static tTestDesc aGlibc_C99_Inline_3Tests[] = {
+ { TT_NEGREP, zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_C99_Inline_3
+ */
+static const char* apzGlibc_C99_Inline_3Patch[] = {
+ "format",
+ "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
+ "^# ifdef __cplusplus$",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_C99_Inline_4 fix
+ */
+tSCC zGlibc_C99_Inline_4Name[] =
+ "glibc_c99_inline_4";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_C99_Inline_4List[] =
+ "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_C99_Inline_4Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_4Select0[] =
+ "(^| )extern __inline";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_C99_Inline_4Bypass0[] =
+ "__extern_inline|__gnu_inline__";
+
+#define GLIBC_C99_INLINE_4_TEST_CT 2
+static tTestDesc aGlibc_C99_Inline_4Tests[] = {
+ { TT_NEGREP, zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_C99_Inline_4
+ */
+static const char* apzGlibc_C99_Inline_4Patch[] = {
+ "format",
+ "%0 __attribute__ ((__gnu_inline__))",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_Mutex_Init fix
+ */
+tSCC zGlibc_Mutex_InitName[] =
+ "glibc_mutex_init";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_Mutex_InitList[] =
+ "pthread.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_Mutex_InitMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_Mutex_InitSelect0[] =
+ "\\{ *\\{ *0, *\\} *\\}";
+
+#define GLIBC_MUTEX_INIT_TEST_CT 1
+static tTestDesc aGlibc_Mutex_InitTests[] = {
+ { TT_EGREP, zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_Mutex_Init
+ */
+static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
+ "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
+N\n\
+s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
+}",
+ "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
+ "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
+ "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
+ "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
+ "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
+ "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
+ "-e", "/define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\\n\
+# \\1\\\n\
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
+# else\\\n\
+# \\1\\\n\
+ { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
+# endif/",
+ "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
+ "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_Stdint fix
+ */
+tSCC zGlibc_StdintName[] =
+ "glibc_stdint";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_StdintList[] =
+ "stdint.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_StdintMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_StdintSelect0[] =
+ "GNU C Library";
+
+#define GLIBC_STDINT_TEST_CT 1
+static tTestDesc aGlibc_StdintTests[] = {
+ { TT_EGREP, zGlibc_StdintSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_Stdint
+ */
+static const char* apzGlibc_StdintPatch[] = {
+ "format",
+ "# define UINT8_C(c)\tc\n\
+# define UINT16_C(c)\tc",
+ "# define UINT8_C\\(c\\)\tc ## U\n\
+# define UINT16_C\\(c\\)\tc ## U",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_Strncpy fix
+ */
+tSCC zGlibc_StrncpyName[] =
+ "glibc_strncpy";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_StrncpyList[] =
+ "bits/string2.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_StrncpyMachs (const char**)NULL
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_StrncpyBypass0[] =
+ "__builtin_strncpy";
+
+#define GLIBC_STRNCPY_TEST_CT 1
+static tTestDesc aGlibc_StrncpyTests[] = {
+ { TT_NEGREP, zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_Strncpy
+ */
+static const char* apzGlibc_StrncpyPatch[] = {
+ "format",
+ "# define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
+ "# define strncpy([^\n\
+]*\\\\\n\
+)*[^\n\
+]*",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Glibc_Tgmath fix
+ */
+tSCC zGlibc_TgmathName[] =
+ "glibc_tgmath";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGlibc_TgmathList[] =
+ "tgmath.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGlibc_TgmathMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGlibc_TgmathSelect0[] =
+ "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGlibc_TgmathBypass0[] =
+ "__floating_type\\(type\\) \\\\\n\
+.*__builtin_classify_type";
+
+#define GLIBC_TGMATH_TEST_CT 2
+static tTestDesc aGlibc_TgmathTests[] = {
+ { TT_NEGREP, zGlibc_TgmathBypass0, (regex_t*)NULL },
+ { TT_EGREP, zGlibc_TgmathSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Glibc_Tgmath
+ */
+static const char* apzGlibc_TgmathPatch[] = {
+ "format",
+ "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Gnu_Types fix
+ */
+tSCC zGnu_TypesName[] =
+ "gnu_types";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGnu_TypesList[] =
+ "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzGnu_TypesMachs[] = {
+ "*-*-solaris2.1[0-9]*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGnu_TypesSelect0[] =
+ "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGnu_TypesBypass0[] =
+ "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
+
+#define GNU_TYPES_TEST_CT 2
+static tTestDesc aGnu_TypesTests[] = {
+ { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
+ { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Gnu_Types
+ */
+static const char* apzGnu_TypesPatch[] = {