*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed Saturday May 7, 2005 at 07:01:32 PM UTC
+ * It has been AutoGen-ed Saturday February 18, 2006 at 07:55:23 AM PST
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT CVS-MERGE THIS FILE, EITHER Sat May 7 19:01:33 UTC 2005
+/* DO NOT CVS-MERGE THIS FILE, EITHER Sat Feb 18 07:55:23 PST 2006
*
* You must regenerate it. Use the ./genfixes script.
*
* 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 179 fixup descriptions.
+ * This file contains 195 fixup descriptions.
*
* See README for more information.
*
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Aab_Darwin7_9_Long_Double_Funcs fix
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
+ "AAB_darwin7_9_long_double_funcs";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
+ "|architecture/ppc/math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
+ "*-*-darwin7.9*",
+ (const char*)NULL };
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
+ "powl";
+
+#define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT 1
+static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
+ { TT_NEGREP, zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
+ */
+static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
+"/* This file prototypes the long double functions available on Mac OS\n\
+ 10.3.9. */\n\
+#ifndef __MATH__\n\
+# undef __APPLE_CC__\n\
+# define __APPLE_CC__ 1345\n\
+# include_next <architecture/ppc/math.h>\n\
+# undef __APPLE_CC__\n\
+# define __APPLE_CC__ 1\n\
+# ifndef __LIBMLDBL_COMPAT\n\
+# ifdef __LONG_DOUBLE_128__\n\
+# define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
+# else\n\
+# define __LIBMLDBL_COMPAT(sym)\n\
+# endif /* __LONG_DOUBLE_128__ */\n\
+# endif /* __LIBMLDBL_COMPAT */\n\
+# ifdef __cplusplus\n\
+ extern \"C\" {\n\
+# endif\n\
+ extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
+ extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
+ extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
+ extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
+ extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
+ extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
+ extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
+ extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
+ extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
+ extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
+ extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
+ extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
+ extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
+ extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
+ extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
+ extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
+ extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
+ extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
+ extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
+ extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
+ extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
+ extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
+ extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
+ extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
+ extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
+ extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
+ extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
+ extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
+ extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
+ extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
+ extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
+ extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
+ extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
+ extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
+ extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
+ extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
+ extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
+ extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
+ extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
+ extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
+ extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
+ extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
+ extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
+ extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
+ extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
+ extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
+ extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
+ extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
+ extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
+ extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
+ extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
+ extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
+ extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
+ extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
+ extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
+ extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
+ extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
+# ifdef __cplusplus\n\
+ }\n\
+# endif\n\
+#endif /* __MATH__ */",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
+ "AAB_darwin7_9_long_double_funcs_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
+ "|math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
+ "*-*-darwin7.9*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
+ "#include[ \\t]+\\\"";
+
+#define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT 1
+static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
+ { TT_EGREP, zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
+ */
+static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
+ "format",
+ "%1<%2.h>",
+ "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
*/
tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
* content selection pattern - do fix if pattern found
*/
tSCC zBroken_CabsSelect0[] =
- "^extern[ \\t]+double[ \\t]+cabs";
+ "^extern[ \t]+double[ \t]+cabs";
#define BROKEN_CABS_TEST_CT 1
static tTestDesc aBroken_CabsTests[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Broken_Nan fix
+ */
+tSCC zBroken_NanName[] =
+ "broken_nan";
+
+/*
+ * File name selection pattern
+ */
+tSCC zBroken_NanList[] =
+ "|architecture/ppc/math.h|architecture/i386/math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzBroken_NanMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zBroken_NanSelect0[] =
+ "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zBroken_NanBypass0[] =
+ "powl";
+
+#define BROKEN_NAN_TEST_CT 2
+static tTestDesc aBroken_NanTests[] = {
+ { TT_NEGREP, zBroken_NanBypass0, (regex_t*)NULL },
+ { TT_EGREP, zBroken_NanSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Broken_Nan
+ */
+static const char* apzBroken_NanPatch[] = {
+ "format",
+ "#if 1",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Bsd_Stdio_Attrs_Conflict fix
*/
tSCC zBsd_Stdio_Attrs_ConflictName[] =
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Hpux_Spu_Info fix
+ */
+tSCC zHpux_Spu_InfoName[] =
+ "hpux_spu_info";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux_Spu_InfoList[] =
+ "|ia64/sys/getppdp.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzHpux_Spu_InfoMachs[] = {
+ "*-hp-hpux*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_Spu_InfoSelect0[] =
+ "^.*extern.*spu_info.*";
+
+#define HPUX_SPU_INFO_TEST_CT 1
+static tTestDesc aHpux_Spu_InfoTests[] = {
+ { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux_Spu_Info
+ */
+static const char* apzHpux_Spu_InfoPatch[] = {
+ "format",
+ "#ifdef _KERNEL\n\
+%0\n\
+#endif",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Huge_Val_Hex fix
+ */
+tSCC zHuge_Val_HexName[] =
+ "huge_val_hex";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHuge_Val_HexList[] =
+ "|bits/huge_val.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHuge_Val_HexMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Val_HexSelect0[] =
+ "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Val_HexBypass0[] =
+ "__builtin_huge_val";
+
+#define HUGE_VAL_HEX_TEST_CT 2
+static tTestDesc aHuge_Val_HexTests[] = {
+ { TT_NEGREP, zHuge_Val_HexBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHuge_Val_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Huge_Val_Hex
+ */
+static const char* apzHuge_Val_HexPatch[] = {
+ "format",
+ "#define HUGE_VAL (__builtin_huge_val())\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Huge_Valf_Hex fix
+ */
+tSCC zHuge_Valf_HexName[] =
+ "huge_valf_hex";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHuge_Valf_HexList[] =
+ "|bits/huge_val.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHuge_Valf_HexMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Valf_HexSelect0[] =
+ "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Valf_HexBypass0[] =
+ "__builtin_huge_valf";
+
+#define HUGE_VALF_HEX_TEST_CT 2
+static tTestDesc aHuge_Valf_HexTests[] = {
+ { TT_NEGREP, zHuge_Valf_HexBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Huge_Valf_Hex
+ */
+static const char* apzHuge_Valf_HexPatch[] = {
+ "format",
+ "#define HUGE_VALF (__builtin_huge_valf())\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Huge_Vall_Hex fix
+ */
+tSCC zHuge_Vall_HexName[] =
+ "huge_vall_hex";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHuge_Vall_HexList[] =
+ "|bits/huge_val.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHuge_Vall_HexMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHuge_Vall_HexSelect0[] =
+ "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHuge_Vall_HexBypass0[] =
+ "__builtin_huge_vall";
+
+#define HUGE_VALL_HEX_TEST_CT 2
+static tTestDesc aHuge_Vall_HexTests[] = {
+ { TT_NEGREP, zHuge_Vall_HexBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Huge_Vall_Hex
+ */
+static const char* apzHuge_Vall_HexPatch[] = {
+ "format",
+ "#define HUGE_VALL (__builtin_huge_vall())\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Int_Abort_Free_And_Exit fix
*/
tSCC zInt_Abort_Free_And_ExitName[] =
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * 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|";
+/*
+ * 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_2 fix
+ */
+tSCC zSolaris_Math_2Name[] =
+ "solaris_math_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Math_2List[] =
+ "|iso/math_c99.h|";
+/*
+ * 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|";
+/*
+ * 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|";
+/*
+ * 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\
+ __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
+\t\t isnan(__x_fp) \\\n\
+\t\t ? FP_NAN \\\n\
+\t\t : isinf(__x_fp) \\\n\
+\t\t ? FP_INFINITE \\\n\
+\t\t : isnormal(__x_fp) \\\n\
+\t\t\t ? FP_NORMAL \\\n\
+\t\t\t : __x_fp == 0.0 \\\n\
+\t\t\t ? FP_ZERO \\\n\
+\t\t\t : FP_SUBNORMAL; })",
+ "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Solaris_Math_5 fix
+ */
+tSCC zSolaris_Math_5Name[] =
+ "solaris_math_5";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Math_5List[] =
+ "|iso/math_c99.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_5Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_5Select0[] =
+ "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_5Bypass0[] =
+ "__GNUC__";
+
+#define SOLARIS_MATH_5_TEST_CT 2
+static tTestDesc aSolaris_Math_5Tests[] = {
+ { TT_NEGREP, zSolaris_Math_5Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zSolaris_Math_5Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Math_5
+ */
+static const char* apzSolaris_Math_5Patch[] = {
+ "format",
+ "#define\tisfinite(x) \\\n\
+ __extension__ ({ __typeof (x) __x_f = (x); \\\n\
+\t\t __builtin_expect(!isnan(__x_f - __x_f), 1); })",
+ "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Solaris_Math_6 fix
+ */
+tSCC zSolaris_Math_6Name[] =
+ "solaris_math_6";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Math_6List[] =
+ "|iso/math_c99.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_6Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_6Select0[] =
+ "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_6Bypass0[] =
+ "__GNUC__";
+
+#define SOLARIS_MATH_6_TEST_CT 2
+static tTestDesc aSolaris_Math_6Tests[] = {
+ { TT_NEGREP, zSolaris_Math_6Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zSolaris_Math_6Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Math_6
+ */
+static const char* apzSolaris_Math_6Patch[] = {
+ "format",
+ "#define\tisinf(x) \\\n\
+ __extension__ ({ __typeof (x) __x_i = (x); \\\n\
+\t\t __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
+ "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Solaris_Math_7 fix
+ */
+tSCC zSolaris_Math_7Name[] =
+ "solaris_math_7";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Math_7List[] =
+ "|iso/math_c99.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzSolaris_Math_7Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Math_7Select0[] =
+ "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zSolaris_Math_7Bypass0[] =
+ "__GNUC__";
+
+#define SOLARIS_MATH_7_TEST_CT 2
+static tTestDesc aSolaris_Math_7Tests[] = {
+ { TT_NEGREP, zSolaris_Math_7Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zSolaris_Math_7Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Math_7
+ */
+static const char* apzSolaris_Math_7Patch[] = {
+ "format",
+ "#define\tisnormal(x) \\\n\
+ __extension__ ({ __typeof(x) __x_n = (x); \\\n\
+\t\t if (__x_n < 0.0) __x_n = -__x_n; \\\n\
+\t\t __builtin_expect(isfinite(__x_n) \\\n\
+\t\t\t\t && (sizeof(__x_n) == sizeof(float) \\\n\
+\t\t\t\t\t ? __x_n >= __FLT_MIN__ \\\n\
+\t\t\t\t\t : sizeof(__x_n) == sizeof(long double) \\\n\
+\t\t\t\t\t ? __x_n >= __LDBL_MIN__ \\\n\
+\t\t\t\t\t : __x_n >= __DBL_MIN__), 1); })",
+ "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(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|";
+/*
+ * 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|";
+/*
+ * 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_Mutex_Init_1 fix
*/
tSCC zSolaris_Mutex_Init_1Name[] =
*
* List of all fixes
*/
-#define REGEX_COUNT 209
+#define REGEX_COUNT 238
#define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT 179
+#define FIX_COUNT 195
/*
* Enumerate the fixes
*/
typedef enum {
+ AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
+ AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
BROKEN_ASSERT_STDIO_FIXIDX,
BROKEN_ASSERT_STDLIB_FIXIDX,
BROKEN_CABS_FIXIDX,
+ BROKEN_NAN_FIXIDX,
BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
CTRL_QUOTES_DEF_FIXIDX,
CTRL_QUOTES_USE_FIXIDX,
HPUX_HTONL_FIXIDX,
HPUX_LONG_DOUBLE_FIXIDX,
HPUX_SYSTIME_FIXIDX,
+ HPUX_SPU_INFO_FIXIDX,
+ HUGE_VAL_HEX_FIXIDX,
+ HUGE_VALF_HEX_FIXIDX,
+ HUGE_VALL_HEX_FIXIDX,
INT_ABORT_FREE_AND_EXIT_FIXIDX,
IO_QUOTES_DEF_FIXIDX,
IO_QUOTES_USE_FIXIDX,
SCO_REGSET_FIXIDX,
SCO_STATIC_FUNC_FIXIDX,
SCO_UTIME_FIXIDX,
+ SOLARIS_MATH_1_FIXIDX,
+ SOLARIS_MATH_2_FIXIDX,
+ SOLARIS_MATH_3_FIXIDX,
+ SOLARIS_MATH_4_FIXIDX,
+ SOLARIS_MATH_5_FIXIDX,
+ SOLARIS_MATH_6_FIXIDX,
+ SOLARIS_MATH_7_FIXIDX,
+ SOLARIS_MATH_8_FIXIDX,
+ SOLARIS_MATH_9_FIXIDX,
SOLARIS_MUTEX_INIT_1_FIXIDX,
SOLARIS_MUTEX_INIT_2_FIXIDX,
SOLARIS_SOCKET_FIXIDX,
} t_fixinc_idx;
tFixDesc fixDescList[ FIX_COUNT ] = {
+ { zAab_Darwin7_9_Long_Double_FuncsName, zAab_Darwin7_9_Long_Double_FuncsList,
+ apzAab_Darwin7_9_Long_Double_FuncsMachs,
+ AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+ aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
+
+ { zAab_Darwin7_9_Long_Double_Funcs_2Name, zAab_Darwin7_9_Long_Double_Funcs_2List,
+ apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
+ AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aAab_Darwin7_9_Long_Double_Funcs_2Tests, apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
+
{ zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aBroken_CabsTests, apzBroken_CabsPatch, 0 },
+ { zBroken_NanName, zBroken_NanList,
+ apzBroken_NanMachs,
+ BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aBroken_NanTests, apzBroken_NanPatch, 0 },
+
{ zBsd_Stdio_Attrs_ConflictName, zBsd_Stdio_Attrs_ConflictList,
apzBsd_Stdio_Attrs_ConflictMachs,
BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
+ { zHpux_Spu_InfoName, zHpux_Spu_InfoList,
+ apzHpux_Spu_InfoMachs,
+ HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 },
+
+ { zHuge_Val_HexName, zHuge_Val_HexList,
+ apzHuge_Val_HexMachs,
+ HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHuge_Val_HexTests, apzHuge_Val_HexPatch, 0 },
+
+ { zHuge_Valf_HexName, zHuge_Valf_HexList,
+ apzHuge_Valf_HexMachs,
+ HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHuge_Valf_HexTests, apzHuge_Valf_HexPatch, 0 },
+
+ { zHuge_Vall_HexName, zHuge_Vall_HexList,
+ apzHuge_Vall_HexMachs,
+ HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHuge_Vall_HexTests, apzHuge_Vall_HexPatch, 0 },
+
{ zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
apzInt_Abort_Free_And_ExitMachs,
INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSco_UtimeTests, apzSco_UtimePatch, 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_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_5Name, zSolaris_Math_5List,
+ apzSolaris_Math_5Machs,
+ SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Math_5Tests, apzSolaris_Math_5Patch, 0 },
+
+ { zSolaris_Math_6Name, zSolaris_Math_6List,
+ apzSolaris_Math_6Machs,
+ SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Math_6Tests, apzSolaris_Math_6Patch, 0 },
+
+ { zSolaris_Math_7Name, zSolaris_Math_7List,
+ apzSolaris_Math_7Machs,
+ SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Math_7Tests, apzSolaris_Math_7Patch, 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_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
apzSolaris_Mutex_Init_1Machs,
SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,