From 0560f6fcfd36f3719dcbe06cb0804a991b10c41f Mon Sep 17 00:00:00 2001 From: dje Date: Fri, 23 Mar 2012 23:55:01 +0000 Subject: * inclhack.def (aix_malloc): New. * fixincl.x: Regenerate. * tests/base/malloc.h [AIX_MALLOC_CHECK]: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185752 138bc75d-0d04-0410-961f-82ee72b054a4 --- fixincludes/ChangeLog | 6 +++++ fixincludes/fixincl.x | 53 +++++++++++++++++++++++++++++++++++++---- fixincludes/inclhack.def | 13 ++++++++++ fixincludes/tests/base/malloc.h | 5 ++++ 4 files changed, 72 insertions(+), 5 deletions(-) (limited to 'fixincludes') diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 28c31d6397c..37a378fdb81 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,9 @@ +2012-03-23 David Edelsohn + + * inclhack.def (aix_malloc): New. + * fixincl.x: Regenerate. + * tests/base/malloc.h [AIX_MALLOC_CHECK]: New. + 2012-03-22 Rainer Orth PR other/52626 diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index b6a804dcb41..3dbb744fec1 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 March 14, 2012 at 03:19:50 PM MET + * It has been AutoGen-ed March 23, 2012 at 02:26:20 PM by AutoGen 5.10 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 15:19:50 MET 2012 +/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Mar 23 14:26:20 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 211 fixup descriptions. + * This file contains 212 fixup descriptions. * * See README for more information. * @@ -520,6 +520,43 @@ static const char* apzAix_ComplexPatch[] = { "#define _Complex_I (__extension__ 1.0iF)", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Malloc fix + */ +tSCC zAix_MallocName[] = + "aix_malloc"; + +/* + * File name selection pattern + */ +tSCC zAix_MallocList[] = + "malloc.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAix_MallocMachs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_MallocSelect0[] = + "#ifdef __cplusplus"; + +#define AIX_MALLOC_TEST_CT 1 +static tTestDesc aAix_MallocTests[] = { + { TT_EGREP, zAix_MallocSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Malloc + */ +static const char* apzAix_MallocPatch[] = { + "format", + "#if (defined(__cplusplus) && defined(__IBMCPP__))", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Aix_Net_If_Arp fix @@ -8592,9 +8629,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 254 +#define REGEX_COUNT 255 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 211 +#define FIX_COUNT 212 /* * Enumerate the fixes @@ -8609,6 +8646,7 @@ typedef enum { AAB_SOLARIS_SYS_VARARGS_H_FIXIDX, AAB_SUN_MEMCPY_FIXIDX, AIX_COMPLEX_FIXIDX, + AIX_MALLOC_FIXIDX, AIX_NET_IF_ARP_FIXIDX, AIX_ONCE_INIT_1_FIXIDX, AIX_ONCE_INIT_2_FIXIDX, @@ -8859,6 +8897,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAix_ComplexTests, apzAix_ComplexPatch, 0 }, + { zAix_MallocName, zAix_MallocList, + apzAix_MallocMachs, + AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_MallocTests, apzAix_MallocPatch, 0 }, + { zAix_Net_If_ArpName, zAix_Net_If_ArpList, apzAix_Net_If_ArpMachs, AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 2d632b32d0f..8a26f2837ba 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -369,6 +369,19 @@ fix = { test_text = "#define _Complex_I __I\n"; }; +/* + * malloc.h on AIX6 uses XLC++ specific builtin syntax + */ +fix = { + hackname = aix_malloc; + mach = "*-*-aix*"; + files = "malloc.h"; + select = "#ifdef __cplusplus"; + c_fix = format; + c_fix_arg = "#if (defined(__cplusplus) && defined(__IBMCPP__))"; + test_text = "#ifdef __cplusplus"; +}; + /* * net/if_arp.h defines a variable fc_softc instead of adding a * typedef for the struct on AIX 5.2, 5.3, 6.1 and 7.1 diff --git a/fixincludes/tests/base/malloc.h b/fixincludes/tests/base/malloc.h index 3866af8c7cf..15be8b02b88 100644 --- a/fixincludes/tests/base/malloc.h +++ b/fixincludes/tests/base/malloc.h @@ -9,6 +9,11 @@ +#if defined( AIX_MALLOC_CHECK ) +#if (defined(__cplusplus) && defined(__IBMCPP__)) +#endif /* AIX_MALLOC_CHECK */ + + #if defined( SUN_MALLOC_CHECK ) typedef void * malloc_t; void free(); -- cgit v1.2.3