summaryrefslogtreecommitdiff
path: root/gcc/config/ia64
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-19 09:03:02 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-19 09:03:02 +0000
commite4adabd269cb2997e1e31520e7c80f5226c3cc3c (patch)
tree311dc8ce24e67b878c70d43e655f401614d880e1 /gcc/config/ia64
parentecc09f51d5c868604521d79f1b6b886d8087d353 (diff)
downloadgcc-e4adabd269cb2997e1e31520e7c80f5226c3cc3c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45029 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r--gcc/config/ia64/ia64.h30
-rw-r--r--gcc/config/ia64/sysv4.h34
2 files changed, 20 insertions, 44 deletions
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 97e609fd21e..40fbf941c75 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -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
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 39020722bb5..86d89acf1fb 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -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. */