mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-11 20:15:29 +08:00
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:
parent
9067592172
commit
c45632b732
@ -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
|
||||
|
@ -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
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user