diff options
author | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | 2003-02-24 19:08:07 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2003-02-24 19:08:07 +0000 |
commit | 723e71689f93067b6e055ce5bd065538db3f9816 (patch) | |
tree | 9d25562e586218e9b48c924a788a24cedb92aa4a /gcc/fixinc/fixincl.x | |
parent | f590c88dc63bb82447e45d14653d0c943bab74b0 (diff) | |
download | gcc-723e71689f93067b6e055ce5bd065538db3f9816.tar.gz |
re PR libgcj/9652 (libjava bootstrap failure on irix6.5.1[78])
* config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
ISO C99 and C++.
* fixinc/inclhack.def (irix___restrict): Don't change __restrict
for C++ on IRIX 6.5.1[89].
* fixinc/tests/base/internal/sgimacros.h: New file.
* fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
* fixinc/tests/base/internal/wchar_core.h: New file.
* fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
socklen_t definition.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/sys/socket.h: New file.
Fixes PR libgcj/9652.
From-SVN: r63372
Diffstat (limited to 'gcc/fixinc/fixincl.x')
-rw-r--r-- | gcc/fixinc/fixincl.x | 145 |
1 files changed, 142 insertions, 3 deletions
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x index c91f3372347..452aa033298 100644 --- a/gcc/fixinc/fixincl.x +++ b/gcc/fixinc/fixincl.x @@ -5,7 +5,7 @@ * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * - * This file contains 153 fixup descriptions. + * This file contains 156 fixup descriptions. * * See README for more information. * @@ -2617,6 +2617,88 @@ static const char* apzIrix_Limits_ConstPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Irix___Restrict fix + */ +tSCC zIrix___RestrictName[] = + "irix___restrict"; + +/* + * File name selection pattern + */ +tSCC zIrix___RestrictList[] = + "|internal/sgimacros.h|"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix___RestrictMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix___RestrictSelect0[] = + "(#ifdef __c99\n\ +)(#[ \t]*define __restrict restrict)"; + +#define IRIX___RESTRICT_TEST_CT 1 +static tTestDesc aIrix___RestrictTests[] = { + { TT_EGREP, zIrix___RestrictSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix___Restrict + */ +static const char* apzIrix___RestrictPatch[] = { + "format", + "%1# ifndef __cplusplus\n\ +%2\n\ +# endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Socklen_T fix + */ +tSCC zIrix_Socklen_TName[] = + "irix_socklen_t"; + +/* + * File name selection pattern + */ +tSCC zIrix_Socklen_TList[] = + "|sys/socket.h|"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_Socklen_TMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Socklen_TSelect0[] = + "(#define _SOCKLEN_T\n\ +)(typedef u_int32_t socklen_t;)"; + +#define IRIX_SOCKLEN_T_TEST_CT 1 +static tTestDesc aIrix_Socklen_TTests[] = { + { TT_EGREP, zIrix_Socklen_TSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Socklen_T + */ +static const char* apzIrix_Socklen_TPatch[] = { + "format", + "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\ +typedef int socklen_t;\n\ +#else\n\ +%2\n\ +#endif /* _NO_XOPEN4 && _NO_XOPEN5 */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Irix_Stdio_Va_List fix */ tSCC zIrix_Stdio_Va_ListName[] = @@ -2652,6 +2734,45 @@ static const char* apzIrix_Stdio_Va_ListPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Irix_Wcsftime fix + */ +tSCC zIrix_WcsftimeName[] = + "irix_wcsftime"; + +/* + * File name selection pattern + */ +tSCC zIrix_WcsftimeList[] = + "|internal/wchar_core.h|"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_WcsftimeMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_WcsftimeSelect0[] = + "#if _NO_XOPEN5\n\ +(extern size_t[ \t]+wcsftime.*const char *.*)"; + +#define IRIX_WCSFTIME_TEST_CT 1 +static tTestDesc aIrix_WcsftimeTests[] = { + { TT_EGREP, zIrix_WcsftimeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Wcsftime + */ +static const char* apzIrix_WcsftimePatch[] = { + "format", + "#if _NO_XOPEN5 && !defined(__c99)\n\ +%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Isc_Fmod fix */ tSCC zIsc_FmodName[] = @@ -6012,9 +6133,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 163 +#define REGEX_COUNT 166 #define MACH_LIST_SIZE_LIMIT 279 -#define FIX_COUNT 153 +#define FIX_COUNT 156 /* * Enumerate the fixes @@ -6084,7 +6205,10 @@ typedef enum { IP_MISSING_SEMI_FIXIDX, IRIX_ASM_APOSTROPHE_FIXIDX, IRIX_LIMITS_CONST_FIXIDX, + IRIX___RESTRICT_FIXIDX, + IRIX_SOCKLEN_T_FIXIDX, IRIX_STDIO_VA_LIST_FIXIDX, + IRIX_WCSFTIME_FIXIDX, ISC_FMOD_FIXIDX, ISC_OMITS_WITH_STDC_FIXIDX, KANDR_CONCAT_FIXIDX, @@ -6496,11 +6620,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = { IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 }, + { zIrix___RestrictName, zIrix___RestrictList, + apzIrix___RestrictMachs, + IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIrix___RestrictTests, apzIrix___RestrictPatch, 0 }, + + { zIrix_Socklen_TName, zIrix_Socklen_TList, + apzIrix_Socklen_TMachs, + IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIrix_Socklen_TTests, apzIrix_Socklen_TPatch, 0 }, + { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList, apzIrix_Stdio_Va_ListMachs, IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 }, + { zIrix_WcsftimeName, zIrix_WcsftimeList, + apzIrix_WcsftimeMachs, + IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIrix_WcsftimeTests, apzIrix_WcsftimePatch, 0 }, + { zIsc_FmodName, zIsc_FmodList, apzIsc_FmodMachs, ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, |