From: Daniel Richard G. Date: Mon, 16 Feb 2015 15:19:20 +0000 (+0000) Subject: Daniel Richard G. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=266c722fafc54178f854179003260053b11d00a3;p=gcc.git Daniel Richard G. Daniel Richard G. PR bootstrap/48009 PR bootstrap/53348 * inclhack.def (aix_strtof_const): New fix. * fixincl.x: Regenerate. * tests/base/inttypes.h: New test. From-SVN: r220736 --- diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index f5483cf72d1..78d4b5824ae 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,11 @@ +2015-02-16 Daniel Richard G. + + PR bootstrap/48009 + PR bootstrap/53348 + * inclhack.def (aix_strtof_const): New fix. + * fixincl.x: Regenerate. + * tests/base/inttypes.h: New test. + 2015-02-10 Rainer Orth * inclhack.def (solaris_math_11): New fix. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 77a9c321a3d..77b8f77aa99 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 Friday February 6, 2015 at 04:31:58 PM CET + * It has been AutoGen-ed February 15, 2015 at 12:33:10 PM by AutoGen 5.12 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Feb 6 16:31:58 CET 2015 +/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Feb 15 12:33:10 PST 2015 * * 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 224 fixup descriptions. + * This file contains 225 fixup descriptions. * * See README for more information. * @@ -1383,6 +1383,41 @@ static const char* apzAix_Stdint_5Patch[] = { #define UINT16_C(c)\tc", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Strtof_Const fix + */ +tSCC zAix_Strtof_ConstName[] = + "aix_strtof_const"; + +/* + * File name selection pattern + */ +tSCC zAix_Strtof_ConstList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_Strtof_ConstMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_Strtof_ConstSelect0[] = + "((extern[ \t]+)?float[ \t]+strtof)\\(char \\*, char \\*\\*\\);"; + +#define AIX_STRTOF_CONST_TEST_CT 1 +static tTestDesc aAix_Strtof_ConstTests[] = { + { TT_EGREP, zAix_Strtof_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Strtof_Const + */ +static const char* apzAix_Strtof_ConstPatch[] = { + "format", + "%1(const char *, char **);", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Aix_Sysmachine fix @@ -9206,9 +9241,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 261 +#define REGEX_COUNT 262 #define MACH_LIST_SIZE_LIMIT 187 -#define FIX_COUNT 224 +#define FIX_COUNT 225 /* * Enumerate the fixes @@ -9242,6 +9277,7 @@ typedef enum { AIX_STDINT_3_FIXIDX, AIX_STDINT_4_FIXIDX, AIX_STDINT_5_FIXIDX, + AIX_STRTOF_CONST_FIXIDX, AIX_SYSMACHINE_FIXIDX, AIX_SYSWAIT_2_FIXIDX, AIX_VOLATILE_FIXIDX, @@ -9581,6 +9617,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAix_Stdint_5Tests, apzAix_Stdint_5Patch, 0 }, + { zAix_Strtof_ConstName, zAix_Strtof_ConstList, + apzAix_Strtof_ConstMachs, + AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_Strtof_ConstTests, apzAix_Strtof_ConstPatch, 0 }, + { zAix_SysmachineName, zAix_SysmachineList, apzAix_SysmachineMachs, AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index ce9a2ca6b4c..5e906f4c1ac 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -841,6 +841,18 @@ fix = { "#define UINT16_C(c) __CONCAT__(c,U)"; }; +/* + * stdlib.h on AIX 4.3 declares strtof() with a non-const first argument. + */ +fix = { + hackname = aix_strtof_const; + files = stdlib.h; + select = "((extern[ \t]+)?float[ \t]+strtof)\\(char \\*, char \\*\\*\\);"; + c_fix = format; + c_fix_arg = "%1(const char *, char **);"; + test_text = "extern float strtof(char *, char **);"; +}; + /* * sys/machine.h on AIX 4.3.3 puts whitespace between a \ and a newline * in an otherwise harmless (and #ifed out) macro definition