OSDN Git Service

* config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
[pf3gnuchains/gcc-fork.git] / gcc / config / mcore / mcore-protos.h
index f985de4..93c7c11 100644 (file)
 /* Prototypes for exported functions defined in mcore.c
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007
+   Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
-This file is part of GNU CC.
+   This file is part of GCC.
 
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
 
-extern const char * mcore_output_jump_label_table      PARAMS ((void));
-extern void         mcore_expand_prolog                PARAMS ((void));
-extern void         mcore_expand_epilog                PARAMS ((void));
-extern int          mcore_const_ok_for_inline          PARAMS ((long));
-extern int          mcore_num_ones                     PARAMS ((int));
-extern int          mcore_num_zeros                    PARAMS ((int));
-extern int          mcore_initial_elimination_offset   PARAMS ((int, int));
-extern int          mcore_byte_offset                  PARAMS ((unsigned int));
-extern int          mcore_halfword_offset              PARAMS ((unsigned int));
-extern int          mcore_const_trick_uses_not         PARAMS ((long));
-extern void         mcore_override_options             PARAMS ((void));
-extern int          mcore_dllexport_name_p             PARAMS ((const char *));
-extern int          mcore_dllimport_name_p             PARAMS ((const char *));
-extern int          mcore_naked_function_p             PARAMS ((void));
+extern const char * mcore_output_jump_label_table      (void);
+extern void         mcore_expand_prolog                (void);
+extern void         mcore_expand_epilog                (void);
+extern int          mcore_const_ok_for_inline          (HOST_WIDE_INT);
+extern int          mcore_num_ones                     (HOST_WIDE_INT);
+extern int          mcore_num_zeros                    (HOST_WIDE_INT);
+extern int          mcore_initial_elimination_offset   (int, int);
+extern int          mcore_byte_offset                  (unsigned int);
+extern int          mcore_halfword_offset              (unsigned int);
+extern int          mcore_const_trick_uses_not         (HOST_WIDE_INT);
+extern void         mcore_override_options             (void);
+extern int          mcore_dllexport_name_p             (const char *);
+extern int          mcore_dllimport_name_p             (const char *);
+extern int          mcore_naked_function_p             (void);
 
 #ifdef TREE_CODE
 #ifdef HAVE_MACHINE_MODES
-extern int          mcore_function_arg_partial_nregs   PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int));
-extern void         mcore_setup_incoming_varargs       PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int *));
-extern int          mcore_num_arg_regs                 PARAMS ((enum machine_mode, tree));
-extern int          mcore_must_pass_on_stack           PARAMS ((enum machine_mode, tree));
+extern int          mcore_num_arg_regs                 (enum machine_mode, const_tree);
 #endif /* HAVE_MACHINE_MODES */
 
 #ifdef RTX_CODE
-extern rtx          mcore_function_value               PARAMS ((tree, tree));
+extern rtx          mcore_function_value               (const_tree, const_tree);
 #endif /* RTX_CODE */
 #endif /* TREE_CODE */
 
 #ifdef RTX_CODE
 
-extern rtx arch_compare_op0;
-extern rtx arch_compare_op1;
+extern GTY(()) rtx arch_compare_op0;
+extern GTY(()) rtx arch_compare_op1;
 
-extern const char * mcore_output_bclri                         PARAMS ((rtx, int));
-extern const char * mcore_output_bseti                         PARAMS ((rtx, int));
-extern const char * mcore_output_cmov                          PARAMS ((rtx *, int, const char *));
-extern char *       mcore_output_call                          PARAMS ((rtx *, int));
-extern int          mcore_is_dead                      PARAMS ((rtx, rtx));
-extern int          mcore_expand_insv                  PARAMS ((rtx *));
-extern int          mcore_modify_comparison            PARAMS ((RTX_CODE));
-extern void         mcore_expand_block_move            PARAMS ((rtx, rtx, rtx *));
-extern void         mcore_dependent_reorg              PARAMS ((rtx));
-extern int          mcore_const_costs                  PARAMS ((rtx, RTX_CODE));
-extern int          mcore_and_cost                     PARAMS ((rtx));
-extern int          mcore_ior_cost                     PARAMS ((rtx));
-extern const char * mcore_output_andn                          PARAMS ((rtx, rtx *));
-extern void         mcore_print_operand_address        PARAMS ((FILE *, rtx));
-extern void         mcore_print_operand                PARAMS ((FILE *, rtx, int));
-extern rtx          mcore_gen_compare_reg              PARAMS ((RTX_CODE));
-extern int          mcore_symbolic_address_p           PARAMS ((rtx));
-extern enum reg_class mcore_reload_class               PARAMS ((rtx, enum reg_class));
-extern int          mcore_is_same_reg                  PARAMS ((rtx, rtx));
-extern int          mcore_arith_S_operand              PARAMS ((rtx));
+extern const char * mcore_output_bclri                         (rtx, int);
+extern const char * mcore_output_bseti                         (rtx, int);
+extern const char * mcore_output_cmov                          (rtx *, int, const char *);
+extern char *       mcore_output_call                          (rtx *, int);
+extern int          mcore_is_dead                      (rtx, rtx);
+extern int          mcore_expand_insv                  (rtx *);
+extern int          mcore_modify_comparison            (RTX_CODE);
+extern bool         mcore_expand_block_move            (rtx *);
+extern const char * mcore_output_andn                          (rtx, rtx *);
+extern void         mcore_print_operand_address        (FILE *, rtx);
+extern void         mcore_print_operand                (FILE *, rtx, int);
+extern rtx          mcore_gen_compare_reg              (RTX_CODE);
+extern int          mcore_symbolic_address_p           (rtx);
+extern bool         mcore_r15_operand_p                        (rtx);
+extern enum reg_class mcore_secondary_reload_class     (enum reg_class, enum machine_mode, rtx);
+extern enum reg_class mcore_reload_class               (rtx, enum reg_class);
+extern int          mcore_is_same_reg                  (rtx, rtx);
+extern int          mcore_arith_S_operand              (rtx);
 
 #ifdef HAVE_MACHINE_MODES
-extern const char * mcore_output_move                          PARAMS ((rtx, rtx *, enum machine_mode));
-extern const char * mcore_output_movedouble                    PARAMS ((rtx *, enum machine_mode));
-extern const char * mcore_output_inline_const_forced   PARAMS ((rtx, rtx *, enum machine_mode));
-extern int          mcore_arith_reg_operand            PARAMS ((rtx, enum machine_mode));
-extern int          mcore_general_movsrc_operand       PARAMS ((rtx, enum machine_mode));
-extern int          mcore_general_movdst_operand       PARAMS ((rtx, enum machine_mode));
-extern int          mcore_reload_operand               PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_J_operand              PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_K_operand              PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_K_operand_not_0        PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_M_operand              PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_K_S_operand            PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_imm_operand            PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_any_imm_operand        PARAMS ((rtx, enum machine_mode));
-extern int          mcore_arith_O_operand              PARAMS ((rtx, enum machine_mode));
-extern int          mcore_literal_K_operand            PARAMS ((rtx, enum machine_mode));
-extern int          mcore_addsub_operand               PARAMS ((rtx, enum machine_mode));
-extern int          mcore_compare_operand              PARAMS ((rtx, enum machine_mode));
-extern int          mcore_load_multiple_operation      PARAMS ((rtx, enum machine_mode));
-extern int          mcore_store_multiple_operation     PARAMS ((rtx, enum machine_mode));
-extern int          mcore_call_address_operand         PARAMS ((rtx, enum machine_mode));
-
+extern const char * mcore_output_move                          (rtx, rtx *, enum machine_mode);
+extern const char * mcore_output_movedouble                    (rtx *, enum machine_mode);
+extern int          const_ok_for_mcore                  (HOST_WIDE_INT);
 #ifdef TREE_CODE
-extern rtx          mcore_function_arg                 PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int));
+extern rtx          mcore_function_arg                 (CUMULATIVE_ARGS, enum machine_mode, tree, int);
 #endif /* TREE_CODE */
 #endif /* HAVE_MACHINE_MODES */
 #endif /* RTX_CODE */