OSDN Git Service

2004-11-26 Mark Mitchell <mark@codesourcery.com>
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Nov 2004 22:00:51 +0000 (22:00 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Nov 2004 22:00:51 +0000 (22:00 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91351 138bc75d-0d04-0410-961f-82ee72b054a4

fixincludes/ChangeLog
fixincludes/fixincl.x
fixincludes/inclhack.def

index 9cc3244..bd3895f 100644 (file)
@@ -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
index 10466ce..2eabf1f 100644 (file)
@@ -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,
index 8c012f7..28dbd46 100644 (file)
@@ -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.