h8300.c (h8300_encode_label): Use '&' for tiny data items.

* h8300.c (h8300_encode_label): Use '&' for tiny data items.
        * h8300.h (TINY_DATA_NAME_P): Likewise.
        (STRIP_NAME_ENCODING): Handle '&'.

From-SVN: r21892
This commit is contained in:
Jeffrey A Law 1998-08-21 02:07:01 +00:00 committed by Jeff Law
parent 1df7c0ee25
commit f24b26edd3
3 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,9 @@
Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
* h8300.c (h8300_encode_label): Use '&' for tiny data items.
* h8300.h (TINY_DATA_NAME_P): Likewise.
(STRIP_NAME_ENCODING): Handle '&'.
* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
register (it could be accessed via an outer SUBREG).
(REG_OK_FOR_BASE_P): Likewwise.

View File

@ -2996,7 +2996,7 @@ h8300_encode_label (decl)
newstr = obstack_alloc (saveable_obstack, len + 2);
strcpy (newstr + 1, str);
*newstr = '*';
*newstr = '&';
XSTR (XEXP (DECL_RTL (decl), 0), 0) = newstr;
}

View File

@ -1117,7 +1117,7 @@ readonly_data() \
} \
}
#define TINY_DATA_NAME_P(NAME) (*(NAME) == '*')
#define TINY_DATA_NAME_P(NAME) (*(NAME) == '&')
/* If we are referencing a function that is supposed to be called
through the function vector, the SYMBOL_REF_FLAG in the rtl
@ -1138,7 +1138,7 @@ readonly_data() \
/* Store the user-specified part of SYMBOL_NAME in VAR.
This is sort of inverse to ENCODE_SECTION_INFO. */
#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
(VAR) = (SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' || (SYMBOL_NAME)[0] == '@');
(VAR) = (SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' || (SYMBOL_NAME)[0] == '@' || SYMBOL_NAME[0] == '&')
/* How to refer to registers in assembler output.
This sequence is indexed by compiler's hard-register-number (see above). */