diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-12-03 12:37:39 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-12-03 12:37:39 +0000 |
commit | 4b61d8d0733d356b1b4c75d7a1a357f3bdafdc74 (patch) | |
tree | b886f03030196008991a2f933eb8899b4771b2a7 /fixincludes | |
parent | 5cf2c1f30d5b3c32ba5c6986129c6ba9034a8ad2 (diff) | |
download | gcc-4b61d8d0733d356b1b4c75d7a1a357f3bdafdc74.zip gcc-4b61d8d0733d356b1b4c75d7a1a357f3bdafdc74.tar.gz gcc-4b61d8d0733d356b1b4c75d7a1a357f3bdafdc74.tar.bz2 |
backport: inclhack.def (irix_pthread_init): New fix.
Backport from mainline:
2010-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* inclhack.def (irix_pthread_init): New fix.
* fixincl.x: Regenerate.
* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: New test.
From-SVN: r167418
Diffstat (limited to 'fixincludes')
-rw-r--r-- | fixincludes/ChangeLog | 9 | ||||
-rw-r--r-- | fixincludes/fixincl.x | 53 | ||||
-rw-r--r-- | fixincludes/inclhack.def | 18 | ||||
-rw-r--r-- | fixincludes/tests/base/pthread.h | 7 |
4 files changed, 82 insertions, 5 deletions
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index d315c70..3834e0e 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,12 @@ +2010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + Backport from mainline: + 2010-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * inclhack.def (irix_pthread_init): New fix. + * fixincl.x: Regenerate. + * tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: New test. + 2010-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Backport from mainline: diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 535581f..824cbcf 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 Wednesday October 20, 2010 at 07:44:15 PM MEST + * It has been AutoGen-ed Sunday November 21, 2010 at 05:56:26 PM MET * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Oct 20 19:44:15 MEST 2010 +/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Nov 21 17:56:26 MET 2010 * * 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 208 fixup descriptions. + * This file contains 209 fixup descriptions. * * See README for more information. * @@ -4702,6 +4702,43 @@ static const char* apzIrix_Limits_ConstPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Irix_Pthread_Init fix + */ +tSCC zIrix_Pthread_InitName[] = + "irix_pthread_init"; + +/* + * File name selection pattern + */ +tSCC zIrix_Pthread_InitList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_Pthread_InitMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Pthread_InitSelect0[] = + "^(#define[ \t]+PTHREAD_.*_INITIALIZER[ \t]+)(\\{ 0 \\})"; + +#define IRIX_PTHREAD_INIT_TEST_CT 1 +static tTestDesc aIrix_Pthread_InitTests[] = { + { TT_EGREP, zIrix_Pthread_InitSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Pthread_Init + */ +static const char* apzIrix_Pthread_InitPatch[] = { + "format", + "%1{ %2 }", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Irix_Socklen_T fix */ tSCC zIrix_Socklen_TName[] = @@ -8478,9 +8515,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 248 +#define REGEX_COUNT 249 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 208 +#define FIX_COUNT 209 /* * Enumerate the fixes @@ -8600,6 +8637,7 @@ typedef enum { IRIX_ASM_APOSTROPHE_FIXIDX, IRIX_COMPLEX_FIXIDX, IRIX_LIMITS_CONST_FIXIDX, + IRIX_PTHREAD_INIT_FIXIDX, IRIX_SOCKLEN_T_FIXIDX, IRIX_STDINT_C99_MODE_FIXIDX, IRIX_STDINT_C99_TYPES_FIXIDX, @@ -9267,6 +9305,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 }, + { zIrix_Pthread_InitName, zIrix_Pthread_InitList, + apzIrix_Pthread_InitMachs, + IRIX_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIrix_Pthread_InitTests, apzIrix_Pthread_InitPatch, 0 }, + { zIrix_Socklen_TName, zIrix_Socklen_TList, apzIrix_Socklen_TMachs, IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 92414b3..1de45f8 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -2505,6 +2505,24 @@ fix = { /* + * IRIX 6.5 PTHREAD_*_INITIALIZER need an additional level of braces in + * <pthread.h>. + */ +fix = { + hackname = irix_pthread_init; + files = pthread.h; + select = "^(#define[ \t]+PTHREAD_.*_INITIALIZER[ \t]+)(\\{ 0 \\})"; + + mach = "mips-sgi-irix6.5"; + c_fix = format; + c_fix_arg = "%1{ %2 }"; + test_text = "#define PTHREAD_MUTEX_INITIALIZER { 0 }\n" + "#define PTHREAD_COND_INITIALIZER { 0 }\n" + "#define PTHREAD_RWLOCK_INITIALIZER { 0 }"; +}; + + +/* * IRIX 6.5.1[78] <sys/socket.h> has a broken definition of socklen_t. * Various socket function prototypes use different types instead, * depending on the API in use (BSD, XPG4/5), but the socklen_t diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h index f08aee4..834f051 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -96,6 +96,13 @@ #endif /* GLIBC_MUTEX_INIT_CHECK */ +#if defined( IRIX_PTHREAD_INIT_CHECK ) +#define PTHREAD_MUTEX_INITIALIZER { { 0 } } +#define PTHREAD_COND_INITIALIZER { { 0 } } +#define PTHREAD_RWLOCK_INITIALIZER { { 0 } } +#endif /* IRIX_PTHREAD_INIT_CHECK */ + + #if defined( PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK ) extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask); #endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */ |