aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-11-26 13:50:57 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-11-26 13:50:57 -0500
commit3c7342722d6043dfe99c7bed66a927a8ce255c90 (patch)
tree4929ac0b0842a7251c8bc101ea3d3c0de307edac /gcc/final.c
parent0982040df77be1f653a79461a198da2dd36cb986 (diff)
downloadgcc-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.c12
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. */