the fixinc directory is now "fixincludes"
From-SVN: r157398
This commit is contained in:
parent
7ac22e176e
commit
bbf92edb2c
|
@ -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.
|
||||||
|
|
|
@ -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[] =
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue