summaryrefslogtreecommitdiff
path: root/gcc/dwarfout.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-05 16:40:01 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-05 16:40:01 +0000
commit13c773a754902f99f21c8926af690472242795a7 (patch)
treed2f8efa5fa2c3a5ebae7ee24ce51a1b2fad27932 /gcc/dwarfout.c
parent714bafecfc07b55fcb947fac80fbcbb7f3d9acc6 (diff)
downloadgcc-13c773a754902f99f21c8926af690472242795a7.tar.gz
PR c++/6706
* dwarfout.c (output_reg_number): Fix warning message. (output_bound_representation): Check SAVE_EXPR_RTL is not NULL before using it. PR c++/6706 * g++.dg/debug/debug6.C: New test. * g++.dg/debug/debug7.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55264 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r--gcc/dwarfout.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index c26a018f500..d51e65f473b 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -2077,7 +2077,8 @@ output_reg_number (rtl)
if (regno >= DWARF_FRAME_REGISTERS)
{
- warning_with_decl (dwarf_last_decl, "internal regno botch: regno = %d\n",
+ warning_with_decl (dwarf_last_decl,
+ "internal regno botch: `%s' has regno = %d\n",
regno);
regno = 0;
}
@@ -2294,7 +2295,8 @@ output_bound_representation (bound, dim_num, u_or_l)
|| TREE_CODE (bound) == CONVERT_EXPR)
bound = TREE_OPERAND (bound, 0);
- if (TREE_CODE (bound) == SAVE_EXPR)
+ if (TREE_CODE (bound) == SAVE_EXPR
+ && SAVE_EXPR_RTL (bound))
output_loc_descriptor
(eliminate_regs (SAVE_EXPR_RTL (bound), 0, NULL_RTX));
}