Hi. This patch removes obsolete OUTPUT_ADDR_CONST_EXTRA macro from the CRIS back end in the GCC and introduces equivalent TARGET_OUTPUT_ADDR_CONST_EXTRA target hook.
Regression tested on cris-axis-elf. OK to install? * config/cris/m32c.c (cris_output_addr_const_extra): Make static. (TARGET_OUTPUT_ADDR_CONST_EXTRA): Define. * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove. Index: gcc/config/cris/cris.c =================================================================== --- gcc/config/cris/cris.c (revision 179412) +++ gcc/config/cris/cris.c (working copy) @@ -113,6 +113,8 @@ static bool cris_print_operand_punct_valid_p (unsigned char code); +static bool cris_output_addr_const_extra (FILE *, rtx); + static void cris_conditional_register_usage (void); static void cris_asm_output_mi_thunk @@ -179,6 +181,8 @@ #define TARGET_PRINT_OPERAND_ADDRESS cris_print_operand_address #undef TARGET_PRINT_OPERAND_PUNCT_VALID_P #define TARGET_PRINT_OPERAND_PUNCT_VALID_P cris_print_operand_punct_valid_p +#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA +#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA cris_output_addr_const_extra #undef TARGET_CONDITIONAL_REGISTER_USAGE #define TARGET_CONDITIONAL_REGISTER_USAGE cris_conditional_register_usage @@ -3608,9 +3614,9 @@ assemble_name (file, buf); } -/* Worker function for OUTPUT_ADDR_CONST_EXTRA. */ +/* Worker function for TARGET_OUTPUT_ADDR_CONST_EXTRA. */ -bool +static bool cris_output_addr_const_extra (FILE *file, rtx xconst) { switch (GET_CODE (xconst)) Index: gcc/config/cris/cris.h =================================================================== --- gcc/config/cris/cris.h (revision 179412) +++ gcc/config/cris/cris.h (working copy) @@ -1097,9 +1097,6 @@ /* Node: Data Output */ -#define OUTPUT_ADDR_CONST_EXTRA(STREAM, X, FAIL) \ - do { if (!cris_output_addr_const_extra (STREAM, X)) goto FAIL; } while (0) - #define IS_ASM_LOGICAL_LINE_SEPARATOR(C, STR) (C) == '@' /* Node: Uninitialized Data */ Index: gcc/config/cris/cris-protos.h =================================================================== --- gcc/config/cris/cris-protos.h (revision 179412) +++ gcc/config/cris/cris-protos.h (working copy) @@ -38,7 +38,6 @@ extern bool cris_store_multiple_op_p (rtx); extern bool cris_movem_load_rest_p (rtx, int); extern void cris_asm_output_symbol_ref (FILE *, rtx); -extern bool cris_output_addr_const_extra (FILE *, rtx); extern int cris_cfun_uses_pic_table (void); extern void cris_asm_output_case_end (FILE *, int, rtx); extern rtx cris_gen_movem_load (rtx, rtx, int); Anatoly.