OSDN Git Service

PR target/26189
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Feb 2006 15:58:06 +0000 (15:58 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Feb 2006 15:58:06 +0000 (15:58 +0000)
* inclhack.def (hpux_spu_info): New.
* fixincl.x: Regenerate

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

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

index eb34e42..7b8323f 100644 (file)
@@ -1,3 +1,9 @@
+2006-02-18  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/26189
+       * inclhack.def (hpux_spu_info): New.
+       * fixincl.x: Regenerate
+
 2006-01-31  Marcin Dalecki  <martin@dalecki.de>
 
        * configure.ac: Check for asprintf, basename, vasprintf.
index 0107173..7e6c5a6 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Thursday January 19, 2006 at 12:17:28 PM EST
+ * It has been AutoGen-ed  Saturday February 18, 2006 at 07:55:23 AM PST
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Jan 19 12:17:28 EST 2006
+/* DO NOT CVS-MERGE THIS FILE, EITHER Sat Feb 18 07:55:23 PST 2006
  *
  * 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 194 fixup descriptions.
+ * This file contains 195 fixup descriptions.
  *
  * See README for more information.
  *
@@ -2959,6 +2959,45 @@ static const char* apzHpux_SystimePatch[] = {
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Hpux_Spu_Info fix
+ */
+tSCC zHpux_Spu_InfoName[] =
+     "hpux_spu_info";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zHpux_Spu_InfoList[] =
+  "|ia64/sys/getppdp.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzHpux_Spu_InfoMachs[] = {
+        "*-hp-hpux*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_Spu_InfoSelect0[] =
+       "^.*extern.*spu_info.*";
+
+#define    HPUX_SPU_INFO_TEST_CT  1
+static tTestDesc aHpux_Spu_InfoTests[] = {
+  { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hpux_Spu_Info
+ */
+static const char* apzHpux_Spu_InfoPatch[] = {
+    "format",
+    "#ifdef _KERNEL\n\
+%0\n\
+#endif",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Huge_Val_Hex fix
  */
 tSCC zHuge_Val_HexName[] =
@@ -7894,9 +7933,9 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          237
+#define REGEX_COUNT          238
 #define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT            194
+#define FIX_COUNT            195
 
 /*
  *  Enumerate the fixes
@@ -7971,6 +8010,7 @@ typedef enum {
     HPUX_HTONL_FIXIDX,
     HPUX_LONG_DOUBLE_FIXIDX,
     HPUX_SYSTIME_FIXIDX,
+    HPUX_SPU_INFO_FIXIDX,
     HUGE_VAL_HEX_FIXIDX,
     HUGE_VALF_HEX_FIXIDX,
     HUGE_VALL_HEX_FIXIDX,
@@ -8444,6 +8484,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
 
+  {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
+     apzHpux_Spu_InfoMachs,
+     HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
+
   {  zHuge_Val_HexName,    zHuge_Val_HexList,
      apzHuge_Val_HexMachs,
      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
index e172142..5a5c423 100644 (file)
@@ -1701,6 +1701,23 @@ fix = {
 
 
 /*
+ *  Wrap spu_info in ifdef _KERNEL.  GCC cannot handle an array of unknown
+ *  type and mpinfou is only defined when _KERNEL is set.
+ */
+fix = {
+    hackname = hpux_spu_info;
+    mach     = "*-hp-hpux*";
+    files    = ia64/sys/getppdp.h;
+    select   = "^.*extern.*spu_info.*";
+
+    c_fix     = format;
+    c_fix_arg = "#ifdef _KERNEL\n%0\n#endif";
+
+    test_text = "extern union mpinfou spu_info[];";
+};
+
+
+/*
  *  Fix glibc definition of HUGE_VAL in terms of hex floating point constant
  */
 fix = {