diff options
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/reload.c | 46 | ||||
-rw-r--r-- | gcc/reload.h | 68 | ||||
-rw-r--r-- | gcc/reload1.c | 150 | ||||
-rw-r--r-- | gcc/reorg.c | 68 | ||||
-rw-r--r-- | gcc/resource.h | 20 | ||||
-rw-r--r-- | gcc/rtl.c | 10 | ||||
-rw-r--r-- | gcc/rtl.h | 758 | ||||
-rw-r--r-- | gcc/rtlanal.c | 10 | ||||
-rw-r--r-- | gcc/sbitmap.h | 46 | ||||
-rw-r--r-- | gcc/sdbout.c | 28 | ||||
-rw-r--r-- | gcc/stack.h | 4 | ||||
-rw-r--r-- | gcc/stmt.c | 60 | ||||
-rw-r--r-- | gcc/system.h | 2 |
14 files changed, 651 insertions, 635 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec453a6..35869ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,21 @@ 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * reload.c: PROTO -> PARAMS. + * reload.h: Likewise. + * reload1.c: Likewise. + * reorg.c: Likewise. + * resource.h: Likewise. + * rtl.c: Likewise. + * rtl.h: Likewise. + * rtlanal.c: Likewise. + * sbitmap.h: Likewise. + * sdbout.c: Likewise. + * stack.h: Likewise. + * stmt.c: Likewise. + * system.h: Likewise. + +2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * machmode.h: PROTO -> PARAMS. * mbchar.h: Likewise. * mips-tdump.c: Likewise. diff --git a/gcc/reload.c b/gcc/reload.c index db21e3e..ffad399 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -237,42 +237,42 @@ static int output_reloadnum; : (type))) #ifdef HAVE_SECONDARY_RELOADS -static int push_secondary_reload PROTO((int, rtx, int, int, enum reg_class, +static int push_secondary_reload PARAMS ((int, rtx, int, int, enum reg_class, enum machine_mode, enum reload_type, enum insn_code *)); #endif -static enum reg_class find_valid_class PROTO((enum machine_mode, int)); -static int push_reload PROTO((rtx, rtx, rtx *, rtx *, enum reg_class, +static enum reg_class find_valid_class PARAMS ((enum machine_mode, int)); +static int push_reload PARAMS ((rtx, rtx, rtx *, rtx *, enum reg_class, enum machine_mode, enum machine_mode, int, int, int, enum reload_type)); -static void push_replacement PROTO((rtx *, int, enum machine_mode)); -static void combine_reloads PROTO((void)); -static int find_reusable_reload PROTO((rtx *, rtx, enum reg_class, +static void push_replacement PARAMS ((rtx *, int, enum machine_mode)); +static void combine_reloads PARAMS ((void)); +static int find_reusable_reload PARAMS ((rtx *, rtx, enum reg_class, enum reload_type, int, int)); -static rtx find_dummy_reload PROTO((rtx, rtx, rtx *, rtx *, +static rtx find_dummy_reload PARAMS ((rtx, rtx, rtx *, rtx *, enum machine_mode, enum machine_mode, enum reg_class, int, int)); -static int hard_reg_set_here_p PROTO((int, int, rtx)); -static struct decomposition decompose PROTO((rtx)); -static int immune_p PROTO((rtx, rtx, struct decomposition)); -static int alternative_allows_memconst PROTO((const char *, int)); -static rtx find_reloads_toplev PROTO((rtx, int, enum reload_type, int, int, rtx)); -static rtx make_memloc PROTO((rtx, int)); -static int find_reloads_address PROTO((enum machine_mode, rtx *, rtx, rtx *, +static int hard_reg_set_here_p PARAMS ((int, int, rtx)); +static struct decomposition decompose PARAMS ((rtx)); +static int immune_p PARAMS ((rtx, rtx, struct decomposition)); +static int alternative_allows_memconst PARAMS ((const char *, int)); +static rtx find_reloads_toplev PARAMS ((rtx, int, enum reload_type, int, int, rtx)); +static rtx make_memloc PARAMS ((rtx, int)); +static int find_reloads_address PARAMS ((enum machine_mode, rtx *, rtx, rtx *, int, enum reload_type, int, rtx)); -static rtx subst_reg_equivs PROTO((rtx, rtx)); -static rtx subst_indexed_address PROTO((rtx)); -static int find_reloads_address_1 PROTO((enum machine_mode, rtx, int, rtx *, +static rtx subst_reg_equivs PARAMS ((rtx, rtx)); +static rtx subst_indexed_address PARAMS ((rtx)); +static int find_reloads_address_1 PARAMS ((enum machine_mode, rtx, int, rtx *, int, enum reload_type,int, rtx)); -static void find_reloads_address_part PROTO((rtx, rtx *, enum reg_class, +static void find_reloads_address_part PARAMS ((rtx, rtx *, enum reg_class, enum machine_mode, int, enum reload_type, int)); -static rtx find_reloads_subreg_address PROTO((rtx, int, int, enum reload_type, +static rtx find_reloads_subreg_address PARAMS ((rtx, int, int, enum reload_type, int, rtx)); -static int find_inc_amount PROTO((rtx, rtx)); -static int loc_mentioned_in_p PROTO((rtx *, rtx)); -extern void debug_reload_to_stream PROTO((FILE *)); -extern void debug_reload PROTO((void)); +static int find_inc_amount PARAMS ((rtx, rtx)); +static int loc_mentioned_in_p PARAMS ((rtx *, rtx)); +extern void debug_reload_to_stream PARAMS ((FILE *)); +extern void debug_reload PARAMS ((void)); #ifdef HAVE_SECONDARY_RELOADS diff --git a/gcc/reload.h b/gcc/reload.h index ebfdbc5..dcf5119 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -43,7 +43,7 @@ Boston, MA 02111-1307, USA. */ #define MEMORY_MOVE_COST(MODE,CLASS,IN) 4 #endif #endif -extern int memory_move_secondary_cost PROTO ((enum machine_mode, enum reg_class, int)); +extern int memory_move_secondary_cost PARAMS ((enum machine_mode, enum reg_class, int)); /* Maximum number of reloads we can need. */ #define MAX_RELOADS (2 * MAX_RECOG_OPERANDS * (MAX_REGS_PER_ADDRESS + 1)) @@ -254,9 +254,9 @@ struct insn_chain extern struct insn_chain *reload_insn_chain; /* Allocate a new insn_chain structure. */ -extern struct insn_chain *new_insn_chain PROTO((void)); +extern struct insn_chain *new_insn_chain PARAMS ((void)); -extern void compute_use_by_pseudos PROTO((HARD_REG_SET *, regset)); +extern void compute_use_by_pseudos PARAMS ((HARD_REG_SET *, regset)); #endif /* Functions from reload.c: */ @@ -264,121 +264,121 @@ extern void compute_use_by_pseudos PROTO((HARD_REG_SET *, regset)); /* Return a memory location that will be used to copy X in mode MODE. If we haven't already made a location for this mode in this insn, call find_reloads_address on the location being returned. */ -extern rtx get_secondary_mem PROTO((rtx, enum machine_mode, +extern rtx get_secondary_mem PARAMS ((rtx, enum machine_mode, int, enum reload_type)); /* Clear any secondary memory locations we've made. */ -extern void clear_secondary_mem PROTO((void)); +extern void clear_secondary_mem PARAMS ((void)); /* Transfer all replacements that used to be in reload FROM to be in reload TO. */ -extern void transfer_replacements PROTO((int, int)); +extern void transfer_replacements PARAMS ((int, int)); /* IN_RTX is the value loaded by a reload that we now decided to inherit, or a subpart of it. If we have any replacements registered for IN_RTX, chancel the reloads that were supposed to load them. Return non-zero if we chanceled any reloads. */ -extern int remove_address_replacements PROTO((rtx in_rtx)); +extern int remove_address_replacements PARAMS ((rtx in_rtx)); /* Like rtx_equal_p except that it allows a REG and a SUBREG to match if they are the same hard reg, and has special hacks for autoincrement and autodecrement. */ -extern int operands_match_p PROTO((rtx, rtx)); +extern int operands_match_p PARAMS ((rtx, rtx)); /* Return 1 if altering OP will not modify the value of CLOBBER. */ -extern int safe_from_earlyclobber PROTO((rtx, rtx)); +extern int safe_from_earlyclobber PARAMS ((rtx, rtx)); /* Search the body of INSN for values that need reloading and record them with push_reload. REPLACE nonzero means record also where the values occur so that subst_reloads can be used. */ -extern int find_reloads PROTO((rtx, int, int, int, short *)); +extern int find_reloads PARAMS ((rtx, int, int, int, short *)); /* Compute the sum of X and Y, making canonicalizations assumed in an address, namely: sum constant integers, surround the sum of two constants with a CONST, put the constant as the second operand, and group the constant on the outermost sum. */ -extern rtx form_sum PROTO((rtx, rtx)); +extern rtx form_sum PARAMS ((rtx, rtx)); /* Substitute into the current INSN the registers into which we have reloaded the things that need reloading. */ -extern void subst_reloads PROTO((void)); +extern void subst_reloads PARAMS ((void)); /* Make a copy of any replacements being done into X and move those copies to locations in Y, a copy of X. We only look at the highest level of the RTL. */ -extern void copy_replacements PROTO((rtx, rtx)); +extern void copy_replacements PARAMS ((rtx, rtx)); /* Change any replacements being done to *X to be done to *Y */ -extern void move_replacements PROTO((rtx *x, rtx *y)); +extern void move_replacements PARAMS ((rtx *x, rtx *y)); /* If LOC was scheduled to be replaced by something, return the replacement. Otherwise, return *LOC. */ -extern rtx find_replacement PROTO((rtx *)); +extern rtx find_replacement PARAMS ((rtx *)); /* Return nonzero if register in range [REGNO, ENDREGNO) appears either explicitly or implicitly in X other than being stored into. */ -extern int refers_to_regno_for_reload_p PROTO((int, int, rtx, rtx *)); +extern int refers_to_regno_for_reload_p PARAMS ((int, int, rtx, rtx *)); /* Nonzero if modifying X will affect IN. */ -extern int reg_overlap_mentioned_for_reload_p PROTO((rtx, rtx)); +extern int reg_overlap_mentioned_for_reload_p PARAMS ((rtx, rtx)); /* Return nonzero if anything in X contains a MEM. Look also for pseudo registers. */ -extern int refers_to_mem_for_reload_p PROTO((rtx)); +extern int refers_to_mem_for_reload_p PARAMS ((rtx)); /* Check the insns before INSN to see if there is a suitable register containing the same value as GOAL. */ -extern rtx find_equiv_reg PROTO((rtx, rtx, enum reg_class, int, short *, +extern rtx find_equiv_reg PARAMS ((rtx, rtx, enum reg_class, int, short *, int, enum machine_mode)); /* Return 1 if register REGNO is the subject of a clobber in insn INSN. */ -extern int regno_clobbered_p PROTO((int, rtx)); +extern int regno_clobbered_p PARAMS ((int, rtx)); /* Return 1 if X is an operand of an insn that is being earlyclobbered. */ -int earlyclobber_operand_p PROTO((rtx)); +int earlyclobber_operand_p PARAMS ((rtx)); /* Functions in reload1.c: */ -extern int reloads_conflict PROTO ((int, int)); +extern int reloads_conflict PARAMS ((int, int)); -int count_occurrences PROTO((rtx, rtx)); +int count_occurrences PARAMS ((rtx, rtx)); /* Initialize the reload pass once per compilation. */ -extern void init_reload PROTO((void)); +extern void init_reload PARAMS ((void)); /* The reload pass itself. */ -extern int reload PROTO((rtx, int, FILE *)); +extern int reload PARAMS ((rtx, int, FILE *)); /* Mark the slots in regs_ever_live for the hard regs used by pseudo-reg number REGNO. */ -extern void mark_home_live PROTO((int)); +extern void mark_home_live PARAMS ((int)); /* Scan X and replace any eliminable registers (such as fp) with a replacement (such as sp), plus an offset. */ -extern rtx eliminate_regs PROTO((rtx, enum machine_mode, rtx)); +extern rtx eliminate_regs PARAMS ((rtx, enum machine_mode, rtx)); /* Emit code to perform a reload from IN (which may be a reload register) to OUT (which may also be a reload register). IN or OUT is from operand OPNUM with reload type TYPE. */ -extern rtx gen_reload PROTO((rtx, rtx, int, enum reload_type)); +extern rtx gen_reload PARAMS ((rtx, rtx, int, enum reload_type)); /* Deallocate the reload register used by reload number R. */ -extern void deallocate_reload_reg PROTO((int r)); +extern void deallocate_reload_reg PARAMS ((int r)); /* Functions in caller-save.c: */ /* Initialize for caller-save. */ -extern void init_caller_save PROTO((void)); +extern void init_caller_save PARAMS ((void)); /* Initialize save areas by showing that we haven't allocated any yet. */ -extern void init_save_areas PROTO((void)); +extern void init_save_areas PARAMS ((void)); /* Allocate save areas for any hard registers that might need saving. */ -extern void setup_save_areas PROTO((void)); +extern void setup_save_areas PARAMS ((void)); /* Find the places where hard regs are live across calls and save them. */ -extern void save_call_clobbered_regs PROTO((void)); +extern void save_call_clobbered_regs PARAMS ((void)); /* Replace (subreg (reg)) with the appropriate (reg) for any operands. */ -extern void cleanup_subreg_operands PROTO ((rtx)); +extern void cleanup_subreg_operands PARAMS ((rtx)); diff --git a/gcc/reload1.c b/gcc/reload1.c index ce96558..4745773 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -366,92 +366,92 @@ static int (*offsets_at)[NUM_ELIMINABLE_REGS]; static int num_labels; -static void maybe_fix_stack_asms PROTO((void)); -static void copy_reloads PROTO((struct insn_chain *)); -static void calculate_needs_all_insns PROTO((int)); -static int find_reg PROTO((struct insn_chain *, int, +static void maybe_fix_stack_asms PARAMS ((void)); +static void copy_reloads PARAMS ((struct insn_chain *)); +static void calculate_needs_all_insns PARAMS ((int)); +static int find_reg PARAMS ((struct insn_chain *, int, FILE *)); -static void find_reload_regs PROTO((struct insn_chain *, FILE *)); -static void select_reload_regs PROTO((FILE *)); -static void delete_caller_save_insns PROTO((void)); - -static void spill_failure PROTO((rtx, enum reg_class)); -static void count_spilled_pseudo PROTO((int, int, int)); -static void delete_dead_insn PROTO((rtx)); -static void alter_reg PROTO((int, int)); -static void set_label_offsets PROTO((rtx, rtx, int)); -static void check_eliminable_occurrences PROTO((rtx)); -static void elimination_effects PROTO((rtx, enum machine_mode)); -static int eliminate_regs_in_insn PROTO((rtx, int)); -static void update_eliminable_offsets PROTO((void)); -static void mark_not_eliminable PROTO((rtx, rtx, void *)); -static void set_initial_elim_offsets PROTO((void)); -static void verify_initial_elim_offsets PROTO((void)); -static void set_initial_label_offsets PROTO((void)); -static void set_offsets_for_label PROTO((rtx)); -static void init_elim_table PROTO((void)); -static void update_eliminables PROTO((HARD_REG_SET *)); -static void spill_hard_reg PROTO((int, FILE *, int)); -static int finish_spills PROTO((int, FILE *)); -static void ior_hard_reg_set PROTO((HARD_REG_SET *, HARD_REG_SET *)); -static void scan_paradoxical_subregs PROTO((rtx)); -static void count_pseudo PROTO((int)); -static void order_regs_for_reload PROTO((struct insn_chain *)); -static void reload_as_needed PROTO((int)); -static void forget_old_reloads_1 PROTO((rtx, rtx, void *)); -static int reload_reg_class_lower PROTO((const PTR, const PTR)); -static void mark_reload_reg_in_use PROTO((int, int, enum reload_type, +static void find_reload_regs PARAMS ((struct insn_chain *, FILE *)); +static void select_reload_regs PARAMS ((FILE *)); +static void delete_caller_save_insns PARAMS ((void)); + +static void spill_failure PARAMS ((rtx, enum reg_class)); +static void count_spilled_pseudo PARAMS ((int, int, int)); +static void delete_dead_insn PARAMS ((rtx)); +static void alter_reg PARAMS ((int, int)); +static void set_label_offsets PARAMS ((rtx, rtx, int)); +static void check_eliminable_occurrences PARAMS ((rtx)); +static void elimination_effects PARAMS ((rtx, enum machine_mode)); +static int eliminate_regs_in_insn PARAMS ((rtx, int)); +static void update_eliminable_offsets PARAMS ((void)); +static void mark_not_eliminable PARAMS ((rtx, rtx, void *)); +static void set_initial_elim_offsets PARAMS ((void)); +static void verify_initial_elim_offsets PARAMS ((void)); +static void set_initial_label_offsets PARAMS ((void)); +static void set_offsets_for_label PARAMS ((rtx)); +static void init_elim_table PARAMS ((void)); +static void update_eliminables PARAMS ((HARD_REG_SET *)); +static void spill_hard_reg PARAMS ((int, FILE *, int)); +static int finish_spills PARAMS ((int, FILE *)); +static void ior_hard_reg_set PARAMS ((HARD_REG_SET *, HARD_REG_SET *)); +static void scan_paradoxical_subregs PARAMS ((rtx)); +static void count_pseudo PARAMS ((int)); +static void order_regs_for_reload PARAMS ((struct insn_chain *)); +static void reload_as_needed PARAMS ((int)); +static void forget_old_reloads_1 PARAMS ((rtx, rtx, void *)); +static int reload_reg_class_lower PARAMS ((const PTR, const PTR)); +static void mark_reload_reg_in_use PARAMS ((int, int, enum reload_type, enum machine_mode)); -static void clear_reload_reg_in_use PROTO((int, int, enum reload_type, +static void clear_reload_reg_in_use PARAMS ((int, int, enum reload_type, enum machine_mode)); -static int reload_reg_free_p PROTO((int, int, enum reload_type)); -static int reload_reg_free_for_value_p PROTO((int, int, enum reload_type, +static int reload_reg_free_p PARAMS ((int, int, enum reload_type)); +static int reload_reg_free_for_value_p PARAMS ((int, int, enum reload_type, rtx, rtx, int, int)); -static int reload_reg_reaches_end_p PROTO((int, int, enum reload_type)); -static int allocate_reload_reg PROTO((struct insn_chain *, int, int)); -static void failed_reload PROTO((rtx, int)); -static int set_reload_reg PROTO((int, int)); -static void choose_reload_regs_init PROTO((struct insn_chain *, rtx *)); -static void choose_reload_regs PROTO((struct insn_chain *)); -static void merge_assigned_reloads PROTO((rtx)); -static void emit_input_reload_insns PROTO((struct insn_chain *, +static int reload_reg_reaches_end_p PARAMS ((int, int, enum reload_type)); +static int allocate_reload_reg PARAMS ((struct insn_chain *, int, int)); +static void failed_reload PARAMS ((rtx, int)); +static int set_reload_reg PARAMS ((int, int)); +static void choose_reload_regs_init PARAMS ((struct insn_chain *, rtx *)); +static void choose_reload_regs PARAMS ((struct insn_chain *)); +static void merge_assigned_reloads PARAMS ((rtx)); +static void emit_input_reload_insns PARAMS ((struct insn_chain *, struct reload *, rtx, int)); -static void emit_output_reload_insns PROTO((struct insn_chain *, +static void emit_output_reload_insns PARAMS ((struct insn_chain *, struct reload *, int)); -static void do_input_reload PROTO((struct insn_chain *, +static void do_input_reload PARAMS ((struct insn_chain *, struct reload *, int)); -static void do_output_reload PROTO((struct insn_chain *, +static void do_output_reload PARAMS ((struct insn_chain *, struct reload *, int)); -static void emit_reload_insns PROTO((struct insn_chain *)); -static void delete_output_reload PROTO((rtx, int, int)); -static void delete_address_reloads PROTO((rtx, rtx)); -static void delete_address_reloads_1 PROTO((rtx, rtx, rtx)); -static rtx inc_for_reload PROTO((rtx, rtx, rtx, int)); -static int constraint_accepts_reg_p PROTO((const char *, rtx)); -static void reload_cse_regs_1 PROTO((rtx)); -static void reload_cse_invalidate_regno PROTO((int, enum machine_mode, int)); -static int reload_cse_mem_conflict_p PROTO((rtx, rtx)); -static void reload_cse_invalidate_mem PROTO((rtx)); -static void reload_cse_invalidate_rtx PROTO((rtx, rtx, void *)); -static int reload_cse_regno_equal_p PROTO((int, rtx, enum machine_mode)); -static int reload_cse_noop_set_p PROTO((rtx, rtx)); -static int reload_cse_simplify_set PROTO((rtx, rtx)); -static int reload_cse_simplify_operands PROTO((rtx)); -static void reload_cse_check_clobber PROTO((rtx, rtx, void *)); -static void reload_cse_record_set PROTO((rtx, rtx)); -static void reload_combine PROTO((void)); -static void reload_combine_note_use PROTO((rtx *, rtx)); -static void reload_combine_note_store PROTO((rtx, rtx, void *)); -static void reload_cse_move2add PROTO((rtx)); -static void move2add_note_store PROTO((rtx, rtx, void *)); +static void emit_reload_insns PARAMS ((struct insn_chain *)); +static void delete_output_reload PARAMS ((rtx, int, int)); +static void delete_address_reloads PARAMS ((rtx, rtx)); +static void delete_address_reloads_1 PARAMS ((rtx, rtx, rtx)); +static rtx inc_for_reload PARAMS ((rtx, rtx, rtx, int)); +static int constraint_accepts_reg_p PARAMS ((const char *, rtx)); +static void reload_cse_regs_1 PARAMS ((rtx)); +static void reload_cse_invalidate_regno PARAMS ((int, enum machine_mode, int)); +static int reload_cse_mem_conflict_p PARAMS ((rtx, rtx)); +static void reload_cse_invalidate_mem PARAMS ((rtx)); +static void reload_cse_invalidate_rtx PARAMS ((rtx, rtx, void *)); +static int reload_cse_regno_equal_p PARAMS ((int, rtx, enum machine_mode)); +static int reload_cse_noop_set_p PARAMS ((rtx, rtx)); +static int reload_cse_simplify_set PARAMS ((rtx, rtx)); +static int reload_cse_simplify_operands PARAMS ((rtx)); +static void reload_cse_check_clobber PARAMS ((rtx, rtx, void *)); +static void reload_cse_record_set PARAMS ((rtx, rtx)); +static void reload_combine PARAMS ((void)); +static void reload_combine_note_use PARAMS ((rtx *, rtx)); +static void reload_combine_note_store PARAMS ((rtx, rtx, void *)); +static void reload_cse_move2add PARAMS ((rtx)); +static void move2add_note_store PARAMS ((rtx, rtx, void *)); #ifdef AUTO_INC_DEC -static void add_auto_inc_notes PROTO((rtx, rtx)); +static void add_auto_inc_notes PARAMS ((rtx, rtx)); #endif -static rtx gen_mode_int PROTO((enum machine_mode, +static rtx gen_mode_int PARAMS ((enum machine_mode, HOST_WIDE_INT)); -static void failed_reload PROTO((rtx, int)); -static int set_reload_reg PROTO((int, int)); -extern void dump_needs PROTO((struct insn_chain *, FILE *)); +static void failed_reload PARAMS ((rtx, int)); +static int set_reload_reg PARAMS ((int, int)); +extern void dump_needs PARAMS ((struct insn_chain *, FILE *)); /* Initialize the reload pass once per compilation. */ diff --git a/gcc/reorg.c b/gcc/reorg.c index bb27bae..6648455 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -177,53 +177,53 @@ static int *uid_to_ruid; /* Highest valid index in `uid_to_ruid'. */ static int max_uid; -static int stop_search_p PROTO((rtx, int)); -static int resource_conflicts_p PROTO((struct resources *, +static int stop_search_p PARAMS ((rtx, int)); +static int resource_conflicts_p PARAMS ((struct resources *, struct resources *)); -static int insn_references_resource_p PROTO((rtx, struct resources *, int)); -static int insn_sets_resource_p PROTO((rtx, struct resources *, int)); -static rtx find_end_label PROTO((void)); -static rtx emit_delay_sequence PROTO((rtx, rtx, int)); -static rtx add_to_delay_list PROTO((rtx, rtx)); -static rtx delete_from_delay_slot PROTO((rtx)); -static void delete_scheduled_jump PROTO((rtx)); -static void note_delay_statistics PROTO((int, int)); +static int insn_references_resource_p PARAMS ((rtx, struct resources *, int)); +static int insn_sets_resource_p PARAMS ((rtx, struct resources *, int)); +static rtx find_end_label PARAMS ((void)); +static rtx emit_delay_sequence PARAMS ((rtx, rtx, int)); +static rtx add_to_delay_list PARAMS ((rtx, rtx)); +static rtx delete_from_delay_slot PARAMS ((rtx)); +static void delete_scheduled_jump PARAMS ((rtx)); +static void note_delay_statistics PARAMS ((int, int)); #if defined(ANNUL_IFFALSE_SLOTS) || defined(ANNUL_IFTRUE_SLOTS) -static rtx optimize_skip PROTO((rtx)); +static rtx optimize_skip PARAMS ((rtx)); #endif -static int get_jump_flags PROTO((rtx, rtx)); -static int rare_destination PROTO((rtx)); -static int mostly_true_jump PROTO((rtx, rtx)); -static rtx get_branch_condition PROTO((rtx, rtx)); -static int condition_dominates_p PROTO((rtx, rtx)); -static int redirect_with_delay_slots_safe_p PROTO ((rtx, rtx, rtx)); -static int redirect_with_delay_list_safe_p PROTO ((rtx, rtx, rtx)); -static int check_annul_list_true_false PROTO ((int, rtx)); -static rtx steal_delay_list_from_target PROTO((rtx, rtx, rtx, rtx, +static int get_jump_flags PARAMS ((rtx, rtx)); +static int rare_destination PARAMS ((rtx)); +static int mostly_true_jump PARAMS ((rtx, rtx)); +static rtx get_branch_condition PARAMS ((rtx, rtx)); +static int condition_dominates_p PARAMS ((rtx, rtx)); +static int redirect_with_delay_slots_safe_p PARAMS ((rtx, rtx, rtx)); +static int redirect_with_delay_list_safe_p PARAMS ((rtx, rtx, rtx)); +static int check_annul_list_true_false PARAMS ((int, rtx)); +static rtx steal_delay_list_from_target PARAMS ((rtx, rtx, rtx, rtx, struct resources *, struct resources *, struct resources *, int, int *, int *, rtx *)); -static rtx steal_delay_list_from_fallthrough PROTO((rtx, rtx, rtx, rtx, +static rtx steal_delay_list_from_fallthrough PARAMS ((rtx, rtx, rtx, rtx, struct resources *, struct resources *, struct resources *, int, int *, int *)); -static void try_merge_delay_insns PROTO((rtx, rtx)); -static rtx redundant_insn PROTO((rtx, rtx, rtx)); -static int own_thread_p PROTO((rtx, rtx, int)); -static void update_block PROTO((rtx, rtx)); -static int reorg_redirect_jump PROTO((rtx, rtx)); -static void update_reg_dead_notes PROTO((rtx, rtx)); -static void fix_reg_dead_note PROTO((rtx, rtx)); -static void update_reg_unused_notes PROTO((rtx, rtx)); -static void fill_simple_delay_slots PROTO((int)); -static rtx fill_slots_from_thread PROTO((rtx, rtx, rtx, rtx, int, int, +static void try_merge_delay_insns PARAMS ((rtx, rtx)); +static rtx redundant_insn PARAMS ((rtx, rtx, rtx)); +static int own_thread_p PARAMS ((rtx, rtx, int)); +static void update_block PARAMS ((rtx, rtx)); +static int reorg_redirect_jump PARAMS ((rtx, rtx)); +static void update_reg_dead_notes PARAMS ((rtx, rtx)); +static void fix_reg_dead_note PARAMS ((rtx, rtx)); +static void update_reg_unused_notes PARAMS ((rtx, rtx)); +static void fill_simple_delay_slots PARAMS ((int)); +static rtx fill_slots_from_thread PARAMS ((rtx, rtx, rtx, rtx, int, int, int, int, int *, rtx)); -static void fill_eager_delay_slots PROTO((void)); -static void relax_delay_slots PROTO((rtx)); +static void fill_eager_delay_slots PARAMS ((void)); +static void relax_delay_slots PARAMS ((rtx)); #ifdef HAVE_return -static void make_return_insns PROTO((rtx)); +static void make_return_insns PARAMS ((rtx)); #endif /* Return TRUE if this insn should stop the search for insn to fill delay diff --git a/gcc/resource.h b/gcc/resource.h index ea7c4b2..5c11e4c 100644 --- a/gcc/resource.h +++ b/gcc/resource.h @@ -33,15 +33,15 @@ struct resources HARD_REG_SET regs; /* Which registers are set or needed. */ }; -extern void mark_target_live_regs PROTO((rtx, rtx, struct resources *)); -extern void mark_set_resources PROTO((rtx, struct resources *, int, +extern void mark_target_live_regs PARAMS ((rtx, rtx, struct resources *)); +extern void mark_set_resources PARAMS ((rtx, struct resources *, int, int)); -extern void mark_referenced_resources PROTO((rtx, struct resources *, int)); -extern void clear_hashed_info_for_insn PROTO((rtx)); -extern void incr_ticks_for_insn PROTO((rtx)); -extern void mark_end_of_function_resources PROTO ((rtx, int)); -extern void init_resource_info PROTO((rtx)); -extern void free_resource_info PROTO((void)); -extern rtx find_free_register PROTO((rtx, rtx, const char *, int, +extern void mark_referenced_resources PARAMS ((rtx, struct resources *, int)); +extern void clear_hashed_info_for_insn PARAMS ((rtx)); +extern void incr_ticks_for_insn PARAMS ((rtx)); +extern void mark_end_of_function_resources PARAMS ((rtx, int)); +extern void init_resource_info PARAMS ((rtx)); +extern void free_resource_info PARAMS ((void)); +extern rtx find_free_register PARAMS ((rtx, rtx, const char *, int, HARD_REG_SET *)); -extern int reg_dead_p PROTO((rtx, rtx)); +extern int reg_dead_p PARAMS ((rtx, rtx)); @@ -257,11 +257,11 @@ const char * const reg_note_name[] = { "", "REG_DEAD", "REG_INC", "REG_EQUIV", " "REG_FRAME_RELATED_EXPR", "REG_EH_REGION", "REG_EH_RETHROW", "REG_SAVE_NOTE" }; -static void fatal_with_file_and_line PVPROTO((FILE *, const char *, ...)) +static void fatal_with_file_and_line PARAMS ((FILE *, const char *, ...)) ATTRIBUTE_NORETURN; -static void fatal_expected_char PROTO((FILE *, int, int)) ATTRIBUTE_NORETURN; -static void read_name PROTO((char *, FILE *)); -static const char *trim_filename PROTO((const char *)); +static void fatal_expected_char PARAMS ((FILE *, int, int)) ATTRIBUTE_NORETURN; +static void read_name PARAMS ((char *, FILE *)); +static const char *trim_filename PARAMS ((const char *)); /* Allocate an rtx vector of N elements. Store the length, and initialize all elements to zero. */ @@ -697,7 +697,7 @@ int read_rtx_lineno = 1; const char *read_rtx_filename = "<unknown>"; static void -fatal_with_file_and_line VPROTO((FILE *infile, const char *msg, ...)) +fatal_with_file_and_line VPARAMS ((FILE *infile, const char *msg, ...)) { #ifndef ANSI_PROTOTYPES FILE *infile; @@ -274,22 +274,22 @@ typedef struct rtvec_def{ __PRETTY_FUNCTION__); \ &_rtvec->elem[_i]; })) -extern void rtl_check_failed_bounds PROTO((rtx, int, +extern void rtl_check_failed_bounds PARAMS ((rtx, int, const char *, int, const char *)) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_type1 PROTO((rtx, int, int, +extern void rtl_check_failed_type1 PARAMS ((rtx, int, int, const char *, int, const char *)) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_type2 PROTO((rtx, int, int, int, +extern void rtl_check_failed_type2 PARAMS ((rtx, int, int, int, const char *, int, const char *)) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_code1 PROTO((rtx, enum rtx_code, +extern void rtl_check_failed_code1 PARAMS ((rtx, enum rtx_code, const char *, int, const char *)) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_code2 PROTO((rtx, enum rtx_code, enum rtx_code, +extern void rtl_check_failed_code2 PARAMS ((rtx, enum rtx_code, enum rtx_code, const char *, int, const char *)) ATTRIBUTE_NORETURN; -extern void rtvec_check_failed_bounds PROTO((rtvec, int, +extern void rtvec_check_failed_bounds PARAMS ((rtvec, int, const char *, int, const char *)) ATTRIBUTE_NORETURN; @@ -944,11 +944,11 @@ extern int rtx_equal_function_value_matters; #define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N)) #define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N)) #endif -extern int exact_log2_wide PROTO((unsigned HOST_WIDE_INT)); -extern int floor_log2_wide PROTO((unsigned HOST_WIDE_INT)); +extern int exact_log2_wide PARAMS ((unsigned HOST_WIDE_INT)); +extern int floor_log2_wide PARAMS ((unsigned HOST_WIDE_INT)); /* In expmed.c */ -extern int ceil_log2 PROTO((unsigned HOST_WIDE_INT)); +extern int ceil_log2 PARAMS ((unsigned HOST_WIDE_INT)); #define plus_constant(X,C) plus_constant_wide (X, (HOST_WIDE_INT) (C)) @@ -956,195 +956,195 @@ extern int ceil_log2 PROTO((unsigned HOST_WIDE_INT)); plus_constant_for_output_wide (X, (HOST_WIDE_INT) (C)) /* In explow.c */ -extern HOST_WIDE_INT trunc_int_for_mode PROTO((HOST_WIDE_INT, +extern HOST_WIDE_INT trunc_int_for_mode PARAMS ((HOST_WIDE_INT, enum machine_mode)); -extern rtx plus_constant_wide PROTO((rtx, HOST_WIDE_INT)); -extern rtx plus_constant_for_output_wide PROTO((rtx, HOST_WIDE_INT)); -extern void optimize_save_area_alloca PROTO((rtx)); +extern rtx plus_constant_wide PARAMS ((rtx, HOST_WIDE_INT)); +extern rtx plus_constant_for_output_wide PARAMS ((rtx, HOST_WIDE_INT)); +extern void optimize_save_area_alloca PARAMS ((rtx)); -extern rtx gen_rtx PVPROTO((enum rtx_code, +extern rtx gen_rtx PARAMS ((enum rtx_code, enum machine_mode, ...)); -extern rtvec gen_rtvec PVPROTO((int, ...)); - -extern char *oballoc PROTO((int)); -extern char *permalloc PROTO((int)); -extern rtx rtx_alloc PROTO((RTX_CODE)); -extern rtvec rtvec_alloc PROTO((int)); -extern rtx copy_insn_1 PROTO((rtx)); -extern rtx copy_insn PROTO((rtx)); -extern rtx copy_rtx PROTO((rtx)); -extern rtx copy_rtx_if_shared PROTO((rtx)); -extern rtx copy_most_rtx PROTO((rtx, rtx)); -extern rtx shallow_copy_rtx PROTO((rtx)); -extern int rtx_equal_p PROTO((rtx, rtx)); -extern rtvec gen_rtvec_v PROTO((int, rtx *)); -extern rtx gen_reg_rtx PROTO((enum machine_mode)); -extern rtx gen_label_rtx PROTO((void)); -extern rtx gen_lowpart_common PROTO((enum machine_mode, rtx)); -extern rtx gen_lowpart PROTO((enum machine_mode, rtx)); -extern rtx gen_lowpart_if_possible PROTO((enum machine_mode, rtx)); -extern rtx gen_highpart PROTO((enum machine_mode, rtx)); -extern rtx gen_realpart PROTO((enum machine_mode, rtx)); -extern rtx gen_imagpart PROTO((enum machine_mode, rtx)); -extern rtx operand_subword PROTO((rtx, int, int, enum machine_mode)); -extern rtx operand_subword_force PROTO((rtx, int, enum machine_mode)); -extern int subreg_lowpart_p PROTO((rtx)); -extern rtx make_safe_from PROTO((rtx, rtx)); -extern rtx convert_memory_address PROTO((enum machine_mode, rtx)); -extern rtx memory_address PROTO((enum machine_mode, rtx)); -extern rtx get_insns PROTO((void)); -extern const char *get_insn_name PROTO((int)); -extern rtx get_last_insn PROTO((void)); -extern rtx get_last_insn_anywhere PROTO((void)); -extern void start_sequence PROTO((void)); -extern void push_to_sequence PROTO((rtx)); -extern void end_sequence PROTO((void)); -extern rtx gen_sequence PROTO((void)); -extern rtx immed_double_const PROTO((HOST_WIDE_INT, HOST_WIDE_INT, enum machine_mode)); -extern rtx force_const_mem PROTO((enum machine_mode, rtx)); -extern rtx force_reg PROTO((enum machine_mode, rtx)); -extern rtx get_pool_constant PROTO((rtx)); -extern enum machine_mode get_pool_mode PROTO((rtx)); -extern rtx get_pool_constant_for_function PROTO((struct function *, rtx)); -extern enum machine_mode get_pool_mode_for_function PROTO((struct function *, rtx)); -extern int get_pool_offset PROTO((rtx)); -extern rtx simplify_subtraction PROTO((rtx)); -extern rtx assign_stack_local PROTO((enum machine_mode, +extern rtvec gen_rtvec PARAMS ((int, ...)); + +extern char *oballoc PARAMS ((int)); +extern char *permalloc PARAMS ((int)); +extern rtx rtx_alloc PARAMS ((RTX_CODE)); +extern rtvec rtvec_alloc PARAMS ((int)); +extern rtx copy_insn_1 PARAMS ((rtx)); +extern rtx copy_insn PARAMS ((rtx)); +extern rtx copy_rtx PARAMS ((rtx)); +extern rtx copy_rtx_if_shared PARAMS ((rtx)); +extern rtx copy_most_rtx PARAMS ((rtx, rtx)); +extern rtx shallow_copy_rtx PARAMS ((rtx)); +extern int rtx_equal_p PARAMS ((rtx, rtx)); +extern rtvec gen_rtvec_v PARAMS ((int, rtx *)); +extern rtx gen_reg_rtx PARAMS ((enum machine_mode)); +extern rtx gen_label_rtx PARAMS ((void)); +extern rtx gen_lowpart_common PARAMS ((enum machine_mode, rtx)); +extern rtx gen_lowpart PARAMS ((enum machine_mode, rtx)); +extern rtx gen_lowpart_if_possible PARAMS ((enum machine_mode, rtx)); +extern rtx gen_highpart PARAMS ((enum machine_mode, rtx)); +extern rtx gen_realpart PARAMS ((enum machine_mode, rtx)); +extern rtx gen_imagpart PARAMS ((enum machine_mode, rtx)); +extern rtx operand_subword PARAMS ((rtx, int, int, enum machine_mode)); +extern rtx operand_subword_force PARAMS ((rtx, int, enum machine_mode)); +extern int subreg_lowpart_p PARAMS ((rtx)); +extern rtx make_safe_from PARAMS ((rtx, rtx)); +extern rtx convert_memory_address PARAMS ((enum machine_mode, rtx)); +extern rtx memory_address PARAMS ((enum machine_mode, rtx)); +extern rtx get_insns PARAMS ((void)); +extern const char *get_insn_name PARAMS ((int)); +extern rtx get_last_insn PARAMS ((void)); +extern rtx get_last_insn_anywhere PARAMS ((void)); +extern void start_sequence PARAMS ((void)); +extern void push_to_sequence PARAMS ((rtx)); +extern void end_sequence PARAMS ((void)); +extern rtx gen_sequence PARAMS ((void)); +extern rtx immed_double_const PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, enum machine_mode)); +extern rtx force_const_mem PARAMS ((enum machine_mode, rtx)); +extern rtx force_reg PARAMS ((enum machine_mode, rtx)); +extern rtx get_pool_constant PARAMS ((rtx)); +extern enum machine_mode get_pool_mode PARAMS ((rtx)); +extern rtx get_pool_constant_for_function PARAMS ((struct function *, rtx)); +extern enum machine_mode get_pool_mode_for_function PARAMS ((struct function *, rtx)); +extern int get_pool_offset PARAMS ((rtx)); +extern rtx simplify_subtraction PARAMS ((rtx)); +extern rtx assign_stack_local PARAMS ((enum machine_mode, HOST_WIDE_INT, int)); -extern rtx assign_stack_temp PROTO((enum machine_mode, +extern rtx assign_stack_temp PARAMS ((enum machine_mode, HOST_WIDE_INT, int)); -extern rtx assign_temp PROTO((union tree_node *, +extern rtx assign_temp PARAMS ((union tree_node *, int, int, int)); -extern rtx protect_from_queue PROTO((rtx, int)); -extern void emit_queue PROTO((void)); -extern rtx emit_move_insn PROTO((rtx, rtx)); -extern rtx emit_insn_before PROTO((rtx, rtx)); -extern rtx emit_jump_insn_before PROTO((rtx, rtx)); -extern rtx emit_call_insn_before PROTO((rtx, rtx)); -extern rtx emit_barrier_before PROTO((rtx)); -extern rtx emit_label_before PROTO((rtx, rtx)); -extern rtx emit_note_before PROTO((int, rtx)); -extern rtx emit_insn_after PROTO((rtx, rtx)); -extern rtx emit_jump_insn_after PROTO((rtx, rtx)); -extern rtx emit_barrier_after PROTO((rtx)); -extern rtx emit_label_after PROTO((rtx, rtx)); -extern rtx emit_note_after PROTO((int, rtx)); -extern rtx emit_line_note_after PROTO((char *, int, rtx)); -extern rtx emit_insn PROTO((rtx)); -extern rtx emit_insns PROTO((rtx)); -extern rtx emit_insns_before PROTO((rtx, rtx)); -extern rtx emit_insns_after PROTO((rtx, rtx)); -extern rtx emit_jump_insn PROTO((rtx)); -extern rtx emit_call_insn PROTO((rtx)); -extern rtx emit_label PROTO((rtx)); -extern rtx emit_barrier PROTO((void)); -extern rtx emit_line_note PROTO((char *, int)); -extern rtx emit_note PROTO((char *, int)); -extern rtx emit_line_note_force PROTO((char *, int)); -extern rtx make_insn_raw PROTO((rtx)); -extern rtx previous_insn PROTO((rtx)); -extern rtx next_insn PROTO((rtx)); -extern rtx prev_nonnote_insn PROTO((rtx)); -extern rtx next_nonnote_insn PROTO((rtx)); -extern rtx prev_real_insn PROTO((rtx)); -extern rtx next_real_insn PROTO((rtx)); -extern rtx prev_active_insn PROTO((rtx)); -extern rtx next_active_insn PROTO((rtx)); -extern rtx prev_label PROTO((rtx)); -extern rtx next_label PROTO((rtx)); -extern rtx next_cc0_user PROTO((rtx)); -extern rtx prev_cc0_setter PROTO((rtx)); -extern rtx next_nondeleted_insn PROTO((rtx)); -extern enum rtx_code reverse_condition PROTO((enum rtx_code)); -extern enum rtx_code swap_condition PROTO((enum rtx_code)); -extern enum rtx_code unsigned_condition PROTO((enum rtx_code)); -extern enum rtx_code signed_condition PROTO((enum rtx_code)); -extern rtx find_equiv_reg PROTO((rtx, rtx, enum reg_class, int, short *, int, enum machine_mode)); -extern rtx squeeze_notes PROTO((rtx, rtx)); -extern rtx delete_insn PROTO((rtx)); -extern void delete_jump PROTO((rtx)); -extern void delete_barrier PROTO((rtx)); -extern rtx get_label_before PROTO((rtx)); -extern rtx get_label_after PROTO((rtx)); -extern rtx follow_jumps PROTO((rtx)); -extern rtx adj_offsettable_operand PROTO((rtx, int)); -extern rtx try_split PROTO((rtx, rtx, int)); -extern rtx split_insns PROTO((rtx, rtx)); -extern rtx simplify_unary_operation PROTO((enum rtx_code, enum machine_mode, rtx, enum machine_mode)); -extern rtx simplify_binary_operation PROTO((enum rtx_code, enum machine_mode, rtx, rtx)); -extern rtx simplify_ternary_operation PROTO((enum rtx_code, enum machine_mode, enum machine_mode, rtx, rtx, rtx)); -extern rtx simplify_relational_operation PROTO((enum rtx_code, enum machine_mode, rtx, rtx)); -extern rtx simplify_gen_binary PROTO((enum rtx_code, enum machine_mode, +extern rtx protect_from_queue PARAMS ((rtx, int)); +extern void emit_queue PARAMS ((void)); +extern rtx emit_move_insn PARAMS ((rtx, rtx)); +extern rtx emit_insn_before PARAMS ((rtx, rtx)); +extern rtx emit_jump_insn_before PARAMS ((rtx, rtx)); +extern rtx emit_call_insn_before PARAMS ((rtx, rtx)); +extern rtx emit_barrier_before PARAMS ((rtx)); +extern rtx emit_label_before PARAMS ((rtx, rtx)); +extern rtx emit_note_before PARAMS ((int, rtx)); +extern rtx emit_insn_after PARAMS ((rtx, rtx)); +extern rtx emit_jump_insn_after PARAMS ((rtx, rtx)); +extern rtx emit_barrier_after PARAMS ((rtx)); +extern rtx emit_label_after PARAMS ((rtx, rtx)); +extern rtx emit_note_after PARAMS ((int, rtx)); +extern rtx emit_line_note_after PARAMS ((char *, int, rtx)); +extern rtx emit_insn PARAMS ((rtx)); +extern rtx emit_insns PARAMS ((rtx)); +extern rtx emit_insns_before PARAMS ((rtx, rtx)); +extern rtx emit_insns_after PARAMS ((rtx, rtx)); +extern rtx emit_jump_insn PARAMS ((rtx)); +extern rtx emit_call_insn PARAMS ((rtx)); +extern rtx emit_label PARAMS ((rtx)); +extern rtx emit_barrier PARAMS ((void)); +extern rtx emit_line_note PARAMS ((char *, int)); +extern rtx emit_note PARAMS ((char *, int)); +extern rtx emit_line_note_force PARAMS ((char *, int)); +extern rtx make_insn_raw PARAMS ((rtx)); +extern rtx previous_insn PARAMS ((rtx)); +extern rtx next_insn PARAMS ((rtx)); +extern rtx prev_nonnote_insn PARAMS ((rtx)); +extern rtx next_nonnote_insn PARAMS ((rtx)); +extern rtx prev_real_insn PARAMS ((rtx)); +extern rtx next_real_insn PARAMS ((rtx)); +extern rtx prev_active_insn PARAMS ((rtx)); +extern rtx next_active_insn PARAMS ((rtx)); +extern rtx prev_label PARAMS ((rtx)); +extern rtx next_label PARAMS ((rtx)); +extern rtx next_cc0_user PARAMS ((rtx)); +extern rtx prev_cc0_setter PARAMS ((rtx)); +extern rtx next_nondeleted_insn PARAMS ((rtx)); +extern enum rtx_code reverse_condition PARAMS ((enum rtx_code)); +extern enum rtx_code swap_condition PARAMS ((enum rtx_code)); +extern enum rtx_code unsigned_condition PARAMS ((enum rtx_code)); +extern enum rtx_code signed_condition PARAMS ((enum rtx_code)); +extern rtx find_equiv_reg PARAMS ((rtx, rtx, enum reg_class, int, short *, int, enum machine_mode)); +extern rtx squeeze_notes PARAMS ((rtx, rtx)); +extern rtx delete_insn PARAMS ((rtx)); +extern void delete_jump PARAMS ((rtx)); +extern void delete_barrier PARAMS ((rtx)); +extern rtx get_label_before PARAMS ((rtx)); +extern rtx get_label_after PARAMS ((rtx)); +extern rtx follow_jumps PARAMS ((rtx)); +extern rtx adj_offsettable_operand PARAMS ((rtx, int)); +extern rtx try_split PARAMS ((rtx, rtx, int)); +extern rtx split_insns PARAMS ((rtx, rtx)); +extern rtx simplify_unary_operation PARAMS ((enum rtx_code, enum machine_mode, rtx, enum machine_mode)); +extern rtx simplify_binary_operation PARAMS ((enum rtx_code, enum machine_mode, rtx, rtx)); +extern rtx simplify_ternary_operation PARAMS ((enum rtx_code, enum machine_mode, enum machine_mode, rtx, rtx, rtx)); +extern rtx simplify_relational_operation PARAMS ((enum rtx_code, enum machine_mode, rtx, rtx)); +extern rtx simplify_gen_binary PARAMS ((enum rtx_code, enum machine_mode, rtx, rtx)); -extern rtx simplify_rtx PROTO((rtx)); -extern rtx gen_move_insn PROTO((rtx, rtx)); -extern rtx gen_jump PROTO((rtx)); -extern rtx gen_beq PROTO((rtx)); -extern rtx gen_bge PROTO((rtx)); -extern rtx gen_ble PROTO((rtx)); -extern rtx gen_mem_addressof PROTO((rtx, union tree_node *)); -extern rtx eliminate_constant_term PROTO((rtx, rtx *)); -extern rtx expand_complex_abs PROTO((enum machine_mode, rtx, rtx, int)); -extern enum machine_mode choose_hard_reg_mode PROTO((int, int)); -extern void set_unique_reg_note PROTO((rtx, enum reg_note, rtx)); +extern rtx simplify_rtx PARAMS ((rtx)); +extern rtx gen_move_insn PARAMS ((rtx, rtx)); +extern rtx gen_jump PARAMS ((rtx)); +extern rtx gen_beq PARAMS ((rtx)); +extern rtx gen_bge PARAMS ((rtx)); +extern rtx gen_ble PARAMS ((rtx)); +extern rtx gen_mem_addressof PARAMS ((rtx, union tree_node *)); +extern rtx eliminate_constant_term PARAMS ((rtx, rtx *)); +extern rtx expand_complex_abs PARAMS ((enum machine_mode, rtx, rtx, int)); +extern enum machine_mode choose_hard_reg_mode PARAMS ((int, int)); +extern void set_unique_reg_note PARAMS ((rtx, enum reg_note, rtx)); /* Functions in rtlanal.c */ -extern int rtx_unstable_p PROTO((rtx)); -extern int rtx_varies_p PROTO((rtx)); -extern int rtx_addr_varies_p PROTO((rtx)); -extern HOST_WIDE_INT get_integer_term PROTO((rtx)); -extern rtx get_related_value PROTO((rtx)); -extern int reg_mentioned_p PROTO((rtx, rtx)); -extern int reg_referenced_p PROTO((rtx, rtx)); -extern int reg_used_between_p PROTO((rtx, rtx, rtx)); -extern int reg_referenced_between_p PROTO((rtx, rtx, rtx)); -extern int reg_set_between_p PROTO((rtx, rtx, rtx)); -extern int regs_set_between_p PROTO((rtx, rtx, rtx)); -extern int modified_between_p PROTO((rtx, rtx, rtx)); -extern int no_labels_between_p PROTO((rtx, rtx)); -extern int no_jumps_between_p PROTO((rtx, rtx)); -extern int modified_in_p PROTO((rtx, rtx)); -extern int reg_set_p PROTO((rtx, rtx)); -extern rtx single_set PROTO((rtx)); -extern int multiple_sets PROTO((rtx)); -extern rtx find_last_value PROTO((rtx, rtx *, rtx, int)); -extern int refers_to_regno_p PROTO((int, int, rtx, rtx *)); -extern int reg_overlap_mentioned_p PROTO((rtx, rtx)); -extern void note_stores PROTO((rtx, void (*)(rtx, rtx, void *), void *)); -extern rtx reg_set_last PROTO((rtx, rtx)); -extern int dead_or_set_p PROTO((rtx, rtx)); -extern int dead_or_set_regno_p PROTO((rtx, int)); -extern rtx find_reg_note PROTO((rtx, enum reg_note, rtx)); -extern rtx find_regno_note PROTO((rtx, enum reg_note, int)); -extern int find_reg_fusage PROTO((rtx, enum rtx_code, rtx)); -extern int find_regno_fusage PROTO((rtx, enum rtx_code, int)); -extern void remove_note PROTO((rtx, rtx)); -extern int side_effects_p PROTO((rtx)); -extern int volatile_refs_p PROTO((rtx)); -extern int volatile_insn_p PROTO((rtx)); -extern int may_trap_p PROTO((rtx)); -extern int inequality_comparisons_p PROTO ((rtx)); -extern rtx replace_rtx PROTO((rtx, rtx, rtx)); -extern rtx replace_regs PROTO((rtx, rtx *, int, int)); -extern int computed_jump_p PROTO((rtx)); -typedef int (*rtx_function) PROTO((rtx *, void *)); -extern int for_each_rtx PROTO((rtx *, rtx_function, void *)); -extern rtx regno_use_in PROTO((int, rtx)); -extern int auto_inc_p PROTO((rtx)); -extern void remove_node_from_expr_list PROTO((rtx, rtx *)); -extern int insns_safe_to_move_p PROTO((rtx, rtx, rtx *)); +extern int rtx_unstable_p PARAMS ((rtx)); +extern int rtx_varies_p PARAMS ((rtx)); +extern int rtx_addr_varies_p PARAMS ((rtx)); +extern HOST_WIDE_INT get_integer_term PARAMS ((rtx)); +extern rtx get_related_value PARAMS ((rtx)); +extern int reg_mentioned_p PARAMS ((rtx, rtx)); +extern int reg_referenced_p PARAMS ((rtx, rtx)); +extern int reg_used_between_p PARAMS ((rtx, rtx, rtx)); +extern int reg_referenced_between_p PARAMS ((rtx, rtx, rtx)); +extern int reg_set_between_p PARAMS ((rtx, rtx, rtx)); +extern int regs_set_between_p PARAMS ((rtx, rtx, rtx)); +extern int modified_between_p PARAMS ((rtx, rtx, rtx)); +extern int no_labels_between_p PARAMS ((rtx, rtx)); +extern int no_jumps_between_p PARAMS ((rtx, rtx)); +extern int modified_in_p PARAMS ((rtx, rtx)); +extern int reg_set_p PARAMS ((rtx, rtx)); +extern rtx single_set PARAMS ((rtx)); +extern int multiple_sets PARAMS ((rtx)); +extern rtx find_last_value PARAMS ((rtx, rtx *, rtx, int)); +extern int refers_to_regno_p PARAMS ((int, int, rtx, rtx *)); +extern int reg_overlap_mentioned_p PARAMS ((rtx, rtx)); +extern void note_stores PARAMS ((rtx, void (*)(rtx, rtx, void *), void *)); +extern rtx reg_set_last PARAMS ((rtx, rtx)); +extern int dead_or_set_p PARAMS ((rtx, rtx)); +extern int dead_or_set_regno_p PARAMS ((rtx, int)); +extern rtx find_reg_note PARAMS ((rtx, enum reg_note, rtx)); +extern rtx find_regno_note PARAMS ((rtx, enum reg_note, int)); +extern int find_reg_fusage PARAMS ((rtx, enum rtx_code, rtx)); +extern int find_regno_fusage PARAMS ((rtx, enum rtx_code, int)); +extern void remove_note PARAMS ((rtx, rtx)); +extern int side_effects_p PARAMS ((rtx)); +extern int volatile_refs_p PARAMS ((rtx)); +extern int volatile_insn_p PARAMS ((rtx)); +extern int may_trap_p PARAMS ((rtx)); +extern int inequality_comparisons_p PARAMS ((rtx)); +extern rtx replace_rtx PARAMS ((rtx, rtx, rtx)); +extern rtx replace_regs PARAMS ((rtx, rtx *, int, int)); +extern int computed_jump_p PARAMS ((rtx)); +typedef int (*rtx_function) PARAMS ((rtx *, void *)); +extern int for_each_rtx PARAMS ((rtx *, rtx_function, void *)); +extern rtx regno_use_in PARAMS ((int, rtx)); +extern int auto_inc_p PARAMS ((rtx)); +extern void remove_node_from_expr_list PARAMS ((rtx, rtx *)); +extern int insns_safe_to_move_p PARAMS ((rtx, rtx, rtx *)); /* flow.c */ -extern rtx find_use_as_address PROTO((rtx, rtx, HOST_WIDE_INT)); -void init_EXPR_INSN_LIST_cache PROTO((void)); -void free_EXPR_LIST_list PROTO((rtx *)); -void free_INSN_LIST_list PROTO((rtx *)); -void free_EXPR_LIST_node PROTO((rtx)); -void free_INSN_LIST_node PROTO((rtx)); -rtx alloc_INSN_LIST PROTO((rtx, rtx)); -rtx alloc_EXPR_LIST PROTO((int, rtx, rtx)); +extern rtx find_use_as_address PARAMS ((rtx, rtx, HOST_WIDE_INT)); +void init_EXPR_INSN_LIST_cache PARAMS ((void)); +void free_EXPR_LIST_list PARAMS ((rtx *)); +void free_INSN_LIST_list PARAMS ((rtx *)); +void free_EXPR_LIST_node PARAMS ((rtx)); +void free_INSN_LIST_node PARAMS ((rtx)); +rtx alloc_INSN_LIST PARAMS ((rtx, rtx)); +rtx alloc_EXPR_LIST PARAMS ((int, rtx, rtx)); /* regclass.c */ @@ -1155,20 +1155,20 @@ rtx alloc_EXPR_LIST PROTO((int, rtx, rtx)); extern int max_parallel; /* Free up register info memory. */ -extern void free_reg_info PROTO((void)); +extern void free_reg_info PARAMS ((void)); /* recog.c */ -extern int asm_noperands PROTO((rtx)); -extern char *decode_asm_operands PROTO((rtx, rtx *, rtx **, +extern int asm_noperands PARAMS ((rtx)); +extern char *decode_asm_operands PARAMS ((rtx, rtx *, rtx **, const char **, enum machine_mode *)); -extern enum reg_class reg_preferred_class PROTO((int)); -extern enum reg_class reg_alternate_class PROTO((int)); +extern enum reg_class reg_preferred_class PARAMS ((int)); +extern enum reg_class reg_alternate_class PARAMS ((int)); -extern rtx get_first_nonparm_insn PROTO((void)); +extern rtx get_first_nonparm_insn PARAMS ((void)); -extern void split_all_insns PROTO((int)); +extern void split_all_insns PARAMS ((int)); #define MAX_SAVED_CONST_INT 64 extern rtx const_int_rtx[MAX_SAVED_CONST_INT * 2 + 1]; @@ -1268,11 +1268,11 @@ extern rtx return_address_pointer_rtx; add to this list, modify special_rtx in gengenrtl.c as well. You should also modify gen_rtx to use the special function. */ -extern rtx gen_rtx_CONST_DOUBLE PROTO((enum machine_mode, rtx, +extern rtx gen_rtx_CONST_DOUBLE PARAMS ((enum machine_mode, rtx, HOST_WIDE_INT, HOST_WIDE_INT)); -extern rtx gen_rtx_CONST_INT PROTO((enum machine_mode, HOST_WIDE_INT)); -extern rtx gen_rtx_REG PROTO((enum machine_mode, int)); -extern rtx gen_rtx_MEM PROTO((enum machine_mode, rtx)); +extern rtx gen_rtx_CONST_INT PARAMS ((enum machine_mode, HOST_WIDE_INT)); +extern rtx gen_rtx_REG PARAMS ((enum machine_mode, int)); +extern rtx gen_rtx_MEM PARAMS ((enum machine_mode, rtx)); /* We need the cast here to ensure that we get the same result both with and without prototypes. */ @@ -1330,12 +1330,12 @@ extern rtx gen_rtx_MEM PROTO((enum machine_mode, rtx)); #define LAST_VIRTUAL_REGISTER ((FIRST_VIRTUAL_REGISTER) + 4) -extern rtx find_next_ref PROTO((rtx, rtx)); -extern rtx *find_single_use PROTO((rtx, rtx, rtx *)); +extern rtx find_next_ref PARAMS ((rtx, rtx)); +extern rtx *find_single_use PARAMS ((rtx, rtx, rtx *)); -extern rtx output_constant_def PROTO((union tree_node *)); -extern rtx immed_real_const PROTO((union tree_node *)); -extern union tree_node *make_tree PROTO((union tree_node *, rtx)); +extern rtx output_constant_def PARAMS ((union tree_node *)); +extern rtx immed_real_const PARAMS ((union tree_node *)); +extern union tree_node *make_tree PARAMS ((union tree_node *, rtx)); /* Define a default value for STORE_FLAG_VALUE. */ @@ -1373,48 +1373,48 @@ extern int no_new_pseudos; REAL_ARITHMETIC. The function returns an int because the caller may not know what `enum tree_code' means. */ -extern int rtx_to_tree_code PROTO((enum rtx_code)); +extern int rtx_to_tree_code PARAMS ((enum rtx_code)); /* In tree.c */ -extern void obfree PROTO ((char *)); +extern void obfree PARAMS ((char *)); struct obstack; -extern void gcc_obstack_init PROTO ((struct obstack *)); -extern void pop_obstacks PROTO ((void)); -extern void push_obstacks PROTO ((struct obstack *, +extern void gcc_obstack_init PARAMS ((struct obstack *)); +extern void pop_obstacks PARAMS ((void)); +extern void push_obstacks PARAMS ((struct obstack *, struct obstack *)); /* In cse.c */ struct cse_basic_block_data; -extern int rtx_cost PROTO ((rtx, enum rtx_code)); -extern void delete_trivially_dead_insns PROTO ((rtx, int)); +extern int rtx_cost PARAMS ((rtx, enum rtx_code)); +extern void delete_trivially_dead_insns PARAMS ((rtx, int)); #ifdef BUFSIZ -extern int cse_main PROTO ((rtx, int, int, FILE *)); +extern int cse_main PARAMS ((rtx, int, int, FILE *)); #endif -extern void cse_end_of_basic_block PROTO ((rtx, +extern void cse_end_of_basic_block PARAMS ((rtx, struct cse_basic_block_data *, int, int, int)); /* In jump.c */ -extern int comparison_dominates_p PROTO ((enum rtx_code, enum rtx_code)); -extern int condjump_p PROTO ((rtx)); -extern rtx condjump_label PROTO ((rtx)); -extern int simplejump_p PROTO ((rtx)); -extern int returnjump_p PROTO ((rtx)); -extern int onlyjump_p PROTO ((rtx)); -extern int sets_cc0_p PROTO ((rtx)); -extern int invert_jump PROTO ((rtx, rtx)); -extern int rtx_renumbered_equal_p PROTO ((rtx, rtx)); -extern int true_regnum PROTO ((rtx)); -extern int redirect_jump PROTO ((rtx, rtx)); -extern void jump_optimize PROTO ((rtx, int, int, int)); -extern void rebuild_jump_labels PROTO ((rtx)); -extern void thread_jumps PROTO ((rtx, int, int)); -extern int redirect_exp PROTO ((rtx *, rtx, rtx, rtx)); -extern int rtx_equal_for_thread_p PROTO ((rtx, rtx, rtx)); -extern int invert_exp PROTO ((rtx, rtx)); -extern int can_reverse_comparison_p PROTO ((rtx, rtx)); -extern void delete_for_peephole PROTO ((rtx, rtx)); -extern int condjump_in_parallel_p PROTO ((rtx)); -extern void never_reached_warning PROTO ((rtx)); +extern int comparison_dominates_p PARAMS ((enum rtx_code, enum rtx_code)); +extern int condjump_p PARAMS ((rtx)); +extern rtx condjump_label PARAMS ((rtx)); +extern int simplejump_p PARAMS ((rtx)); +extern int returnjump_p PARAMS ((rtx)); +extern int onlyjump_p PARAMS ((rtx)); +extern int sets_cc0_p PARAMS ((rtx)); +extern int invert_jump PARAMS ((rtx, rtx)); +extern int rtx_renumbered_equal_p PARAMS ((rtx, rtx)); +extern int true_regnum PARAMS ((rtx)); +extern int redirect_jump PARAMS ((rtx, rtx)); +extern void jump_optimize PARAMS ((rtx, int, int, int)); +extern void rebuild_jump_labels PARAMS ((rtx)); +extern void thread_jumps PARAMS ((rtx, int, int)); +extern int redirect_exp PARAMS ((rtx *, rtx, rtx, rtx)); +extern int rtx_equal_for_thread_p PARAMS ((rtx, rtx, rtx)); +extern int invert_exp PARAMS ((rtx, rtx)); +extern int can_reverse_comparison_p PARAMS ((rtx, rtx)); +extern void delete_for_peephole PARAMS ((rtx, rtx)); +extern int condjump_in_parallel_p PARAMS ((rtx)); +extern void never_reached_warning PARAMS ((rtx)); /* Flags for jump_optimize() */ #define JUMP_CROSS_JUMP 1 @@ -1423,250 +1423,250 @@ extern void never_reached_warning PROTO ((rtx)); #define JUMP_AFTER_REGSCAN 1 /* In emit-rtl.c. */ -extern int max_reg_num PROTO ((void)); -extern int max_label_num PROTO ((void)); -extern int get_first_label_num PROTO ((void)); -extern void delete_insns_since PROTO ((rtx)); -extern void mark_reg_pointer PROTO ((rtx, int)); -extern void mark_user_reg PROTO ((rtx)); -extern void reset_used_flags PROTO ((rtx)); -extern void reorder_insns PROTO ((rtx, rtx, rtx)); -extern int get_max_uid PROTO ((void)); -extern int in_sequence_p PROTO ((void)); -extern void force_next_line_note PROTO ((void)); -extern void clear_emit_caches PROTO ((void)); -extern void init_emit PROTO ((void)); -extern void init_emit_once PROTO ((int)); -extern void push_topmost_sequence PROTO ((void)); -extern void pop_topmost_sequence PROTO ((void)); -extern int subreg_realpart_p PROTO ((rtx)); -extern void reverse_comparison PROTO ((rtx)); -extern void set_new_first_and_last_insn PROTO ((rtx, rtx)); -extern void set_new_first_and_last_label_num PROTO ((int, int)); -extern void set_new_last_label_num PROTO ((int)); -extern void unshare_all_rtl PROTO ((rtx)); -extern void set_last_insn PROTO ((rtx)); -extern void link_cc0_insns PROTO ((rtx)); -extern void add_insn PROTO ((rtx)); -extern void add_insn_before PROTO ((rtx, rtx)); -extern void add_insn_after PROTO ((rtx, rtx)); -extern void remove_insn PROTO ((rtx)); -extern void reorder_insns_with_line_notes PROTO ((rtx, rtx, rtx)); -extern void emit_insn_after_with_line_notes PROTO ((rtx, rtx, rtx)); -extern enum rtx_code classify_insn PROTO ((rtx)); -extern rtx emit PROTO ((rtx)); +extern int max_reg_num PARAMS ((void)); +extern int max_label_num PARAMS ((void)); +extern int get_first_label_num PARAMS ((void)); +extern void delete_insns_since PARAMS ((rtx)); +extern void mark_reg_pointer PARAMS ((rtx, int)); +extern void mark_user_reg PARAMS ((rtx)); +extern void reset_used_flags PARAMS ((rtx)); +extern void reorder_insns PARAMS ((rtx, rtx, rtx)); +extern int get_max_uid PARAMS ((void)); +extern int in_sequence_p PARAMS ((void)); +extern void force_next_line_note PARAMS ((void)); +extern void clear_emit_caches PARAMS ((void)); +extern void init_emit PARAMS ((void)); +extern void init_emit_once PARAMS ((int)); +extern void push_topmost_sequence PARAMS ((void)); +extern void pop_topmost_sequence PARAMS ((void)); +extern int subreg_realpart_p PARAMS ((rtx)); +extern void reverse_comparison PARAMS ((rtx)); +extern void set_new_first_and_last_insn PARAMS ((rtx, rtx)); +extern void set_new_first_and_last_label_num PARAMS ((int, int)); +extern void set_new_last_label_num PARAMS ((int)); +extern void unshare_all_rtl PARAMS ((rtx)); +extern void set_last_insn PARAMS ((rtx)); +extern void link_cc0_insns PARAMS ((rtx)); +extern void add_insn PARAMS ((rtx)); +extern void add_insn_before PARAMS ((rtx, rtx)); +extern void add_insn_after PARAMS ((rtx, rtx)); +extern void remove_insn PARAMS ((rtx)); +extern void reorder_insns_with_line_notes PARAMS ((rtx, rtx, rtx)); +extern void emit_insn_after_with_line_notes PARAMS ((rtx, rtx, rtx)); +extern enum rtx_code classify_insn PARAMS ((rtx)); +extern rtx emit PARAMS ((rtx)); /* Query and clear/ restore no_line_numbers. This is used by the switch / case handling in stmt.c to give proper line numbers in warnings about unreachable code. */ -int force_line_numbers PROTO((void)); -void restore_line_number_status PROTO((int old_value)); -extern void renumber_insns PROTO ((FILE *)); -extern void remove_unncessary_notes PROTO ((void)); +int force_line_numbers PARAMS ((void)); +void restore_line_number_status PARAMS ((int old_value)); +extern void renumber_insns PARAMS ((FILE *)); +extern void remove_unncessary_notes PARAMS ((void)); /* In insn-emit.c */ -extern void add_clobbers PROTO ((rtx, int)); +extern void add_clobbers PARAMS ((rtx, int)); /* In combine.c */ -extern void combine_instructions PROTO ((rtx, int)); -extern int extended_count PROTO ((rtx, enum machine_mode, int)); -extern rtx remove_death PROTO ((int, rtx)); +extern void combine_instructions PARAMS ((rtx, int)); +extern int extended_count PARAMS ((rtx, enum machine_mode, int)); +extern rtx remove_death PARAMS ((int, rtx)); #ifdef BUFSIZ -extern void dump_combine_stats PROTO ((FILE *)); -extern void dump_combine_total_stats PROTO ((FILE *)); +extern void dump_combine_stats PARAMS ((FILE *)); +extern void dump_combine_total_stats PARAMS ((FILE *)); #endif /* In sched.c. */ #ifdef BUFSIZ -extern void schedule_insns PROTO ((FILE *)); +extern void schedule_insns PARAMS ((FILE *)); #endif -extern void fix_sched_param PROTO ((const char *, const char *)); +extern void fix_sched_param PARAMS ((const char *, const char *)); /* In print-rtl.c */ -extern void debug_rtx PROTO ((rtx)); -extern void debug_rtx_list PROTO ((rtx, int)); -extern rtx debug_rtx_find PROTO ((rtx, int)); +extern void debug_rtx PARAMS ((rtx)); +extern void debug_rtx_list PARAMS ((rtx, int)); +extern rtx debug_rtx_find PARAMS ((rtx, int)); #ifdef BUFSIZ -extern void print_rtl PROTO ((FILE *, rtx)); -extern int print_rtl_single PROTO ((FILE *, rtx)); -extern void print_inline_rtx PROTO ((FILE *, rtx, int)); +extern void print_rtl PARAMS ((FILE *, rtx)); +extern int print_rtl_single PARAMS ((FILE *, rtx)); +extern void print_inline_rtx PARAMS ((FILE *, rtx, int)); #endif /* In loop.c */ -extern void init_loop PROTO ((void)); -extern rtx libcall_other_reg PROTO ((rtx, rtx)); +extern void init_loop PARAMS ((void)); +extern rtx libcall_other_reg PARAMS ((rtx, rtx)); #ifdef BUFSIZ -extern void loop_optimize PROTO ((rtx, FILE *, int, int)); +extern void loop_optimize PARAMS ((rtx, FILE *, int, int)); #endif -extern void record_excess_regs PROTO ((rtx, rtx, rtx *)); +extern void record_excess_regs PARAMS ((rtx, rtx, rtx *)); /* In function.c */ -extern void reposition_prologue_and_epilogue_notes PROTO ((rtx)); -extern void thread_prologue_and_epilogue_insns PROTO ((rtx)); -extern int prologue_epilogue_contains PROTO ((rtx)); -extern void use_variable PROTO ((rtx)); -extern HOST_WIDE_INT get_frame_size PROTO ((void)); -extern void preserve_rtl_expr_result PROTO ((rtx)); -extern void mark_temp_addr_taken PROTO ((rtx)); -extern void update_temp_slot_address PROTO ((rtx, rtx)); -extern void use_variable_after PROTO ((rtx, rtx)); -extern void purge_addressof PROTO ((rtx)); +extern void reposition_prologue_and_epilogue_notes PARAMS ((rtx)); +extern void thread_prologue_and_epilogue_insns PARAMS ((rtx)); +extern int prologue_epilogue_contains PARAMS ((rtx)); +extern void use_variable PARAMS ((rtx)); +extern HOST_WIDE_INT get_frame_size PARAMS ((void)); +extern void preserve_rtl_expr_result PARAMS ((rtx)); +extern void mark_temp_addr_taken PARAMS ((rtx)); +extern void update_temp_slot_address PARAMS ((rtx, rtx)); +extern void use_variable_after PARAMS ((rtx, rtx)); +extern void purge_addressof PARAMS ((rtx)); /* In reload.c */ -extern int operands_match_p PROTO ((rtx, rtx)); -extern int safe_from_earlyclobber PROTO ((rtx, rtx)); +extern int operands_match_p PARAMS ((rtx, rtx)); +extern int safe_from_earlyclobber PARAMS ((rtx, rtx)); /* In stmt.c */ -extern void set_file_and_line_for_stmt PROTO ((char *, int)); -extern void expand_null_return PROTO((void)); -extern void emit_jump PROTO ((rtx)); -extern int preserve_subexpressions_p PROTO ((void)); +extern void set_file_and_line_for_stmt PARAMS ((char *, int)); +extern void expand_null_return PARAMS ((void)); +extern void emit_jump PARAMS ((rtx)); +extern int preserve_subexpressions_p PARAMS ((void)); /* In expr.c */ -extern void init_expr_once PROTO ((void)); -extern void move_by_pieces PROTO ((rtx, rtx, int, int)); +extern void init_expr_once PARAMS ((void)); +extern void move_by_pieces PARAMS ((rtx, rtx, int, int)); /* In stupid.c */ #ifdef BUFSIZ -extern void stupid_life_analysis PROTO ((rtx, int, FILE *)); +extern void stupid_life_analysis PARAMS ((rtx, int, FILE *)); #endif /* In flow.c */ -extern void allocate_bb_life_data PROTO ((void)); -extern void allocate_reg_life_data PROTO ((void)); -extern void recompute_reg_usage PROTO ((rtx, int)); +extern void allocate_bb_life_data PARAMS ((void)); +extern void allocate_reg_life_data PARAMS ((void)); +extern void recompute_reg_usage PARAMS ((rtx, int)); #ifdef BUFSIZ -extern void print_rtl_with_bb PROTO ((FILE *, rtx)); -extern void dump_flow_info PROTO ((FILE *)); +extern void print_rtl_with_bb PARAMS ((FILE *, rtx)); +extern void dump_flow_info PARAMS ((FILE *)); #endif /* In expmed.c */ -extern void init_expmed PROTO ((void)); -extern void expand_inc PROTO ((rtx, rtx)); -extern void expand_dec PROTO ((rtx, rtx)); -extern rtx expand_mult_highpart PROTO ((enum machine_mode, rtx, +extern void init_expmed PARAMS ((void)); +extern void expand_inc PARAMS ((rtx, rtx)); +extern void expand_dec PARAMS ((rtx, rtx)); +extern rtx expand_mult_highpart PARAMS ((enum machine_mode, rtx, unsigned HOST_WIDE_INT, rtx, int, int)); /* In gcse.c */ #ifdef BUFSIZ -extern int gcse_main PROTO ((rtx, FILE *)); +extern int gcse_main PARAMS ((rtx, FILE *)); #endif /* In global.c */ -extern void mark_elimination PROTO ((int, int)); +extern void mark_elimination PARAMS ((int, int)); #ifdef BUFSIZ -extern int global_alloc PROTO ((FILE *)); -extern void dump_global_regs PROTO ((FILE *)); +extern int global_alloc PARAMS ((FILE *)); +extern void dump_global_regs PARAMS ((FILE *)); #endif #ifdef HARD_CONST -extern void retry_global_alloc PROTO ((int, HARD_REG_SET)); +extern void retry_global_alloc PARAMS ((int, HARD_REG_SET)); #endif /* In regclass.c */ -extern int reg_classes_intersect_p PROTO ((enum reg_class, enum reg_class)); -extern int reg_class_subset_p PROTO ((enum reg_class, enum reg_class)); -extern void globalize_reg PROTO ((int)); -extern void init_regs PROTO ((void)); -extern void init_reg_sets PROTO ((void)); -extern void regset_release_memory PROTO ((void)); -extern void regclass_init PROTO ((void)); -extern void regclass PROTO ((rtx, int, FILE *)); -extern void reg_scan PROTO ((rtx, int, int)); -extern void reg_scan_update PROTO ((rtx, rtx, int)); -extern void fix_register PROTO ((const char *, int, int)); - -extern void delete_null_pointer_checks PROTO ((rtx)); +extern int reg_classes_intersect_p PARAMS ((enum reg_class, enum reg_class)); +extern int reg_class_subset_p PARAMS ((enum reg_class, enum reg_class)); +extern void globalize_reg PARAMS ((int)); +extern void init_regs PARAMS ((void)); +extern void init_reg_sets PARAMS ((void)); +extern void regset_release_memory PARAMS ((void)); +extern void regclass_init PARAMS ((void)); +extern void regclass PARAMS ((rtx, int, FILE *)); +extern void reg_scan PARAMS ((rtx, int, int)); +extern void reg_scan_update PARAMS ((rtx, rtx, int)); +extern void fix_register PARAMS ((const char *, int, int)); + +extern void delete_null_pointer_checks PARAMS ((rtx)); /* In regmove.c */ #ifdef BUFSIZ -extern void regmove_optimize PROTO ((rtx, int, FILE *)); +extern void regmove_optimize PARAMS ((rtx, int, FILE *)); #endif /* In reorg.c */ #ifdef BUFSIZ -extern void dbr_schedule PROTO ((rtx, FILE *)); +extern void dbr_schedule PARAMS ((rtx, FILE *)); #endif /* In optabs.c */ -extern void init_optabs PROTO ((void)); +extern void init_optabs PARAMS ((void)); /* In local-alloc.c */ #ifdef BUFSIZ -extern void dump_local_alloc PROTO ((FILE *)); +extern void dump_local_alloc PARAMS ((FILE *)); #endif -extern int local_alloc PROTO ((void)); -extern int function_invariant_p PROTO ((rtx)); +extern int local_alloc PARAMS ((void)); +extern int function_invariant_p PARAMS ((rtx)); /* In reload1.c */ -extern void reload_cse_regs PROTO ((rtx)); -extern void init_reload PROTO ((void)); -extern void mark_home_live PROTO ((int)); +extern void reload_cse_regs PARAMS ((rtx)); +extern void init_reload PARAMS ((void)); +extern void mark_home_live PARAMS ((int)); #ifdef BUFSIZ -extern int reload PROTO ((rtx, int, FILE *)); +extern int reload PARAMS ((rtx, int, FILE *)); #endif /* In caller-save.c */ -extern void init_caller_save PROTO ((void)); +extern void init_caller_save PARAMS ((void)); /* In profile.c */ -extern void init_branch_prob PROTO ((const char *)); +extern void init_branch_prob PARAMS ((const char *)); #ifdef BUFSIZ -extern void branch_prob PROTO ((rtx, FILE *)); -extern void end_branch_prob PROTO ((FILE *)); +extern void branch_prob PARAMS ((rtx, FILE *)); +extern void end_branch_prob PARAMS ((FILE *)); #endif -extern void output_func_start_profiler PROTO ((void)); +extern void output_func_start_profiler PARAMS ((void)); /* In reg-stack.c */ #ifdef BUFSIZ -extern void reg_to_stack PROTO ((rtx, FILE *)); +extern void reg_to_stack PARAMS ((rtx, FILE *)); #endif /* In fold-const.c */ -extern int add_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern int add_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT *, HOST_WIDE_INT *)); -extern int neg_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern int neg_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT *, HOST_WIDE_INT *)); -extern int mul_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern int mul_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT *, HOST_WIDE_INT *)); -extern void lshift_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern void lshift_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT *, int)); -extern void rshift_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern void rshift_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT *, int)); -extern void lrotate_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern void lrotate_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT *)); -extern void rrotate_double PROTO ((HOST_WIDE_INT, HOST_WIDE_INT, +extern void rrotate_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT *)); /* In calls.c */ -extern void emit_library_call PVPROTO ((rtx, int, enum machine_mode, +extern void emit_library_call PARAMS ((rtx, int, enum machine_mode, int, ...)); -extern rtx emit_library_call_value PVPROTO((rtx, rtx, int, +extern rtx emit_library_call_value PARAMS ((rtx, rtx, int, enum machine_mode, int, ...)); /* In unroll.c */ -extern int set_dominates_use PROTO ((int, int, int, rtx, rtx)); +extern int set_dominates_use PARAMS ((int, int, int, rtx, rtx)); /* In varasm.c */ -extern void bss_section PROTO ((void)); -extern int in_data_section PROTO ((void)); -extern int supports_one_only PROTO ((void)); -extern void init_varasm_once PROTO ((void)); +extern void bss_section PARAMS ((void)); +extern int in_data_section PARAMS ((void)); +extern int supports_one_only PARAMS ((void)); +extern void init_varasm_once PARAMS ((void)); /* In rtl.c */ -extern void init_rtl PROTO ((void)); -extern void rtx_free PROTO ((rtx)); +extern void init_rtl PARAMS ((void)); +extern void rtx_free PARAMS ((rtx)); #ifdef BUFSIZ -extern int read_skip_spaces PROTO ((FILE *)); -extern rtx read_rtx PROTO ((FILE *)); +extern int read_skip_spaces PARAMS ((FILE *)); +extern rtx read_rtx PARAMS ((FILE *)); #endif extern const char *read_rtx_filename; @@ -1678,7 +1678,7 @@ extern int read_rtx_lineno; special abort includes one or both. toplev.h gets too few files, system.h gets too many. */ -extern void fancy_abort PROTO((const char *, int, const char *)) +extern void fancy_abort PARAMS ((const char *, int, const char *)) ATTRIBUTE_NORETURN; #if (GCC_VERSION >= 2007) #define abort() fancy_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) @@ -1687,22 +1687,22 @@ extern void fancy_abort PROTO((const char *, int, const char *)) #endif /* In alias.c */ -extern int true_dependence PROTO ((rtx, enum machine_mode, rtx, +extern int true_dependence PARAMS ((rtx, enum machine_mode, rtx, int (*)(rtx))); -extern int read_dependence PROTO ((rtx, rtx)); -extern int anti_dependence PROTO ((rtx, rtx)); -extern int output_dependence PROTO ((rtx, rtx)); -extern void mark_constant_function PROTO ((void)); -extern void init_alias_once PROTO ((void)); -extern void init_alias_analysis PROTO ((void)); -extern void end_alias_analysis PROTO ((void)); - -extern void record_base_value PROTO ((int, rtx, int)); -extern void record_alias_subset PROTO ((int, int)); -extern rtx addr_side_effect_eval PROTO ((rtx, int, int)); +extern int read_dependence PARAMS ((rtx, rtx)); +extern int anti_dependence PARAMS ((rtx, rtx)); +extern int output_dependence PARAMS ((rtx, rtx)); +extern void mark_constant_function PARAMS ((void)); +extern void init_alias_once PARAMS ((void)); +extern void init_alias_analysis PARAMS ((void)); +extern void end_alias_analysis PARAMS ((void)); + +extern void record_base_value PARAMS ((int, rtx, int)); +extern void record_alias_subset PARAMS ((int, int)); +extern rtx addr_side_effect_eval PARAMS ((rtx, int, int)); #ifdef STACK_REGS -extern int stack_regs_mentioned PROTO((rtx insn)); +extern int stack_regs_mentioned PARAMS ((rtx insn)); #endif /* In toplev.c */ diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index f264e8f..9485865 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -23,13 +23,13 @@ Boston, MA 02111-1307, USA. */ #include "system.h" #include "rtl.h" -static int rtx_addr_can_trap_p PROTO((rtx)); -static void reg_set_p_1 PROTO((rtx, rtx, void *)); -static void reg_set_last_1 PROTO((rtx, rtx, void *)); +static int rtx_addr_can_trap_p PARAMS ((rtx)); +static void reg_set_p_1 PARAMS ((rtx, rtx, void *)); +static void reg_set_last_1 PARAMS ((rtx, rtx, void *)); /* Forward declarations */ -static int jmp_uses_reg_or_mem PROTO((rtx)); +static int jmp_uses_reg_or_mem PARAMS ((rtx)); /* Bit flags that specify the machine subtype we are compiling for. Bits are tested using macros TARGET_... defined in the tm.h file @@ -1081,7 +1081,7 @@ reg_set_last (x, insn) void note_stores (x, fun, data) register rtx x; - void (*fun) PROTO ((rtx, rtx, void *)); + void (*fun) PARAMS ((rtx, rtx, void *)); void *data; { if ((GET_CODE (x) == SET || GET_CODE (x) == CLOBBER)) diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h index 1fc3004..a777599 100644 --- a/gcc/sbitmap.h +++ b/gcc/sbitmap.h @@ -92,35 +92,35 @@ do { \ #define sbitmap_free(map) free(map) #define sbitmap_vector_free(vec) free(vec) -extern void dump_sbitmap PROTO ((FILE *, sbitmap)); -extern void dump_sbitmap_vector PROTO ((FILE *, const char *, const char *, +extern void dump_sbitmap PARAMS ((FILE *, sbitmap)); +extern void dump_sbitmap_vector PARAMS ((FILE *, const char *, const char *, sbitmap *, int)); -extern sbitmap sbitmap_alloc PROTO ((int)); -extern sbitmap *sbitmap_vector_alloc PROTO ((int, int)); +extern sbitmap sbitmap_alloc PARAMS ((int)); +extern sbitmap *sbitmap_vector_alloc PARAMS ((int, int)); -extern void sbitmap_copy PROTO ((sbitmap, sbitmap)); -extern void sbitmap_zero PROTO ((sbitmap)); -extern void sbitmap_ones PROTO ((sbitmap)); -extern void sbitmap_vector_zero PROTO ((sbitmap *, int)); -extern void sbitmap_vector_ones PROTO ((sbitmap *, int)); +extern void sbitmap_copy PARAMS ((sbitmap, sbitmap)); +extern void sbitmap_zero PARAMS ((sbitmap)); +extern void sbitmap_ones PARAMS ((sbitmap)); +extern void sbitmap_vector_zero PARAMS ((sbitmap *, int)); +extern void sbitmap_vector_ones PARAMS ((sbitmap *, int)); -extern int sbitmap_union_of_diff PROTO ((sbitmap, sbitmap, sbitmap, sbitmap)); -extern void sbitmap_difference PROTO ((sbitmap, sbitmap, sbitmap)); -extern void sbitmap_not PROTO ((sbitmap, sbitmap)); -extern int sbitmap_a_or_b_and_c PROTO ((sbitmap, sbitmap, sbitmap, sbitmap)); -extern int sbitmap_a_and_b_or_c PROTO ((sbitmap, sbitmap, sbitmap, sbitmap)); -extern int sbitmap_a_and_b PROTO ((sbitmap, sbitmap, sbitmap)); -extern int sbitmap_a_or_b PROTO ((sbitmap, sbitmap, sbitmap)); -extern int sbitmap_a_subset_b_p PROTO ((sbitmap, sbitmap)); +extern int sbitmap_union_of_diff PARAMS ((sbitmap, sbitmap, sbitmap, sbitmap)); +extern void sbitmap_difference PARAMS ((sbitmap, sbitmap, sbitmap)); +extern void sbitmap_not PARAMS ((sbitmap, sbitmap)); +extern int sbitmap_a_or_b_and_c PARAMS ((sbitmap, sbitmap, sbitmap, sbitmap)); +extern int sbitmap_a_and_b_or_c PARAMS ((sbitmap, sbitmap, sbitmap, sbitmap)); +extern int sbitmap_a_and_b PARAMS ((sbitmap, sbitmap, sbitmap)); +extern int sbitmap_a_or_b PARAMS ((sbitmap, sbitmap, sbitmap)); +extern int sbitmap_a_subset_b_p PARAMS ((sbitmap, sbitmap)); struct int_list; -extern void sbitmap_intersect_of_predsucc PROTO ((sbitmap, sbitmap *, +extern void sbitmap_intersect_of_predsucc PARAMS ((sbitmap, sbitmap *, int, struct int_list **)); #define sbitmap_intersect_of_predecessors sbitmap_intersect_of_predsucc #define sbitmap_intersect_of_successors sbitmap_intersect_of_predsucc -extern void sbitmap_union_of_predsucc PROTO ((sbitmap, sbitmap *, int, +extern void sbitmap_union_of_predsucc PARAMS ((sbitmap, sbitmap *, int, struct int_list **)); #define sbitmap_union_of_predecessors sbitmap_union_of_predsucc #define sbitmap_union_of_successors sbitmap_union_of_predsucc @@ -128,9 +128,9 @@ extern void sbitmap_union_of_predsucc PROTO ((sbitmap, sbitmap *, int, /* Intersection and Union of preds/succs using the new flow graph structure instead of the pred/succ arrays. */ -extern void sbitmap_intersection_of_succs PROTO ((sbitmap, sbitmap *, int)); -extern void sbitmap_intersection_of_preds PROTO ((sbitmap, sbitmap *, int)); -extern void sbitmap_union_of_succs PROTO ((sbitmap, sbitmap *, int)); -extern void sbitmap_union_of_preds PROTO ((sbitmap, sbitmap *, int)); +extern void sbitmap_intersection_of_succs PARAMS ((sbitmap, sbitmap *, int)); +extern void sbitmap_intersection_of_preds PARAMS ((sbitmap, sbitmap *, int)); +extern void sbitmap_union_of_succs PARAMS ((sbitmap, sbitmap *, int)); +extern void sbitmap_union_of_preds PARAMS ((sbitmap, sbitmap *, int)); #endif /* _SBITMAP_H */ diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 5cd5861..bdf74a2 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -105,22 +105,22 @@ extern tree current_function_decl; #include "sdbout.h" -static char *gen_fake_label PROTO((void)); -static int plain_type PROTO((tree)); -static int template_name_p PROTO((tree)); -static void sdbout_record_type_name PROTO((tree)); -static int plain_type_1 PROTO((tree, int)); -static void sdbout_block PROTO((tree)); -static void sdbout_syms PROTO((tree)); +static char *gen_fake_label PARAMS ((void)); +static int plain_type PARAMS ((tree)); +static int template_name_p PARAMS ((tree)); +static void sdbout_record_type_name PARAMS ((tree)); +static int plain_type_1 PARAMS ((tree, int)); +static void sdbout_block PARAMS ((tree)); +static void sdbout_syms PARAMS ((tree)); #ifdef SDB_ALLOW_FORWARD_REFERENCES -static void sdbout_queue_anonymous_type PROTO((tree)); -static void sdbout_dequeue_anonymous_types PROTO((void)); +static void sdbout_queue_anonymous_type PARAMS ((tree)); +static void sdbout_dequeue_anonymous_types PARAMS ((void)); #endif -static void sdbout_type PROTO((tree)); -static void sdbout_field_types PROTO((tree)); -static void sdbout_one_type PROTO((tree)); -static void sdbout_parms PROTO((tree)); -static void sdbout_reg_parms PROTO((tree)); +static void sdbout_type PARAMS ((tree)); +static void sdbout_field_types PARAMS ((tree)); +static void sdbout_one_type PARAMS ((tree)); +static void sdbout_parms PARAMS ((tree)); +static void sdbout_reg_parms PARAMS ((tree)); /* Define the default sizes for various types. */ diff --git a/gcc/stack.h b/gcc/stack.h index 198b41e..0cb215f 100644 --- a/gcc/stack.h +++ b/gcc/stack.h @@ -38,5 +38,5 @@ struct stack_level int limit; }; -struct stack_level *push_stack_level PROTO((struct obstack *, char *, int)); -struct stack_level *pop_stack_level PROTO((struct stack_level *)); +struct stack_level *push_stack_level PARAMS ((struct obstack *, char *, int)); +struct stack_level *pop_stack_level PARAMS ((struct stack_level *)); @@ -400,36 +400,36 @@ static int using_eh_for_cleanups_p = 0; static char *digit_strings[10]; -static int n_occurrences PROTO((int, const char *)); -static void expand_goto_internal PROTO((tree, rtx, rtx)); -static int expand_fixup PROTO((tree, rtx, rtx)); -static rtx expand_nl_handler_label PROTO((rtx, rtx)); -static void expand_nl_goto_receiver PROTO((void)); -static void expand_nl_goto_receivers PROTO((struct nesting *)); -static void fixup_gotos PROTO((struct nesting *, rtx, tree, +static int n_occurrences PARAMS ((int, const char *)); +static void expand_goto_internal PARAMS ((tree, rtx, rtx)); +static int expand_fixup PARAMS ((tree, rtx, rtx)); +static rtx expand_nl_handler_label PARAMS ((rtx, rtx)); +static void expand_nl_goto_receiver PARAMS ((void)); +static void expand_nl_goto_receivers PARAMS ((struct nesting *)); +static void fixup_gotos PARAMS ((struct nesting *, rtx, tree, rtx, int)); -static void expand_null_return_1 PROTO((rtx, int)); -static void expand_value_return PROTO((rtx)); -static int tail_recursion_args PROTO((tree, tree)); -static void expand_cleanups PROTO((tree, tree, int, int)); -static void check_seenlabel PROTO((void)); -static void do_jump_if_equal PROTO((rtx, rtx, rtx, int)); -static int estimate_case_costs PROTO((case_node_ptr)); -static void group_case_nodes PROTO((case_node_ptr)); -static void balance_case_nodes PROTO((case_node_ptr *, +static void expand_null_return_1 PARAMS ((rtx, int)); +static void expand_value_return PARAMS ((rtx)); +static int tail_recursion_args PARAMS ((tree, tree)); +static void expand_cleanups PARAMS ((tree, tree, int, int)); +static void check_seenlabel PARAMS ((void)); +static void do_jump_if_equal PARAMS ((rtx, rtx, rtx, int)); +static int estimate_case_costs PARAMS ((case_node_ptr)); +static void group_case_nodes PARAMS ((case_node_ptr)); +static void balance_case_nodes PARAMS ((case_node_ptr *, case_node_ptr)); -static int node_has_low_bound PROTO((case_node_ptr, tree)); -static int node_has_high_bound PROTO((case_node_ptr, tree)); -static int node_is_bounded PROTO((case_node_ptr, tree)); -static void emit_jump_if_reachable PROTO((rtx)); -static void emit_case_nodes PROTO((rtx, case_node_ptr, rtx, tree)); -static int add_case_node PROTO((tree, tree, tree, tree *)); -static struct case_node *case_tree2list PROTO((case_node *, case_node *)); -static void mark_cond_nesting PROTO((struct nesting *)); -static void mark_loop_nesting PROTO((struct nesting *)); -static void mark_block_nesting PROTO((struct nesting *)); -static void mark_case_nesting PROTO((struct nesting *)); -static void mark_goto_fixup PROTO((struct goto_fixup *)); +static int node_has_low_bound PARAMS ((case_node_ptr, tree)); +static int node_has_high_bound PARAMS ((case_node_ptr, tree)); +static int node_is_bounded PARAMS ((case_node_ptr, tree)); +static void emit_jump_if_reachable PARAMS ((rtx)); +static void emit_case_nodes PARAMS ((rtx, case_node_ptr, rtx, tree)); +static int add_case_node PARAMS ((tree, tree, tree, tree *)); +static struct case_node *case_tree2list PARAMS ((case_node *, case_node *)); +static void mark_cond_nesting PARAMS ((struct nesting *)); +static void mark_loop_nesting PARAMS ((struct nesting *)); +static void mark_block_nesting PARAMS ((struct nesting *)); +static void mark_case_nesting PARAMS ((struct nesting *)); +static void mark_goto_fixup PARAMS ((struct goto_fixup *)); void @@ -4547,7 +4547,7 @@ check_seenlabel () int pushcase (value, converter, label, duplicate) register tree value; - tree (*converter) PROTO((tree, tree)); + tree (*converter) PARAMS ((tree, tree)); register tree label; tree *duplicate; { @@ -4611,7 +4611,7 @@ pushcase (value, converter, label, duplicate) int pushcase_range (value1, value2, converter, label, duplicate) register tree value1, value2; - tree (*converter) PROTO((tree, tree)); + tree (*converter) PARAMS ((tree, tree)); register tree label; tree *duplicate; { diff --git a/gcc/system.h b/gcc/system.h index 5d31b45..99b0d08 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -58,7 +58,7 @@ Boston, MA 02111-1307, USA. */ # undef fputs # define fputs(String, Stream) fputs_unlocked (String, Stream) # ifdef NEED_DECLARATION_FPUTS_UNLOCKED -extern int fputs_unlocked PROTO ((const char *, FILE *)); +extern int fputs_unlocked PARAMS ((const char *, FILE *)); # endif #endif |