aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/dwarf2out.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d9e2c0a..1b052fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-11-10 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
+
2003-11-10 Matt Austern <austern@apple.com>
* config/darwin-protos.h (darwin_assemble_visibility): Declare.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index a99b2f6..85e2d32 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -10916,14 +10916,15 @@ gen_label_die (tree decl, dw_die_ref context_die)
equate_decl_number_to_die (decl, lbl_die);
else
{
- insn = DECL_RTL (decl);
+ insn = DECL_RTL_IF_SET (decl);
/* Deleted labels are programmer specified labels which have been
eliminated because of various optimizations. We still emit them
here so that it is possible to put breakpoints on them. */
- if (GET_CODE (insn) == CODE_LABEL
- || ((GET_CODE (insn) == NOTE
- && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL)))
+ if (insn
+ && (GET_CODE (insn) == CODE_LABEL
+ || ((GET_CODE (insn) == NOTE
+ && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL))))
{
/* When optimization is enabled (via -O) some parts of the compiler
(e.g. jump.c and cse.c) may try to delete CODE_LABEL insns which