diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-01-31 17:55:18 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-01-31 17:55:18 -0800 |
commit | bb562bfc33ca838b0b859532e0be9a166054cecc (patch) | |
tree | 66e69e8fae73dbab01f244041ffe7ffdbf71802a /gcc/config/i960 | |
parent | 03217a8b989c0eaaf6f799d63ecd6ac30a8c8c51 (diff) | |
download | gcc-bb562bfc33ca838b0b859532e0be9a166054cecc.zip gcc-bb562bfc33ca838b0b859532e0be9a166054cecc.tar.gz gcc-bb562bfc33ca838b0b859532e0be9a166054cecc.tar.bz2 |
(i960_function_name_declare): Handle names that start with '*'.
From-SVN: r6454
Diffstat (limited to 'gcc/config/i960')
-rw-r--r-- | gcc/config/i960/i960.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/config/i960/i960.c b/gcc/config/i960/i960.c index 6baeac3..d11c625 100644 --- a/gcc/config/i960/i960.c +++ b/gcc/config/i960/i960.c @@ -901,7 +901,7 @@ i960_function_name_declare (file, name, fndecl) /* Do this after choosing the leaf return register, so it will be listed if one was chosen. */ - fprintf (file, "\t# Function '%s'\n", name); + fprintf (file, "\t# Function '%s'\n", (name[0] == '*' ? &name[1] : name)); fprintf (file, "\t# Registers used: "); for (i = 0, j = 0; i < FIRST_PSEUDO_REGISTER; i++) @@ -925,12 +925,14 @@ i960_function_name_declare (file, name, fndecl) /* Make it a leaf procedure. */ if (TREE_PUBLIC (fndecl)) - fprintf (file,"\t.globl %s.lf\n", name); + fprintf (file,"\t.globl\t%s.lf\n", (name[0] == '*' ? &name[1] : name)); - fprintf (file, "\t.leafproc\t_%s,%s.lf\n", name, name); - fprintf (file, "_%s:\n", name); + fprintf (file, "\t.leafproc\t"); + assemble_name (file, name); + fprintf (file, ",%s.lf\n", (name[0] == '*' ? &name[1] : name)); + ASM_OUTPUT_LABEL (file, name); fprintf (file, "\tlda LR%d,g14\n", ret_label); - fprintf (file, "%s.lf:\n", name); + fprintf (file, "%s.lf:\n", (name[0] == '*' ? &name[1] : name)); fprintf (file, "\tmov g14,g%d\n", i960_leaf_ret_reg); if (TARGET_C_SERIES) |