summaryrefslogtreecommitdiff
path: root/gcc/xcoffout.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-05-22 10:33:37 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-05-22 10:33:37 +0000
commit8cdd0f848f6437b92db0a9bc0870b25d5c71a446 (patch)
treec337b5b6dd0794247e04ab0c390bae4e947b18f0 /gcc/xcoffout.c
parent8ed58b727d9af1c1ca6abd98a0c63fbe116067a5 (diff)
downloadgcc-8cdd0f848f6437b92db0a9bc0870b25d5c71a446.tar.gz
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1045 138bc75d-0d04-0410-961f-82ee72b054a4
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 bdee41c9ec8..6e7c50f26e2 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 */