diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-11-26 13:50:57 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-11-26 13:50:57 -0500 |
commit | 3c7342722d6043dfe99c7bed66a927a8ce255c90 (patch) | |
tree | 4929ac0b0842a7251c8bc101ea3d3c0de307edac /gcc/final.c | |
parent | 0982040df77be1f653a79461a198da2dd36cb986 (diff) | |
download | gcc-3c7342722d6043dfe99c7bed66a927a8ce255c90.zip gcc-3c7342722d6043dfe99c7bed66a927a8ce255c90.tar.gz gcc-3c7342722d6043dfe99c7bed66a927a8ce255c90.tar.bz2 |
(final_start_function): Move call to sdbout_begin_function back to...
(final_start_function): Move call to sdbout_begin_function back to
final_scan_insn on MIPS systems so parameter descriptions are
recognized.
From-SVN: r10591
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 19b9683..481782e 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. */ |