From 12f7c8764c9f91c3fe74bd4f5c4f644583fb913f Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Wed, 3 Jun 1992 20:39:24 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r1149 --- gcc/final.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/final.c b/gcc/final.c index 460500ec640..b77b5480c6b 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1028,10 +1028,17 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) { if (GET_CODE (note) != NOTE && GET_CODE (note) != CODE_LABEL) break; + /* These types of notes can be significant + so make sure the preceeding line number stays. */ + else if (GET_CODE (note) == NOTE + && (NOTE_LINE_NUMBER (note) == NOTE_INSN_BLOCK_BEG + || NOTE_LINE_NUMBER (note) == NOTE_INSN_BLOCK_END + || NOTE_LINE_NUMBER (note) == NOTE_INSN_FUNCTION_BEG)) + break; else if (GET_CODE (note) == NOTE && NOTE_LINE_NUMBER (note) > 0) { - /* Another note follows; we can delete this note provided - no intervening line numbers have notes elsewhere. */ + /* Another line note follows; we can delete this note + if no intervening line numbers have notes elsewhere. */ int num; for (num = NOTE_LINE_NUMBER (insn) + 1; num < NOTE_LINE_NUMBER (note); -- 2.30.2