diff options
author | Richard Henderson <rth@cygnus.com> | 1999-09-23 05:36:06 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-09-23 05:36:06 -0700 |
commit | aa388f29a30a2fa98275479ee44b9448786f62ed (patch) | |
tree | a97648bf96d707dcaa472fb69d4985af422b600b /gcc | |
parent | 1c0290eaac40944ba6baed8323b74f42ab7f05c9 (diff) | |
download | gcc-aa388f29a30a2fa98275479ee44b9448786f62ed.zip gcc-aa388f29a30a2fa98275479ee44b9448786f62ed.tar.gz gcc-aa388f29a30a2fa98275479ee44b9448786f62ed.tar.bz2 |
builtins.c, [...]: Include tm_p.h.
* builtins.c, dbxout.c, varasm.c: Include tm_p.h.
* alpha/alpha.c (print_operand): Fix type of `code'.
(alpha_output_filename): Constify.
* alpha/alpha.h: Move all function declarations ...
* alpha/alpha-protos.h: ... here. New file.
* alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
(SECTION_FUNCTION_TEMPLATE): Likewise.
From-SVN: r29614
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/builtins.c | 1 | ||||
-rw-r--r-- | gcc/config/alpha/alpha-protos.h | 116 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 7 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.h | 66 | ||||
-rw-r--r-- | gcc/config/alpha/elf.h | 40 | ||||
-rw-r--r-- | gcc/dbxout.c | 1 | ||||
-rw-r--r-- | gcc/varasm.c | 2 |
8 files changed, 155 insertions, 89 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 912eee5..1896e34 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +Thu Sep 23 05:32:06 1999 Richard Henderson <rth@cygnus.com> + + * builtins.c, dbxout.c, varasm.c: Include tm_p.h. + + * alpha/alpha.c (print_operand): Fix type of `code'. + (alpha_output_filename): Constify. + * alpha/alpha.h: Move all function declarations ... + * alpha/alpha-protos.h: ... here. New file. + * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function. + (SECTION_FUNCTION_TEMPLATE): Likewise. + Thu Sep 23 11:15:36 1999 Bernd Schmidt <bernds@cygnus.co.uk> * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p. diff --git a/gcc/builtins.c b/gcc/builtins.c index 2d211f9..a5a197e 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA. */ #include "typeclass.h" #include "defaults.h" #include "toplev.h" +#include "tm_p.h" #define CALLED_AS_BUILT_IN(NODE) \ (!strncmp (IDENTIFIER_POINTER (DECL_NAME (NODE)), "__builtin_", 10)) diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h new file mode 100644 index 0000000..1a45d6b --- /dev/null +++ b/gcc/config/alpha/alpha-protos.h @@ -0,0 +1,116 @@ +/* Prototypes for alpha.c functions used in the md file & elsewhere. + Copyright (C) 1999 Free Software Foundation, Inc. + +This file is part of GNU CC. + +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. + +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. + +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. */ + +extern void override_options PROTO ((void)); +extern int zap_mask PROTO ((HOST_WIDE_INT)); +extern int direct_return PROTO ((void)); + +extern int alpha_sa_size PROTO ((void)); +extern int alpha_pv_save_size PROTO ((void)); +extern int alpha_using_fp PROTO ((void)); +extern void alpha_write_verstamp PROTO ((FILE *)); +extern void alpha_expand_prologue PROTO ((void)); +extern void output_end_prologue PROTO ((FILE *)); +extern void alpha_expand_epilogue PROTO ((void)); +extern void alpha_output_filename PROTO ((FILE *, const char *)); +extern void alpha_output_lineno PROTO ((FILE *, int)); + +#ifdef RTX_CODE +extern int reg_or_0_operand PROTO ((rtx, enum machine_mode)); +extern int reg_or_6bit_operand PROTO ((rtx, enum machine_mode)); +extern int reg_or_8bit_operand PROTO ((rtx, enum machine_mode)); +extern int cint8_operand PROTO ((rtx, enum machine_mode)); +extern int add_operand PROTO ((rtx, enum machine_mode)); +extern int sext_add_operand PROTO ((rtx, enum machine_mode)); +extern int const48_operand PROTO ((rtx, enum machine_mode)); +extern int and_operand PROTO ((rtx, enum machine_mode)); +extern int or_operand PROTO ((rtx, enum machine_mode)); +extern int mode_width_operand PROTO ((rtx, enum machine_mode)); +extern int mode_mask_operand PROTO ((rtx, enum machine_mode)); +extern int mul8_operand PROTO ((rtx, enum machine_mode)); +extern int fp0_operand PROTO ((rtx, enum machine_mode)); +extern int reg_or_fp0_operand PROTO ((rtx, enum machine_mode)); +extern int hard_fp_register_operand PROTO ((rtx, enum machine_mode)); +extern int reg_or_cint_operand PROTO ((rtx, enum machine_mode)); +extern int some_operand PROTO ((rtx, enum machine_mode)); +extern int input_operand PROTO ((rtx, enum machine_mode)); +extern int current_file_function_operand PROTO ((rtx, enum machine_mode)); +extern int call_operand PROTO ((rtx, enum machine_mode)); +extern int alpha_comparison_operator PROTO ((rtx, enum machine_mode)); +extern int alpha_swapped_comparison_operator PROTO ((rtx, enum machine_mode)); +extern int signed_comparison_operator PROTO ((rtx, enum machine_mode)); +extern int divmod_operator PROTO ((rtx, enum machine_mode)); +extern int aligned_memory_operand PROTO ((rtx, enum machine_mode)); +extern int unaligned_memory_operand PROTO ((rtx, enum machine_mode)); +extern int reg_or_unaligned_mem_operand PROTO ((rtx, enum machine_mode)); +extern int any_memory_operand PROTO ((rtx, enum machine_mode)); +extern int reg_not_elim_operand PROTO ((rtx, enum machine_mode)); +extern int normal_memory_operand PROTO ((rtx, enum machine_mode)); +extern int reg_no_subreg_operand PROTO ((rtx, enum machine_mode)); + +extern void get_aligned_mem PROTO ((rtx, rtx *, rtx *)); +extern rtx get_unaligned_address PROTO ((rtx, int)); + +extern void alpha_set_memflags PROTO ((rtx, rtx)); +extern rtx alpha_emit_set_const PROTO ((rtx, enum machine_mode, + HOST_WIDE_INT, int)); +extern rtx alpha_emit_set_long_const PROTO ((rtx, HOST_WIDE_INT, + HOST_WIDE_INT)); +extern rtx alpha_emit_conditional_branch PROTO ((enum rtx_code)); +extern rtx alpha_emit_conditional_move PROTO ((rtx, enum machine_mode)); +extern void alpha_expand_unaligned_load PROTO ((rtx, rtx, HOST_WIDE_INT, + HOST_WIDE_INT, int)); +extern void alpha_expand_unaligned_store PROTO ((rtx, rtx, HOST_WIDE_INT, + HOST_WIDE_INT)); +extern int alpha_expand_block_move PROTO ((rtx [])); +extern int alpha_expand_block_clear PROTO ((rtx [])); +extern int alpha_adjust_cost PROTO ((rtx, rtx, rtx, int)); +extern rtx alpha_return_addr PROTO ((int, rtx)); +extern void print_operand PROTO ((FILE *, rtx, int)); +extern void print_operand_address PROTO ((FILE *, rtx)); +extern void alpha_initialize_trampoline PROTO ((rtx, rtx, rtx, int, int, int)); +extern void alpha_reorg PROTO ((rtx)); +#endif /* RTX_CODE */ + +#ifdef REAL_VALUE_TYPE +extern int check_float_value PROTO ((enum machine_mode, + REAL_VALUE_TYPE *, int)); +#endif + +#if OPEN_VMS +#ifdef HAVE_MACHINE_MODES +extern enum avms_arg_type alpha_arg_type PROTO ((enum machine_mode)); +#endif +extern rtx alpha_arg_info_reg_val PROTO ((CUMULATIVE_ARGS)); +extern void alpha_write_linkage PROTO ((FILE *)); +#endif /* OPEN_VMS */ + +extern void alpha_need_linkage PROTO ((char *, int)); + +#ifdef TREE_CODE +extern tree alpha_build_va_list PROTO ((void)); +#ifdef RTX_CODE +extern void alpha_va_start PROTO ((int, tree, rtx)); +extern rtx alpha_va_arg PROTO ((tree, tree)); +#endif +extern int vms_valid_decl_attribute_p PROTO ((tree, tree, tree, tree)); +extern void alpha_start_function PROTO ((FILE *, char *, tree)); +extern void alpha_end_function PROTO ((FILE *, char *, tree)); +#endif /* TREE CODE */ diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index fbc1ebc..36cd207 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -41,6 +41,7 @@ Boston, MA 02111-1307, USA. */ #include "function.h" #include "toplev.h" #include "ggc.h" +#include "tm_p.h" /* External data. */ extern char *version_string; @@ -2642,7 +2643,7 @@ void print_operand (file, x, code) FILE *file; rtx x; - char code; + int code; { int i; @@ -4149,7 +4150,7 @@ long alpha_auto_offset; void alpha_output_filename (stream, name) FILE *stream; - char *name; + const char *name; { static int first_time = TRUE; char ltext_label_name[100]; @@ -5186,7 +5187,7 @@ alpha_arg_type (mode) /* Return an rtx for an integer representing the VMS Argument Information register value. */ -struct rtx_def * +rtx alpha_arg_info_reg_val (cum) CUMULATIVE_ARGS cum; { diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 98eb40e..a894969 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -351,7 +351,6 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */ On the Alpha, it is used to translate target-option strings into numeric values. */ -extern void override_options (); #define OVERRIDE_OPTIONS override_options () @@ -795,7 +794,6 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS, : (C) == 'S' ? (GET_CODE (OP) == CONST_INT \ && (unsigned HOST_WIDE_INT) INTVAL (OP) < 64) \ : 0) -extern int normal_memory_operand (); /* Given an rtx X being reloaded into a reg required to be in class CLASS, return the class of reg to actually use. @@ -1188,10 +1186,6 @@ extern int alpha_memory_latency; where the output has been placed if it can be done and the insns have been emitted. If it would take more than N insns, zero is returned and no insns and emitted. */ -extern struct rtx_def *alpha_emit_set_const (); -extern struct rtx_def *alpha_emit_set_long_const (); -extern struct rtx_def *alpha_emit_conditional_branch (); -extern struct rtx_def *alpha_emit_conditional_move (); /* Define the information needed to generate branch and scc insns. This is stored from the compare operation. Note that we can't use "rtx" here @@ -1218,7 +1212,6 @@ struct machine_function /* Make (or fake) .linkage entry for function call. IS_LOCAL is 0 if name is used in call, 1 if name is used in definition. */ -extern void alpha_need_linkage (); /* This macro defines the start of an assembly comment. */ @@ -1228,18 +1221,15 @@ extern void alpha_need_linkage (); #define ASM_DECLARE_FUNCTION_NAME(FILE,NAME,DECL) \ alpha_start_function(FILE,NAME,DECL); -extern void alpha_start_function (); /* This macro closes up a function definition for the assembler. */ #define ASM_DECLARE_FUNCTION_SIZE(FILE,NAME,DECL) \ alpha_end_function(FILE,NAME,DECL) -extern void alpha_end_function (); /* This macro notes the end of the prologue. */ #define FUNCTION_END_PROLOGUE(FILE) output_end_prologue (FILE) -extern void output_end_prologue (); /* Output any profiling code before the prologue. */ @@ -1327,7 +1317,6 @@ do { \ #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ alpha_initialize_trampoline (TRAMP, FNADDR, CXT, 16, 24, 8) -extern void alpha_initialize_trampoline (); /* A C expression whose value is RTL representing the value of the return address for the frame COUNT steps up from the current frame. @@ -1335,7 +1324,6 @@ extern void alpha_initialize_trampoline (); the COUNT-1 frame if RETURN_ADDR_IN_PREVIOUS_FRAME is defined. */ #define RETURN_ADDR_RTX alpha_return_addr -extern struct rtx_def *alpha_return_addr (); /* Before the prologue, RA lives in $26. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, 26) @@ -2401,11 +2389,9 @@ extern long alpha_auto_offset; #define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \ alpha_output_lineno (STREAM, LINE) -extern void alpha_output_lineno (); #define ASM_OUTPUT_SOURCE_FILENAME(STREAM, NAME) \ alpha_output_filename (STREAM, NAME) -extern void alpha_output_filename (); /* mips-tfile.c limits us to strings of one page. We must underestimate this number, because the real length runs past this up to the next @@ -2514,55 +2500,3 @@ do { \ /* The system headers under Alpha systems are generally C++-aware. */ #define NO_IMPLICIT_EXTERN_C - -/* Prototypes for alpha.c functions used in the md file & elsewhere. */ -extern struct rtx_def *get_unaligned_address (); -extern void alpha_write_verstamp (); -extern void alpha_reorg (); -extern int check_float_value (); -extern int direct_return (); -extern int const48_operand (); -extern int add_operand (); -extern int and_operand (); -extern int unaligned_memory_operand (); -extern int zap_mask (); -extern int current_file_function_operand (); -extern int alpha_sa_size (); -extern int alpha_adjust_cost (); -extern void print_operand (); -extern void print_operand_address (); -extern int reg_or_0_operand (); -extern int reg_or_8bit_operand (); -extern int mul8_operand (); -extern int reg_or_6bit_operand (); -extern int alpha_comparison_operator (); -extern int alpha_swapped_comparison_operator (); -extern int sext_add_operand (); -extern int cint8_operand (); -extern int mode_mask_operand (); -extern int or_operand (); -extern int mode_width_operand (); -extern int reg_or_fp0_operand (); -extern int signed_comparison_operator (); -extern int fp0_operand (); -extern int some_operand (); -extern int input_operand (); -extern int divmod_operator (); -extern int call_operand (); -extern int reg_or_cint_operand (); -extern int hard_fp_register_operand (); -extern int reg_not_elim_operand (); -extern int normal_memory_operand (); -extern int reg_no_subreg_operand (); -extern void alpha_set_memflags (); -extern int aligned_memory_operand (); -extern void get_aligned_mem (); -extern void alpha_expand_unaligned_load (); -extern void alpha_expand_unaligned_store (); -extern int alpha_expand_block_move (); -extern int alpha_expand_block_clear (); -extern void alpha_expand_prologue (); -extern void alpha_expand_epilogue (); -extern union tree_node *alpha_build_va_list (); -extern void alpha_va_start (); -extern struct rtx_def *alpha_va_arg (); diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h index 0765c87..a4e1acc 100644 --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h @@ -270,27 +270,29 @@ do { \ extern void text_section (); -#define CONST_SECTION_FUNCTION \ -void \ -const_section () \ -{ \ - if (!USE_CONST_SECTION) \ - text_section(); \ - else if (in_section != in_const) \ - { \ - fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); \ - in_section = in_const; \ - } \ +#define CONST_SECTION_FUNCTION \ +void const_section PROTO ((void)); \ +void \ +const_section () \ +{ \ + if (!USE_CONST_SECTION) \ + text_section(); \ + else if (in_section != in_const) \ + { \ + fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); \ + in_section = in_const; \ + } \ } -#define SECTION_FUNCTION_TEMPLATE(FN, ENUM, OP) \ -void FN () \ -{ \ - if (in_section != ENUM) \ - { \ - fprintf (asm_out_file, "%s\n", OP); \ - in_section = ENUM; \ - } \ +#define SECTION_FUNCTION_TEMPLATE(FN, ENUM, OP) \ +void FN PROTO ((void)); \ +void FN () \ +{ \ + if (in_section != ENUM) \ + { \ + fprintf (asm_out_file, "%s\n", OP); \ + in_section = ENUM; \ + } \ } diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 6dd2f30..3ed9c4b 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -80,6 +80,7 @@ Boston, MA 02111-1307, USA. */ #include "output.h" /* ASM_OUTPUT_SOURCE_LINE may refer to sdb functions. */ #include "dbxout.h" #include "toplev.h" +#include "tm_p.h" #ifdef XCOFF_DEBUGGING_INFO #include "xcoffout.h" diff --git a/gcc/varasm.c b/gcc/varasm.c index cf56a09..d8559d4 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -42,10 +42,10 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "dbxout.h" #include "sdbout.h" - #include "obstack.h" #include "c-pragma.h" #include "ggc.h" +#include "tm_p.h" #ifdef XCOFF_DEBUGGING_INFO #include "xcoffout.h" |