OSDN Git Service

(final_start_function): Move call to sdbout_begin_function back to
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 26 Nov 1995 18:50:57 +0000 (18:50 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 26 Nov 1995 18:50:57 +0000 (18:50 +0000)
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

gcc/final.c

index 19b9683..481782e 100644 (file)
@@ -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.  */