aboutsummaryrefslogtreecommitdiff
path: root/gcc/xcoffout.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-05-22 06:33:37 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-05-22 06:33:37 -0400
commitc2a47e48d5f7620e87aff3fc214da1b698ed1cdb (patch)
treec337b5b6dd0794247e04ab0c390bae4e947b18f0 /gcc/xcoffout.c
parent3ad69266be869b0a6f6a8f9701728185e62cf9b3 (diff)
downloadgcc-c2a47e48d5f7620e87aff3fc214da1b698ed1cdb.zip
gcc-c2a47e48d5f7620e87aff3fc214da1b698ed1cdb.tar.gz
gcc-c2a47e48d5f7620e87aff3fc214da1b698ed1cdb.tar.bz2
*** empty log message ***
From-SVN: r1045
Diffstat (limited to 'gcc/xcoffout.c')
-rw-r--r--gcc/xcoffout.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c
index bdee41c..6e7c50f 100644
--- a/gcc/xcoffout.c
+++ b/gcc/xcoffout.c
@@ -399,6 +399,33 @@ xcoffout_end_block (file, line, n)
ASM_OUTPUT_LBE (file, line, n);
}
+/* Called at beginning of function (before prologue).
+ Declare function as needed for debugging. */
+
+void
+xcoffout_declare_function (file, decl, name)
+ FILE *file;
+ tree decl;
+ char *name;
+{
+ char *n = name;
+ int i;
+
+ for (i = 0; name[i]; ++i)
+ {
+ if (name[i] == '[')
+ {
+ n = alloca (i + 1);
+ strncpy (n, name, i);
+ n[i] = '\0';
+ break;
+ }
+ }
+
+ dbxout_symbol (decl, 0);
+ fprintf (file, "\t.function .%s,.%s,16,044,FE..%s-.%s\n", n, n, n, n);
+}
+
/* Called at beginning of function body (after prologue).
Record the function's starting line number, so we can output
relative line numbers for the other lines.
@@ -438,7 +465,7 @@ xcoffout_end_epilogue (file)
char *fname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
if (*fname == '*')
++fname;
- fprintf (file, "L..end_");
+ fprintf (file, "FE..");
ASM_OUTPUT_LABEL (file, fname);
}
#endif /* XCOFF_DEBUGGING_INFO */