diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-22 06:33:37 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-22 06:33:37 -0400 |
commit | c2a47e48d5f7620e87aff3fc214da1b698ed1cdb (patch) | |
tree | c337b5b6dd0794247e04ab0c390bae4e947b18f0 /gcc/xcoffout.c | |
parent | 3ad69266be869b0a6f6a8f9701728185e62cf9b3 (diff) | |
download | gcc-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.c | 29 |
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 */ |