diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-11-26 18:50:57 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-11-26 18:50:57 +0000 |
commit | 7c6131bafa8dd50a46a21ddd1d0091315820c901 (patch) | |
tree | 4929ac0b0842a7251c8bc101ea3d3c0de307edac /gcc/final.c | |
parent | b4377e3d281ecc6d81f26aef62d11176a038a248 (diff) | |
download | gcc-7c6131bafa8dd50a46a21ddd1d0091315820c901.tar.gz |
(final_start_function): Move call to sdbout_begin_function back to
final_scan_insn on MIPS systems so parameter descriptions are
recognized.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10591 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c index 19b968301c5..481782ea995 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -892,8 +892,9 @@ final_start_function (first, file, optimize) /* 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 + -g1 was used. Defer on MIPS systems so that parameter descriptions + follow function entry. */ +#if defined(SDB_DEBUGGING_INFO) && !defined(MIPS_DEBUGGING_INFO) if (write_symbols == SDB_DEBUG) sdbout_begin_function (last_linenum); else @@ -1314,6 +1315,13 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) break; if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_FUNCTION_BEG) { +#if defined(SDB_DEBUGGING_INFO) && defined(MIPS_DEBUGGING_INFO) + /* MIPS stabs require the parameter descriptions to be after the + function entry point rather than before. */ + if (write_symbols == SDB_DEBUG) + sdbout_begin_function (last_linenum); + else +#endif #ifdef DWARF_DEBUGGING_INFO /* This outputs a marker where the function body starts, so it must be after the prologue. */ |