Commit 1527c38f by Richard Stallman

*** empty log message ***

From-SVN: r1350
parent bf1e8c4d
...@@ -688,7 +688,7 @@ dbxout_type_methods (type) ...@@ -688,7 +688,7 @@ dbxout_type_methods (type)
label names. For now, disable output of dbx info for them. */ label names. For now, disable output of dbx info for them. */
{ {
char *ptr = IDENTIFIER_POINTER (type_encoding); char *ptr = IDENTIFIER_POINTER (type_encoding);
/* Avoid strchr or index since those names aren't universal. */ /* This should use index. (mrs) */
while (*ptr && *ptr != '<') ptr++; while (*ptr && *ptr != '<') ptr++;
if (*ptr != 0) if (*ptr != 0)
{ {
...@@ -1501,7 +1501,7 @@ dbxout_symbol (decl, local) ...@@ -1501,7 +1501,7 @@ dbxout_symbol (decl, local)
/* else it is something we handle like a normal variable. */ /* else it is something we handle like a normal variable. */
} }
DECL_RTL (decl) = eliminate_regs (DECL_RTL (decl)); DECL_RTL (decl) = eliminate_regs (DECL_RTL (decl), 0, 0);
#ifdef LEAF_REG_REMAP #ifdef LEAF_REG_REMAP
if (leaf_function) if (leaf_function)
leaf_renumber_regs_insn (DECL_RTL (decl)); leaf_renumber_regs_insn (DECL_RTL (decl));
...@@ -1517,9 +1517,7 @@ dbxout_symbol (decl, local) ...@@ -1517,9 +1517,7 @@ dbxout_symbol (decl, local)
{ {
regno = REGNO (DECL_RTL (decl)); regno = REGNO (DECL_RTL (decl));
if (regno >= FIRST_PSEUDO_REGISTER) if (regno >= FIRST_PSEUDO_REGISTER)
regno = reg_renumber[REGNO (DECL_RTL (decl))]; return;
if (regno < 0)
break;
} }
else if (GET_CODE (DECL_RTL (decl)) == SUBREG) else if (GET_CODE (DECL_RTL (decl)) == SUBREG)
{ {
...@@ -1534,10 +1532,10 @@ dbxout_symbol (decl, local) ...@@ -1534,10 +1532,10 @@ dbxout_symbol (decl, local)
{ {
regno = REGNO (value); regno = REGNO (value);
if (regno >= FIRST_PSEUDO_REGISTER) if (regno >= FIRST_PSEUDO_REGISTER)
regno = reg_renumber[REGNO (value)]; return;
if (regno >= 0) regno += offset;
regno += offset;
} }
alter_subreg (DECL_RTL (decl));
} }
/* The kind-of-variable letter depends on where /* The kind-of-variable letter depends on where
...@@ -1589,19 +1587,6 @@ dbxout_symbol (decl, local) ...@@ -1589,19 +1587,6 @@ dbxout_symbol (decl, local)
current_sym_code = N_RSYM; current_sym_code = N_RSYM;
current_sym_value = DBX_REGISTER_NUMBER (regno); current_sym_value = DBX_REGISTER_NUMBER (regno);
} }
else if (GET_CODE (DECL_RTL (decl)) == SUBREG)
{
rtx value = DECL_RTL (decl);
int offset = 0;
while (GET_CODE (value) == SUBREG)
{
offset += SUBREG_WORD (value);
value = SUBREG_REG (value);
}
letter = 'r';
current_sym_code = N_RSYM;
current_sym_value = DBX_REGISTER_NUMBER (REGNO (value) + offset);
}
else if (GET_CODE (DECL_RTL (decl)) == MEM else if (GET_CODE (DECL_RTL (decl)) == MEM
&& (GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM && (GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM
|| (GET_CODE (XEXP (DECL_RTL (decl), 0)) == REG || (GET_CODE (XEXP (DECL_RTL (decl), 0)) == REG
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment