[CRIS] Hookize OUTPUT_ADDR_CONST_EXTRA

Anatoly Sokolov aesok@post.ru
Sun Oct 2 17:37:00 GMT 2011


  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.



More information about the Gcc-patches mailing list