aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fixincludes/ChangeLog8
-rw-r--r--fixincludes/fixincl.x33
-rw-r--r--fixincludes/inclhack.def19
3 files changed, 50 insertions, 10 deletions
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index 9cc3244..bd3895f 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,3 +1,11 @@
+2004-11-26 Mark Mitchell <mark@codesourcery.com>
+
+ * 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 <geoffk@apple.com>
* mkfixinc.sh: Check error code from 'cat'. Don't try running
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 10466ce..2eabf1f 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 8c012f7..28dbd46 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; <stdio.h> includes
+ * <iso/stdio_iso.h>, which includes <sys/va_list.h>.
+ */
+ 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
+ * <stdio.h> 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.