diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-05-22 10:33:37 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-05-22 10:33:37 +0000 |
commit | 8cdd0f848f6437b92db0a9bc0870b25d5c71a446 (patch) | |
tree | c337b5b6dd0794247e04ab0c390bae4e947b18f0 /gcc/xcoffout.c | |
parent | 8ed58b727d9af1c1ca6abd98a0c63fbe116067a5 (diff) | |
download | gcc-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.c | 29 |
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 */ |