aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTimothy Moore <moore@gnu.org>1992-10-26 21:23:29 +0000
committerTimothy Moore <moore@gnu.org>1992-10-26 21:23:29 +0000
commite5d4ff05918779997c719b573d68b6abfbaebf47 (patch)
tree886336865d458c62b3b8385ef2b2059032f8f107 /gcc
parentff2b6252551e1099212571138748266c9736fbff (diff)
downloadgcc-e5d4ff05918779997c719b573d68b6abfbaebf47.zip
gcc-e5d4ff05918779997c719b573d68b6abfbaebf47.tar.gz
gcc-e5d4ff05918779997c719b573d68b6abfbaebf47.tar.bz2
(hppa_encode_label): Change function name encoding to preserve leading '*' if there is one.
(hppa_encode_label): Change function name encoding to preserve leading '*' if there is one. (function_label_operand): Use FUNCTION_NAME_P macro. From-SVN: r2618
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 9cb4830d..8421c83 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -2470,8 +2470,10 @@ hppa_encode_label (sym)
int len = strlen (str);
char *newstr = obstack_alloc (saveable_obstack, len + 2) ;
+ if (str[0] == '*')
+ *newstr++ = *str++;
strcpy (newstr + 1, str);
- newstr[0] = '@';
+ *newstr = '@';
XSTR (sym,0) = newstr;
}
@@ -2480,5 +2482,5 @@ function_label_operand (op, mode)
rtx op;
enum machine_mode mode;
{
- return GET_CODE (op) == SYMBOL_REF && (XSTR (op, 0))[0] == '@';
+ return GET_CODE (op) == SYMBOL_REF && FUNCTION_NAME_P (XSTR (op, 0));
}