This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch: some more PROTO->PARAMS installed part [2/2]
- To: egcs-patches at egcs dot cygnus dot com
- Subject: Patch: some more PROTO->PARAMS installed part [2/2]
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Fri, 14 Jan 2000 14:11:39 -0500 (EST)
Index: final.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/final.c,v
retrieving revision 1.106
diff -u -p -r1.106 final.c
--- final.c 2000/01/10 23:48:01 1.106
+++ final.c 2000/01/14 17:11:53
@@ -290,27 +290,27 @@ static struct bb_str **sbb_tail = &sbb_h
static int sbb_label_num = 0; /* Last label used */
#ifdef HAVE_ATTR_length
-static int asm_insn_count PROTO((rtx));
+static int asm_insn_count PARAMS ((rtx));
#endif
-static void profile_function PROTO((FILE *));
-static void profile_after_prologue PROTO((FILE *));
-static void add_bb PROTO((FILE *));
-static int add_bb_string PROTO((const char *, int));
-static void output_source_line PROTO((FILE *, rtx));
-static rtx walk_alter_subreg PROTO((rtx));
-static void output_asm_name PROTO((void));
-static void output_operand PROTO((rtx, int));
+static void profile_function PARAMS ((FILE *));
+static void profile_after_prologue PARAMS ((FILE *));
+static void add_bb PARAMS ((FILE *));
+static int add_bb_string PARAMS ((const char *, int));
+static void output_source_line PARAMS ((FILE *, rtx));
+static rtx walk_alter_subreg PARAMS ((rtx));
+static void output_asm_name PARAMS ((void));
+static void output_operand PARAMS ((rtx, int));
#ifdef LEAF_REGISTERS
-static void leaf_renumber_regs PROTO((rtx));
+static void leaf_renumber_regs PARAMS ((rtx));
#endif
#ifdef HAVE_cc0
-static int alter_cond PROTO((rtx));
+static int alter_cond PARAMS ((rtx));
#endif
#ifndef ADDR_VEC_ALIGN
-static int final_addr_vec_align PROTO ((rtx));
+static int final_addr_vec_align PARAMS ((rtx));
#endif
#ifdef HAVE_ATTR_length
-static int align_fuzz PROTO ((rtx, rtx, int, unsigned));
+static int align_fuzz PARAMS ((rtx, rtx, int, unsigned));
#endif
/* Initialize data in final at the beginning of a compilation. */
@@ -3726,7 +3726,7 @@ output_addr_const (file, x)
We handle alternate assembler dialects here, just like output_asm_insn. */
void
-asm_fprintf VPROTO((FILE *file, const char *p, ...))
+asm_fprintf VPARAMS ((FILE *file, const char *p, ...))
{
#ifndef ANSI_PROTOTYPES
FILE *file;
Index: fix-header.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/fix-header.c,v
retrieving revision 1.31
diff -u -p -r1.31 fix-header.c
--- fix-header.c 1999/11/03 20:40:32 1.31
+++ fix-header.c 2000/01/14 17:11:54
@@ -1,5 +1,5 @@
/* fix-header.c - Make C header file suitable for C++.
- Copyright (C) 1993, 94-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1993, 94-99, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -77,8 +77,8 @@ Foundation, 59 Temple Place - Suite 330,
#include "cpplib.h"
#include "cpphash.h"
-static void v_fatal PROTO ((const char *, va_list)) ATTRIBUTE_NORETURN;
-static void fatal PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+static void v_fatal PARAMS ((const char *, va_list)) ATTRIBUTE_NORETURN;
+static void fatal PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
sstring buf;
@@ -187,17 +187,17 @@ struct symbol_list {
struct symbol_list symbol_table[SYMBOL_TABLE_SIZE];
int cur_symbol_table_size;
-static void add_symbols PROTO ((symbol_flags, namelist));
-static struct fn_decl *lookup_std_proto PROTO ((const char *, int));
-static void write_lbrac PROTO ((void));
-static void recognized_macro PROTO ((const char *));
-static void check_macro_names PROTO ((cpp_reader *, namelist));
-static void read_scan_file PROTO ((char *, int, char **));
-static void write_rbrac PROTO ((void));
-static int inf_skip_spaces PROTO ((int));
-static int inf_read_upto PROTO ((sstring *, int));
-static int inf_scan_ident PROTO ((sstring *, int));
-static int check_protection PROTO ((int *, int *));
+static void add_symbols PARAMS ((symbol_flags, namelist));
+static struct fn_decl *lookup_std_proto PARAMS ((const char *, int));
+static void write_lbrac PARAMS ((void));
+static void recognized_macro PARAMS ((const char *));
+static void check_macro_names PARAMS ((cpp_reader *, namelist));
+static void read_scan_file PARAMS ((char *, int, char **));
+static void write_rbrac PARAMS ((void));
+static int inf_skip_spaces PARAMS ((int));
+static int inf_read_upto PARAMS ((sstring *, int));
+static int inf_scan_ident PARAMS ((sstring *, int));
+static int check_protection PARAMS ((int *, int *));
static void
add_symbols (flags, names)
@@ -1062,7 +1062,7 @@ check_protection (ifndef_line, endif_lin
return 1;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -1320,7 +1320,7 @@ v_fatal (str, ap)
}
static void
-fatal VPROTO ((const char *str, ...))
+fatal VPARAMS ((const char *str, ...))
{
#ifndef ANSI_PROTOTYPES
const char *str;
Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.204
diff -u -p -r1.204 flow.c
--- flow.c 2000/01/14 11:21:22 1.204
+++ flow.c 2000/01/14 17:12:02
@@ -1,5 +1,5 @@
/* Data flow analysis for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -280,92 +280,92 @@ static rtx label_value_list;
static bitmap uid_volatile;
/* Forward declarations */
-static int count_basic_blocks PROTO((rtx));
-static rtx find_basic_blocks_1 PROTO((rtx));
-static void create_basic_block PROTO((int, rtx, rtx, rtx));
-static void clear_edges PROTO((void));
-static void make_edges PROTO((rtx));
-static void make_edge PROTO((sbitmap *, basic_block,
- basic_block, int));
-static void make_label_edge PROTO((sbitmap *, basic_block,
- rtx, int));
-static void make_eh_edge PROTO((sbitmap *, eh_nesting_info *,
- basic_block, rtx, int));
-static void mark_critical_edges PROTO((void));
-static void move_stray_eh_region_notes PROTO((void));
-static void record_active_eh_regions PROTO((rtx));
-
-static void commit_one_edge_insertion PROTO((edge));
-
-static void delete_unreachable_blocks PROTO((void));
-static void delete_eh_regions PROTO((void));
-static int can_delete_note_p PROTO((rtx));
-static int delete_block PROTO((basic_block));
-static void expunge_block PROTO((basic_block));
-static rtx flow_delete_insn PROTO((rtx));
-static int can_delete_label_p PROTO((rtx));
-static int merge_blocks_move_predecessor_nojumps PROTO((basic_block,
+static int count_basic_blocks PARAMS ((rtx));
+static rtx find_basic_blocks_1 PARAMS ((rtx));
+static void create_basic_block PARAMS ((int, rtx, rtx, rtx));
+static void clear_edges PARAMS ((void));
+static void make_edges PARAMS ((rtx));
+static void make_edge PARAMS ((sbitmap *, basic_block,
+ basic_block, int));
+static void make_label_edge PARAMS ((sbitmap *, basic_block,
+ rtx, int));
+static void make_eh_edge PARAMS ((sbitmap *, eh_nesting_info *,
+ basic_block, rtx, int));
+static void mark_critical_edges PARAMS ((void));
+static void move_stray_eh_region_notes PARAMS ((void));
+static void record_active_eh_regions PARAMS ((rtx));
+
+static void commit_one_edge_insertion PARAMS ((edge));
+
+static void delete_unreachable_blocks PARAMS ((void));
+static void delete_eh_regions PARAMS ((void));
+static int can_delete_note_p PARAMS ((rtx));
+static int delete_block PARAMS ((basic_block));
+static void expunge_block PARAMS ((basic_block));
+static rtx flow_delete_insn PARAMS ((rtx));
+static int can_delete_label_p PARAMS ((rtx));
+static int merge_blocks_move_predecessor_nojumps PARAMS ((basic_block,
+ basic_block));
+static int merge_blocks_move_successor_nojumps PARAMS ((basic_block,
basic_block));
-static int merge_blocks_move_successor_nojumps PROTO((basic_block,
- basic_block));
-static void merge_blocks_nomove PROTO((basic_block, basic_block));
-static int merge_blocks PROTO((edge,basic_block,basic_block));
-static void try_merge_blocks PROTO((void));
-static void tidy_fallthru_edge PROTO((edge,basic_block,basic_block));
-
-static int verify_wide_reg_1 PROTO((rtx *, void *));
-static void verify_wide_reg PROTO((int, rtx, rtx));
-static void verify_local_live_at_start PROTO((regset, basic_block));
-static int set_noop_p PROTO((rtx));
-static int noop_move_p PROTO((rtx));
-static void notice_stack_pointer_modification PROTO ((rtx, rtx, void *));
-static void record_volatile_insns PROTO((rtx));
-static void mark_reg PROTO((regset, rtx));
-static void mark_regs_live_at_end PROTO((regset));
-static void life_analysis_1 PROTO((rtx, int, int));
-static void calculate_global_regs_live PROTO((sbitmap, sbitmap, int));
-static void propagate_block PROTO((regset, rtx, rtx,
- regset, int, int));
-static int insn_dead_p PROTO((rtx, regset, int, rtx));
-static int libcall_dead_p PROTO((rtx, regset, rtx, rtx));
-static void mark_set_regs PROTO((regset, regset, rtx,
- rtx, regset, int));
-static void mark_set_1 PROTO((regset, regset, rtx,
- rtx, regset, int));
+static void merge_blocks_nomove PARAMS ((basic_block, basic_block));
+static int merge_blocks PARAMS ((edge,basic_block,basic_block));
+static void try_merge_blocks PARAMS ((void));
+static void tidy_fallthru_edge PARAMS ((edge,basic_block,basic_block));
+
+static int verify_wide_reg_1 PARAMS ((rtx *, void *));
+static void verify_wide_reg PARAMS ((int, rtx, rtx));
+static void verify_local_live_at_start PARAMS ((regset, basic_block));
+static int set_noop_p PARAMS ((rtx));
+static int noop_move_p PARAMS ((rtx));
+static void notice_stack_pointer_modification PARAMS ((rtx, rtx, void *));
+static void record_volatile_insns PARAMS ((rtx));
+static void mark_reg PARAMS ((regset, rtx));
+static void mark_regs_live_at_end PARAMS ((regset));
+static void life_analysis_1 PARAMS ((rtx, int, int));
+static void calculate_global_regs_live PARAMS ((sbitmap, sbitmap, int));
+static void propagate_block PARAMS ((regset, rtx, rtx,
+ regset, int, int));
+static int insn_dead_p PARAMS ((rtx, regset, int, rtx));
+static int libcall_dead_p PARAMS ((rtx, regset, rtx, rtx));
+static void mark_set_regs PARAMS ((regset, regset, rtx,
+ rtx, regset, int));
+static void mark_set_1 PARAMS ((regset, regset, rtx,
+ rtx, regset, int));
#ifdef AUTO_INC_DEC
-static void find_auto_inc PROTO((regset, rtx, rtx));
-static int try_pre_increment_1 PROTO((rtx));
-static int try_pre_increment PROTO((rtx, rtx, HOST_WIDE_INT));
+static void find_auto_inc PARAMS ((regset, rtx, rtx));
+static int try_pre_increment_1 PARAMS ((rtx));
+static int try_pre_increment PARAMS ((rtx, rtx, HOST_WIDE_INT));
#endif
-static void mark_used_regs PROTO((regset, regset, rtx, int, rtx));
-void dump_flow_info PROTO((FILE *));
-void debug_flow_info PROTO((void));
-static void dump_edge_info PROTO((FILE *, edge, int));
-
-static void count_reg_sets_1 PROTO ((rtx));
-static void count_reg_sets PROTO ((rtx));
-static void count_reg_references PROTO ((rtx));
-static void invalidate_mems_from_autoinc PROTO ((rtx));
-static void remove_edge PROTO ((edge));
-static void remove_fake_successors PROTO ((basic_block));
-static void flow_nodes_print PROTO ((const char *, const sbitmap, FILE *));
-static void flow_exits_print PROTO ((const char *, const edge *, int, FILE *));
-static void flow_loops_cfg_dump PROTO ((const struct loops *, FILE *));
-static int flow_loop_nested_p PROTO ((struct loop *, struct loop *));
-static int flow_loop_exits_find PROTO ((const sbitmap, edge **));
-static int flow_loop_nodes_find PROTO ((basic_block, basic_block, sbitmap));
-static int flow_depth_first_order_compute PROTO ((int *));
-static basic_block flow_loop_pre_header_find PROTO ((basic_block, const sbitmap *));
-static void flow_loop_tree_node_add PROTO ((struct loop *, struct loop *));
-static void flow_loops_tree_build PROTO ((struct loops *));
-static int flow_loop_level_compute PROTO ((struct loop *, int));
-static int flow_loops_level_compute PROTO ((struct loops *));
+static void mark_used_regs PARAMS ((regset, regset, rtx, int, rtx));
+void dump_flow_info PARAMS ((FILE *));
+void debug_flow_info PARAMS ((void));
+static void dump_edge_info PARAMS ((FILE *, edge, int));
+
+static void count_reg_sets_1 PARAMS ((rtx));
+static void count_reg_sets PARAMS ((rtx));
+static void count_reg_references PARAMS ((rtx));
+static void invalidate_mems_from_autoinc PARAMS ((rtx));
+static void remove_edge PARAMS ((edge));
+static void remove_fake_successors PARAMS ((basic_block));
+static void flow_nodes_print PARAMS ((const char *, const sbitmap, FILE *));
+static void flow_exits_print PARAMS ((const char *, const edge *, int, FILE *));
+static void flow_loops_cfg_dump PARAMS ((const struct loops *, FILE *));
+static int flow_loop_nested_p PARAMS ((struct loop *, struct loop *));
+static int flow_loop_exits_find PARAMS ((const sbitmap, edge **));
+static int flow_loop_nodes_find PARAMS ((basic_block, basic_block, sbitmap));
+static int flow_depth_first_order_compute PARAMS ((int *));
+static basic_block flow_loop_pre_header_find PARAMS ((basic_block, const sbitmap *));
+static void flow_loop_tree_node_add PARAMS ((struct loop *, struct loop *));
+static void flow_loops_tree_build PARAMS ((struct loops *));
+static int flow_loop_level_compute PARAMS ((struct loop *, int));
+static int flow_loops_level_compute PARAMS ((struct loops *));
/* This function is always defined so it can be called from the
debugger, and it is declared extern so we don't get warnings about
it being unused. */
-void verify_flow_info PROTO ((void));
-int flow_loop_outside_edge_p PROTO ((const struct loop *, edge));
+void verify_flow_info PARAMS ((void));
+int flow_loop_outside_edge_p PARAMS ((const struct loop *, edge));
/* Find basic blocks of the current function.
F is the first insn of the function and NREGS the number of register
Index: fold-const.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/fold-const.c,v
retrieving revision 1.100
diff -u -p -r1.100 fold-const.c
--- fold-const.c 2000/01/10 23:48:01 1.100
+++ fold-const.c 2000/01/14 17:12:07
@@ -1,5 +1,5 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987, 88, 92-98, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -52,56 +52,56 @@ Boston, MA 02111-1307, USA. */
#include "toplev.h"
#include "ggc.h"
-static void encode PROTO((HOST_WIDE_INT *,
- HOST_WIDE_INT, HOST_WIDE_INT));
-static void decode PROTO((HOST_WIDE_INT *,
- HOST_WIDE_INT *, HOST_WIDE_INT *));
-int div_and_round_double PROTO((enum tree_code, int, HOST_WIDE_INT,
- HOST_WIDE_INT, HOST_WIDE_INT,
- HOST_WIDE_INT, HOST_WIDE_INT *,
- HOST_WIDE_INT *, HOST_WIDE_INT *,
- HOST_WIDE_INT *));
-static tree negate_expr PROTO((tree));
-static tree split_tree PROTO((tree, enum tree_code, tree *, tree *,
- int));
-static tree associate_trees PROTO((tree, tree, enum tree_code, tree));
-static tree int_const_binop PROTO((enum tree_code, tree, tree, int, int));
-static void const_binop_1 PROTO((PTR));
-static tree const_binop PROTO((enum tree_code, tree, tree, int));
-static void fold_convert_1 PROTO((PTR));
-static tree fold_convert PROTO((tree, tree));
-static enum tree_code invert_tree_comparison PROTO((enum tree_code));
-static enum tree_code swap_tree_comparison PROTO((enum tree_code));
-static int truth_value_p PROTO((enum tree_code));
-static int operand_equal_for_comparison_p PROTO((tree, tree, tree));
-static int twoval_comparison_p PROTO((tree, tree *, tree *, int *));
-static tree eval_subst PROTO((tree, tree, tree, tree, tree));
-static tree omit_one_operand PROTO((tree, tree, tree));
-static tree pedantic_omit_one_operand PROTO((tree, tree, tree));
-static tree distribute_bit_expr PROTO((enum tree_code, tree, tree, tree));
-static tree make_bit_field_ref PROTO((tree, tree, int, int, int));
-static tree optimize_bit_field_compare PROTO((enum tree_code, tree,
- tree, tree));
-static tree decode_field_reference PROTO((tree, int *, int *,
- enum machine_mode *, int *,
- int *, tree *, tree *));
-static int all_ones_mask_p PROTO((tree, int));
-static int simple_operand_p PROTO((tree));
-static tree range_binop PROTO((enum tree_code, tree, tree, int,
- tree, int));
-static tree make_range PROTO((tree, int *, tree *, tree *));
-static tree build_range_check PROTO((tree, tree, int, tree, tree));
-static int merge_ranges PROTO((int *, tree *, tree *, int, tree, tree,
+static void encode PARAMS ((HOST_WIDE_INT *,
+ HOST_WIDE_INT, HOST_WIDE_INT));
+static void decode PARAMS ((HOST_WIDE_INT *,
+ HOST_WIDE_INT *, HOST_WIDE_INT *));
+int div_and_round_double PARAMS ((enum tree_code, int, HOST_WIDE_INT,
+ HOST_WIDE_INT, HOST_WIDE_INT,
+ HOST_WIDE_INT, HOST_WIDE_INT *,
+ HOST_WIDE_INT *, HOST_WIDE_INT *,
+ HOST_WIDE_INT *));
+static tree negate_expr PARAMS ((tree));
+static tree split_tree PARAMS ((tree, enum tree_code, tree *, tree *,
+ int));
+static tree associate_trees PARAMS ((tree, tree, enum tree_code, tree));
+static tree int_const_binop PARAMS ((enum tree_code, tree, tree, int, int));
+static void const_binop_1 PARAMS ((PTR));
+static tree const_binop PARAMS ((enum tree_code, tree, tree, int));
+static void fold_convert_1 PARAMS ((PTR));
+static tree fold_convert PARAMS ((tree, tree));
+static enum tree_code invert_tree_comparison PARAMS ((enum tree_code));
+static enum tree_code swap_tree_comparison PARAMS ((enum tree_code));
+static int truth_value_p PARAMS ((enum tree_code));
+static int operand_equal_for_comparison_p PARAMS ((tree, tree, tree));
+static int twoval_comparison_p PARAMS ((tree, tree *, tree *, int *));
+static tree eval_subst PARAMS ((tree, tree, tree, tree, tree));
+static tree omit_one_operand PARAMS ((tree, tree, tree));
+static tree pedantic_omit_one_operand PARAMS ((tree, tree, tree));
+static tree distribute_bit_expr PARAMS ((enum tree_code, tree, tree, tree));
+static tree make_bit_field_ref PARAMS ((tree, tree, int, int, int));
+static tree optimize_bit_field_compare PARAMS ((enum tree_code, tree,
+ tree, tree));
+static tree decode_field_reference PARAMS ((tree, int *, int *,
+ enum machine_mode *, int *,
+ int *, tree *, tree *));
+static int all_ones_mask_p PARAMS ((tree, int));
+static int simple_operand_p PARAMS ((tree));
+static tree range_binop PARAMS ((enum tree_code, tree, tree, int,
+ tree, int));
+static tree make_range PARAMS ((tree, int *, tree *, tree *));
+static tree build_range_check PARAMS ((tree, tree, int, tree, tree));
+static int merge_ranges PARAMS ((int *, tree *, tree *, int, tree, tree,
int, tree, tree));
-static tree fold_range_test PROTO((tree));
-static tree unextend PROTO((tree, int, int, tree));
-static tree fold_truthop PROTO((enum tree_code, tree, tree, tree));
-static tree optimize_minmax_comparison PROTO((tree));
-static tree extract_muldiv PROTO((tree, tree, enum tree_code, tree));
-static tree strip_compound_expr PROTO((tree, tree));
-static int multiple_of_p PROTO((tree, tree, tree));
-static tree constant_boolean_node PROTO((int, tree));
-static int count_cond PROTO((tree, int));
+static tree fold_range_test PARAMS ((tree));
+static tree unextend PARAMS ((tree, int, int, tree));
+static tree fold_truthop PARAMS ((enum tree_code, tree, tree, tree));
+static tree optimize_minmax_comparison PARAMS ((tree));
+static tree extract_muldiv PARAMS ((tree, tree, enum tree_code, tree));
+static tree strip_compound_expr PARAMS ((tree, tree));
+static int multiple_of_p PARAMS ((tree, tree, tree));
+static tree constant_boolean_node PARAMS ((int, tree));
+static int count_cond PARAMS ((tree, int));
#ifndef BRANCH_COST
#define BRANCH_COST 1
Index: function.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/function.c,v
retrieving revision 1.149
diff -u -p -r1.149 function.c
--- function.c 2000/01/13 23:43:55 1.149
+++ function.c 2000/01/14 17:12:13
@@ -123,18 +123,18 @@ static int virtuals_instantiated;
/* These variables hold pointers to functions to
save and restore machine-specific data,
in push_function_context and pop_function_context. */
-void (*init_machine_status) PROTO((struct function *));
-void (*save_machine_status) PROTO((struct function *));
-void (*restore_machine_status) PROTO((struct function *));
-void (*mark_machine_status) PROTO((struct function *));
-void (*free_machine_status) PROTO((struct function *));
+void (*init_machine_status) PARAMS ((struct function *));
+void (*save_machine_status) PARAMS ((struct function *));
+void (*restore_machine_status) PARAMS ((struct function *));
+void (*mark_machine_status) PARAMS ((struct function *));
+void (*free_machine_status) PARAMS ((struct function *));
/* Likewise, but for language-specific data. */
-void (*init_lang_status) PROTO((struct function *));
-void (*save_lang_status) PROTO((struct function *));
-void (*restore_lang_status) PROTO((struct function *));
-void (*mark_lang_status) PROTO((struct function *));
-void (*free_lang_status) PROTO((struct function *));
+void (*init_lang_status) PARAMS ((struct function *));
+void (*save_lang_status) PARAMS ((struct function *));
+void (*restore_lang_status) PARAMS ((struct function *));
+void (*mark_lang_status) PARAMS ((struct function *));
+void (*free_lang_status) PARAMS ((struct function *));
/* The FUNCTION_DECL for an inline function currently being expanded. */
tree inline_function_decl;
@@ -230,62 +230,62 @@ struct insns_for_mem_entry {
/* Forward declarations. */
-static rtx assign_stack_local_1 PROTO ((enum machine_mode, HOST_WIDE_INT,
- int, struct function *));
-static rtx assign_stack_temp_for_type PROTO ((enum machine_mode, HOST_WIDE_INT,
- int, tree));
-static struct temp_slot *find_temp_slot_from_address PROTO((rtx));
-static void put_reg_into_stack PROTO((struct function *, rtx, tree,
- enum machine_mode, enum machine_mode,
- int, int, int,
- struct hash_table *));
-static void fixup_var_refs PROTO((rtx, enum machine_mode, int,
- struct hash_table *));
+static rtx assign_stack_local_1 PARAMS ((enum machine_mode, HOST_WIDE_INT,
+ int, struct function *));
+static rtx assign_stack_temp_for_type PARAMS ((enum machine_mode,
+ HOST_WIDE_INT, int, tree));
+static struct temp_slot *find_temp_slot_from_address PARAMS ((rtx));
+static void put_reg_into_stack PARAMS ((struct function *, rtx, tree,
+ enum machine_mode, enum machine_mode,
+ int, int, int, struct hash_table *));
+static void fixup_var_refs PARAMS ((rtx, enum machine_mode, int,
+ struct hash_table *));
static struct fixup_replacement
- *find_fixup_replacement PROTO((struct fixup_replacement **, rtx));
-static void fixup_var_refs_insns PROTO((rtx, enum machine_mode, int,
- rtx, int, struct hash_table *));
-static void fixup_var_refs_1 PROTO((rtx, enum machine_mode, rtx *, rtx,
- struct fixup_replacement **));
-static rtx fixup_memory_subreg PROTO((rtx, rtx, int));
-static rtx walk_fixup_memory_subreg PROTO((rtx, rtx, int));
-static rtx fixup_stack_1 PROTO((rtx, rtx));
-static void optimize_bit_field PROTO((rtx, rtx, rtx *));
-static void instantiate_decls PROTO((tree, int));
-static void instantiate_decls_1 PROTO((tree, int));
-static void instantiate_decl PROTO((rtx, int, int));
-static int instantiate_virtual_regs_1 PROTO((rtx *, rtx, int));
-static void delete_handlers PROTO((void));
-static void pad_to_arg_alignment PROTO((struct args_size *, int, struct args_size *));
+ *find_fixup_replacement PARAMS ((struct fixup_replacement **, rtx));
+static void fixup_var_refs_insns PARAMS ((rtx, enum machine_mode, int,
+ rtx, int, struct hash_table *));
+static void fixup_var_refs_1 PARAMS ((rtx, enum machine_mode, rtx *, rtx,
+ struct fixup_replacement **));
+static rtx fixup_memory_subreg PARAMS ((rtx, rtx, int));
+static rtx walk_fixup_memory_subreg PARAMS ((rtx, rtx, int));
+static rtx fixup_stack_1 PARAMS ((rtx, rtx));
+static void optimize_bit_field PARAMS ((rtx, rtx, rtx *));
+static void instantiate_decls PARAMS ((tree, int));
+static void instantiate_decls_1 PARAMS ((tree, int));
+static void instantiate_decl PARAMS ((rtx, int, int));
+static int instantiate_virtual_regs_1 PARAMS ((rtx *, rtx, int));
+static void delete_handlers PARAMS ((void));
+static void pad_to_arg_alignment PARAMS ((struct args_size *, int,
+ struct args_size *));
#ifndef ARGS_GROW_DOWNWARD
-static void pad_below PROTO((struct args_size *, enum machine_mode,
- tree));
+static void pad_below PARAMS ((struct args_size *, enum machine_mode,
+ tree));
#endif
#ifdef ARGS_GROW_DOWNWARD
-static tree round_down PROTO((tree, int));
+static tree round_down PARAMS ((tree, int));
#endif
-static rtx round_trampoline_addr PROTO((rtx));
-static tree blocks_nreverse PROTO((tree));
-static int all_blocks PROTO((tree, tree *));
+static rtx round_trampoline_addr PARAMS ((rtx));
+static tree blocks_nreverse PARAMS ((tree));
+static int all_blocks PARAMS ((tree, tree *));
/* We always define `record_insns' even if its not used so that we
can always export `prologue_epilogue_contains'. */
-static int *record_insns PROTO((rtx)) ATTRIBUTE_UNUSED;
-static int contains PROTO((rtx, int *));
-static void put_addressof_into_stack PROTO((rtx, struct hash_table *));
-static boolean purge_addressof_1 PROTO((rtx *, rtx, int, int,
- struct hash_table *));
-static int is_addressof PROTO ((rtx *, void *));
-static struct hash_entry *insns_for_mem_newfunc PROTO((struct hash_entry *,
- struct hash_table *,
- hash_table_key));
-static unsigned long insns_for_mem_hash PROTO ((hash_table_key));
-static boolean insns_for_mem_comp PROTO ((hash_table_key, hash_table_key));
-static int insns_for_mem_walk PROTO ((rtx *, void *));
-static void compute_insns_for_mem PROTO ((rtx, rtx, struct hash_table *));
-static void mark_temp_slot PROTO ((struct temp_slot *));
-static void mark_function_status PROTO ((struct function *));
-static void mark_function_chain PROTO ((void *));
-static void prepare_function_start PROTO ((void));
+static int *record_insns PARAMS ((rtx)) ATTRIBUTE_UNUSED;
+static int contains PARAMS ((rtx, int *));
+static void put_addressof_into_stack PARAMS ((rtx, struct hash_table *));
+static boolean purge_addressof_1 PARAMS ((rtx *, rtx, int, int,
+ struct hash_table *));
+static int is_addressof PARAMS ((rtx *, void *));
+static struct hash_entry *insns_for_mem_newfunc PARAMS ((struct hash_entry *,
+ struct hash_table *,
+ hash_table_key));
+static unsigned long insns_for_mem_hash PARAMS ((hash_table_key));
+static boolean insns_for_mem_comp PARAMS ((hash_table_key, hash_table_key));
+static int insns_for_mem_walk PARAMS ((rtx *, void *));
+static void compute_insns_for_mem PARAMS ((rtx, rtx, struct hash_table *));
+static void mark_temp_slot PARAMS ((struct temp_slot *));
+static void mark_function_status PARAMS ((struct function *));
+static void mark_function_chain PARAMS ((void *));
+static void prepare_function_start PARAMS ((void));
/* Pointer to chain of `struct function' for containing functions. */
Index: function.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/function.h,v
retrieving revision 1.41
diff -u -p -r1.41 function.h
--- function.h 1999/12/20 13:18:16 1.41
+++ function.h 2000/01/14 17:12:13
@@ -1,5 +1,5 @@
/* Structure for saving state for a nested function.
- Copyright (C) 1989, 92-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -535,7 +535,7 @@ extern tree inline_function_decl;
/* Given a function decl for a containing function,
return the `struct function' for it. */
-struct function *find_function_data PROTO((tree));
+struct function *find_function_data PARAMS ((tree));
/* Pointer to chain of `struct function' for containing functions. */
extern struct function *outer_function_chain;
@@ -543,55 +543,55 @@ extern struct function *outer_function_c
/* Put all this function's BLOCK nodes into a vector and return it.
Also store in each NOTE for the beginning or end of a block
the index of that block in the vector. */
-extern void identify_blocks PROTO((tree, rtx));
+extern void identify_blocks PARAMS ((tree, rtx));
/* Return size needed for stack frame based on slots so far allocated.
This size counts from zero. It is not rounded to STACK_BOUNDARY;
the caller may have to do that. */
-extern HOST_WIDE_INT get_frame_size PROTO((void));
+extern HOST_WIDE_INT get_frame_size PARAMS ((void));
/* Likewise, but for a different than the current function. */
-extern HOST_WIDE_INT get_func_frame_size PROTO((struct function *));
+extern HOST_WIDE_INT get_func_frame_size PARAMS ((struct function *));
/* These variables hold pointers to functions to
save and restore machine-specific data,
in push_function_context and pop_function_context. */
-extern void (*init_machine_status) PROTO((struct function *));
-extern void (*mark_machine_status) PROTO((struct function *));
-extern void (*save_machine_status) PROTO((struct function *));
-extern void (*restore_machine_status) PROTO((struct function *));
-extern void (*free_machine_status) PROTO((struct function *));
+extern void (*init_machine_status) PARAMS ((struct function *));
+extern void (*mark_machine_status) PARAMS ((struct function *));
+extern void (*save_machine_status) PARAMS ((struct function *));
+extern void (*restore_machine_status) PARAMS ((struct function *));
+extern void (*free_machine_status) PARAMS ((struct function *));
/* Likewise, but for language-specific data. */
-extern void (*init_lang_status) PROTO((struct function *));
-extern void (*mark_lang_status) PROTO((struct function *));
-extern void (*save_lang_status) PROTO((struct function *));
-extern void (*restore_lang_status) PROTO((struct function *));
-extern void (*free_lang_status) PROTO((struct function *));
+extern void (*init_lang_status) PARAMS ((struct function *));
+extern void (*mark_lang_status) PARAMS ((struct function *));
+extern void (*save_lang_status) PARAMS ((struct function *));
+extern void (*restore_lang_status) PARAMS ((struct function *));
+extern void (*free_lang_status) PARAMS ((struct function *));
/* Save and restore status information for a nested function. */
-extern void save_tree_status PROTO((struct function *));
-extern void restore_tree_status PROTO((struct function *));
-extern void restore_emit_status PROTO((struct function *));
-extern void free_after_parsing PROTO((struct function *));
-extern void free_after_compilation PROTO((struct function *));
-
-extern void init_varasm_status PROTO((struct function *));
-extern void free_varasm_status PROTO((struct function *));
-extern void free_emit_status PROTO((struct function *));
-extern void free_stmt_status PROTO((struct function *));
-extern void free_eh_status PROTO((struct function *));
-extern void free_expr_status PROTO((struct function *));
+extern void save_tree_status PARAMS ((struct function *));
+extern void restore_tree_status PARAMS ((struct function *));
+extern void restore_emit_status PARAMS ((struct function *));
+extern void free_after_parsing PARAMS ((struct function *));
+extern void free_after_compilation PARAMS ((struct function *));
+
+extern void init_varasm_status PARAMS ((struct function *));
+extern void free_varasm_status PARAMS ((struct function *));
+extern void free_emit_status PARAMS ((struct function *));
+extern void free_stmt_status PARAMS ((struct function *));
+extern void free_eh_status PARAMS ((struct function *));
+extern void free_expr_status PARAMS ((struct function *));
-extern rtx get_first_block_beg PROTO((void));
+extern rtx get_first_block_beg PARAMS ((void));
#ifdef RTX_CODE
-extern void diddle_return_value PROTO((enum rtx_code));
+extern void diddle_return_value PARAMS ((enum rtx_code));
#endif
-extern void init_virtual_regs PROTO((struct emit_status *));
+extern void init_virtual_regs PARAMS ((struct emit_status *));
/* Called once, at initialization, to initialize function.c. */
-extern void init_function_once PROTO((void));
+extern void init_function_once PARAMS ((void));
#ifdef rtx
#undef rtx
Index: gcc.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcc.c,v
retrieving revision 1.126
diff -u -p -r1.126 gcc.c
--- gcc.c 2000/01/13 00:37:05 1.126
+++ gcc.c 2000/01/14 17:12:19
@@ -48,7 +48,7 @@ compilation is specified by a string cal
#include <sys/resource.h>
#endif
#ifdef NEED_DECLARATION_GETRUSAGE
-extern int getrusage PROTO ((int, struct rusage *));
+extern int getrusage PARAMS ((int, struct rusage *));
#endif
/* By default there is no special suffix for executables. */
@@ -194,58 +194,58 @@ extern char *version_string;
/* Forward declaration for prototypes. */
struct path_prefix;
-static void init_spec PROTO((void));
+static void init_spec PARAMS ((void));
#ifndef VMS
-static char **split_directories PROTO((const char *, int *));
-static void free_split_directories PROTO((char **));
-static char *make_relative_prefix PROTO((const char *, const char *, const char *));
+static char **split_directories PARAMS ((const char *, int *));
+static void free_split_directories PARAMS ((char **));
+static char *make_relative_prefix PARAMS ((const char *, const char *, const char *));
#endif /* VMS */
-static void read_specs PROTO((const char *, int));
-static void set_spec PROTO((const char *, const char *));
-static struct compiler *lookup_compiler PROTO((const char *, size_t, const char *));
-static char *build_search_list PROTO((struct path_prefix *, const char *, int));
-static void putenv_from_prefixes PROTO((struct path_prefix *, const char *));
-static int access_check PROTO((const char *, int));
-static char *find_a_file PROTO((struct path_prefix *, const char *, int));
-static void add_prefix PROTO((struct path_prefix *, const char *,
- const char *, int, int, int *));
-static char *skip_whitespace PROTO((char *));
-static void record_temp_file PROTO((const char *, int, int));
-static void delete_if_ordinary PROTO((const char *));
-static void delete_temp_files PROTO((void));
-static void delete_failure_queue PROTO((void));
-static void clear_failure_queue PROTO((void));
-static int check_live_switch PROTO((int, int));
-static const char *handle_braces PROTO((const char *));
-static char *save_string PROTO((const char *, int));
-static int do_spec_1 PROTO((const char *, int, const char *));
-static const char *find_file PROTO((const char *));
-static int is_directory PROTO((const char *, const char *, int));
-static void validate_switches PROTO((const char *));
-static void validate_all_switches PROTO((void));
-static void give_switch PROTO((int, int, int));
-static int used_arg PROTO((const char *, int));
-static int default_arg PROTO((const char *, int));
-static void set_multilib_dir PROTO((void));
-static void print_multilib_info PROTO((void));
-static void pfatal_with_name PROTO((const char *)) ATTRIBUTE_NORETURN;
-static void perror_with_name PROTO((const char *));
-static void pfatal_pexecute PROTO((const char *, const char *))
+static void read_specs PARAMS ((const char *, int));
+static void set_spec PARAMS ((const char *, const char *));
+static struct compiler *lookup_compiler PARAMS ((const char *, size_t, const char *));
+static char *build_search_list PARAMS ((struct path_prefix *, const char *, int));
+static void putenv_from_prefixes PARAMS ((struct path_prefix *, const char *));
+static int access_check PARAMS ((const char *, int));
+static char *find_a_file PARAMS ((struct path_prefix *, const char *, int));
+static void add_prefix PARAMS ((struct path_prefix *, const char *,
+ const char *, int, int, int *));
+static char *skip_whitespace PARAMS ((char *));
+static void record_temp_file PARAMS ((const char *, int, int));
+static void delete_if_ordinary PARAMS ((const char *));
+static void delete_temp_files PARAMS ((void));
+static void delete_failure_queue PARAMS ((void));
+static void clear_failure_queue PARAMS ((void));
+static int check_live_switch PARAMS ((int, int));
+static const char *handle_braces PARAMS ((const char *));
+static char *save_string PARAMS ((const char *, int));
+static int do_spec_1 PARAMS ((const char *, int, const char *));
+static const char *find_file PARAMS ((const char *));
+static int is_directory PARAMS ((const char *, const char *, int));
+static void validate_switches PARAMS ((const char *));
+static void validate_all_switches PARAMS ((void));
+static void give_switch PARAMS ((int, int, int));
+static int used_arg PARAMS ((const char *, int));
+static int default_arg PARAMS ((const char *, int));
+static void set_multilib_dir PARAMS ((void));
+static void print_multilib_info PARAMS ((void));
+static void pfatal_with_name PARAMS ((const char *)) ATTRIBUTE_NORETURN;
+static void perror_with_name PARAMS ((const char *));
+static void pfatal_pexecute PARAMS ((const char *, const char *))
ATTRIBUTE_NORETURN;
-static void error PVPROTO((const char *, ...))
+static void error PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-static void notice PVPROTO((const char *, ...))
+static void notice PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-static void display_help PROTO((void));
-static void add_preprocessor_option PROTO ((const char *, int));
-static void add_assembler_option PROTO ((const char *, int));
-static void add_linker_option PROTO ((const char *, int));
-static void process_command PROTO ((int, char **));
-static int execute PROTO ((void));
-static void unused_prefix_warnings PROTO ((struct path_prefix *));
-static void clear_args PROTO ((void));
-static void fatal_error PROTO ((int));
-static void set_input PROTO ((const char *));
+static void display_help PARAMS ((void));
+static void add_preprocessor_option PARAMS ((const char *, int));
+static void add_assembler_option PARAMS ((const char *, int));
+static void add_linker_option PARAMS ((const char *, int));
+static void process_command PARAMS ((int, char **));
+static int execute PARAMS ((void));
+static void unused_prefix_warnings PARAMS ((struct path_prefix *));
+static void clear_args PARAMS ((void));
+static void fatal_error PARAMS ((int));
+static void set_input PARAMS ((const char *));
/* Specs are strings containing lines, each of which (if not blank)
is made up of a program name, and arguments separated by spaces.
@@ -4988,7 +4988,7 @@ fatal_error (signum)
kill (getpid (), signum);
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -5635,7 +5635,7 @@ fancy_abort ()
/* Output an error message and exit */
void
-fatal VPROTO((const char *msgid, ...))
+fatal VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
@@ -5657,7 +5657,7 @@ fatal VPROTO((const char *msgid, ...))
}
static void
-error VPROTO((const char *msgid, ...))
+error VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
@@ -5678,7 +5678,7 @@ error VPROTO((const char *msgid, ...))
}
static void
-notice VPROTO((const char *msgid, ...))
+notice VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
Index: gcov-io.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcov-io.h,v
retrieving revision 1.8
diff -u -p -r1.8 gcov-io.h
--- gcov-io.h 1999/01/06 20:44:29 1.8
+++ gcov-io.h 2000/01/14 17:12:19
@@ -1,5 +1,5 @@
/* Machine-independent I/O routines for gcov.
- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
This file is part of GNU CC.
@@ -24,10 +24,10 @@ Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <sys/types.h>
-static int __fetch_long PROTO ((long *, char *, size_t));
-static int __store_long PROTO ((long, char *, size_t));
-static int __read_long PROTO ((long *, FILE *, size_t));
-static int __write_long PROTO ((long, FILE *, size_t));
+static int __fetch_long PARAMS ((long *, char *, size_t));
+static int __store_long PARAMS ((long, char *, size_t));
+static int __read_long PARAMS ((long *, FILE *, size_t));
+static int __write_long PARAMS ((long, FILE *, size_t));
/* These routines only work for signed values. */
Index: gcov.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcov.c,v
retrieving revision 1.25
diff -u -p -r1.25 gcov.c
--- gcov.c 2000/01/07 00:16:51 1.25
+++ gcov.c 2000/01/14 17:12:20
@@ -1,6 +1,6 @@
/* Gcov.c: prepend line execution counts and branch probabilities to a
source file.
- Copyright (C) 1990, 91-94, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1990, 91-94, 96-99, 2000 Free Software Foundation, Inc.
Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support.
@@ -220,21 +220,21 @@ static char *object_directory = 0;
static int output_branch_counts = 0;
/* Forward declarations. */
-static void process_args PROTO ((int, char **));
-static void open_files PROTO ((void));
-static void read_files PROTO ((void));
-static void scan_for_source_files PROTO ((void));
-static void output_data PROTO ((void));
-static void print_usage PROTO ((void)) ATTRIBUTE_NORETURN;
-static void init_arc PROTO ((struct adj_list *, int, int, struct bb_info *));
-static struct adj_list *reverse_arcs PROTO ((struct adj_list *));
-static void create_program_flow_graph PROTO ((struct bb_info_list *));
-static void solve_program_flow_graph PROTO ((struct bb_info_list *));
-static void calculate_branch_probs PROTO ((struct bb_info_list *, int,
- struct arcdata **, int));
-static void function_summary PROTO ((void));
+static void process_args PARAMS ((int, char **));
+static void open_files PARAMS ((void));
+static void read_files PARAMS ((void));
+static void scan_for_source_files PARAMS ((void));
+static void output_data PARAMS ((void));
+static void print_usage PARAMS ((void)) ATTRIBUTE_NORETURN;
+static void init_arc PARAMS ((struct adj_list *, int, int, struct bb_info *));
+static struct adj_list *reverse_arcs PARAMS ((struct adj_list *));
+static void create_program_flow_graph PARAMS ((struct bb_info_list *));
+static void solve_program_flow_graph PARAMS ((struct bb_info_list *));
+static void calculate_branch_probs PARAMS ((struct bb_info_list *, int,
+ struct arcdata **, int));
+static void function_summary PARAMS ((void));
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -260,9 +260,9 @@ main (argc, argv)
return 0;
}
-static void fnotice PVPROTO ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2;
+static void fnotice PARAMS ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2;
static void
-fnotice VPROTO ((FILE *file, const char *msgid, ...))
+fnotice VPARAMS ((FILE *file, const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
FILE *file;
@@ -283,7 +283,7 @@ fnotice VPROTO ((FILE *file, const char
/* More 'friendly' abort that prints the line and file.
config.h can #define abort fancy_abort if you like that sort of thing. */
-extern void fancy_abort PROTO ((void)) ATTRIBUTE_NORETURN;
+extern void fancy_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
void
fancy_abort ()
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcse.c,v
retrieving revision 1.75
diff -u -p -r1.75 gcse.c
--- gcse.c 2000/01/12 10:16:04 1.75
+++ gcse.c 2000/01/14 17:12:25
@@ -523,123 +523,124 @@ struct null_pointer_info {
sbitmap *nonnull_killed;
};
-static void compute_can_copy PROTO ((void));
+static void compute_can_copy PARAMS ((void));
-static char *gmalloc PROTO ((unsigned int));
-static char *grealloc PROTO ((char *, unsigned int));
-static char *gcse_alloc PROTO ((unsigned long));
-static void alloc_gcse_mem PROTO ((rtx));
-static void free_gcse_mem PROTO ((void));
-static void alloc_reg_set_mem PROTO ((int));
-static void free_reg_set_mem PROTO ((void));
-static int get_bitmap_width PROTO ((int, int, int));
-static void record_one_set PROTO ((int, rtx));
-static void record_set_info PROTO ((rtx, rtx, void *));
-static void compute_sets PROTO ((rtx));
-
-static void hash_scan_insn PROTO ((rtx, int, int));
-static void hash_scan_set PROTO ((rtx, rtx, int));
-static void hash_scan_clobber PROTO ((rtx, rtx));
-static void hash_scan_call PROTO ((rtx, rtx));
-static int want_to_gcse_p PROTO ((rtx));
-static int oprs_unchanged_p PROTO ((rtx, rtx, int));
-static int oprs_anticipatable_p PROTO ((rtx, rtx));
-static int oprs_available_p PROTO ((rtx, rtx));
-static void insert_expr_in_table PROTO ((rtx, enum machine_mode,
+static char *gmalloc PARAMS ((unsigned int));
+static char *grealloc PARAMS ((char *, unsigned int));
+static char *gcse_alloc PARAMS ((unsigned long));
+static void alloc_gcse_mem PARAMS ((rtx));
+static void free_gcse_mem PARAMS ((void));
+static void alloc_reg_set_mem PARAMS ((int));
+static void free_reg_set_mem PARAMS ((void));
+static int get_bitmap_width PARAMS ((int, int, int));
+static void record_one_set PARAMS ((int, rtx));
+static void record_set_info PARAMS ((rtx, rtx, void *));
+static void compute_sets PARAMS ((rtx));
+
+static void hash_scan_insn PARAMS ((rtx, int, int));
+static void hash_scan_set PARAMS ((rtx, rtx, int));
+static void hash_scan_clobber PARAMS ((rtx, rtx));
+static void hash_scan_call PARAMS ((rtx, rtx));
+static int want_to_gcse_p PARAMS ((rtx));
+static int oprs_unchanged_p PARAMS ((rtx, rtx, int));
+static int oprs_anticipatable_p PARAMS ((rtx, rtx));
+static int oprs_available_p PARAMS ((rtx, rtx));
+static void insert_expr_in_table PARAMS ((rtx, enum machine_mode,
rtx, int, int));
-static void insert_set_in_table PROTO ((rtx, rtx));
-static unsigned int hash_expr PROTO ((rtx, enum machine_mode,
- int *, int));
-static unsigned int hash_expr_1 PROTO ((rtx, enum machine_mode, int *));
-static unsigned int hash_set PROTO ((int, int));
-static int expr_equiv_p PROTO ((rtx, rtx));
-static void record_last_reg_set_info PROTO ((rtx, int));
-static void record_last_mem_set_info PROTO ((rtx));
-static void record_last_set_info PROTO ((rtx, rtx, void *));
-static void compute_hash_table PROTO ((int));
-static void alloc_set_hash_table PROTO ((int));
-static void free_set_hash_table PROTO ((void));
-static void compute_set_hash_table PROTO ((void));
-static void alloc_expr_hash_table PROTO ((int));
-static void free_expr_hash_table PROTO ((void));
-static void compute_expr_hash_table PROTO ((void));
-static void dump_hash_table PROTO ((FILE *, const char *, struct expr **,
- int, int));
-static struct expr *lookup_expr PROTO ((rtx));
-static struct expr *lookup_set PROTO ((int, rtx));
-static struct expr *next_set PROTO ((int, struct expr *));
-static void reset_opr_set_tables PROTO ((void));
-static int oprs_not_set_p PROTO ((rtx, rtx));
-static void mark_call PROTO ((rtx));
-static void mark_set PROTO ((rtx, rtx));
-static void mark_clobber PROTO ((rtx, rtx));
-static void mark_oprs_set PROTO ((rtx));
-
-static void alloc_cprop_mem PROTO ((int, int));
-static void free_cprop_mem PROTO ((void));
-static void compute_transp PROTO ((rtx, int, sbitmap *, int));
-static void compute_transpout PROTO ((void));
-static void compute_local_properties PROTO ((sbitmap *, sbitmap *,
- sbitmap *, int));
-static void compute_cprop_data PROTO ((void));
-static void find_used_regs PROTO ((rtx));
-static int try_replace_reg PROTO ((rtx, rtx, rtx));
-static struct expr *find_avail_set PROTO ((int, rtx));
-static int cprop_jump PROTO((rtx, rtx, struct reg_use *, rtx));
+static void insert_set_in_table PARAMS ((rtx, rtx));
+static unsigned int hash_expr PARAMS ((rtx, enum machine_mode,
+ int *, int));
+static unsigned int hash_expr_1 PARAMS ((rtx, enum machine_mode, int *));
+static unsigned int hash_set PARAMS ((int, int));
+static int expr_equiv_p PARAMS ((rtx, rtx));
+static void record_last_reg_set_info PARAMS ((rtx, int));
+static void record_last_mem_set_info PARAMS ((rtx));
+static void record_last_set_info PARAMS ((rtx, rtx, void *));
+static void compute_hash_table PARAMS ((int));
+static void alloc_set_hash_table PARAMS ((int));
+static void free_set_hash_table PARAMS ((void));
+static void compute_set_hash_table PARAMS ((void));
+static void alloc_expr_hash_table PARAMS ((int));
+static void free_expr_hash_table PARAMS ((void));
+static void compute_expr_hash_table PARAMS ((void));
+static void dump_hash_table PARAMS ((FILE *, const char *,
+ struct expr **, int, int));
+static struct expr *lookup_expr PARAMS ((rtx));
+static struct expr *lookup_set PARAMS ((int, rtx));
+static struct expr *next_set PARAMS ((int, struct expr *));
+static void reset_opr_set_tables PARAMS ((void));
+static int oprs_not_set_p PARAMS ((rtx, rtx));
+static void mark_call PARAMS ((rtx));
+static void mark_set PARAMS ((rtx, rtx));
+static void mark_clobber PARAMS ((rtx, rtx));
+static void mark_oprs_set PARAMS ((rtx));
+
+static void alloc_cprop_mem PARAMS ((int, int));
+static void free_cprop_mem PARAMS ((void));
+static void compute_transp PARAMS ((rtx, int, sbitmap *, int));
+static void compute_transpout PARAMS ((void));
+static void compute_local_properties PARAMS ((sbitmap *, sbitmap *,
+ sbitmap *, int));
+static void compute_cprop_data PARAMS ((void));
+static void find_used_regs PARAMS ((rtx));
+static int try_replace_reg PARAMS ((rtx, rtx, rtx));
+static struct expr *find_avail_set PARAMS ((int, rtx));
+static int cprop_jump PARAMS ((rtx, rtx, struct reg_use *, rtx));
#ifdef HAVE_cc0
-static int cprop_cc0_jump PROTO((rtx, struct reg_use *, rtx));
+static int cprop_cc0_jump PARAMS ((rtx, struct reg_use *, rtx));
#endif
-static int cprop_insn PROTO ((rtx, int));
-static int cprop PROTO ((int));
-static int one_cprop_pass PROTO ((int, int));
-
-static void alloc_pre_mem PROTO ((int, int));
-static void free_pre_mem PROTO ((void));
-static void compute_pre_data PROTO ((void));
-static int pre_expr_reaches_here_p PROTO ((int, struct expr *, int));
-static void insert_insn_end_bb PROTO ((struct expr *, int, int));
-static void pre_insert_copy_insn PROTO ((struct expr *, rtx));
-static void pre_insert_copies PROTO ((void));
-static int pre_delete PROTO ((void));
-static int pre_gcse PROTO ((void));
-static int one_pre_gcse_pass PROTO ((int));
-
-static void add_label_notes PROTO ((rtx, rtx));
-
-static void alloc_code_hoist_mem PROTO ((int, int));
-static void free_code_hoist_mem PROTO ((void));
-static void compute_code_hoist_vbeinout PROTO ((void));
-static void compute_code_hoist_data PROTO ((void));
-static int hoist_expr_reaches_here_p PROTO ((int, int, int, char *));
-static void hoist_code PROTO ((void));
-static int one_code_hoisting_pass PROTO ((void));
-
-static void alloc_rd_mem PROTO ((int, int));
-static void free_rd_mem PROTO ((void));
-static void handle_rd_kill_set PROTO ((rtx, int, int));
-static void compute_kill_rd PROTO ((void));
-static void compute_rd PROTO ((void));
-static void alloc_avail_expr_mem PROTO ((int, int));
-static void free_avail_expr_mem PROTO ((void));
-static void compute_ae_gen PROTO ((void));
-static int expr_killed_p PROTO ((rtx, int));
-static void compute_ae_kill PROTO ((sbitmap *, sbitmap *));
-static int expr_reaches_here_p PROTO ((struct occr *, struct expr *,
- int, int));
-static rtx computing_insn PROTO ((struct expr *, rtx));
-static int def_reaches_here_p PROTO ((rtx, rtx));
-static int can_disregard_other_sets PROTO ((struct reg_set **, rtx, int));
-static int handle_avail_expr PROTO ((rtx, struct expr *));
-static int classic_gcse PROTO ((void));
-static int one_classic_gcse_pass PROTO ((int));
-static void invalidate_nonnull_info PROTO ((rtx, rtx, void *));
-static void delete_null_pointer_checks_1 PROTO ((int *, sbitmap *, sbitmap *,
- struct null_pointer_info *));
-static rtx process_insert_insn PROTO ((struct expr *));
-static int pre_edge_insert PROTO ((struct edge_list *, struct expr **));
-static int expr_reaches_here_p_work PROTO ((struct occr *, struct expr *, int, int, char *));
-static int pre_expr_reaches_here_p_work PROTO ((int, struct expr *,
- int, char *));
+static int cprop_insn PARAMS ((rtx, int));
+static int cprop PARAMS ((int));
+static int one_cprop_pass PARAMS ((int, int));
+
+static void alloc_pre_mem PARAMS ((int, int));
+static void free_pre_mem PARAMS ((void));
+static void compute_pre_data PARAMS ((void));
+static int pre_expr_reaches_here_p PARAMS ((int, struct expr *, int));
+static void insert_insn_end_bb PARAMS ((struct expr *, int, int));
+static void pre_insert_copy_insn PARAMS ((struct expr *, rtx));
+static void pre_insert_copies PARAMS ((void));
+static int pre_delete PARAMS ((void));
+static int pre_gcse PARAMS ((void));
+static int one_pre_gcse_pass PARAMS ((int));
+
+static void add_label_notes PARAMS ((rtx, rtx));
+
+static void alloc_code_hoist_mem PARAMS ((int, int));
+static void free_code_hoist_mem PARAMS ((void));
+static void compute_code_hoist_vbeinout PARAMS ((void));
+static void compute_code_hoist_data PARAMS ((void));
+static int hoist_expr_reaches_here_p PARAMS ((int, int, int, char *));
+static void hoist_code PARAMS ((void));
+static int one_code_hoisting_pass PARAMS ((void));
+
+static void alloc_rd_mem PARAMS ((int, int));
+static void free_rd_mem PARAMS ((void));
+static void handle_rd_kill_set PARAMS ((rtx, int, int));
+static void compute_kill_rd PARAMS ((void));
+static void compute_rd PARAMS ((void));
+static void alloc_avail_expr_mem PARAMS ((int, int));
+static void free_avail_expr_mem PARAMS ((void));
+static void compute_ae_gen PARAMS ((void));
+static int expr_killed_p PARAMS ((rtx, int));
+static void compute_ae_kill PARAMS ((sbitmap *, sbitmap *));
+static int expr_reaches_here_p PARAMS ((struct occr *, struct expr *,
+ int, int));
+static rtx computing_insn PARAMS ((struct expr *, rtx));
+static int def_reaches_here_p PARAMS ((rtx, rtx));
+static int can_disregard_other_sets PARAMS ((struct reg_set **, rtx, int));
+static int handle_avail_expr PARAMS ((rtx, struct expr *));
+static int classic_gcse PARAMS ((void));
+static int one_classic_gcse_pass PARAMS ((int));
+static void invalidate_nonnull_info PARAMS ((rtx, rtx, void *));
+static void delete_null_pointer_checks_1 PARAMS ((int *, sbitmap *, sbitmap *,
+ struct null_pointer_info *));
+static rtx process_insert_insn PARAMS ((struct expr *));
+static int pre_edge_insert PARAMS ((struct edge_list *, struct expr **));
+static int expr_reaches_here_p_work PARAMS ((struct occr *, struct expr *,
+ int, int, char *));
+static int pre_expr_reaches_here_p_work PARAMS ((int, struct expr *,
+ int, char *));
/* Entry point for global common subexpression elimination.
F is the first instruction in the function. */