the fixinc directory is now "fixincludes"

From-SVN: r157398
This commit is contained in:
Bruce Korb 2010-03-12 03:49:08 +00:00
parent 7ac22e176e
commit bbf92edb2c
3 changed files with 106 additions and 2 deletions

View File

@ -45,7 +45,7 @@ To make your fix, you will need to do several things:
"test_text" entry(ies) that validate your fix. This will "test_text" entry(ies) that validate your fix. This will
help ensure that future fixes won't negate your work. help ensure that future fixes won't negate your work.
5. Go into the fixinc build directory and type, "make check". 5. Go into the fixincludes build directory and type, "make check".
You are guaranteed to have issues printed out as a result. You are guaranteed to have issues printed out as a result.
Look at the diffs produced. Make sure you have not clobbered Look at the diffs produced. Make sure you have not clobbered
the proper functioning of a different fix. Make sure your the proper functioning of a different fix. Make sure your
@ -319,7 +319,7 @@ EXAMPLES OF FIXES:
I would really recommend, however: I would really recommend, however:
cd ${top_builddir}/gcc/fixinc cd ${top_builddir}/fixincludes
make check make check
To do this, you *must* have autogen installed on your system. To do this, you *must* have autogen installed on your system.

View File

@ -2,11 +2,19 @@
* *
* DO NOT EDIT THIS FILE (fixincl.x) * DO NOT EDIT THIS FILE (fixincl.x)
* *
<<<<<<< .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 * It has been AutoGen-ed Friday January 29, 2010 at 04:49:43 PM MET
>>>>>>> .r157397
* From the definitions inclhack.def * From the definitions inclhack.def
* and the template file fixincl * and the template file fixincl
*/ */
<<<<<<< .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 /* DO NOT SVN-MERGE THIS FILE, EITHER Fri Jan 29 16:49:43 MET 2010
>>>>>>> .r157397
* *
* You must regenerate it. Use the ./genfixes script. * You must regenerate it. Use the ./genfixes script.
* *
@ -6114,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 * Description of Solaris_Complex fix
*/ */
tSCC zSolaris_ComplexName[] = tSCC zSolaris_ComplexName[] =

View File

@ -3248,6 +3248,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 * Solaris 10+ complex.h defines _Complex_I and _Imaginary_I in terms of
* themselves, which are Sun Studio compiler intrinsics. Remove _Imaginary_I * themselves, which are Sun Studio compiler intrinsics. Remove _Imaginary_I
* and imaginary definitions which are not supported by GCC. * and imaginary definitions which are not supported by GCC.