inclhack.def (aix_mutex_initializer_1): New fix.

* inclhack.def (aix_mutex_initializer_1): New fix.
        (aix_cond_initializer_1): New fix.
        (aix_rwlock_initializer): New fix.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New.
        [AIX_COND_INITIALIZER_1_CHECK]: New.
        [AIX_RWLOCK_INITIALIZER_1_CHECK]: New.

From-SVN: r188784
This commit is contained in:
David Edelsohn 2012-06-19 17:55:14 +00:00 committed by David Edelsohn
parent b13024e6ad
commit b1f75d7653
4 changed files with 217 additions and 10 deletions

View File

@ -1,3 +1,13 @@
2012-06-19 David Edelsohn <dje.gcc@gmail.com>
* inclhack.def (aix_mutex_initializer_1): New fix.
(aix_cond_initializer_1): New fix.
(aix_rwlock_initializer): New fix.
* fixincl.x: Regenerate.
* tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New.
[AIX_COND_INITIALIZER_1_CHECK]: New.
[AIX_RWLOCK_INITIALIZER_1_CHECK]: New.
2012-05-29 Thomas Schwinge <thomas@codesourcery.com>
* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of

View File

@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed March 23, 2012 at 02:26:20 PM by AutoGen 5.10
* It has been AutoGen-ed June 19, 2012 at 09:23:54 AM by AutoGen 5.10
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Mar 23 14:26:20 EDT 2012
/* DO NOT SVN-MERGE THIS FILE, EITHER Tue Jun 19 09:23:54 EDT 2012
*
* 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 212 fixup descriptions.
* This file contains 215 fixup descriptions.
*
* See README for more information.
*
@ -672,6 +672,123 @@ static const char* apzAix_Once_Init_2Patch[] = {
}}\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Mutex_Initializer_1 fix
*/
tSCC zAix_Mutex_Initializer_1Name[] =
"aix_mutex_initializer_1";
/*
* File name selection pattern
*/
tSCC zAix_Mutex_Initializer_1List[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Mutex_Initializer_1Machs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Mutex_Initializer_1Select0[] =
"#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
\\{ \\\\\n";
#define AIX_MUTEX_INITIALIZER_1_TEST_CT 1
static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
{ TT_EGREP, zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Mutex_Initializer_1
*/
static const char* apzAix_Mutex_Initializer_1Patch[] = {
"format",
"#define PTHREAD_MUTEX_INITIALIZER \\\n\
{{ \\\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Cond_Initializer_1 fix
*/
tSCC zAix_Cond_Initializer_1Name[] =
"aix_cond_initializer_1";
/*
* File name selection pattern
*/
tSCC zAix_Cond_Initializer_1List[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Cond_Initializer_1Machs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Cond_Initializer_1Select0[] =
"#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
\\{ \\\\\n";
#define AIX_COND_INITIALIZER_1_TEST_CT 1
static tTestDesc aAix_Cond_Initializer_1Tests[] = {
{ TT_EGREP, zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Cond_Initializer_1
*/
static const char* apzAix_Cond_Initializer_1Patch[] = {
"format",
"#define PTHREAD_COND_INITIALIZER \\\n\
{{ \\\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Rwlock_Initializer_1 fix
*/
tSCC zAix_Rwlock_Initializer_1Name[] =
"aix_rwlock_initializer_1";
/*
* File name selection pattern
*/
tSCC zAix_Rwlock_Initializer_1List[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Rwlock_Initializer_1Select0[] =
"#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
\\{ \\\\\n";
#define AIX_RWLOCK_INITIALIZER_1_TEST_CT 1
static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
{ TT_EGREP, zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Rwlock_Initializer_1
*/
static const char* apzAix_Rwlock_Initializer_1Patch[] = {
"format",
"#define PTHREAD_RWLOCK_INITIALIZER \\\n\
{{ \\\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Pthread fix
@ -8629,9 +8746,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 255
#define REGEX_COUNT 258
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 212
#define FIX_COUNT 215
/*
* Enumerate the fixes
@ -8650,6 +8767,9 @@ typedef enum {
AIX_NET_IF_ARP_FIXIDX,
AIX_ONCE_INIT_1_FIXIDX,
AIX_ONCE_INIT_2_FIXIDX,
AIX_MUTEX_INITIALIZER_1_FIXIDX,
AIX_COND_INITIALIZER_1_FIXIDX,
AIX_RWLOCK_INITIALIZER_1_FIXIDX,
AIX_PTHREAD_FIXIDX,
AIX_STDINT_1_FIXIDX,
AIX_STDINT_2_FIXIDX,
@ -8917,6 +9037,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Once_Init_2Tests, apzAix_Once_Init_2Patch, 0 },
{ zAix_Mutex_Initializer_1Name, zAix_Mutex_Initializer_1List,
apzAix_Mutex_Initializer_1Machs,
AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Mutex_Initializer_1Tests, apzAix_Mutex_Initializer_1Patch, 0 },
{ zAix_Cond_Initializer_1Name, zAix_Cond_Initializer_1List,
apzAix_Cond_Initializer_1Machs,
AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Cond_Initializer_1Tests, apzAix_Cond_Initializer_1Patch, 0 },
{ zAix_Rwlock_Initializer_1Name, zAix_Rwlock_Initializer_1List,
apzAix_Rwlock_Initializer_1Machs,
AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Rwlock_Initializer_1Tests, apzAix_Rwlock_Initializer_1Patch, 0 },
{ zAix_PthreadName, zAix_PthreadList,
apzAix_PthreadMachs,
AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,

View File

@ -397,7 +397,9 @@ fix = {
};
/*
* pthread.h on AIX defines PTHREAD_ONCE_INIT without enough braces.
* pthread.h on AIX defines PTHREAD_ONCE_INIT, PTHREAD_MUTEX_INITIALIZER,
* PTHREAD_COND_INITIALIZER and PTHREAD_RWLOCK_INITIALIZER without enough
* braces.
*/
fix = {
hackname = aix_once_init_1;
@ -425,6 +427,45 @@ fix = {
"}\n";
};
fix = {
hackname = aix_mutex_initializer_1;
mach = "*-*-aix*";
files = "pthread.h";
select = "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n"
"\\{ \\\\\n";
c_fix = format;
c_fix_arg = "#define PTHREAD_MUTEX_INITIALIZER \\\n"
"{{ \\\n";
test_text = "#define PTHREAD_MUTEX_INITIALIZER \\\\\n"
"{ \\\\\n";
};
fix = {
hackname = aix_cond_initializer_1;
mach = "*-*-aix*";
files = "pthread.h";
select = "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n"
"\\{ \\\\\n";
c_fix = format;
c_fix_arg = "#define PTHREAD_COND_INITIALIZER \\\n"
"{{ \\\n";
test_text = "#define PTHREAD_COND_INITIALIZER \\\\\n"
"{ \\\\\n";
};
fix = {
hackname = aix_rwlock_initializer_1;
mach = "*-*-aix*";
files = "pthread.h";
select = "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n"
"\\{ \\\\\n";
c_fix = format;
c_fix_arg = "#define PTHREAD_RWLOCK_INITIALIZER \\\n"
"{{ \\\n";
test_text = "#define PTHREAD_RWLOCK_INITIALIZER \\\\\n"
"{ \\\\\n";
};
/*
* pthread.h on AIX 4.3.3 tries to define a macro without whitspace
* which violates a requirement of ISO C.

View File

@ -23,6 +23,27 @@
#endif /* AIX_ONCE_INIT_2_CHECK */
#if defined( AIX_MUTEX_INITIALIZER_1_CHECK )
#define PTHREAD_MUTEX_INITIALIZER \
{{ \
#endif /* AIX_MUTEX_INITIALIZER_1_CHECK */
#if defined( AIX_COND_INITIALIZER_1_CHECK )
#define PTHREAD_COND_INITIALIZER \
{{ \
#endif /* AIX_COND_INITIALIZER_1_CHECK */
#if defined( AIX_RWLOCK_INITIALIZER_1_CHECK )
#define PTHREAD_RWLOCK_INITIALIZER \
{{ \
#endif /* AIX_RWLOCK_INITIALIZER_1_CHECK */
#if defined( AIX_PTHREAD_CHECK )
#define PTHREAD_MUTEX_INITIALIZER \
{...init stuff...}