diff options
author | Richard Stallman <rms@gnu.org> | 1992-06-03 20:39:24 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-06-03 20:39:24 +0000 |
commit | 12f7c8764c9f91c3fe74bd4f5c4f644583fb913f (patch) | |
tree | b2c5f1ec323ba6dfed00ae527dec6a5d6461dea3 /gcc | |
parent | 885d8175ed128445b1dbed8b96f32a086e2359ac (diff) | |
download | gcc-12f7c8764c9f91c3fe74bd4f5c4f644583fb913f.zip gcc-12f7c8764c9f91c3fe74bd4f5c4f644583fb913f.tar.gz gcc-12f7c8764c9f91c3fe74bd4f5c4f644583fb913f.tar.bz2 |
*** empty log message ***
From-SVN: r1149
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/final.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c index 460500e..b77b548 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); |