diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 9cc3244e4f7..bd3895f7baf 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,11 @@ +2004-11-26 Mark Mitchell + + * inclhack.def (gnu_types): Do not use on Solaris 2.1x. + (stdio_va_list): Likewise. + (stdio_stdarg.h): Likewise. + (solaris_stdio_tag): Add bypass. + * fixincl.x: Regenerated. + 2004-11-23 Geoffrey Keating * mkfixinc.sh: Check error code from 'cat'. Don't try running diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 10466cebfd9..2eabf1f572e 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 Sunday November 21, 2004 at 03:52:23 PM MST + * It has been AutoGen-ed Friday November 26, 2004 at 09:59:26 PM UTC * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT CVS-MERGE THIS FILE, EITHER Sun Nov 21 15:52:23 MST 2004 +/* DO NOT CVS-MERGE THIS FILE, EITHER Fri Nov 26 21:59:26 UTC 2004 * * You must regenerate it. Use the ./genfixes script. * @@ -2001,7 +2001,9 @@ tSCC zGnu_TypesList[] = /* * Machine/OS name selection pattern */ -#define apzGnu_TypesMachs (const char**)NULL +tSCC* apzGnu_TypesMachs[] = { + "*-*-solaris2.1[0-9]*", + (const char*)NULL }; /* * content selection pattern - do fix if pattern found @@ -4661,8 +4663,15 @@ tSCC zSolaris_Stdio_TagList[] = tSCC zSolaris_Stdio_TagSelect0[] = "__cplusplus < 54321L"; -#define SOLARIS_STDIO_TAG_TEST_CT 1 +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Stdio_TagBypass0[] = + "__GNUC__"; + +#define SOLARIS_STDIO_TAG_TEST_CT 2 static tTestDesc aSolaris_Stdio_TagTests[] = { + { TT_NEGREP, zSolaris_Stdio_TagBypass0, (regex_t*)NULL }, { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, }; /* @@ -4812,7 +4821,9 @@ tSCC zStdio_Stdarg_HList[] = /* * Machine/OS name selection pattern */ -#define apzStdio_Stdarg_HMachs (const char**)NULL +tSCC* apzStdio_Stdarg_HMachs[] = { + "*-*-solaris2.1[0-9]", + (const char*)NULL }; /* * content bypass pattern - skip fix if pattern found @@ -4848,7 +4859,9 @@ tSCC zStdio_Va_ListList[] = /* * Machine/OS name selection pattern */ -#define apzStdio_Va_ListMachs (const char**)NULL +tSCC* apzStdio_Va_ListMachs[] = { + "*-*-solaris2.1[0-9]", + (const char*)NULL }; /* * content bypass pattern - skip fix if pattern found @@ -7072,7 +7085,7 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 206 +#define REGEX_COUNT 207 #define MACH_LIST_SIZE_LIMIT 261 #define FIX_COUNT 177 @@ -7497,7 +7510,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = { { zGnu_TypesName, zGnu_TypesList, apzGnu_TypesMachs, - GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE, aGnu_TypesTests, apzGnu_TypesPatch, 0 }, { zHp_InlineName, zHp_InlineList, @@ -7857,12 +7870,12 @@ tFixDesc fixDescList[ FIX_COUNT ] = { { zStdio_Stdarg_HName, zStdio_Stdarg_HList, apzStdio_Stdarg_HMachs, - STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE, aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 }, { zStdio_Va_ListName, zStdio_Va_ListList, apzStdio_Va_ListMachs, - STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY, + STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT, aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 }, { zStdio_Va_List_ClientsName, zStdio_Va_List_ClientsList, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 8c012f753d6..28dbd46533e 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -1177,6 +1177,9 @@ fix = { bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T'; select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; c_fix = gnu_type; + /* The Solaris 10 headers already define these types correctly. */ + mach = '*-*-solaris2.1[0-9]*'; + not_machine = true; test_text = "typedef long int ptrdiff_t; /* long int */\n" "typedef uint_t size_t; /* uint_t */\n" @@ -2599,6 +2602,9 @@ fix = { files = stdio_tag.h; select = '__cplusplus < 54321L'; + /* In Solaris 10, the code in stdio_tag.h is conditionalized on + "!defined(__GNUC__)" so we no longer need to fix it. */ + bypass = '__GNUC__'; sed = 's/defined(__cplusplus) && (__cplusplus < 54321L)/0/'; test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)"; @@ -2664,6 +2670,12 @@ fix = { hackname = stdio_stdarg_h; files = stdio.h; bypass = "include.*(stdarg\.h|machine/ansi\.h)"; + /* + * On Solaris 10, this fix is unncessary; includes + * , which includes . + */ + mach = '*-*-solaris2.1[0-9]'; + not_machine = true; c_fix = wrap; @@ -2689,6 +2701,13 @@ fix = { files = internal/stdio_core.h; files = internal/wchar_core.h; bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list'; + /* + * On Solaris 10, the definition in + * is guarded appropriately by the _XPG4 feature macro; + * there is therefore no need for this fix there. + */ + mach = '*-*-solaris2.1[0-9]'; + not_machine = true; /* * Use __gnuc_va_list in arg types in place of va_list.