diff options
author | Timothy Moore <moore@gnu.org> | 1992-10-26 21:23:29 +0000 |
---|---|---|
committer | Timothy Moore <moore@gnu.org> | 1992-10-26 21:23:29 +0000 |
commit | e5d4ff05918779997c719b573d68b6abfbaebf47 (patch) | |
tree | 886336865d458c62b3b8385ef2b2059032f8f107 /gcc | |
parent | ff2b6252551e1099212571138748266c9736fbff (diff) | |
download | gcc-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.c | 6 |
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)); } |