summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/function.h4
-rw-r--r--gcc/halfpic.h12
-rw-r--r--gcc/integrate.h11
-rw-r--r--gcc/loop.h24
-rw-r--r--gcc/machmode.h13
-rw-r--r--gcc/output.h10
-rw-r--r--gcc/reload.h23
-rw-r--r--gcc/stack.h4
8 files changed, 58 insertions, 43 deletions
diff --git a/gcc/function.h b/gcc/function.h
index ed47b3cb477..240a483f54b 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 777afcfbf70..d6102ccfd56 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 6433d470ffb..0f59ba255df 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 42894ce7af6..bb219c32d21 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 921ffd51fd9..240bd5725f3 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 480c9e302a1..15e910631f8 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 7b8290b36fd..4aaec8bb0b2 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 ac241541a44..c5d9a2512a9 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 *));