diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2009-09-02 14:58:50 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2009-09-02 14:58:50 +0000 |
commit | 7aa7b459152de9854d5eafdbdb1aed43fd1e1cd0 (patch) | |
tree | 758176b80c80b9947972eac0d941bbeaac2cf8e4 /fixincludes/fixincl.x | |
parent | e123d1967f95f1066d44f7aeca2ada21a5f4628f (diff) | |
download | gcc-7aa7b459152de9854d5eafdbdb1aed43fd1e1cd0.tar.gz |
re PR libfortran/41169 (libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared)
PR libfortran/41169
* inclhack.def (irix_complex): New fix.
(solaris_complex): Likewise.
* fixincl.x: Regenerate.
* tests/base/complex.h [IRIX_COMPLEX_CHECK, SOLARIS_COMPLEX_CHECK]:
New tests.
From-SVN: r151331
Diffstat (limited to 'fixincludes/fixincl.x')
-rw-r--r-- | fixincludes/fixincl.x | 100 |
1 files changed, 95 insertions, 5 deletions
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 8b3422ad286..d9c194f217b 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed Friday August 28, 2009 at 10:55:38 AM PDT + * It has been AutoGen-ed Wednesday September 2, 2009 at 04:57:56 PM MEST * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Aug 28 10:55:38 PDT 2009 +/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Sep 2 16:57:56 MEST 2009 * * You must regenerate it. Use the ./genfixes script. * @@ -15,7 +15,7 @@ * 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 204 fixup descriptions. + * This file contains 206 fixup descriptions. * * See README for more information. * @@ -4571,6 +4571,45 @@ static const char* apzIrix_Asm_ApostrophePatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Irix_Complex fix + */ +tSCC zIrix_ComplexName[] = + "irix_complex"; + +/* + * File name selection pattern + */ +tSCC zIrix_ComplexList[] = + "complex.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_ComplexMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_ComplexSelect0[] = + "#define[ \t]_Complex_I[ \t]\\(\\(float[ \t]_Complex\\)[ \t]\\(__I__\\)\\)"; + +#define IRIX_COMPLEX_TEST_CT 1 +static tTestDesc aIrix_ComplexTests[] = { + { TT_EGREP, zIrix_ComplexSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Complex + */ +static const char* apzIrix_ComplexPatch[] = { sed_cmd_z, + "-e", "s/#define[ \t]_Complex_I[ \t]((float[ \t]_Complex)[ \t](__I__))/#define _Complex_I (__extension__ 1.0iF)/", + "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d", + "-e", "/#define[ \t]_Imaginary_I/d", + "-e", "s/#define[ \t]I[ \t]_Imaginary_I/#define I _Complex_I/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Irix_Limits_Const fix */ tSCC zIrix_Limits_ConstName[] = @@ -6139,6 +6178,45 @@ static const char* apzSco_MathPatch[] = { sed_cmd_z, /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Solaris_Complex fix + */ +tSCC zSolaris_ComplexName[] = + "solaris_complex"; + +/* + * File name selection pattern + */ +tSCC zSolaris_ComplexList[] = + "complex.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_ComplexMachs[] = { + "*-*-solaris2.*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_ComplexSelect0[] = + "#define[ \t]_Complex_I[ \t]_Complex_I"; + +#define SOLARIS_COMPLEX_TEST_CT 1 +static tTestDesc aSolaris_ComplexTests[] = { + { TT_EGREP, zSolaris_ComplexSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Complex + */ +static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z, + "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t\\(__extension__ 1.0iF\\)/", + "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d", + "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d", + "-e", "s/#define[ \t]I[ \t]\\+_Imaginary_I/#define\tI\t\t_Complex_I/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Solaris_Math_1 fix */ tSCC zSolaris_Math_1Name[] = @@ -8302,9 +8380,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 247 +#define REGEX_COUNT 249 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 204 +#define FIX_COUNT 206 /* * Enumerate the fixes @@ -8421,6 +8499,7 @@ typedef enum { IRIX___GENERIC1_FIXIDX, IRIX___GENERIC2_FIXIDX, IRIX_ASM_APOSTROPHE_FIXIDX, + IRIX_COMPLEX_FIXIDX, IRIX_LIMITS_CONST_FIXIDX, IRIX_SOCKLEN_T_FIXIDX, IRIX_STDINT_C99_FIXIDX, @@ -8461,6 +8540,7 @@ typedef enum { RS6000_FCHMOD_FIXIDX, RS6000_PARAM_FIXIDX, SCO_MATH_FIXIDX, + SOLARIS_COMPLEX_FIXIDX, SOLARIS_MATH_1_FIXIDX, SOLARIS_MATH_2_FIXIDX, SOLARIS_MATH_3_FIXIDX, @@ -9072,6 +9152,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 }, + { zIrix_ComplexName, zIrix_ComplexList, + apzIrix_ComplexMachs, + IRIX_COMPLEX_TEST_CT, FD_MACH_ONLY, + aIrix_ComplexTests, apzIrix_ComplexPatch, 0 }, + { zIrix_Limits_ConstName, zIrix_Limits_ConstList, apzIrix_Limits_ConstMachs, IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -9272,6 +9357,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SCO_MATH_TEST_CT, FD_MACH_ONLY, aSco_MathTests, apzSco_MathPatch, 0 }, + { zSolaris_ComplexName, zSolaris_ComplexList, + apzSolaris_ComplexMachs, + SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY, + aSolaris_ComplexTests, apzSolaris_ComplexPatch, 0 }, + { zSolaris_Math_1Name, zSolaris_Math_1List, apzSolaris_Math_1Machs, SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, |