diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:38:53 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:38:53 -0400 |
commit | 5fad6898708af706c5b21647d935112559f2494b (patch) | |
tree | 59ff58365f596308c4ffbe10519c9069acba25f2 /gcc | |
parent | ba418aa40a65738e175e6e49ad5925a414b9fa8e (diff) | |
download | gcc-5fad6898708af706c5b21647d935112559f2494b.zip gcc-5fad6898708af706c5b21647d935112559f2494b.tar.gz gcc-5fad6898708af706c5b21647d935112559f2494b.tar.bz2 |
(final_start_function): Always call sdbout_begin_function and
xcoffout_begin_function, even if no line number info.
From-SVN: r10231
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/final.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/gcc/final.c b/gcc/final.c index 2e2c6e1..8ab4bdc 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -887,24 +887,26 @@ final_start_function (first, file, optimize) so that the function's address will not appear to be in the last statement of the preceding function. */ if (NOTE_LINE_NUMBER (first) != NOTE_INSN_DELETED) - { - last_linenum = high_block_linenum = high_function_linenum - = NOTE_LINE_NUMBER (first); + last_linenum = high_block_linenum = high_function_linenum + = NOTE_LINE_NUMBER (first); - /* For SDB and XCOFF, the function beginning must be marked between - the function label and the prologue. */ + /* For SDB and XCOFF, the function beginning must be marked between + the function label and the prologue. We always need this, even when + -g1 was used. */ #ifdef SDB_DEBUGGING_INFO - if (write_symbols == SDB_DEBUG) - sdbout_begin_function (last_linenum); - else + if (write_symbols == SDB_DEBUG) + sdbout_begin_function (last_linenum); + else #endif #ifdef XCOFF_DEBUGGING_INFO - if (write_symbols == XCOFF_DEBUG) - xcoffout_begin_function (file, last_linenum); - else + if (write_symbols == XCOFF_DEBUG) + xcoffout_begin_function (file, last_linenum); + else #endif - output_source_line (file, first); - } + /* But only output line number for other debug info types if -g2 + or better. */ + if (NOTE_LINE_NUMBER (first) != NOTE_INSN_DELETED) + output_source_line (file, first); #ifdef LEAF_REG_REMAP if (leaf_function) |