ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.

* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
	(ASM_OUTPUT_XDATA_SHORT): Remove.
	(ASM_OUTPUT_XDATA_INT): Remove.
	(ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
	(ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
	(CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.

From-SVN: r64271
This commit is contained in:
Steve Ellcey 2003-03-12 23:05:40 +00:00 committed by Steve Ellcey
parent 847311f457
commit 03d0dce160
2 changed files with 20 additions and 59 deletions

View File

@ -1,3 +1,13 @@
2003-03-12 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
(ASM_OUTPUT_XDATA_SHORT): Remove.
(ASM_OUTPUT_XDATA_INT): Remove.
(ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
(ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
(ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
(CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
2003-03-12 Andrew Lewycky <andrew@mxc.ca>
PR c++/7050

View File

@ -1770,61 +1770,6 @@ do { \
#define ASM_APP_OFF "#NO_APP\n"
/* Output of Data. */
/* This is how to output an assembler line defining a `char' constant
to an xdata segment. */
#define ASM_OUTPUT_XDATA_CHAR(FILE, SECTION, VALUE) \
do { \
fprintf (FILE, "\t.xdata1\t\"%s\", ", SECTION); \
output_addr_const (FILE, (VALUE)); \
fprintf (FILE, "\n"); \
} while (0)
/* This is how to output an assembler line defining a `short' constant
to an xdata segment. */
#define ASM_OUTPUT_XDATA_SHORT(FILE, SECTION, VALUE) \
do { \
fprintf (FILE, "\t.xdata2\t\"%s\", ", SECTION); \
output_addr_const (FILE, (VALUE)); \
fprintf (FILE, "\n"); \
} while (0)
/* This is how to output an assembler line defining an `int' constant
to an xdata segment. We also handle symbol output here. */
/* ??? For ILP32, also need to handle function addresses here. */
#define ASM_OUTPUT_XDATA_INT(FILE, SECTION, VALUE) \
do { \
fprintf (FILE, "\t.xdata4\t\"%s\", ", SECTION); \
output_addr_const (FILE, (VALUE)); \
fprintf (FILE, "\n"); \
} while (0)
/* This is how to output an assembler line defining a `long' constant
to an xdata segment. We also handle symbol output here. */
#define ASM_OUTPUT_XDATA_DOUBLE_INT(FILE, SECTION, VALUE) \
do { \
int need_closing_paren = 0; \
fprintf (FILE, "\t.xdata8\t\"%s\", ", SECTION); \
if (!(TARGET_NO_PIC || TARGET_AUTO_PIC) \
&& GET_CODE (VALUE) == SYMBOL_REF) \
{ \
fprintf (FILE, SYMBOL_REF_FLAG (VALUE) ? "@fptr(" : "@segrel("); \
need_closing_paren = 1; \
} \
output_addr_const (FILE, VALUE); \
if (need_closing_paren) \
fprintf (FILE, ")"); \
fprintf (FILE, "\n"); \
} while (0)
/* Output of Uninitialized Variables. */
@ -2086,8 +2031,13 @@ do { \
/* ??? Depends on the pointer size. */
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \
fprintf (STREAM, "\tdata8 @pcrel(.L%d)\n", VALUE)
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \
do { \
if (TARGET_ILP32) \
fprintf (STREAM, "\tdata4 @pcrel(.L%d)\n", VALUE); \
else \
fprintf (STREAM, "\tdata8 @pcrel(.L%d)\n", VALUE); \
} while (0)
/* This is how to output an element of a case-vector that is absolute.
(Ia64 does not use such vectors, but we must define this macro anyway.) */
@ -2106,7 +2056,8 @@ do { \
true if the symbol may be affected by dynamic relocations. */
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
(((CODE) == 1 ? DW_EH_PE_textrel : DW_EH_PE_datarel) \
| ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_udata8)
| ((GLOBAL) ? DW_EH_PE_indirect : 0) \
| (TARGET_ILP32 ? DW_EH_PE_udata4 : DW_EH_PE_udata8))
/* Handle special EH pointer encodings. Absolute, pc-relative, and
indirect are handled automatically. */
@ -2276,7 +2227,7 @@ do { \
/* An alias for a machine mode name. This is the machine mode that elements of
a jump-table should have. */
#define CASE_VECTOR_MODE Pmode
#define CASE_VECTOR_MODE ptr_mode
/* Define as C expression which evaluates to nonzero if the tablejump
instruction expects the table to contain offsets from the address of the