fixincl.x: Rebuilt.
authorTom Tromey <tromey@redhat.com>
Sun, 2 Jun 2002 23:17:30 +0000 (23:17 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Sun, 2 Jun 2002 23:17:30 +0000 (23:17 +0000)
* fixinc/fixincl.x: Rebuilt.
* fixinc/inclhack.def (thread_keyword): Match `*__thread'.

From-SVN: r54192

gcc/ChangeLog
gcc/dwarf2out.c
gcc/fixinc/fixincl.x
gcc/fixinc/inclhack.def

index cda4d6df33a028f0aa3970e69dbb3dad34886f9e..71a8c5e610c39d00d61ddb8dee2a2238c34780e3 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-02  Tom Tromey  <tromey@redhat.com>
+
+       * fixinc/fixincl.x: Rebuilt.
+       * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
+
 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
 
 config/i370:
index f4b0ee7ff5d93b3e4bcbe08eebaa645969a2a81e..12e9e8f39911dbe79b866703b327f09a73a2f934 100644 (file)
@@ -7656,16 +7656,27 @@ reg_loc_descriptor (rtl)
      rtx rtl;
 {
   dw_loc_descr_ref loc_result = NULL;
-  unsigned reg;
+  unsigned reg, i, max;
 
   if (REGNO (rtl) >= FIRST_PSEUDO_REGISTER)
     return 0;
 
   reg = reg_number (rtl);
-  if (reg <= 31)
-    loc_result = new_loc_descr (DW_OP_reg0 + reg, 0, 0);
-  else
-    loc_result = new_loc_descr (DW_OP_regx, reg, 0);
+  max = HARD_REGNO_NREGS (reg, GET_MODE (rtl));  
+  for (i = 0; i < max; ++i)
+    {
+      add_loc_descr (&loc_result,
+                    new_loc_descr (reg <= 31 ? DW_OP_reg0 + reg : DW_OP_regx,
+                                   reg <= 31 ? 0 : reg,
+                                   0));
+
+      if (max > 1)
+       add_loc_descr (&loc_result,
+                      new_loc_descr (DW_OP_piece,
+                                     GET_MODE_SIZE (reg_raw_mode[reg]), 0));
+
+      ++reg;
+    }
 
   return loc_result;
 }
index 968ae237c860448d246d95114995dabd9bf0490c..4cd9f63db3f14c3715169c84b69dc1fa96b84ffe 100644 (file)
@@ -4587,7 +4587,7 @@ tSCC zThread_KeywordList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zThread_KeywordSelect0[] =
-       " __thread([,)])";
+       "([* ])__thread([,)])";
 
 #define    THREAD_KEYWORD_TEST_CT  1
 static tTestDesc aThread_KeywordTests[] = {
@@ -4598,7 +4598,7 @@ static tTestDesc aThread_KeywordTests[] = {
  */
 static const char* apzThread_KeywordPatch[] = {
     "format",
-    " __thr%1",
+    "%1__thr%2",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
index 2ae1e56d221eaaa788624fa7c9a829e17e09d1bc..c9617bd07d1e90d5c54337644f1e0df6f62017ee 100644 (file)
@@ -2892,9 +2892,9 @@ fix = {
     hackname  = thread_keyword;
     files     = "pthread.h";
     files     = "bits/sigthread.h";
-    select    = " __thread([,)])";
+    select    = "([* ])__thread([,)])";
     c_fix     = format;
-    c_fix_arg = " __thr%1";
+    c_fix_arg = "%1__thr%2";
 
     test_text =
        "extern int pthread_create (pthread_t *__restrict __thread,\n"