diff options
author | Nick Clifton <nickc@cygnus.com> | 1999-03-21 12:14:09 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1999-03-21 12:14:09 +0000 |
commit | 088e716060315042f749c74ad3cfd43b97e614bd (patch) | |
tree | 2d8c103ec5d59d7f6360e078e727209d3e9c0646 /gcc/dwarfout.c | |
parent | 0fdb7c85cee6d9bad7a987444464f80ad0777aa4 (diff) | |
download | gcc-088e716060315042f749c74ad3cfd43b97e614bd.zip gcc-088e716060315042f749c74ad3cfd43b97e614bd.tar.gz gcc-088e716060315042f749c74ad3cfd43b97e614bd.tar.bz2 |
Preserve programmer specified labels, and emit debug info for them even if
they are deleted.
From-SVN: r25883
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r-- | gcc/dwarfout.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index 691348a..388c4a4 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -3519,7 +3519,12 @@ output_label_die (arg) { register rtx insn = DECL_RTL (decl); - if (GET_CODE (insn) == CODE_LABEL) + /* Deleted labels are programmer specified labels which have been + eliminated because of various optimisations. 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))) { char label[MAX_ARTIFICIAL_LABEL_BYTES]; |