aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i960
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-01-31 17:55:18 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-01-31 17:55:18 -0800
commitbb562bfc33ca838b0b859532e0be9a166054cecc (patch)
tree66e69e8fae73dbab01f244041ffe7ffdbf71802a /gcc/config/i960
parent03217a8b989c0eaaf6f799d63ecd6ac30a8c8c51 (diff)
downloadgcc-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.c12
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)