diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-03 06:06:01 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-03 06:06:01 +0000 |
commit | 2dda64a6258fe213cb75f8a1b381d6a8ce338bb4 (patch) | |
tree | 69dc5d71503b8283d8144704ac5beaf98a8a2c94 /fixincludes | |
parent | d3ed35175e394ed9bf2721192f14f57c91c1fbe9 (diff) | |
download | gcc-2dda64a6258fe213cb75f8a1b381d6a8ce338bb4.tar.gz |
2009-06-03 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r148111
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@148114 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes')
-rw-r--r-- | fixincludes/ChangeLog | 9 | ||||
-rw-r--r-- | fixincludes/fixincl.x | 142 | ||||
-rw-r--r-- | fixincludes/inclhack.def | 62 | ||||
-rw-r--r-- | fixincludes/tests/base/sys/int_const.h | 17 | ||||
-rw-r--r-- | fixincludes/tests/base/sys/int_limits.h | 24 |
5 files changed, 249 insertions, 5 deletions
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index b446cfcdad4..c7305c05136 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,12 @@ +2009-05-29 Eric Botcazou <ebotcazou@adacore.com> + + * inclhack.def (solaris_int_const): New fix. + (solaris_int_limits_1): Likewise. + (solaris_int_limits_2): Likewise. + * fixincl.x: Regenerate. + * tests/base/sys/int_const.h: New file. + * tests/base/sys/int_limits.h: Likewise. + 2009-05-15 Joseph Myers <joseph@codesourcery.com> * inclhack.def (glibc_tgmath): Correct bypass. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index bb8b1c14237..4f5f9eb430e 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 Tuesday May 26, 2009 at 08:19:20 AM MEST + * It has been AutoGen-ed Wednesday June 3, 2009 at 07:44:41 AM MEST * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Tue May 26 08:19:20 MEST 2009 +/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Jun 3 07:44:41 MEST 2009 * * 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 188 fixup descriptions. + * This file contains 191 fixup descriptions. * * See README for more information. * @@ -6081,6 +6081,120 @@ static const char* apzSolaris_Once_Init_2Patch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Solaris_Int_Const fix + */ +tSCC zSolaris_Int_ConstName[] = + "solaris_int_const"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_ConstList[] = + "sys/int_const.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Int_ConstMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_ConstSelect0[] = + "@\\(#\\)int_const.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_INT_CONST_TEST_CT 1 +static tTestDesc aSolaris_Int_ConstTests[] = { + { TT_EGREP, zSolaris_Int_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Const + */ +static const char* apzSolaris_Int_ConstPatch[] = { + "format", + "#define\tUINT8_C(c)\t(c)\n\ +%1\n\ +#define\tUINT16_C(c)\t(c)", + "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\ +(/*.**/)\n\ +#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Limits_1 fix + */ +tSCC zSolaris_Int_Limits_1Name[] = + "solaris_int_limits_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_Limits_1List[] = + "sys/int_limits.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Int_Limits_1Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_Limits_1Select0[] = + "@\\(#\\)int_limits.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_INT_LIMITS_1_TEST_CT 1 +static tTestDesc aSolaris_Int_Limits_1Tests[] = { + { TT_EGREP, zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Limits_1 + */ +static const char* apzSolaris_Int_Limits_1Patch[] = { + "format", + "#define\tUINT8_MAX\t(255)\n\ +#define\tUINT16_MAX\t(65535)", + "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\ +#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Limits_2 fix + */ +tSCC zSolaris_Int_Limits_2Name[] = + "solaris_int_limits_2"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_Limits_2List[] = + "sys/int_limits.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Int_Limits_2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_Limits_2Select0[] = + "@\\(#\\)int_limits.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_INT_LIMITS_2_TEST_CT 1 +static tTestDesc aSolaris_Int_Limits_2Tests[] = { + { TT_EGREP, zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Limits_2 + */ +static const char* apzSolaris_Int_Limits_2Patch[] = { + "format", + "#define\t%1_FAST16_%2 %132_%2", + "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Solaris_Stdio_Tag fix */ tSCC zSolaris_Stdio_TagName[] = @@ -7619,9 +7733,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 230 +#define REGEX_COUNT 233 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 188 +#define FIX_COUNT 191 /* * Enumerate the fixes @@ -7777,6 +7891,9 @@ typedef enum { SOLARIS_RWLOCK_INIT_1_FIXIDX, SOLARIS_ONCE_INIT_1_FIXIDX, SOLARIS_ONCE_INIT_2_FIXIDX, + SOLARIS_INT_CONST_FIXIDX, + SOLARIS_INT_LIMITS_1_FIXIDX, + SOLARIS_INT_LIMITS_2_FIXIDX, SOLARIS_STDIO_TAG_FIXIDX, STATSSWTCH_FIXIDX, STDIO_STDARG_H_FIXIDX, @@ -8568,6 +8685,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Once_Init_2Tests, apzSolaris_Once_Init_2Patch, 0 }, + { zSolaris_Int_ConstName, zSolaris_Int_ConstList, + apzSolaris_Int_ConstMachs, + SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_ConstTests, apzSolaris_Int_ConstPatch, 0 }, + + { zSolaris_Int_Limits_1Name, zSolaris_Int_Limits_1List, + apzSolaris_Int_Limits_1Machs, + SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_Limits_1Tests, apzSolaris_Int_Limits_1Patch, 0 }, + + { zSolaris_Int_Limits_2Name, zSolaris_Int_Limits_2List, + apzSolaris_Int_Limits_2Machs, + SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_Limits_2Tests, apzSolaris_Int_Limits_2Patch, 0 }, + { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList, apzSolaris_Stdio_TagMachs, SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index a6aa651a764..cfa567f29c9 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -3167,6 +3167,68 @@ fix = { /* + * Sun Solaris 10 has a version of sys/int_const.h that defines + * UINT8_C and UINT16_C to unsigned constants. + */ +fix = { + hackname = solaris_int_const; + select = '@\(#\)int_const.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = sys/int_const.h; + c_fix = format; + c_fix_arg = "#define\tUINT8_C(c)\t(c)\n" + "%1\n" + "#define\tUINT16_C(c)\t(c)"; + c_fix_arg = "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n" + "(/\*.*\*/)\n" + "#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*"; + test_text = + '#pragma ident "@(#)int_const.h 1.5 04/09/28 SMI"'"\n" + "#define UINT8_C(c) __CONCAT__(c,u)\n" + "/* CSTYLED */\n" + "#define UINT16_C(c) __CONCAT__(c,u)"; +}; + + +/* + * Sun Solaris 10 has a version of sys/int_limits.h that defines + * UINT8_MAX and UINT16_MAX to unsigned constants. + */ +fix = { + hackname = solaris_int_limits_1; + select = '@\(#\)int_limits.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = sys/int_limits.h; + c_fix = format; + c_fix_arg = "#define\tUINT8_MAX\t(255)\n" + "#define\tUINT16_MAX\t(65535)"; + c_fix_arg = "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n" + "#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)"; + test_text = + '#pragma ident "@(#)int_limits.h 1.9 04/09/28 SMI"'"\n" + "#define UINT8_MAX (255U)\n" + "#define UINT16_MAX (65535U)"; +}; + + +/* + * Sun Solaris 10 has a version of sys/int_limits.h that defines + * INT_FAST16 limits to wrong values for sys/int_types.h. + */ +fix = { + hackname = solaris_int_limits_2; + select = '@\(#\)int_limits.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = sys/int_limits.h; + c_fix = format; + c_fix_arg = "#define\t%1_FAST16_%2 %132_%2"; + c_fix_arg = "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*"; + test_text = + '#pragma ident "@(#)int_limits.h 1.9 04/09/28 SMI"'"\n" + "#define INT_FAST16_MAX INT16_MAX\n" + "#define UINT_FAST16_MAX UINT16_MAX\n" + "#define INT_FAST16_MIN INT16_MIN"; +}; + + +/* * Solaris 2.8 has what appears to be some gross workaround for * some old version of their c++ compiler. G++ doesn't want it * either, but doesn't want to be tied to SunPRO version numbers. diff --git a/fixincludes/tests/base/sys/int_const.h b/fixincludes/tests/base/sys/int_const.h new file mode 100644 index 00000000000..7aeb52a79ce --- /dev/null +++ b/fixincludes/tests/base/sys/int_const.h @@ -0,0 +1,17 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/sys/int_const.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_INT_CONST_CHECK ) +#pragma ident "@(#)int_const.h 1.5 04/09/28 SMI" +#define UINT8_C(c) (c) +/* CSTYLED */ +#define UINT16_C(c) (c) +#endif /* SOLARIS_INT_CONST_CHECK */ diff --git a/fixincludes/tests/base/sys/int_limits.h b/fixincludes/tests/base/sys/int_limits.h new file mode 100644 index 00000000000..19acbe50a46 --- /dev/null +++ b/fixincludes/tests/base/sys/int_limits.h @@ -0,0 +1,24 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/sys/int_limits.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_INT_LIMITS_1_CHECK ) +#pragma ident "@(#)int_limits.h 1.9 04/09/28 SMI" +#define UINT8_MAX (255) +#define UINT16_MAX (65535) +#endif /* SOLARIS_INT_LIMITS_1_CHECK */ + + +#if defined( SOLARIS_INT_LIMITS_2_CHECK ) +#pragma ident "@(#)int_limits.h 1.9 04/09/28 SMI" +#define INT_FAST16_MAX INT32_MAX +#define UINT_FAST16_MAX UINT32_MAX +#define INT_FAST16_MIN INT32_MIN +#endif /* SOLARIS_INT_LIMITS_2_CHECK */ |