summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-11-26 18:50:57 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-11-26 18:50:57 +0000
commit7c6131bafa8dd50a46a21ddd1d0091315820c901 (patch)
tree4929ac0b0842a7251c8bc101ea3d3c0de307edac /gcc/final.c
parentb4377e3d281ecc6d81f26aef62d11176a038a248 (diff)
downloadgcc-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.c12
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. */