aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-06-30 01:18:27 +0000
committerRichard Stallman <rms@gnu.org>1992-06-30 01:18:27 +0000
commit1527c38f7682cb7366181c7d8c38c003db848fc8 (patch)
treece64d44b1ecf5e68327ef8852e64996526c7e8bb
parentbf1e8c4ddced2188ae3239ac62573d73eccbd634 (diff)
downloadgcc-1527c38f7682cb7366181c7d8c38c003db848fc8.zip
gcc-1527c38f7682cb7366181c7d8c38c003db848fc8.tar.gz
gcc-1527c38f7682cb7366181c7d8c38c003db848fc8.tar.bz2
*** empty log message ***
From-SVN: r1350
-rw-r--r--gcc/dbxout.c27
1 files changed, 6 insertions, 21 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 4436c31..3dafea7 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -688,7 +688,7 @@ dbxout_type_methods (type)
label names. For now, disable output of dbx info for them. */
{
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++;
if (*ptr != 0)
{
@@ -1501,7 +1501,7 @@ dbxout_symbol (decl, local)
/* 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
if (leaf_function)
leaf_renumber_regs_insn (DECL_RTL (decl));
@@ -1517,9 +1517,7 @@ dbxout_symbol (decl, local)
{
regno = REGNO (DECL_RTL (decl));
if (regno >= FIRST_PSEUDO_REGISTER)
- regno = reg_renumber[REGNO (DECL_RTL (decl))];
- if (regno < 0)
- break;
+ return;
}
else if (GET_CODE (DECL_RTL (decl)) == SUBREG)
{
@@ -1534,10 +1532,10 @@ dbxout_symbol (decl, local)
{
regno = REGNO (value);
if (regno >= FIRST_PSEUDO_REGISTER)
- regno = reg_renumber[REGNO (value)];
- if (regno >= 0)
- regno += offset;
+ return;
+ regno += offset;
}
+ alter_subreg (DECL_RTL (decl));
}
/* The kind-of-variable letter depends on where
@@ -1589,19 +1587,6 @@ dbxout_symbol (decl, local)
current_sym_code = N_RSYM;
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
&& (GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM
|| (GET_CODE (XEXP (DECL_RTL (decl), 0)) == REG