public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Guenther <richard.guenther@gmail.com>
To: "Joseph S. Myers" <joseph@codesourcery.com>
Cc: gcc-patches@gcc.gnu.org, nickc@redhat.com, law@redhat.com,
		aoliva@redhat.com
Subject: Re: Ping^4 Re: Target header etc. cleanup patch
Date: Mon, 02 May 2011 15:27:00 -0000	[thread overview]
Message-ID: <BANLkTikKAbj=M4JyHuiJJhX-LpGt_uHWig@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1105021513130.18768@digraph.polyomino.org.uk>

On Mon, May 2, 2011 at 5:21 PM, Joseph S. Myers <joseph@codesourcery.com> wrote:
> Ping^4.  Parts of this patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00130.html> are still
> pending review, for targets fr30, m32r, mn10300, rx, v850 (target
> maintainers CC:ed).  This version applies cleanly to current trunk.
>
> I have seen no comments from the mn10300 maintainers.  For the other
> targets, Nick wanted to keep abbreviations for certain types
> <http://gcc.gnu.org/ml/gcc-patches/2011-04/msg02047.html> and no-one else
> has commented on that issue, though as I noted in
> <http://gcc.gnu.org/ml/gcc-patches/2011-04/msg02048.html> I think
> abbreviating const char * is actively bad.  Cstar - defined for mn10300,
> whose maintainers haven't commented - is also the macro I care most about
> getting rid of in what's left of this patch, as it's the one that shows up
> as a false positive in my target macro listing script (the point of the
> original patch was to get rid of several such false positives, plus making
> related cleanups that showed up in the process).

Ok except for the changes the target maintainer objects to.  I do agree
with Joseph and if another maintainer also says Ok I think we should
overrule him.

Thanks,
Richard.

> 2011-05-02  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/fr30/fr30-protos.h (Mmode): 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.
>
> Index: gcc/config/m32r/m32r-protos.h
> ===================================================================
> --- gcc/config/m32r/m32r-protos.h       (revision 173254)
> +++ gcc/config/m32r/m32r-protos.h       (working copy)
> @@ -21,7 +21,6 @@
>
>  /* 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);
> @@ -52,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 173254)
> +++ 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
> -
>  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 173254)
> +++ 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-protos.h
> ===================================================================
> --- gcc/config/fr30/fr30-protos.h       (revision 173254)
> +++ 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 173254)
> +++ 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-protos.h
> ===================================================================
> --- gcc/config/v850/v850-protos.h       (revision 173254)
> +++ 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
>

  reply	other threads:[~2011-05-02 15:27 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     ` Ping^3 " Joseph S. Myers
2011-04-26 16:32       ` 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 [this message]
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='BANLkTikKAbj=M4JyHuiJJhX-LpGt_uHWig@mail.gmail.com' \
    --to=richard.guenther@gmail.com \
    --cc=aoliva@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    --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).