From: Jim Wilson Date: Sat, 20 Mar 1993 02:17:20 +0000 (-0800) Subject: Add prototypes. X-Git-Tag: misc/cutover-egcs-0~10149 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=521f2d6fcba7cc07b276d31e8d0c1af501361803;p=gcc.git Add prototypes. From-SVN: r3794 --- diff --git a/gcc/function.h b/gcc/function.h index ed47b3cb477a..240a483f54b7 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -183,7 +183,7 @@ extern rtx stack_slot_list; /* Given a function decl for a containing function, return the `struct function' for it. */ -struct function *find_function_data (); +struct function *find_function_data PROTO((tree)); /* Pointer to chain of `struct function' for containing functions. */ extern struct function *outer_function_chain; @@ -191,7 +191,7 @@ extern struct function *outer_function_chain; /* 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. */ -tree *identify_blocks (); +tree *identify_blocks PROTO((tree, rtx)); #ifdef rtx #undef rtx diff --git a/gcc/halfpic.h b/gcc/halfpic.h index 777afcfbf709..d6102ccfd566 100644 --- a/gcc/halfpic.h +++ b/gcc/halfpic.h @@ -31,12 +31,12 @@ int (*ptr_half_pic_address_p) (); /* ptr to half_pic_address_p () */ extern int half_pic_number_ptrs; /* # distinct pointers found */ extern int half_pic_number_refs; /* # half-pic references */ -extern void half_pic_encode (); /* encode whether half-pic */ -extern void half_pic_declare (); /* declare object local */ -extern void half_pic_init (); /* half_pic initialization */ -extern void half_pic_finish (); /* half_pic termination */ -extern int half_pic_address_p (); /* true if an address is half-pic */ -extern struct rtx_def *half_pic_ptr (); /* return RTX for half-pic pointer */ +extern void half_pic_encode PROTO((tree)); /* encode whether half-pic */ +extern void half_pic_declare PROTO((char *)); /* declare object local */ +extern void half_pic_init PROTO((void)); /* half_pic initialization */ +extern void half_pic_finish PROTO((FILE *)); /* half_pic termination */ +extern int half_pic_address_p PROTO((rtx)); /* true if an address is half-pic */ +extern struct rtx_def *half_pic_ptr PROTO((rtx)); /* return RTX for half-pic pointer */ /* Macros to provide access to the half-pic stuff (so they can easily be stubbed out. */ diff --git a/gcc/integrate.h b/gcc/integrate.h index 6433d470ffbd..0f59ba255df9 100644 --- a/gcc/integrate.h +++ b/gcc/integrate.h @@ -107,15 +107,10 @@ struct inline_remap /* Return a copy of an rtx (as needed), substituting pseudo-register, labels, and frame-pointer offsets as necessary. */ -extern rtx copy_rtx_and_substitute (); +extern rtx copy_rtx_and_substitute PROTO((rtx, struct inline_remap *)); -extern void try_constants (); +extern void try_constants PROTO((rtx, struct inline_remap *)); -extern void mark_stores (); - -/* We do some simple constant folding optimization. This optimization - really exists primarily to save time inlining a function. It - also helps users who ask for inline functions without -O. */ -extern rtx try_fold_condition (); +extern void mark_stores PROTO((rtx, rtx)); extern rtx *global_const_equiv_map; diff --git a/gcc/loop.h b/gcc/loop.h index 42894ce7af64..bb219c32d210 100644 --- a/gcc/loop.h +++ b/gcc/loop.h @@ -153,17 +153,17 @@ extern struct iv_class *loop_iv_list; /* Forward declarations for non-static functions declared in loop.c and unroll.c. */ -int invariant_p (); -rtx get_condition_for_loop (); -void emit_iv_add_mult (); +int invariant_p PROTO((rtx)); +rtx get_condition_for_loop PROTO((rtx)); +void emit_iv_add_mult PROTO((rtx, rtx, rtx, rtx, rtx)); /* Forward declarations for non-static functions declared in stmt.c. */ -void find_loop_tree_blocks (); -void unroll_block_trees (); - -void unroll_loop (); -rtx biv_total_increment (); -unsigned HOST_WIDE_INT loop_iterations (); -rtx final_biv_value (); -rtx final_giv_value (); -void emit_unrolled_add (); +void find_loop_tree_blocks PROTO((void)); +void unroll_block_trees PROTO((void)); + +void unroll_loop PROTO((rtx, int, rtx, rtx, int)); +rtx biv_total_increment PROTO((struct iv_class *, rtx, rtx)); +unsigned HOST_WIDE_INT loop_iterations PROTO((rtx, rtx)); +rtx final_biv_value PROTO((struct iv_class *, rtx, rtx)); +rtx final_giv_value PROTO((struct induction *, rtx, rtx)); +void emit_unrolled_add PROTO((rtx, rtx, rtx)); diff --git a/gcc/machmode.h b/gcc/machmode.h index 921ffd51fd9d..240bd5725f30 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -18,6 +18,15 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* Add prototype support. */ +#ifndef PROTO +#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__) +#define PROTO(ARGS) ARGS +#else +#define PROTO(ARGS) () +#endif +#endif + #ifndef HAVE_MACHINE_MODES /* Strictly speaking, this isn't the proper place to include these definitions, @@ -131,11 +140,11 @@ extern enum machine_mode mode_wider_mode[]; If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE. The value is BLKmode if no other mode is found. */ -extern enum machine_mode mode_for_size (); +extern enum machine_mode mode_for_size PROTO((unsigned int, enum mode_class, int)); /* Find the best mode to use to access a bit field. */ -extern enum machine_mode get_best_mode (); +extern enum machine_mode get_best_mode PROTO((int, int, int, enum machine_mode, int)); /* Determine alignment, 1<=result<=BIGGEST_ALIGNMENT. */ diff --git a/gcc/output.h b/gcc/output.h index 480c9e302a17..15e910631f82 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -20,23 +20,25 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Output a string of assembler code, substituting insn operands. Defined in final.c. */ -extern void output_asm_insn (); +extern void output_asm_insn PROTO((char *, rtx *)); /* Output a string of assembler code, substituting numbers, strings and fixed syntactic prefixes. */ extern void asm_fprintf (); +#ifdef FILE /* Print an integer constant expression in assembler syntax. Addition and subtraction are the only arithmetic that may appear in these expressions. */ -extern void output_addr_const (); +extern void output_addr_const PROTO((FILE *, rtx)); /* Output a name (as found inside a symbol_ref) in assembler syntax. */ -extern void assemble_name (); +extern void assemble_name PROTO((FILE *, char *)); +#endif /* Replace a SUBREG with a REG or a MEM, based on the thing it is a subreg of. */ -extern rtx alter_subreg (); +extern rtx alter_subreg PROTO((rtx)); /* When outputting assembler code, indicates which alternative of the constraints was actually satisfied. */ diff --git a/gcc/reload.h b/gcc/reload.h index 7b8290b36fdb..4aaec8bb0b27 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -18,6 +18,15 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* Add prototype support. */ +#ifndef PROTO +#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__) +#define PROTO(ARGS) ARGS +#else +#define PROTO(ARGS) () +#endif +#endif + /* If secondary reloads are the same for inputs and outputs, define those macros here. */ @@ -106,10 +115,10 @@ extern enum insn_code reload_in_optab[]; extern enum insn_code reload_out_optab[]; #endif -extern void init_reload (); -extern void find_reloads (); -extern void subst_reloads (); -extern rtx get_secondary_mem (); -extern rtx eliminate_regs (); -extern rtx gen_input_reload (); -extern rtx find_replacement (); +extern void init_reload PROTO((void)); +extern void find_reloads PROTO((rtx, int, int, int, short *)); +extern void subst_reloads PROTO((void)); +extern rtx get_secondary_mem PROTO((rtx, enum machine_mode)); +extern rtx eliminate_regs PROTO((rtx, enum machine_mode, rtx)); +extern rtx gen_input_reload PROTO((rtx, rtx, rtx)); +extern rtx find_replacement PROTO((rtx *)); diff --git a/gcc/stack.h b/gcc/stack.h index ac241541a44e..c5d9a2512a91 100644 --- a/gcc/stack.h +++ b/gcc/stack.h @@ -37,5 +37,5 @@ struct stack_level int limit; }; -struct stack_level *push_stack_level (); -struct stack_level *pop_stack_level (); +struct stack_level *push_stack_level PROTO((struct obstack *, char *, int)); +struct stack_level *pop_stack_level PROTO((struct stack_level *));