aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-08-13 21:38:53 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-08-13 21:38:53 -0400
commit5fad6898708af706c5b21647d935112559f2494b (patch)
tree59ff58365f596308c4ffbe10519c9069acba25f2 /gcc
parentba418aa40a65738e175e6e49ad5925a414b9fa8e (diff)
downloadgcc-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.c28
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)