OSDN Git Service

* dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Nov 2003 23:45:44 +0000 (23:45 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Nov 2003 23:45:44 +0000 (23:45 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73431 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index d9e2c0a..1b052fa 100644 (file)
@@ -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.
index a99b2f6..85e2d32 100644 (file)
@@ -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