From: "Joseph S. Myers" <joseph@codesourcery.com>
To: gcc-patches@gcc.gnu.org
Cc: nickc@redhat.com, law@redhat.com, aoliva@redhat.com
Subject: Ping^3 Re: Target header etc. cleanup patch
Date: Tue, 26 Apr 2011 15:48:00 -0000 [thread overview]
Message-ID: <Pine.LNX.4.64.1104261512410.10166@digraph.polyomino.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.1104202106020.29659@digraph.polyomino.org.uk>
Ping^3. Parts of this patch
<http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00130.html> are still
pending review: the parts for targets fr30, m32r, mn10300, rx, v850
(target maintainers CC:ed). This version applies cleanly to current
trunk.
2011-04-26 Joseph Myers <joseph@codesourcery.com>
* config/fr30/fr30-protos.h (Mmode): Don't define.
* config/fr30/fr30.h (inhibit_libc): Don't define.
* config/m32r/m32r-protos.h (Mmode): Don't define. Expand
definition where used.
* config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
define. Expand definitions where used.
* config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
Expand definitions where used.
* config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
rx_function_arg, rx_function_arg_advance,
rx_function_arg_boundary): Expand definitions of those macros.
* config/v850/v850-protos.h (Mmode): Don't define. Expand
definition where used.
* config/v850/v850.h (GHS_default_section_names,
GHS_current_section_names): Use tree, not union tree_node *.
Index: gcc/config/m32r/m32r-protos.h
===================================================================
--- gcc/config/m32r/m32r-protos.h (revision 172860)
+++ gcc/config/m32r/m32r-protos.h (working copy)
@@ -1,5 +1,6 @@
/* Prototypes for m32r.c functions used in the md file & elsewhere.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010,
+ 2011
Free Software Foundation, Inc.
This file is part of GCC.
@@ -18,9 +19,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Function prototypes that cannot exist in v850.h due to dependency
+/* Function prototypes that cannot exist in m32r.h due to dependency
complications. */
-#define Mmode enum machine_mode
extern void m32r_init (void);
extern void m32r_init_expanders (void);
@@ -51,16 +51,14 @@ extern rtx m32r_return_addr (int);
extern rtx m32r_function_symbol (const char *);
#ifdef HAVE_MACHINE_MODES
-extern int call_operand (rtx, Mmode);
-extern int small_data_operand (rtx, Mmode);
-extern int addr24_operand (rtx, Mmode);
-extern int addr32_operand (rtx, Mmode);
-extern int call26_operand (rtx, Mmode);
-extern int memreg_operand (rtx, Mmode);
-extern int small_insn_p (rtx, Mmode);
+extern int call_operand (rtx, enum machine_mode);
+extern int small_data_operand (rtx, enum machine_mode);
+extern int addr24_operand (rtx, enum machine_mode);
+extern int addr32_operand (rtx, enum machine_mode);
+extern int call26_operand (rtx, enum machine_mode);
+extern int memreg_operand (rtx, enum machine_mode);
+extern int small_insn_p (rtx, enum machine_mode);
#endif /* HAVE_MACHINE_MODES */
#endif /* RTX_CODE */
-
-#undef Mmode
Index: gcc/config/rx/rx-protos.h
===================================================================
--- gcc/config/rx/rx-protos.h (revision 172860)
+++ gcc/config/rx/rx-protos.h (working copy)
@@ -21,11 +21,6 @@
#ifndef GCC_RX_PROTOS_H
#define GCC_RX_PROTOS_H
-/* A few abbreviations to make the prototypes shorter. */
-#define Mmode enum machine_mode
-#define Fargs CUMULATIVE_ARGS
-#define Rcode enum rtx_code
-\f
extern int rx_align_for_label (void);
extern void rx_expand_prologue (void);
extern int rx_initial_elimination_offset (int, int);
@@ -37,11 +32,13 @@ extern void rx_emit_stack_pu
extern void rx_expand_epilogue (bool);
extern char * rx_gen_move_template (rtx *, bool);
extern bool rx_legitimate_constant_p (enum machine_mode, rtx);
-extern bool rx_is_restricted_memory_address (rtx, Mmode);
-extern bool rx_match_ccmode (rtx, Mmode);
+extern bool rx_is_restricted_memory_address (rtx,
+ enum machine_mode);
+extern bool rx_match_ccmode (rtx, enum machine_mode);
extern void rx_notice_update_cc (rtx body, rtx insn);
-extern void rx_split_cbranch (Mmode, Rcode, rtx, rtx, rtx);
-extern Mmode rx_select_cc_mode (Rcode, rtx, rtx);
+extern void rx_split_cbranch (enum machine_mode, enum rtx_code,
+ rtx, rtx, rtx);
+extern enum machine_mode rx_select_cc_mode (enum rtx_code, rtx, rtx);
#endif
#endif /* GCC_RX_PROTOS_H */
Index: gcc/config/rx/rx.c
===================================================================
--- gcc/config/rx/rx.c (revision 172860)
+++ gcc/config/rx/rx.c (working copy)
@@ -78,7 +78,8 @@ rx_small_data_operand (rtx op)
}
static bool
-rx_is_legitimate_address (Mmode mode, rtx x, bool strict ATTRIBUTE_UNUSED)
+rx_is_legitimate_address (enum machine_mode mode, rtx x,
+ bool strict ATTRIBUTE_UNUSED)
{
if (RTX_OK_FOR_BASE (x, strict))
/* Register Indirect. */
@@ -809,7 +810,7 @@ rx_round_up (unsigned int value, unsigne
occupied by an argument of type TYPE and mode MODE. */
static unsigned int
-rx_function_arg_size (Mmode mode, const_tree type)
+rx_function_arg_size (enum machine_mode mode, const_tree type)
{
unsigned int num_bytes;
@@ -829,7 +830,8 @@ rx_function_arg_size (Mmode mode, const_
variable parameter list. */
static rtx
-rx_function_arg (Fargs * cum, Mmode mode, const_tree type, bool named)
+rx_function_arg (CUMULATIVE_ARGS * cum, enum machine_mode mode,
+ const_tree type, bool named)
{
unsigned int next_reg;
unsigned int bytes_so_far = *cum;
@@ -866,14 +868,14 @@ rx_function_arg (Fargs * cum, Mmode mode
}
static void
-rx_function_arg_advance (Fargs * cum, Mmode mode, const_tree type,
- bool named ATTRIBUTE_UNUSED)
+rx_function_arg_advance (CUMULATIVE_ARGS * cum, enum machine_mode mode,
+ const_tree type, bool named ATTRIBUTE_UNUSED)
{
*cum += rx_function_arg_size (mode, type);
}
static unsigned int
-rx_function_arg_boundary (Mmode mode ATTRIBUTE_UNUSED,
+rx_function_arg_boundary (enum machine_mode mode ATTRIBUTE_UNUSED,
const_tree type ATTRIBUTE_UNUSED)
{
return 32;
Index: gcc/config/fr30/fr30.h
===================================================================
--- gcc/config/fr30/fr30.h (revision 172860)
+++ gcc/config/fr30/fr30.h (working copy)
@@ -839,11 +839,6 @@ fprintf (STREAM, "\t.word .L%d\n", VALUE
`QImode'. */
#define FUNCTION_MODE QImode
-/* If cross-compiling, don't require stdio.h etc to build libgcc.a. */
-#if defined CROSS_DIRECTORY_STRUCTURE && ! defined inhibit_libc
-#define inhibit_libc
-#endif
-
/*}}}*/ \f
/* Local Variables: */
Index: gcc/config/fr30/fr30-protos.h
===================================================================
--- gcc/config/fr30/fr30-protos.h (revision 172860)
+++ gcc/config/fr30/fr30-protos.h (working copy)
@@ -1,5 +1,5 @@
/* Prototypes for fr30.c functions used in the md file & elsewhere.
- Copyright (C) 1999, 2000, 2002, 2004, 2007, 2010
+ Copyright (C) 1999, 2000, 2002, 2004, 2007, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@@ -28,8 +28,6 @@ extern void fr30_print_operand (FILE *,
extern void fr30_print_operand_address (FILE *, rtx);
extern rtx fr30_move_double (rtx *);
#ifdef HAVE_MACHINE_MODES
-#define Mmode enum machine_mode
extern int fr30_const_double_is_zero (rtx);
-#undef Mmode
#endif /* HAVE_MACHINE_MODES */
#endif /* RTX_CODE */
Index: gcc/config/mn10300/mn10300-protos.h
===================================================================
--- gcc/config/mn10300/mn10300-protos.h (revision 172860)
+++ gcc/config/mn10300/mn10300-protos.h (working copy)
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
- Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010
+ Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
@@ -19,28 +19,25 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#define Mmode enum machine_mode
-#define Cstar const char *
-#define Rclas enum reg_class
-
#ifdef RTX_CODE
extern rtx mn10300_legitimize_pic_address (rtx, rtx);
extern int mn10300_legitimate_pic_operand_p (rtx);
-extern rtx mn10300_legitimize_reload_address (rtx, Mmode, int, int, int);
+extern rtx mn10300_legitimize_reload_address (rtx, enum machine_mode,
+ int, int, int);
extern bool mn10300_function_value_regno_p (const unsigned int);
extern int mn10300_get_live_callee_saved_regs (void);
-extern bool mn10300_hard_regno_mode_ok (unsigned int, Mmode);
-extern bool mn10300_modes_tieable (Mmode, Mmode);
-extern Cstar mn10300_output_add (rtx[3], bool);
+extern bool mn10300_hard_regno_mode_ok (unsigned int, enum machine_mode);
+extern bool mn10300_modes_tieable (enum machine_mode, enum machine_mode);
+extern const char *mn10300_output_add (rtx[3], bool);
extern void mn10300_print_operand (FILE *, rtx, int);
extern void mn10300_print_operand_address (FILE *, rtx);
extern void mn10300_print_reg_list (FILE *, int);
-extern Mmode mn10300_select_cc_mode (enum rtx_code, rtx, rtx);
-extern int mn10300_store_multiple_operation (rtx, Mmode);
-extern int mn10300_symbolic_operand (rtx, Mmode);
-extern void mn10300_split_cbranch (Mmode, rtx, rtx);
+extern enum machine_mode mn10300_select_cc_mode (enum rtx_code, rtx, rtx);
+extern int mn10300_store_multiple_operation (rtx, enum machine_mode);
+extern int mn10300_symbolic_operand (rtx, enum machine_mode);
+extern void mn10300_split_cbranch (enum machine_mode, rtx, rtx);
extern int mn10300_split_and_operand_count (rtx);
-extern bool mn10300_match_ccmode (rtx, Mmode);
+extern bool mn10300_match_ccmode (rtx, enum machine_mode);
#endif /* RTX_CODE */
extern bool mn10300_regno_in_class_p (unsigned, int, bool);
@@ -50,7 +47,3 @@ extern void mn10300_expand_prologue (vo
extern void mn10300_expand_epilogue (void);
extern int mn10300_initial_offset (int, int);
extern int mn10300_frame_size (void);
-
-#undef Mmode
-#undef Cstar
-#undef Rclas
Index: gcc/config/v850/v850.h
===================================================================
--- gcc/config/v850/v850.h (revision 172860)
+++ gcc/config/v850/v850.h (working copy)
@@ -906,8 +906,8 @@ typedef struct data_area_stack_element
extern data_area_stack_element * data_area_stack;
/* Names of the various data areas used on the v850. */
-extern union tree_node * GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
-extern union tree_node * GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
+extern tree GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
+extern tree GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS];
/* The assembler op to start the file. */
Index: gcc/config/v850/v850-protos.h
===================================================================
--- gcc/config/v850/v850-protos.h (revision 172860)
+++ gcc/config/v850/v850-protos.h (working copy)
@@ -23,8 +23,6 @@
#ifndef GCC_V850_PROTOS_H
#define GCC_V850_PROTOS_H
-#define Mmode enum machine_mode
-
extern void expand_prologue (void);
extern void expand_epilogue (void);
extern int v850_handle_pragma (int (*)(void), void (*)(int), char *);
@@ -41,12 +39,14 @@ extern char * construct_restore_jr
#ifdef HAVE_MACHINE_MODES
extern char * construct_dispose_instruction (rtx);
extern char * construct_prepare_instruction (rtx);
-extern int ep_memory_operand (rtx, Mmode, int);
-extern int v850_float_z_comparison_operator (rtx, Mmode);
-extern int v850_float_nz_comparison_operator (rtx, Mmode);
-extern rtx v850_gen_compare (enum rtx_code, Mmode, rtx, rtx);
-extern Mmode v850_gen_float_compare (enum rtx_code, Mmode, rtx, rtx);
-extern Mmode v850_select_cc_mode (RTX_CODE, rtx, rtx);
+extern int ep_memory_operand (rtx, enum machine_mode, int);
+extern int v850_float_z_comparison_operator (rtx, enum machine_mode);
+extern int v850_float_nz_comparison_operator (rtx, enum machine_mode);
+extern rtx v850_gen_compare (enum rtx_code, enum machine_mode,
+ rtx, rtx);
+extern enum machine_mode v850_gen_float_compare (enum rtx_code,
+ enum machine_mode, rtx, rtx);
+extern enum machine_mode v850_select_cc_mode (RTX_CODE, rtx, rtx);
#endif
#endif /* RTX_CODE */
@@ -67,6 +67,4 @@ extern void ghs_pragma_endtda (stru
extern void ghs_pragma_endsda (struct cpp_reader *);
extern void ghs_pragma_endzda (struct cpp_reader *);
-#undef Mmode
-
#endif /* ! GCC_V850_PROTOS_H */
--
Joseph S. Myers
joseph@codesourcery.com
next prev parent reply other threads:[~2011-04-26 15:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-02 17:06 Joseph S. Myers
2011-04-02 17:16 ` Paul Koning
2011-04-04 10:33 ` Joseph S. Myers
2011-04-08 18:46 ` Ping " Joseph S. Myers
2011-04-08 19:14 ` Mike Stump
2011-04-20 21:26 ` Ping^2 " Joseph S. Myers
2011-04-20 22:05 ` DJ Delorie
2011-04-21 4:27 ` Paul Koning
2011-04-21 9:31 ` Richard Guenther
2011-04-21 11:37 ` Joseph S. Myers
2011-04-21 11:50 ` Kai Tietz
2011-04-22 4:59 ` Jie Zhang
2011-04-26 17:40 ` Christopher Faylor
2011-05-04 3:15 ` Alexandre Oliva
2011-04-26 15:48 ` Joseph S. Myers [this message]
2011-04-26 16:32 ` Ping^3 " Nick Clifton
2011-04-26 16:48 ` Joseph S. Myers
2011-05-02 15:22 ` Ping^4 " Joseph S. Myers
2011-05-02 15:27 ` Richard Guenther
2011-05-02 18:22 ` Bernd Schmidt
2011-05-03 8:16 ` Nick Clifton
2011-04-12 1:08 ` Hans-Peter Nilsson
2011-04-12 12:08 ` Joseph S. Myers
2011-04-12 12:14 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.1104261512410.10166@digraph.polyomino.org.uk \
--to=joseph@codesourcery.com \
--cc=aoliva@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=law@redhat.com \
--cc=nickc@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).