OSDN Git Service

the fixinc directory is now "fixincludes"
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Mar 2010 03:49:08 +0000 (03:49 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 00:20:59 +0000 (09:20 +0900)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157398 138bc75d-0d04-0410-961f-82ee72b054a4

fixincludes/fixincl.x
fixincludes/inclhack.def

index e80d50c..572637e 100644 (file)
@@ -2,11 +2,19 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Wednesday April  7, 2010 at 05:11:50 PM MEST
+<<<<<<< .mine
+ * It has been AutoGen-ed  September  5, 2009 at 01:31:09 PM by AutoGen 5.9.9
+=======
+ * It has been AutoGen-ed  Friday January 29, 2010 at 04:49:43 PM MET
+>>>>>>> .r157397
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Apr  7 17:11:50 MEST 2010
+<<<<<<< .mine
+/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Sep  5 13:31:09 PDT 2009
+=======
+/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Jan 29 16:49:43 MET 2010
+>>>>>>> .r157397
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -1043,7 +1051,7 @@ tSCC zAlpha_AssertList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zAlpha_AssertSelect0[] =
-       "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
+       "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
 
 #define    ALPHA_ASSERT_TEST_CT  1
 static tTestDesc aAlpha_AssertTests[] = {
@@ -1354,6 +1362,43 @@ static const char* apzAlpha_SbrkPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Alpha_Wchar fix
+ */
+tSCC zAlpha_WcharName[] =
+     "alpha_wchar";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAlpha_WcharList[] =
+  "wchar.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAlpha_WcharMachs[] = {
+        "alpha*-dec-osf4*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAlpha_WcharSelect0[] =
+       "#define wcstok wcstok_r";
+
+#define    ALPHA_WCHAR_TEST_CT  1
+static tTestDesc aAlpha_WcharTests[] = {
+  { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Alpha_Wchar
+ */
+static const char* apzAlpha_WcharPatch[] = { sed_cmd_z,
+    "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
+    "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Avoid_Bool_Define fix
  */
 tSCC zAvoid_Bool_DefineName[] =
@@ -2810,45 +2855,6 @@ static const char* apzGlibc_StdintPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  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[] =
@@ -6116,6 +6122,63 @@ static const char* apzRs6000_ParamPatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+<<<<<<< .mine
+ *  Description of Sco_Math fix
+ */
+tSCC zSco_MathName[] =
+     "sco_math";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_MathList[] =
+  "math.h\0*/math.h\0";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSco_MathMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_MathSelect0[] =
+       "inline double abs";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSco_MathBypass0[] =
+       "__GNUG__";
+
+#define    SCO_MATH_TEST_CT  2
+static tTestDesc aSco_MathTests[] = {
+  { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Math
+ */
+static const char* apzSco_MathPatch[] = { sed_cmd_z,
+    "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
+#ifndef __GNUC__\n",
+    "-e", "/.*__builtin_generic/a\\\n\
+#else\\\n\
+#define __fp_class(a) \\\\\\\n\
+\\  __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
+\\   __fpclassifyl(a), \\\\\\\n\
+\\    __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
+\\      __fpclassifyf(a),__fpclassify(a)))\\\n\
+#endif\n",
+    "-e", "/extern \"C++\"/N;/inline double abs/i\\\n\
+#ifndef __GNUC__\n",
+    "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C++\"/a\\\n\
+#endif /* ! __GNUC__ */\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+=======
+>>>>>>> .r157397
  *  Description of Solaris_Complex fix
  */
 tSCC zSolaris_ComplexName[] =
@@ -6347,7 +6410,7 @@ tSCC zSolaris_Math_8List[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zSolaris_Math_8Select0[] =
-       "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
+       "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
 
 /*
  *  content bypass pattern - skip fix if pattern found
@@ -8397,6 +8460,7 @@ typedef enum {
     ALPHA_PTHREAD_GCC_FIXIDX,
     ALPHA_PTHREAD_INIT_FIXIDX,
     ALPHA_SBRK_FIXIDX,
+    ALPHA_WCHAR_FIXIDX,
     AVOID_BOOL_DEFINE_FIXIDX,
     AVOID_BOOL_TYPE_FIXIDX,
     AVOID_WCHAR_T_TYPE_FIXIDX,
@@ -8432,7 +8496,6 @@ typedef enum {
     GLIBC_C99_INLINE_4_FIXIDX,
     GLIBC_MUTEX_INIT_FIXIDX,
     GLIBC_STDINT_FIXIDX,
-    GLIBC_STRNCPY_FIXIDX,
     GLIBC_TGMATH_FIXIDX,
     GNU_TYPES_FIXIDX,
     HP_INLINE_FIXIDX,
@@ -8729,6 +8792,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
 
+  {  zAlpha_WcharName,    zAlpha_WcharList,
+     apzAlpha_WcharMachs,
+     ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
+     aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
+
   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
      apzAvoid_Bool_DefineMachs,
      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -8904,11 +8972,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aGlibc_StdintTests,   apzGlibc_StdintPatch, 0 },
 
-  {  zGlibc_StrncpyName,    zGlibc_StrncpyList,
-     apzGlibc_StrncpyMachs,
-     GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aGlibc_StrncpyTests,   apzGlibc_StrncpyPatch, 0 },
-
   {  zGlibc_TgmathName,    zGlibc_TgmathList,
      apzGlibc_TgmathMachs,
      GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
index 4f70a9f..fa6211b 100644 (file)
@@ -3249,6 +3249,45 @@ fix = {
 
 
 /*
+<<<<<<< .mine
+ *  On OpenServer and on UnixWare 7, <math.h> uses the native compiler
+ *  __builtin_generic. We fix that usage to use the GCC equivalent.
+ * It also has a plethora of inline functions that conflict with libstdc++.
+ */
+fix = {
+    hackname = sco_math;
+    files    = math.h, '*/math.h';
+    select   = "inline double abs";
+    bypass   = "__GNUG__";
+    sed      = "/#define.*__fp_class(a) \\\\/i\\\n"
+              "#ifndef __GNUC__\n";
+    sed      =
+"/.*__builtin_generic/a\\\n"
+"#else\\\n"
+"#define __fp_class(a) \\\\\\\n"
+"\\  __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n"
+"\\   __fpclassifyl(a), \\\\\\\n"
+"\\    __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n"
+"\\      __fpclassifyf(a),__fpclassify(a)))\\\n"
+"#endif\n";
+
+    sed      = "/extern \"C++\"/N;"
+              "/inline double abs/i\\\n"
+               "#ifndef __GNUC__\n";
+    sed      = "/inline long double trunc/N;"
+              "/inline long double trunc.*}.*extern \"C++\"/a\\\n"
+              "#endif /* ! __GNUC__ */\n";
+
+    test_text =
+    "#define __fp_class(a) \\\\\n"
+    " __builtin_generic(a,\"ld:__fplcassifyl;f:__fpclassifyf;:__fpclassify\")\n";
+
+};
+
+
+/*
+=======
+>>>>>>> .r157397
  * 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.