Hello. This patch removes obsolete OUTPUT_ADDR_CONST_EXTRA macro from V850 back end in the GCC and introduces equivalent TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA target hook.
Regression-tested on v850-unknown-elf. OK to install? * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove. * config/v850/v850.c (v850_output_addr_const_extra): Mace static. Change return type to bool. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. Index: gcc/config/v850/v850.c =================================================================== --- gcc/config/v850/v850.c (revision 170852) +++ gcc/config/v850/v850.c (working copy) @@ -795,13 +795,13 @@ the truncate and just emit the difference of the two labels. The .hword directive will automatically handle the truncation for us. - Returns 1 if rtx was handled, 0 otherwise. */ + Returns true if rtx was handled, false otherwise. */ -int +static bool v850_output_addr_const_extra (FILE * file, rtx x) { if (GET_CODE (x) != TRUNCATE) - return 0; + return false; x = XEXP (x, 0); @@ -814,10 +814,10 @@ && GET_CODE (XEXP (x, 0)) == LABEL_REF && GET_CODE (XEXP (XEXP (x, 0), 0)) == CODE_LABEL && INSN_DELETED_P (XEXP (XEXP (x, 0), 0))) - return 1; + return true; output_addr_const (file, x); - return 1; + return true; } /* Return appropriate code to load up a 1, 2, or 4 integer/floating @@ -3138,6 +3138,9 @@ #undef TARGET_PRINT_OPERAND_PUNCT_VALID_P #define TARGET_PRINT_OPERAND_PUNCT_VALID_P v850_print_operand_punct_valid_p +#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA +#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA v850_output_addr_const_extra + #undef TARGET_ATTRIBUTE_TABLE #define TARGET_ATTRIBUTE_TABLE v850_attribute_table Index: gcc/config/v850/v850.h =================================================================== --- gcc/config/v850/v850.h (revision 170852) +++ gcc/config/v850/v850.h (working copy) @@ -748,10 +748,6 @@ #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "_" -#define OUTPUT_ADDR_CONST_EXTRA(FILE, X, FAIL) \ - if (! v850_output_addr_const_extra (FILE, X)) \ - goto FAIL - /* This says how to output the assembler to define a global uninitialized but not common symbol. */ Index: gcc/config/v850/v850-protos.h =================================================================== --- gcc/config/v850/v850-protos.h (revision 170852) +++ gcc/config/v850/v850-protos.h (working copy) @@ -33,7 +33,6 @@ extern void v850_init_expanders (void); #ifdef RTX_CODE -extern int v850_output_addr_const_extra (FILE *, rtx); extern rtx v850_return_addr (int); extern const char *output_move_single (rtx *); extern void notice_update_cc (rtx, rtx); Anatoly.