mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 18:10:23 +08:00
inclhack.def (aix_null): New.
* inclhack.def (aix_null): New. (void_null): Update replacement definition of NULL. * fixincl.x: Regenerate. * tests/base/curses.h: Update for new fix. From-SVN: r198596
This commit is contained in:
parent
40de22d6f9
commit
0654e6be95
@ -1,4 +1,11 @@
|
|||||||
2013-01-16 Alexandre Oliva <aoliva@redhat.com>
|
2013-05-04 David Edelsohn <dje.gcc@gmail.com>
|
||||||
|
|
||||||
|
* inclhack.def (aix_null): New.
|
||||||
|
(void_null): Update replacement definition of NULL.
|
||||||
|
* fixincl.x: Regenerate.
|
||||||
|
* tests/base/curses.h: Update for new fix.
|
||||||
|
|
||||||
|
2013-01-16 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
* inclhack.def (feraiseexcept_nosse_invalid): New.
|
* inclhack.def (feraiseexcept_nosse_invalid): New.
|
||||||
(feraiseexcept_nosse_divbyzero): Likewise.
|
(feraiseexcept_nosse_divbyzero): Likewise.
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
*
|
*
|
||||||
* DO NOT EDIT THIS FILE (fixincl.x)
|
* DO NOT EDIT THIS FILE (fixincl.x)
|
||||||
*
|
*
|
||||||
* It has been AutoGen-ed Saturday December 29, 2012 at 09:17:09 AM BRST
|
* It has been AutoGen-ed May 3, 2013 at 11:45:43 AM by AutoGen 5.12
|
||||||
* From the definitions inclhack.def
|
* From the definitions inclhack.def
|
||||||
* and the template file fixincl
|
* and the template file fixincl
|
||||||
*/
|
*/
|
||||||
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Dec 29 09:17:10 BRST 2012
|
/* DO NOT SVN-MERGE THIS FILE, EITHER Fri May 3 11:45:44 PDT 2013
|
||||||
*
|
*
|
||||||
* You must regenerate it. Use the ./genfixes script.
|
* You must regenerate it. Use the ./genfixes script.
|
||||||
*
|
*
|
||||||
@ -15,7 +15,7 @@
|
|||||||
* certain ANSI-incompatible system header files which are fixed to work
|
* 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.
|
* correctly with ANSI C and placed in a directory that GNU C will search.
|
||||||
*
|
*
|
||||||
* This file contains 226 fixup descriptions.
|
* This file contains 227 fixup descriptions.
|
||||||
*
|
*
|
||||||
* See README for more information.
|
* See README for more information.
|
||||||
*
|
*
|
||||||
@ -845,6 +845,60 @@ static const char* apzAix_Net_If_ArpPatch[] = {
|
|||||||
"typedef struct _fc_softc {",
|
"typedef struct _fc_softc {",
|
||||||
(char*)NULL };
|
(char*)NULL };
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
*
|
||||||
|
* Description of Aix_Null fix
|
||||||
|
*/
|
||||||
|
tSCC zAix_NullName[] =
|
||||||
|
"aix_null";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* File name selection pattern
|
||||||
|
*/
|
||||||
|
tSCC zAix_NullList[] =
|
||||||
|
"curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/dir.h\0sys/param.h\0sys/types.h\0";
|
||||||
|
/*
|
||||||
|
* Machine/OS name selection pattern
|
||||||
|
*/
|
||||||
|
tSCC* apzAix_NullMachs[] = {
|
||||||
|
"*-*-aix*",
|
||||||
|
(const char*)NULL };
|
||||||
|
|
||||||
|
/*
|
||||||
|
* content selection pattern - do fix if pattern found
|
||||||
|
*/
|
||||||
|
tSCC zAix_NullSelect0[] =
|
||||||
|
"#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* content bypass pattern - skip fix if pattern found
|
||||||
|
*/
|
||||||
|
tSCC zAix_NullBypass0[] =
|
||||||
|
"__null";
|
||||||
|
|
||||||
|
#define AIX_NULL_TEST_CT 2
|
||||||
|
static tTestDesc aAix_NullTests[] = {
|
||||||
|
{ TT_NEGREP, zAix_NullBypass0, (regex_t*)NULL },
|
||||||
|
{ TT_EGREP, zAix_NullSelect0, (regex_t*)NULL }, };
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fix Command Arguments for Aix_Null
|
||||||
|
*/
|
||||||
|
static const char* apzAix_NullPatch[] = {
|
||||||
|
"format",
|
||||||
|
"#ifndef NULL\n\
|
||||||
|
#ifdef __cplusplus\n\
|
||||||
|
#ifdef __GNUG__\n\
|
||||||
|
#define NULL __null\n\
|
||||||
|
#else /* ! __GNUG__ */\n\
|
||||||
|
#define NULL 0L\n\
|
||||||
|
#endif /* __GNUG__ */\n\
|
||||||
|
#else /* ! __cplusplus */\n\
|
||||||
|
#define NULL ((void *)0)\n\
|
||||||
|
#endif /* __cplusplus */\n\
|
||||||
|
#endif /* !NULL */",
|
||||||
|
(char*)NULL };
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
*
|
*
|
||||||
* Description of Aix_Once_Init_1 fix
|
* Description of Aix_Once_Init_1 fix
|
||||||
@ -8680,7 +8734,17 @@ static tTestDesc aVoid_NullTests[] = {
|
|||||||
*/
|
*/
|
||||||
static const char* apzVoid_NullPatch[] = {
|
static const char* apzVoid_NullPatch[] = {
|
||||||
"format",
|
"format",
|
||||||
"#define NULL 0",
|
"#ifndef NULL\n\
|
||||||
|
#ifdef __cplusplus\n\
|
||||||
|
#ifdef __GNUG__\n\
|
||||||
|
#define NULL __null\n\
|
||||||
|
#else /* ! __GNUG__ */\n\
|
||||||
|
#define NULL 0L\n\
|
||||||
|
#endif /* __GNUG__ */\n\
|
||||||
|
#else /* ! __cplusplus */\n\
|
||||||
|
#define NULL ((void *)0)\n\
|
||||||
|
#endif /* __cplusplus */\n\
|
||||||
|
#endif /* !NULL */",
|
||||||
(char*)NULL };
|
(char*)NULL };
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
@ -9265,9 +9329,9 @@ static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
|
|||||||
*
|
*
|
||||||
* List of all fixes
|
* List of all fixes
|
||||||
*/
|
*/
|
||||||
#define REGEX_COUNT 264
|
#define REGEX_COUNT 266
|
||||||
#define MACH_LIST_SIZE_LIMIT 187
|
#define MACH_LIST_SIZE_LIMIT 187
|
||||||
#define FIX_COUNT 226
|
#define FIX_COUNT 227
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enumerate the fixes
|
* Enumerate the fixes
|
||||||
@ -9288,6 +9352,7 @@ typedef enum {
|
|||||||
AIX_COMPLEX_FIXIDX,
|
AIX_COMPLEX_FIXIDX,
|
||||||
AIX_MALLOC_FIXIDX,
|
AIX_MALLOC_FIXIDX,
|
||||||
AIX_NET_IF_ARP_FIXIDX,
|
AIX_NET_IF_ARP_FIXIDX,
|
||||||
|
AIX_NULL_FIXIDX,
|
||||||
AIX_ONCE_INIT_1_FIXIDX,
|
AIX_ONCE_INIT_1_FIXIDX,
|
||||||
AIX_ONCE_INIT_2_FIXIDX,
|
AIX_ONCE_INIT_2_FIXIDX,
|
||||||
AIX_MUTEX_INITIALIZER_1_FIXIDX,
|
AIX_MUTEX_INITIALIZER_1_FIXIDX,
|
||||||
@ -9577,6 +9642,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
|||||||
AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
aAix_Net_If_ArpTests, apzAix_Net_If_ArpPatch, 0 },
|
aAix_Net_If_ArpTests, apzAix_Net_If_ArpPatch, 0 },
|
||||||
|
|
||||||
|
{ zAix_NullName, zAix_NullList,
|
||||||
|
apzAix_NullMachs,
|
||||||
|
AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
aAix_NullTests, apzAix_NullPatch, 0 },
|
||||||
|
|
||||||
{ zAix_Once_Init_1Name, zAix_Once_Init_1List,
|
{ zAix_Once_Init_1Name, zAix_Once_Init_1List,
|
||||||
apzAix_Once_Init_1Machs,
|
apzAix_Once_Init_1Machs,
|
||||||
AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
@ -616,6 +616,33 @@ fix = {
|
|||||||
test_text = "struct fc_softc {\n int a;\n};";
|
test_text = "struct fc_softc {\n int a;\n};";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fix AIX definition of NULL for G++.
|
||||||
|
*/
|
||||||
|
fix = {
|
||||||
|
hackname = aix_null;
|
||||||
|
mach = "*-*-aix*";
|
||||||
|
files = curses.h, dbm.h, locale.h, stdio.h, stdlib.h, string.h,
|
||||||
|
time.h, unistd.h, wchar.h, sys/dir.h, sys/param.h, sys/types.h;
|
||||||
|
bypass = __null;
|
||||||
|
select = "#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
|
||||||
|
c_fix = format;
|
||||||
|
c_fix_arg = <<- _EOFix_
|
||||||
|
#ifndef NULL
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#define NULL __null
|
||||||
|
#else /* ! __GNUG__ */
|
||||||
|
#define NULL 0L
|
||||||
|
#endif /* __GNUG__ */
|
||||||
|
#else /* ! __cplusplus */
|
||||||
|
#define NULL ((void *)0)
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#endif /* !NULL */
|
||||||
|
_EOFix_;
|
||||||
|
test_text = "# define\tNULL \t(0L) /* typed NULL */";
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pthread.h on AIX defines PTHREAD_ONCE_INIT, PTHREAD_MUTEX_INITIALIZER,
|
* pthread.h on AIX defines PTHREAD_ONCE_INIT, PTHREAD_MUTEX_INITIALIZER,
|
||||||
* PTHREAD_COND_INITIALIZER and PTHREAD_RWLOCK_INITIALIZER without enough
|
* PTHREAD_COND_INITIALIZER and PTHREAD_RWLOCK_INITIALIZER without enough
|
||||||
@ -4552,23 +4579,26 @@ fix = {
|
|||||||
*/
|
*/
|
||||||
fix = {
|
fix = {
|
||||||
hackname = void_null;
|
hackname = void_null;
|
||||||
files = curses.h;
|
files = curses.h, dbm.h, locale.h, stdio.h, stdlib.h, string.h,
|
||||||
files = dbm.h;
|
time.h, unistd.h, sys/dir.h, sys/param.h, sys/types.h;
|
||||||
files = locale.h;
|
|
||||||
files = stdio.h;
|
|
||||||
files = stdlib.h;
|
|
||||||
files = string.h;
|
|
||||||
files = time.h;
|
|
||||||
files = unistd.h;
|
|
||||||
files = sys/dir.h;
|
|
||||||
files = sys/param.h;
|
|
||||||
files = sys/types.h;
|
|
||||||
/* avoid changing C++ friendly NULL */
|
/* avoid changing C++ friendly NULL */
|
||||||
bypass = __cplusplus;
|
bypass = __cplusplus;
|
||||||
bypass = __null;
|
bypass = __null;
|
||||||
select = "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
|
select = "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
|
||||||
c_fix = format;
|
c_fix = format;
|
||||||
c_fix_arg = "#define NULL 0";
|
c_fix_arg = <<- _EOFix_
|
||||||
|
#ifndef NULL
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#define NULL __null
|
||||||
|
#else /* ! __GNUG__ */
|
||||||
|
#define NULL 0L
|
||||||
|
#endif /* __GNUG__ */
|
||||||
|
#else /* ! __cplusplus */
|
||||||
|
#define NULL ((void *)0)
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#endif /* !NULL */
|
||||||
|
_EOFix_;
|
||||||
test_text = "# define\tNULL \t((void *)0) /* typed NULL */";
|
test_text = "# define\tNULL \t((void *)0) /* typed NULL */";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,6 +9,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined( AIX_NULL_CHECK )
|
||||||
|
# define NULL (0L) /* typed NULL */
|
||||||
|
#endif /* AIX_NULL_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( AVOID_BOOL_DEFINE_CHECK )
|
#if defined( AVOID_BOOL_DEFINE_CHECK )
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
# define bool char
|
# define bool char
|
||||||
@ -31,5 +36,15 @@ struct term;
|
|||||||
|
|
||||||
|
|
||||||
#if defined( VOID_NULL_CHECK )
|
#if defined( VOID_NULL_CHECK )
|
||||||
#define NULL 0 /* typed NULL */
|
#ifndef NULL
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#define NULL __null
|
||||||
|
#else /* ! __GNUG__ */
|
||||||
|
#define NULL 0L
|
||||||
|
#endif /* __GNUG__ */
|
||||||
|
#else /* ! __cplusplus */
|
||||||
|
#define NULL ((void *)0)
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#endif /* !NULL */ /* typed NULL */
|
||||||
#endif /* VOID_NULL_CHECK */
|
#endif /* VOID_NULL_CHECK */
|
||||||
|
Loading…
Reference in New Issue
Block a user