aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-07-28 10:40:30 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-07-28 10:40:30 -0700
commit07f64b95a4297eb66f583df40ac829f1d9f90dd0 (patch)
treee372f35d27fd4e7fabb361e326b9095cf65222aa /gcc/sched.c
parent214326607004acfdc3195aa647e1652800014350 (diff)
downloadgcc-07f64b95a4297eb66f583df40ac829f1d9f90dd0.zip
gcc-07f64b95a4297eb66f583df40ac829f1d9f90dd0.tar.gz
gcc-07f64b95a4297eb66f583df40ac829f1d9f90dd0.tar.bz2
(schedule_block): Do not emit line number notes before other notes.
From-SVN: r5020
Diffstat (limited to 'gcc/sched.c')
-rw-r--r--gcc/sched.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/sched.c b/gcc/sched.c
index 2fec9bc..9da35d0 100644
--- a/gcc/sched.c
+++ b/gcc/sched.c
@@ -3738,8 +3738,11 @@ schedule_block (b, file)
for (insn = head; insn != next_tail; insn = NEXT_INSN (insn))
if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
line = insn;
- else if (! (GET_CODE (insn) == NOTE
- && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
+ /* This used to emit line number notes before every non-deleted note.
+ However, this confuses a debugger, because line notes not separated
+ by real instructions all end up at the same address. I can find no
+ use for line number notes before other notes, so none are emitted. */
+ else if (GET_CODE (insn) != NOTE
&& (note = LINE_NOTE (insn)) != 0
&& note != line
&& (line == 0