ia64.h (STRIP_NAME_ENCODING): Handle @ and * in the same string.

* config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
	in the same string.
	(ASM_NAME_TO_STRING): Remove.
	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
	in the same string.  Remove support for expressions.

From-SVN: r45029
This commit is contained in:
Richard Henderson 2001-08-19 02:03:02 -07:00 committed by Richard Henderson
parent 9067592172
commit c45632b732
3 changed files with 28 additions and 44 deletions

View File

@ -1,3 +1,11 @@
2001-08-19 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
in the same string.
(ASM_NAME_TO_STRING): Remove.
* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
in the same string. Remove support for expressions.
2001-08-19 Richard Henderson <rth@redhat.com>
* config/i386/i386.md (tablejump): Make an expander; handle

View File

@ -1968,11 +1968,14 @@ do { \
/* Decode SYM_NAME and store the real name part in VAR, sans the characters
that encode section info. */
#define STRIP_NAME_ENCODING(VAR, SYMBOL_NAME) \
(VAR) = ((SYMBOL_NAME) \
+ (*(SYMBOL_NAME) == '*' || *(SYMBOL_NAME) == SDATA_NAME_FLAG_CHAR))
#define STRIP_NAME_ENCODING(VAR, SYMBOL_NAME) \
do { \
(VAR) = (SYMBOL_NAME); \
if ((VAR)[0] == SDATA_NAME_FLAG_CHAR) \
(VAR)++; \
if ((VAR)[0] == '*') \
(VAR)++; \
} while (0)
/* Position Independent Code. */
@ -2548,23 +2551,6 @@ do { \
#define UNALIGNED_INT_ASM_OP "\tdata4.ua\t"
#define UNALIGNED_DOUBLE_INT_ASM_OP "\tdata8.ua\t"
/* We need to override the default definition for this in dwarf2out.c so that
we can emit the necessary # postfix. */
#define ASM_NAME_TO_STRING(STR, NAME) \
do { \
if ((NAME)[0] == '*') \
dyn_string_append (STR, NAME + 1); \
else \
{ \
char *newstr; \
STRIP_NAME_ENCODING (newstr, NAME); \
dyn_string_append (STR, user_label_prefix); \
dyn_string_append (STR, newstr); \
dyn_string_append (STR, "#"); \
} \
} \
while (0)
#define DWARF2_ASM_LINE_DEBUG_INFO (TARGET_DWARF2_ASM)
/* Use tags for debug info labels, so that they don't break instruction

View File

@ -54,28 +54,18 @@ do { \
we have to scan it for a non-label character and insert the # there. */
#undef ASM_OUTPUT_LABELREF
#define ASM_OUTPUT_LABELREF(STREAM, NAME) \
do \
{ \
const char *real_name; \
const char *name_end; \
\
STRIP_NAME_ENCODING (real_name, NAME); \
name_end = strchr (real_name, '+'); \
\
fputs (user_label_prefix, STREAM); \
if (name_end) \
fwrite (real_name, name_end - real_name, 1, STREAM); \
else \
fputs (real_name, STREAM); \
\
if (ia64_asm_output_label) \
fputc ('#', STREAM); \
\
if (name_end) \
fputs (name_end, STREAM); \
} \
while (0)
#define ASM_OUTPUT_LABELREF(STREAM, NAME) \
do { \
const char *name_ = NAME; \
if (*name_ == SDATA_NAME_FLAG_CHAR) \
name_++; \
if (*name_ == '*') \
name_++; \
else \
fputs (user_label_prefix, STREAM); \
fputs (name_, STREAM); \
fputc ('#', STREAM); \
} while (0)
/* Intel assembler requires both flags and type if declaring a non-predefined
section. */