summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-14 17:14:43 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-14 17:14:43 +0000
commit621f6678bd276a87e8bf36b04c507b19ef1e0c49 (patch)
treec581c8d237ef2fffdfeee6182fd81e25ea6ed527
parentb7dbbdb2257d8eb618342a6e26688eb8036b10a1 (diff)
downloadgcc-621f6678bd276a87e8bf36b04c507b19ef1e0c49.tar.gz
* eh-common.h: PROTO -> PARAMS.
* emit-rtl.c: Likewise. * errors.c: Likewise. * errors.h: Likewise. * except.c: Likewise. * except.h: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * fix-header.c: Likewise. * flow.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * gcc.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31419 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog23
-rw-r--r--gcc/eh-common.h5
-rw-r--r--gcc/emit-rtl.c14
-rw-r--r--gcc/errors.c8
-rw-r--r--gcc/errors.h8
-rw-r--r--gcc/except.c62
-rw-r--r--gcc/except.h131
-rw-r--r--gcc/explow.c10
-rw-r--r--gcc/expmed.c40
-rw-r--r--gcc/expr.c70
-rw-r--r--gcc/expr.h323
-rw-r--r--gcc/final.c30
-rw-r--r--gcc/fix-header.c32
-rw-r--r--gcc/flow.c160
-rw-r--r--gcc/fold-const.c100
-rw-r--r--gcc/function.c118
-rw-r--r--gcc/function.h60
-rw-r--r--gcc/gcc.c104
-rw-r--r--gcc/gcov-io.h10
-rw-r--r--gcc/gcov.c38
-rw-r--r--gcc/gcse.c229
21 files changed, 801 insertions, 774 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0ee184d224d..fecb80c27b8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,28 @@
2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ * eh-common.h: PROTO -> PARAMS.
+ * emit-rtl.c: Likewise.
+ * errors.c: Likewise.
+ * errors.h: Likewise.
+ * except.c: Likewise.
+ * except.h: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * expr.h: Likewise.
+ * final.c: Likewise.
+ * fix-header.c: Likewise.
+ * flow.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * function.h: Likewise.
+ * gcc.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcov.c: Likewise.
+ * gcse.c: Likewise.
+
+2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
* sh-protos.h: New file.
* sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h.
diff --git a/gcc/eh-common.h b/gcc/eh-common.h
index 2c2c09f8423..20adfd613f0 100644
--- a/gcc/eh-common.h
+++ b/gcc/eh-common.h
@@ -1,5 +1,5 @@
/* EH stuff
- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -102,7 +102,8 @@ struct __eh_info; /* forward declaration */
3 - exception table region is in (exception descriptor *)
*/
-typedef void * (*__eh_matcher) PROTO ((struct __eh_info *, void *, struct exception_descriptor *));
+typedef void * (*__eh_matcher) PARAMS ((struct __eh_info *, void *,
+ struct exception_descriptor *));
/* This value is to be checked as a 'match all' case in the runtime field. */
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 06f4979a876..304e6d43f93 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1,5 +1,5 @@
/* Emit RTL for the GNU C-Compiler expander.
- Copyright (C) 1987, 88, 92-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -166,10 +166,10 @@ static rtx free_insn;
/* This is where the pointer to the obstack being used for RTL is stored. */
extern struct obstack *rtl_obstack;
-static rtx make_jump_insn_raw PROTO((rtx));
-static rtx make_call_insn_raw PROTO((rtx));
-static rtx find_line_note PROTO((rtx));
-static void mark_sequence_stack PROTO((struct sequence_stack *));
+static rtx make_jump_insn_raw PARAMS ((rtx));
+static rtx make_call_insn_raw PARAMS ((rtx));
+static rtx find_line_note PARAMS ((rtx));
+static void mark_sequence_stack PARAMS ((struct sequence_stack *));
/* There are some RTL codes that require special attention; the generation
functions do the raw handling. If you add to this list, modify
@@ -298,7 +298,7 @@ gen_rtx_MEM (mode, addr)
/*VARARGS2*/
rtx
-gen_rtx VPROTO((enum rtx_code code, enum machine_mode mode, ...))
+gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
{
#ifndef ANSI_PROTOTYPES
enum rtx_code code;
@@ -399,7 +399,7 @@ gen_rtx VPROTO((enum rtx_code code, enum machine_mode mode, ...))
/*VARARGS1*/
rtvec
-gen_rtvec VPROTO((int n, ...))
+gen_rtvec VPARAMS ((int n, ...))
{
#ifndef ANSI_PROTOTYPES
int n;
diff --git a/gcc/errors.c b/gcc/errors.c
index 556e7403a77..bc3667e9289 100644
--- a/gcc/errors.c
+++ b/gcc/errors.c
@@ -1,5 +1,5 @@
/* Basic error reporting routines.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -37,7 +37,7 @@ int have_error = 0;
/* Print a warning message - output produced, but there may be problems. */
void
-warning VPROTO ((const char *format, ...))
+warning VPARAMS ((const char *format, ...))
{
#ifndef ANSI_PROTOTYPES
const char *format;
@@ -60,7 +60,7 @@ warning VPROTO ((const char *format, ...))
/* Print an error message - we keep going but the output is unusable. */
void
-error VPROTO ((const char *format, ...))
+error VPARAMS ((const char *format, ...))
{
#ifndef ANSI_PROTOTYPES
const char *format;
@@ -85,7 +85,7 @@ error VPROTO ((const char *format, ...))
/* Fatal error - terminate execution immediately. Does not return. */
void
-fatal VPROTO ((const char *format, ...))
+fatal VPARAMS ((const char *format, ...))
{
#ifndef ANSI_PROTOTYPES
const char *format;
diff --git a/gcc/errors.h b/gcc/errors.h
index 6e5439fbafa..843c1c879f6 100644
--- a/gcc/errors.h
+++ b/gcc/errors.h
@@ -1,5 +1,5 @@
/* Basic error reporting routines.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -25,9 +25,9 @@ Boston, MA 02111-1307, USA. */
#ifndef __GCC_ERRORS_H__
#define __GCC_ERRORS_H__
-extern void warning PVPROTO ((const char *format, ...)) ATTRIBUTE_PRINTF_1;
-extern void error PVPROTO ((const char *format, ...)) ATTRIBUTE_PRINTF_1;
-extern void fatal PVPROTO ((const char *format, ...))
+extern void warning PARAMS ((const char *format, ...)) ATTRIBUTE_PRINTF_1;
+extern void error PARAMS ((const char *format, ...)) ATTRIBUTE_PRINTF_1;
+extern void fatal PARAMS ((const char *format, ...))
ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
extern int have_error;
diff --git a/gcc/except.c b/gcc/except.c
index b93f9bf3f5a..9e27fbab2db 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -453,39 +453,39 @@ static rtx last_rethrow_symbol = NULL_RTX;
/* Prototypes for local functions. */
-static void push_eh_entry PROTO((struct eh_stack *));
-static struct eh_entry * pop_eh_entry PROTO((struct eh_stack *));
-static void enqueue_eh_entry PROTO((struct eh_queue *, struct eh_entry *));
-static struct eh_entry * dequeue_eh_entry PROTO((struct eh_queue *));
-static rtx call_get_eh_context PROTO((void));
-static void start_dynamic_cleanup PROTO((tree, tree));
-static void start_dynamic_handler PROTO((void));
-static void expand_rethrow PROTO((rtx));
-static void output_exception_table_entry PROTO((FILE *, int));
-static int can_throw PROTO((rtx));
-static rtx scan_region PROTO((rtx, int, int *));
-static void eh_regs PROTO((rtx *, rtx *, rtx *, int));
-static void set_insn_eh_region PROTO((rtx *, int));
+static void push_eh_entry PARAMS ((struct eh_stack *));
+static struct eh_entry * pop_eh_entry PARAMS ((struct eh_stack *));
+static void enqueue_eh_entry PARAMS ((struct eh_queue *, struct eh_entry *));
+static struct eh_entry * dequeue_eh_entry PARAMS ((struct eh_queue *));
+static rtx call_get_eh_context PARAMS ((void));
+static void start_dynamic_cleanup PARAMS ((tree, tree));
+static void start_dynamic_handler PARAMS ((void));
+static void expand_rethrow PARAMS ((rtx));
+static void output_exception_table_entry PARAMS ((FILE *, int));
+static int can_throw PARAMS ((rtx));
+static rtx scan_region PARAMS ((rtx, int, int *));
+static void eh_regs PARAMS ((rtx *, rtx *, rtx *, int));
+static void set_insn_eh_region PARAMS ((rtx *, int));
#ifdef DONT_USE_BUILTIN_SETJMP
-static void jumpif_rtx PROTO((rtx, rtx));
+static void jumpif_rtx PARAMS ((rtx, rtx));
#endif
-static void mark_eh_node PROTO((struct eh_node *));
-static void mark_eh_stack PROTO((struct eh_stack *));
-static void mark_eh_queue PROTO((struct eh_queue *));
-static void mark_tree_label_node PROTO ((struct label_node *));
-static void mark_func_eh_entry PROTO ((void *));
-static rtx create_rethrow_ref PROTO ((int));
-static void push_entry PROTO ((struct eh_stack *, struct eh_entry*));
-static void receive_exception_label PROTO ((rtx));
-static int new_eh_region_entry PROTO ((int, rtx));
-static int find_func_region PROTO ((int));
-static int find_func_region_from_symbol PROTO ((rtx));
-static void clear_function_eh_region PROTO ((void));
-static void process_nestinfo PROTO ((int, eh_nesting_info *, int *));
-
-rtx expand_builtin_return_addr PROTO((enum built_in_function, int, rtx));
-static void emit_cleanup_handler PROTO ((struct eh_entry *));
-static int eh_region_from_symbol PROTO((rtx));
+static void mark_eh_node PARAMS ((struct eh_node *));
+static void mark_eh_stack PARAMS ((struct eh_stack *));
+static void mark_eh_queue PARAMS ((struct eh_queue *));
+static void mark_tree_label_node PARAMS ((struct label_node *));
+static void mark_func_eh_entry PARAMS ((void *));
+static rtx create_rethrow_ref PARAMS ((int));
+static void push_entry PARAMS ((struct eh_stack *, struct eh_entry*));
+static void receive_exception_label PARAMS ((rtx));
+static int new_eh_region_entry PARAMS ((int, rtx));
+static int find_func_region PARAMS ((int));
+static int find_func_region_from_symbol PARAMS ((rtx));
+static void clear_function_eh_region PARAMS ((void));
+static void process_nestinfo PARAMS ((int, eh_nesting_info *, int *));
+
+rtx expand_builtin_return_addr PARAMS ((enum built_in_function, int, rtx));
+static void emit_cleanup_handler PARAMS ((struct eh_entry *));
+static int eh_region_from_symbol PARAMS ((rtx));
/* Various support routines to manipulate the various data structures
diff --git a/gcc/except.h b/gcc/except.h
index 6120af4b30c..414f52ae6da 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -1,5 +1,5 @@
/* Exception Handling interface routines.
- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1996, 97-99, 2000 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GNU CC.
@@ -153,14 +153,14 @@ struct eh_status
this point are considered to be part of the region until
expand_eh_region_end () is invoked. */
-extern void expand_eh_region_start PROTO((void));
+extern void expand_eh_region_start PARAMS ((void));
/* Just like expand_eh_region_start, except if a cleanup action is
entered on the cleanup chain, the TREE_PURPOSE of the element put
on the chain is DECL. DECL should be the associated VAR_DECL, if
any, otherwise it should be NULL_TREE. */
-extern void expand_eh_region_start_for_decl PROTO((tree));
+extern void expand_eh_region_start_for_decl PARAMS ((tree));
/* Start an exception handling region for the given cleanup action.
All instructions emitted after this point are considered to be part
@@ -174,7 +174,7 @@ extern void expand_eh_region_start_for_decl PROTO((tree));
generation, and optimizes it so as to not need the exception
region. */
-extern int expand_eh_region_start_tree PROTO((tree, tree));
+extern int expand_eh_region_start_tree PARAMS ((tree, tree));
/* End an exception handling region. The information about the region
is found on the top of ehstack.
@@ -185,33 +185,34 @@ extern int expand_eh_region_start_tree PROTO((tree, tree));
HANDLER will be transformed to rtl when expand_leftover_cleanups ()
is invoked. */
-extern void expand_eh_region_end PROTO((tree));
+extern void expand_eh_region_end PARAMS ((tree));
/* Push RLABEL or TLABEL onto LABELSTACK. Only one of RLABEL or TLABEL
should be set; the other must be NULL. */
-extern void push_label_entry PROTO((struct label_node **labelstack, rtx rlabel, tree tlabel));
+extern void push_label_entry PARAMS ((struct label_node **labelstack,
+ rtx rlabel, tree tlabel));
/* Pop the topmost entry from LABELSTACK and return its value as an
rtx node. If LABELSTACK is empty, return NULL. */
-extern rtx pop_label_entry PROTO((struct label_node **labelstack));
+extern rtx pop_label_entry PARAMS ((struct label_node **labelstack));
/* Return the topmost entry of LABELSTACK as a tree node, or return
NULL_TREE if LABELSTACK is empty. */
-extern tree top_label_entry PROTO((struct label_node **labelstack));
+extern tree top_label_entry PARAMS ((struct label_node **labelstack));
#endif
/* Test: is exception handling turned on? */
-extern int doing_eh PROTO ((int));
+extern int doing_eh PARAMS ((int));
/* Toplevel initialization for EH. */
-void set_exception_lang_code PROTO((int));
-void set_exception_version_code PROTO((int));
+void set_exception_lang_code PARAMS ((int));
+void set_exception_version_code PARAMS ((int));
/* A list of handlers asocciated with an exception region. HANDLER_LABEL
is the the label that control should be transfered to if the data
@@ -238,45 +239,45 @@ typedef struct handler_info
typeinfo entry. Regardless where it is positioned, a NULL_TREE entry
is always output as the LAST handler in the exception table for a region. */
-void add_new_handler PROTO((int, struct handler_info *));
+void add_new_handler PARAMS ((int, struct handler_info *));
/* Remove a handler label. The handler label is being deleted, so all
regions which reference this handler should have it removed from their
list of possible handlers. Any region which has the final handler
removed can be deleted. */
-void remove_handler PROTO((rtx));
+void remove_handler PARAMS ((rtx));
/* Create a new handler structure initialized with the handler label and
typeinfo fields passed in. */
-struct handler_info *get_new_handler PROTO((rtx, void *));
+struct handler_info *get_new_handler PARAMS ((rtx, void *));
/* Make a duplicate of an exception region by copying all the handlers
for an exception region. Return the new handler index. */
-int duplicate_eh_handlers PROTO((int, int, rtx (*)(rtx)));
+int duplicate_eh_handlers PARAMS ((int, int, rtx (*)(rtx)));
/* map symbol refs for rethrow */
-rtx rethrow_symbol_map PROTO((rtx, rtx (*)(rtx)));
+rtx rethrow_symbol_map PARAMS ((rtx, rtx (*)(rtx)));
/* Is the rethrow label for a region used? */
-int rethrow_used PROTO((int));
+int rethrow_used PARAMS ((int));
/* Update the rethrow references to reflect rethrows which have been
optimized away. */
-void update_rethrow_references PROTO((void));
+void update_rethrow_references PARAMS ((void));
/* Get a pointer to the first handler in an exception region's list. */
-struct handler_info *get_first_handler PROTO((int));
+struct handler_info *get_first_handler PARAMS ((int));
/* Find all the runtime handlers type matches currently referenced */
-int find_all_handler_type_matches PROTO((void ***));
+int find_all_handler_type_matches PARAMS ((void ***));
/* The eh_nesting_info structure is used to find a list of valid handlers
for any arbitrary exception region. When init_eh_nesting_info is called,
@@ -307,114 +308,114 @@ typedef struct eh_nesting
/* Initialize the eh_nesting_info structure. */
-eh_nesting_info *init_eh_nesting_info PROTO((void));
+eh_nesting_info *init_eh_nesting_info PARAMS ((void));
/* Get a list of handlers reachable from a an exception region/insn. */
-int reachable_handlers PROTO((int, eh_nesting_info *, rtx,
- handler_info ***handlers));
+int reachable_handlers PARAMS ((int, eh_nesting_info *, rtx,
+ handler_info ***handlers));
/* Free the eh_nesting_info structure. */
-void free_eh_nesting_info PROTO((eh_nesting_info *));
+void free_eh_nesting_info PARAMS ((eh_nesting_info *));
-extern void init_eh PROTO((void));
+extern void init_eh PARAMS ((void));
/* Initialization for the per-function EH data. */
-extern void init_eh_for_function PROTO((void));
+extern void init_eh_for_function PARAMS ((void));
/* Generate an exception label. Use instead of gen_label_rtx */
-extern rtx gen_exception_label PROTO((void));
+extern rtx gen_exception_label PARAMS ((void));
/* Adds an EH table entry for EH entry number N. Called from
final_scan_insn for NOTE_INSN_EH_REGION_BEG. */
-extern void add_eh_table_entry PROTO((int n));
+extern void add_eh_table_entry PARAMS ((int n));
/* Start a catch clause, triggered by runtime value paramter. */
#ifdef TREE_CODE
-extern void start_catch_handler PROTO((tree));
+extern void start_catch_handler PARAMS ((tree));
#endif
/* End an individual catch clause. */
-extern void end_catch_handler PROTO((void));
+extern void end_catch_handler PARAMS ((void));
/* Returns a non-zero value if we need to output an exception table. */
-extern int exception_table_p PROTO((void));
+extern int exception_table_p PARAMS ((void));
/* Outputs the exception table if we have one. */
-extern void output_exception_table PROTO((void));
+extern void output_exception_table PARAMS ((void));
/* Given a return address in ADDR, determine the address we should use
to find the corresponding EH region. */
-extern rtx eh_outer_context PROTO((rtx addr));
+extern rtx eh_outer_context PARAMS ((rtx addr));
/* Called at the start of a block of try statements for which there is
a supplied catch handler. */
-extern void expand_start_try_stmts PROTO((void));
+extern void expand_start_try_stmts PARAMS ((void));
/* Called at the start of a block of catch statements. It terminates the
previous set of try statements. */
-extern void expand_start_all_catch PROTO((void));
+extern void expand_start_all_catch PARAMS ((void));
/* Called at the end of a block of catch statements. */
-extern void expand_end_all_catch PROTO((void));
+extern void expand_end_all_catch PARAMS ((void));
/* Begin a region that will contain entries created with
add_partial_entry. */
-extern void begin_protect_partials PROTO((void));
+extern void begin_protect_partials PARAMS ((void));
#ifdef TREE_CODE
/* Create a new exception region and add the handler for the region
onto a list. These regions will be ended (and their handlers
emitted) when end_protect_partials is invoked. */
-extern void add_partial_entry PROTO((tree handler));
+extern void add_partial_entry PARAMS ((tree handler));
#endif
/* End all of the pending exception regions that have handlers added with
push_protect_entry (). */
-extern void end_protect_partials PROTO((void));
+extern void end_protect_partials PARAMS ((void));
/* An internal throw. */
-extern void expand_internal_throw PROTO((void));
+extern void expand_internal_throw PARAMS ((void));
/* Called from expand_exception_blocks and expand_end_catch_block to
expand and pending handlers. */
-extern void expand_leftover_cleanups PROTO((void));
+extern void expand_leftover_cleanups PARAMS ((void));
/* If necessary, emit insns to get EH context for the current
function. */
-extern void emit_eh_context PROTO((void));
+extern void emit_eh_context PARAMS ((void));
/* Builds a list of handler labels and puts them in the global
variable exception_handler_labels. */
-extern void find_exception_handler_labels PROTO((void));
+extern void find_exception_handler_labels PARAMS ((void));
/* Determine if an arbitrary label is an exception label */
-extern int is_exception_handler_label PROTO((int));
+extern int is_exception_handler_label PARAMS ((int));
/* Performs sanity checking on the check_exception_handler_labels
list. */
-extern void check_exception_handler_labels PROTO((void));
+extern void check_exception_handler_labels PARAMS ((void));
/* Keeps track of the label used as the context of a throw to rethrow an
exception to the outer exception region. */
@@ -429,26 +430,26 @@ extern rtx exception_handler_labels;
/* Performs optimizations for exception handling, such as removing
unnecessary exception regions. Invoked from jump_optimize (). */
-extern void exception_optimize PROTO((void));
+extern void exception_optimize PARAMS ((void));
/* Return EH context (and set it up once per fn). */
-extern rtx get_eh_context PROTO((void));
+extern rtx get_eh_context PARAMS ((void));
/* Get the dynamic handler chain. */
-extern rtx get_dynamic_handler_chain PROTO((void));
+extern rtx get_dynamic_handler_chain PARAMS ((void));
/* Get the dynamic cleanup chain. */
-extern rtx get_dynamic_cleanup_chain PROTO((void));
+extern rtx get_dynamic_cleanup_chain PARAMS ((void));
/* Throw an exception. */
-extern void emit_throw PROTO((void));
+extern void emit_throw PARAMS ((void));
/* Save away the current ehqueue. */
-extern void push_ehqueue PROTO((void));
+extern void push_ehqueue PARAMS ((void));
/* Restore a previously pushed ehqueue. */
-extern void pop_ehqueue PROTO((void));
+extern void pop_ehqueue PARAMS ((void));
/* One to use setjmp/longjmp method of generating code. */
@@ -464,32 +465,32 @@ extern int asynchronous_exceptions;
extern int protect_cleanup_actions_with_terminate;
#ifdef TREE_CODE
-extern tree protect_with_terminate PROTO((tree));
+extern tree protect_with_terminate PARAMS ((tree));
#endif
-extern void expand_fixup_region_start PROTO((void));
+extern void expand_fixup_region_start PARAMS ((void));
#ifdef TREE_CODE
-extern void expand_fixup_region_end PROTO((tree));
+extern void expand_fixup_region_end PARAMS ((tree));
#endif
/* Various hooks for the DWARF 2 __throw routine. */
-void expand_builtin_unwind_init PROTO((void));
-rtx expand_builtin_dwarf_fp_regnum PROTO((void));
+void expand_builtin_unwind_init PARAMS ((void));
+rtx expand_builtin_dwarf_fp_regnum PARAMS ((void));
#ifdef TREE_CODE
-rtx expand_builtin_frob_return_addr PROTO((tree));
-rtx expand_builtin_extract_return_addr PROTO((tree));
-void expand_builtin_init_dwarf_reg_sizes PROTO((tree));
-void expand_builtin_eh_return PROTO((tree, tree, tree));
+rtx expand_builtin_frob_return_addr PARAMS ((tree));
+rtx expand_builtin_extract_return_addr PARAMS ((tree));
+void expand_builtin_init_dwarf_reg_sizes PARAMS ((tree));
+void expand_builtin_eh_return PARAMS ((tree, tree, tree));
#endif
-void expand_eh_return PROTO((void));
+void expand_eh_return PARAMS ((void));
/* Checking whether 2 instructions are within the same exception region. */
-int in_same_eh_region PROTO((rtx, rtx));
-void free_insn_eh_region PROTO((void));
-void init_insn_eh_region PROTO((rtx, int));
+int in_same_eh_region PARAMS ((rtx, rtx));
+void free_insn_eh_region PARAMS ((void));
+void init_insn_eh_region PARAMS ((rtx, int));
#ifdef rtx
#undef rtx
diff --git a/gcc/explow.c b/gcc/explow.c
index ca4259a7fa4..65e43a71747 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1,5 +1,5 @@
/* Subroutines for manipulating rtx's in semantically interesting ways.
- Copyright (C) 1987, 91, 94-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 91, 94-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -38,8 +38,8 @@ Boston, MA 02111-1307, USA. */
#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY
#endif
-static rtx break_out_memory_refs PROTO((rtx));
-static void emit_stack_probe PROTO((rtx));
+static rtx break_out_memory_refs PARAMS ((rtx));
+static void emit_stack_probe PARAMS ((rtx));
/* Truncate and perhaps sign-extend C as appropriate for MODE. */
@@ -938,7 +938,7 @@ emit_stack_save (save_level, psave, after)
{
rtx sa = *psave;
/* The default is that we use a move insn and save in a Pmode object. */
- rtx (*fcn) PROTO ((rtx, rtx)) = gen_move_insn;
+ rtx (*fcn) PARAMS ((rtx, rtx)) = gen_move_insn;
enum machine_mode mode = STACK_SAVEAREA_MODE (save_level);
/* See if this machine has anything special to do for this kind of save. */
@@ -1020,7 +1020,7 @@ emit_stack_restore (save_level, sa, after)
rtx sa;
{
/* The default is that we use a move insn. */
- rtx (*fcn) PROTO ((rtx, rtx)) = gen_move_insn;
+ rtx (*fcn) PARAMS ((rtx, rtx)) = gen_move_insn;
/* See if this machine has anything special to do for this kind of save. */
switch (save_level)
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 2897d77c97a..63441875e9b 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -34,17 +34,17 @@ Boston, MA 02111-1307, USA. */
#include "real.h"
#include "recog.h"
-static void store_fixed_bit_field PROTO((rtx, int, int, int, rtx, int));
-static void store_split_bit_field PROTO((rtx, int, int, rtx, int));
-static rtx extract_fixed_bit_field PROTO((enum machine_mode, rtx, int,
- int, int, rtx, int, int));
-static rtx mask_rtx PROTO((enum machine_mode, int,
- int, int));
-static rtx lshift_value PROTO((enum machine_mode, rtx,
- int, int));
-static rtx extract_split_bit_field PROTO((rtx, int, int, int, int));
-static void do_cmp_and_jump PROTO((rtx, rtx, enum rtx_code,
- enum machine_mode, rtx));
+static void store_fixed_bit_field PARAMS ((rtx, int, int, int, rtx, int));
+static void store_split_bit_field PARAMS ((rtx, int, int, rtx, int));
+static rtx extract_fixed_bit_field PARAMS ((enum machine_mode, rtx, int,
+ int, int, rtx, int, int));
+static rtx mask_rtx PARAMS ((enum machine_mode, int,
+ int, int));
+static rtx lshift_value PARAMS ((enum machine_mode, rtx,
+ int, int));
+static rtx extract_split_bit_field PARAMS ((rtx, int, int, int, int));
+static void do_cmp_and_jump PARAMS ((rtx, rtx, enum rtx_code,
+ enum machine_mode, rtx));
/* Non-zero means divides or modulus operations are relatively cheap for
powers of two, so don't use branches; emit the operation instead.
@@ -2057,15 +2057,15 @@ struct algorithm
char log[MAX_BITS_PER_WORD];
};
-static void synth_mult PROTO((struct algorithm *,
- unsigned HOST_WIDE_INT,
- int));
-static unsigned HOST_WIDE_INT choose_multiplier PROTO((unsigned HOST_WIDE_INT,
- int, int,
- unsigned HOST_WIDE_INT *,
- int *, int *));
-static unsigned HOST_WIDE_INT invert_mod2n PROTO((unsigned HOST_WIDE_INT,
- int));
+static void synth_mult PARAMS ((struct algorithm *,
+ unsigned HOST_WIDE_INT,
+ int));
+static unsigned HOST_WIDE_INT choose_multiplier PARAMS ((unsigned HOST_WIDE_INT,
+ int, int,
+ unsigned HOST_WIDE_INT *,
+ int *, int *));
+static unsigned HOST_WIDE_INT invert_mod2n PARAMS ((unsigned HOST_WIDE_INT,
+ int));
/* Compute and return the best algorithm for multiplying by T.
The algorithm must cost less than cost_limit
If retval.cost >= COST_LIMIT, no algorithm was found and all
diff --git a/gcc/expr.c b/gcc/expr.c
index 54a90972cc4..9e07dafda6a 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1,5 +1,5 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 92-98, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1988, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -129,39 +129,39 @@ struct clear_by_pieces
extern struct obstack permanent_obstack;
-static rtx get_push_address PROTO ((int));
-
-static rtx enqueue_insn PROTO((rtx, rtx));
-static int move_by_pieces_ninsns PROTO((unsigned int, int));
-static void move_by_pieces_1 PROTO((rtx (*) (rtx, ...), enum machine_mode,
- struct move_by_pieces *));
-static void clear_by_pieces PROTO((rtx, int, int));
-static void clear_by_pieces_1 PROTO((rtx (*) (rtx, ...),
- enum machine_mode,
- struct clear_by_pieces *));
-static int is_zeros_p PROTO((tree));
-static int mostly_zeros_p PROTO((tree));
-static void store_constructor_field PROTO((rtx, int, int, enum machine_mode,
- tree, tree, int, int));
-static void store_constructor PROTO((tree, rtx, int, int, int));
-static rtx store_field PROTO((rtx, int, int, enum machine_mode, tree,
- enum machine_mode, int, int,
- int, int));
+static rtx get_push_address PARAMS ((int));
+
+static rtx enqueue_insn PARAMS ((rtx, rtx));
+static int move_by_pieces_ninsns PARAMS ((unsigned int, int));
+static void move_by_pieces_1 PARAMS ((rtx (*) (rtx, ...), enum machine_mode,
+ struct move_by_pieces *));
+static void clear_by_pieces PARAMS ((rtx, int, int));
+static void clear_by_pieces_1 PARAMS ((rtx (*) (rtx, ...),
+ enum machine_mode,
+ struct clear_by_pieces *));
+static int is_zeros_p PARAMS ((tree));
+static int mostly_zeros_p PARAMS ((tree));
+static void store_constructor_field PARAMS ((rtx, int, int, enum machine_mode,
+ tree, tree, int, int));
+static void store_constructor PARAMS ((tree, rtx, int, int, int));
+static rtx store_field PARAMS ((rtx, int, int, enum machine_mode,
+ tree, enum machine_mode, int, int,
+ int, int));
static enum memory_use_mode
- get_memory_usage_from_modifier PROTO((enum expand_modifier));
-static tree save_noncopied_parts PROTO((tree, tree));
-static tree init_noncopied_parts PROTO((tree, tree));
-static int safe_from_p PROTO((rtx, tree, int));
-static int fixed_type_p PROTO((tree));
-static rtx var_rtx PROTO((tree));
-static int readonly_fields_p PROTO((tree));
-static rtx expand_expr_unaligned PROTO((tree, int *));
-static rtx expand_increment PROTO((tree, int, int));
-static void preexpand_calls PROTO((tree));
-static void do_jump_by_parts_greater PROTO((tree, int, rtx, rtx));
-static void do_jump_by_parts_equality PROTO((tree, rtx, rtx));
-static void do_compare_and_jump PROTO((tree, enum rtx_code, enum rtx_code, rtx, rtx));
-static rtx do_store_flag PROTO((tree, rtx, enum machine_mode, int));
+ get_memory_usage_from_modifier PARAMS ((enum expand_modifier));
+static tree save_noncopied_parts PARAMS ((tree, tree));
+static tree init_noncopied_parts PARAMS ((tree, tree));
+static int safe_from_p PARAMS ((rtx, tree, int));
+static int fixed_type_p PARAMS ((tree));
+static rtx var_rtx PARAMS ((tree));
+static int readonly_fields_p PARAMS ((tree));
+static rtx expand_expr_unaligned PARAMS ((tree, int *));
+static rtx expand_increment PARAMS ((tree, int, int));
+static void preexpand_calls PARAMS ((tree));
+static void do_jump_by_parts_greater PARAMS ((tree, int, rtx, rtx));
+static void do_jump_by_parts_equality PARAMS ((tree, rtx, rtx));
+static void do_compare_and_jump PARAMS ((tree, enum rtx_code, enum rtx_code, rtx, rtx));
+static rtx do_store_flag PARAMS ((tree, rtx, enum machine_mode, int));
/* Record for each mode whether we can move a register directly to or
from an object of that mode in memory. If we can't, we won't try
@@ -1512,7 +1512,7 @@ move_by_pieces_ninsns (l, align)
static void
move_by_pieces_1 (genfun, mode, data)
- rtx (*genfun) PROTO ((rtx, ...));
+ rtx (*genfun) PARAMS ((rtx, ...));
enum machine_mode mode;
struct move_by_pieces *data;
{
@@ -2320,7 +2320,7 @@ clear_by_pieces (to, len, align)
static void
clear_by_pieces_1 (genfun, mode, data)
- rtx (*genfun) PROTO ((rtx, ...));
+ rtx (*genfun) PARAMS ((rtx, ...));
enum machine_mode mode;
struct clear_by_pieces *data;
{
diff --git a/gcc/expr.h b/gcc/expr.h
index e603d045bb8..9442f0fabd8 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -1,5 +1,5 @@
/* Definitions for code generation pass of GNU compiler.
- Copyright (C) 1987, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 91-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -713,7 +713,7 @@ extern rtx libfunc_table[LTI_MAX];
#define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry])
#define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit])
-typedef rtx (*rtxfun) PROTO ((rtx));
+typedef rtx (*rtxfun) PARAMS ((rtx));
/* Indexed by the rtx-code for a conditional (eg. EQ, LT,...)
gives the gen_function to make a branch to test that condition. */
@@ -742,50 +742,50 @@ extern enum insn_code clrstr_optab[NUM_MACHINE_MODES];
/* Define functions given in optabs.c. */
/* Expand a binary operation given optab and rtx operands. */
-extern rtx expand_binop PROTO((enum machine_mode, optab, rtx, rtx, rtx,
- int, enum optab_methods));
+extern rtx expand_binop PARAMS ((enum machine_mode, optab, rtx, rtx, rtx,
+ int, enum optab_methods));
/* Expand a binary operation with both signed and unsigned forms. */
-extern rtx sign_expand_binop PROTO((enum machine_mode, optab, optab, rtx,
- rtx, rtx, int, enum optab_methods));
+extern rtx sign_expand_binop PARAMS ((enum machine_mode, optab, optab, rtx,
+ rtx, rtx, int, enum optab_methods));
/* Generate code to perform an operation on two operands with two results. */
-extern int expand_twoval_binop PROTO((optab, rtx, rtx, rtx, rtx, int));
+extern int expand_twoval_binop PARAMS ((optab, rtx, rtx, rtx, rtx, int));
/* Expand a unary arithmetic operation given optab rtx operand. */
-extern rtx expand_unop PROTO((enum machine_mode, optab, rtx, rtx, int));
+extern rtx expand_unop PARAMS ((enum machine_mode, optab, rtx, rtx, int));
/* Expand the absolute value operation. */
-extern rtx expand_abs PROTO((enum machine_mode, rtx, rtx, int));
+extern rtx expand_abs PARAMS ((enum machine_mode, rtx, rtx, int));
/* Expand the complex absolute value operation. */
-extern rtx expand_complex_abs PROTO((enum machine_mode, rtx, rtx, int));
+extern rtx expand_complex_abs PARAMS ((enum machine_mode, rtx, rtx, int));
/* Generate an instruction with a given INSN_CODE with an output and
an input. */
-extern void emit_unop_insn PROTO((int, rtx, rtx, enum rtx_code));
+extern void emit_unop_insn PARAMS ((int, rtx, rtx, enum rtx_code));
/* Emit code to perform a series of operations on a multi-word quantity, one
word at a time. */
-extern rtx emit_no_conflict_block PROTO((rtx, rtx, rtx, rtx, rtx));
+extern rtx emit_no_conflict_block PARAMS ((rtx, rtx, rtx, rtx, rtx));
/* Emit code to make a call to a constant function or a library call. */
-extern void emit_libcall_block PROTO((rtx, rtx, rtx, rtx));
+extern void emit_libcall_block PARAMS ((rtx, rtx, rtx, rtx));
/* Emit one rtl instruction to store zero in specified rtx. */
-extern void emit_clr_insn PROTO((rtx));
+extern void emit_clr_insn PARAMS ((rtx));
/* Emit one rtl insn to store 1 in specified rtx assuming it contains 0. */
-extern void emit_0_to_1_insn PROTO((rtx));
+extern void emit_0_to_1_insn PARAMS ((rtx));
/* Emit one rtl insn to compare two rtx's. */
-extern void emit_cmp_insn PROTO((rtx, rtx, enum rtx_code, rtx,
- enum machine_mode, int, int));
+extern void emit_cmp_insn PARAMS ((rtx, rtx, enum rtx_code, rtx,
+ enum machine_mode, int, int));
/* Emit a pair of rtl insns to compare two rtx's and to jump
to a label if the comparison is true. */
-extern void emit_cmp_and_jump_insns PROTO((rtx, rtx, enum rtx_code, rtx,
- enum machine_mode, int, int, rtx));
+extern void emit_cmp_and_jump_insns PARAMS ((rtx, rtx, enum rtx_code, rtx,
+ enum machine_mode, int, int, rtx));
/* The various uses that a comparison can have; used by can_compare_p:
jumps, conditional moves, store flag operations. */
@@ -797,26 +797,26 @@ enum can_compare_purpose
};
/* Nonzero if a compare of mode MODE can be done straightforwardly
(without splitting it into pieces). */
-extern int can_compare_p PROTO((enum machine_mode, enum can_compare_purpose));
+extern int can_compare_p PARAMS ((enum machine_mode, enum can_compare_purpose));
-extern void prepare_cmp_insn PROTO((rtx *, rtx *, enum rtx_code *, rtx,
- enum machine_mode *, int *, int,
- enum can_compare_purpose));
+extern void prepare_cmp_insn PARAMS ((rtx *, rtx *, enum rtx_code *, rtx,
+ enum machine_mode *, int *, int,
+ enum can_compare_purpose));
-extern rtx prepare_operand PROTO((int, rtx, int, enum machine_mode,
- enum machine_mode, int));
+extern rtx prepare_operand PARAMS ((int, rtx, int, enum machine_mode,
+ enum machine_mode, int));
/* Generate code to indirectly jump to a location given in the rtx LOC. */
-extern void emit_indirect_jump PROTO((rtx));
+extern void emit_indirect_jump PARAMS ((rtx));
#ifdef HAVE_conditional_move
/* Emit a conditional move operation. */
-rtx emit_conditional_move PROTO((rtx, enum rtx_code, rtx, rtx,
- enum machine_mode, rtx, rtx,
- enum machine_mode, int));
+rtx emit_conditional_move PARAMS ((rtx, enum rtx_code, rtx, rtx,
+ enum machine_mode, rtx, rtx,
+ enum machine_mode, int));
/* Return non-zero if the conditional move is supported. */
-int can_conditionally_move_p PROTO((enum machine_mode mode));
+int can_conditionally_move_p PARAMS ((enum machine_mode mode));
#endif
@@ -824,391 +824,392 @@ int can_conditionally_move_p PROTO((enum machine_mode mode));
Modes must match; operands must meet the operation's predicates.
Likewise for subtraction and for just copying.
These do not call protect_from_queue; caller must do so. */
-extern rtx gen_add2_insn PROTO((rtx, rtx));
-extern rtx gen_sub2_insn PROTO((rtx, rtx));
-extern rtx gen_move_insn PROTO((rtx, rtx));
-extern int have_add2_insn PROTO((enum machine_mode));
-extern int have_sub2_insn PROTO((enum machine_mode));
+extern rtx gen_add2_insn PARAMS ((rtx, rtx));
+extern rtx gen_sub2_insn PARAMS ((rtx, rtx));
+extern rtx gen_move_insn PARAMS ((rtx, rtx));
+extern int have_add2_insn PARAMS ((enum machine_mode));
+extern int have_sub2_insn PARAMS ((enum machine_mode));
/* Return the INSN_CODE to use for an extend operation. */
-extern enum insn_code can_extend_p PROTO((enum machine_mode,
- enum machine_mode, int));
+extern enum insn_code can_extend_p PARAMS ((enum machine_mode,
+ enum machine_mode, int));
/* Generate the body of an insn to extend Y (with mode MFROM)
into X (with mode MTO). Do zero-extension if UNSIGNEDP is nonzero. */
-extern rtx gen_extend_insn PROTO((rtx, rtx, enum machine_mode,
- enum machine_mode, int));
+extern rtx gen_extend_insn PARAMS ((rtx, rtx, enum machine_mode,
+ enum machine_mode, int));
/* Initialize the tables that control conversion between fixed and
floating values. */
-extern void init_fixtab PROTO((void));
-extern void init_floattab PROTO((void));
+extern void init_fixtab PARAMS ((void));
+extern void init_floattab PARAMS ((void));
/* Generate code for a FLOAT_EXPR. */
-extern void expand_float PROTO((rtx, rtx, int));
+extern void expand_float PARAMS ((rtx, rtx, int));
/* Generate code for a FIX_EXPR. */
-extern void expand_fix PROTO((rtx, rtx, int));
+extern void expand_fix PARAMS ((rtx, rtx, int));
/* Call this to initialize an optab function entry. */
-extern rtx init_one_libfunc PROTO ((const char *));
+extern rtx init_one_libfunc PARAMS ((const char *));
/* Call this once to initialize the contents of the optabs
appropriately for the current target machine. */
-extern void init_optabs PROTO((void));
+extern void init_optabs PARAMS ((void));
/* Functions from expmed.c: */
/* Arguments MODE, RTX: return an rtx for the negation of that value.
May emit insns. */
-extern rtx negate_rtx PROTO((enum machine_mode, rtx));
+extern rtx negate_rtx PARAMS ((enum machine_mode, rtx));
/* Expand a logical AND operation. */
-extern rtx expand_and PROTO((rtx, rtx, rtx));
+extern rtx expand_and PARAMS ((rtx, rtx, rtx));
/* Emit a store-flag operation. */
-extern rtx emit_store_flag PROTO((rtx, enum rtx_code, rtx, rtx,
- enum machine_mode, int, int));
+extern rtx emit_store_flag PARAMS ((rtx, enum rtx_code, rtx, rtx,
+ enum machine_mode, int, int));
/* Like emit_store_flag, but always succeeds. */
-extern rtx emit_store_flag_force PROTO((rtx, enum rtx_code, rtx, rtx,
- enum machine_mode, int, int));
+extern rtx emit_store_flag_force PARAMS ((rtx, enum rtx_code, rtx, rtx,
+ enum machine_mode, int, int));
/* Functions from loop.c: */
/* Given a JUMP_INSN, return a description of the test being made. */
-extern rtx get_condition PROTO((rtx, rtx *));
+extern rtx get_condition PARAMS ((rtx, rtx *));
/* Generate a conditional trap instruction. */
-extern rtx gen_cond_trap PROTO((enum rtx_code, rtx, rtx, rtx));
+extern rtx gen_cond_trap PARAMS ((enum rtx_code, rtx, rtx, rtx));
/* Functions from builtins.c: */
#ifdef TREE_CODE
-extern rtx expand_builtin PROTO((tree, rtx, rtx, enum machine_mode, int));
-extern void std_expand_builtin_va_start PROTO((int, tree, rtx));
-extern rtx std_expand_builtin_va_arg PROTO((tree, tree));
-extern rtx expand_builtin_va_arg PROTO((tree, tree));
+extern rtx expand_builtin PARAMS ((tree, rtx, rtx, enum machine_mode, int));
+extern void std_expand_builtin_va_start PARAMS ((int, tree, rtx));
+extern rtx std_expand_builtin_va_arg PARAMS ((tree, tree));
+extern rtx expand_builtin_va_arg PARAMS ((tree, tree));
#endif
-extern rtx expand_builtin_setjmp PROTO((rtx, rtx, rtx, rtx));
-extern void expand_builtin_longjmp PROTO ((rtx, rtx));
-extern rtx expand_builtin_saveregs PROTO((void));
-extern int get_varargs_alias_set PROTO((void));
+extern rtx expand_builtin_setjmp PARAMS ((rtx, rtx, rtx, rtx));
+extern void expand_builtin_longjmp PARAMS ((rtx, rtx));
+extern rtx expand_builtin_saveregs PARAMS ((void));
+extern int get_varargs_alias_set PARAMS ((void));
/* Functions from expr.c: */
/* This is run once per compilation to set up which modes can be used
directly in memory and to initialize the block move optab. */
-extern void init_expr_once PROTO((void));
+extern void init_expr_once PARAMS ((void));
/* This is run at the start of compiling a function. */
-extern void init_expr PROTO((void));
+extern void init_expr PARAMS ((void));
/* This function is run once to initialize stor-layout.c. */
-extern void init_stor_layout_once PROTO((void));
+extern void init_stor_layout_once PARAMS ((void));
/* This is run at the end of compiling a function. */
-extern void finish_expr_for_function PROTO((void));
+extern void finish_expr_for_function PARAMS ((void));
/* Use protect_from_queue to convert a QUEUED expression
into something that you can put immediately into an instruction. */
-extern rtx protect_from_queue PROTO((rtx, int));
+extern rtx protect_from_queue PARAMS ((rtx, int));
/* Perform all the pending incrementations. */
-extern void emit_queue PROTO((void));
+extern void emit_queue PARAMS ((void));
/* Tell if something has a queued subexpression. */
-extern int queued_subexp_p PROTO((rtx));
+extern int queued_subexp_p PARAMS ((rtx));
/* Emit some rtl insns to move data between rtx's, converting machine modes.
Both modes must be floating or both fixed. */
-extern void convert_move PROTO((rtx, rtx, int));
+extern void convert_move PARAMS ((rtx, rtx, int));
/* Convert an rtx to specified machine mode and return the result. */
-extern rtx convert_to_mode PROTO((enum machine_mode, rtx, int));
+extern rtx convert_to_mode PARAMS ((enum machine_mode, rtx, int));
/* Convert an rtx to MODE from OLDMODE and return the result. */
-extern rtx convert_modes PROTO((enum machine_mode, enum machine_mode, rtx, int));
+extern rtx convert_modes PARAMS ((enum machine_mode, enum machine_mode, rtx, int));
/* Emit code to move a block Y to a block X. */
-extern rtx emit_block_move PROTO((rtx, rtx, rtx, int));
+extern rtx emit_block_move PARAMS ((rtx, rtx, rtx, int));
/* Copy all or part of a value X into registers starting at REGNO.
The number of registers to be filled is NREGS. */
-extern void move_block_to_reg PROTO((int, rtx, int, enum machine_mode));
+extern void move_block_to_reg PARAMS ((int, rtx, int, enum machine_mode));
/* Copy all or part of a BLKmode value X out of registers starting at REGNO.
The number of registers to be filled is NREGS. */
-extern void move_block_from_reg PROTO((int, rtx, int, int));
+extern void move_block_from_reg PARAMS ((int, rtx, int, int));
/* Load a BLKmode value into non-consecutive registers represented by a
PARALLEL. */
-extern void emit_group_load PROTO((rtx, rtx, int, int));
+extern void emit_group_load PARAMS ((rtx, rtx, int, int));
/* Store a BLKmode value from non-consecutive registers represented by a
PARALLEL. */
-extern void emit_group_store PROTO((rtx, rtx, int, int));
+extern void emit_group_store PARAMS ((rtx, rtx, int, int));
#ifdef TREE_CODE
/* Copy BLKmode object from a set of registers. */
-extern rtx copy_blkmode_from_reg PROTO((rtx,rtx,tree));
+extern rtx copy_blkmode_from_reg PARAMS ((rtx,rtx,tree));
#endif
/* Mark REG as holding a parameter for the next CALL_INSN. */
-extern void use_reg PROTO((rtx *, rtx));
+extern void use_reg PARAMS ((rtx *, rtx));
/* Mark NREGS consecutive regs, starting at REGNO, as holding parameters
for the next CALL_INSN. */
-extern void use_regs PROTO((rtx *, int, int));
+extern void use_regs PARAMS ((rtx *, int, int));
/* Mark a PARALLEL as holding a parameter for the next CALL_INSN. */
-extern void use_group_regs PROTO((rtx *, rtx));
+extern void use_group_regs PARAMS ((rtx *, rtx));
/* Write zeros through the storage of OBJECT.
If OBJECT has BLKmode, SIZE is its length in bytes and ALIGN is its
alignment. */
-extern rtx clear_storage PROTO((rtx, rtx, int));
+extern rtx clear_storage PARAMS ((rtx, rtx, int));
/* Emit insns to set X from Y. */
-extern rtx emit_move_insn PROTO((rtx, rtx));
+extern rtx emit_move_insn PARAMS ((rtx, rtx));
/* Emit insns to set X from Y, with no frills. */
-extern rtx emit_move_insn_1 PROTO((rtx, rtx));
+extern rtx emit_move_insn_1 PARAMS ((rtx, rtx));
/* Push a block of length SIZE (perhaps variable)
and return an rtx to address the beginning of the block. */
-extern rtx push_block PROTO((rtx, int, int));
+extern rtx push_block PARAMS ((rtx, int, int));
/* Make an operand to push something on the stack. */
-extern rtx gen_push_operand PROTO((void));
+extern rtx gen_push_operand PARAMS ((void));
#ifdef TREE_CODE
/* Generate code to push something onto the stack, given its mode and type. */
-extern void emit_push_insn PROTO((rtx, enum machine_mode, tree, rtx, int,
- int, rtx, int, rtx, rtx, int, rtx));
+extern void emit_push_insn PARAMS ((rtx, enum machine_mode, tree, rtx, int,
+ int, rtx, int, rtx, rtx, int, rtx));
/* Emit library call. */
-extern void emit_library_call PVPROTO((rtx orgfun, int no_queue,
+extern void emit_library_call PARAMS ((rtx orgfun, int no_queue,
enum machine_mode outmode, int nargs, ...));
-extern rtx emit_library_call_value PVPROTO((rtx orgfun, rtx value, int no_queue,
+extern rtx emit_library_call_value PARAMS ((rtx orgfun, rtx value, int no_queue,
enum machine_mode outmode, int nargs, ...));
/* Expand an assignment that stores the value of FROM into TO. */
-extern rtx expand_assignment PROTO((tree, tree, int, int));
+extern rtx expand_assignment PARAMS ((tree, tree, int, int));
/* Generate code for computing expression EXP,
and storing the value into TARGET.
If SUGGEST_REG is nonzero, copy the value through a register
and return that register, if that is possible. */
-extern rtx store_expr PROTO((tree, rtx, int));
+extern rtx store_expr PARAMS ((tree, rtx, int));
#endif
/* Given an rtx that may include add and multiply operations,
generate them as insns and return a pseudo-reg containing the value.
Useful after calling expand_expr with 1 as sum_ok. */
-extern rtx force_operand PROTO((rtx, rtx));
+extern rtx force_operand PARAMS ((rtx, rtx));
#ifdef TREE_CODE
/* Generate code for computing expression EXP.
An rtx for the computed value is returned. The value is never null.
In the case of a void EXP, const0_rtx is returned. */
-extern rtx expand_expr PROTO((tree, rtx, enum machine_mode,
- enum expand_modifier));
+extern rtx expand_expr PARAMS ((tree, rtx, enum machine_mode,
+ enum expand_modifier));
#endif
/* At the start of a function, record that we have no previously-pushed
arguments waiting to be popped. */
-extern void init_pending_stack_adjust PROTO((void));
+extern void init_pending_stack_adjust PARAMS ((void));
/* When exiting from function, if safe, clear out any pending stack adjust
so the adjustment won't get done. */
-extern void clear_pending_stack_adjust PROTO((void));
+extern void clear_pending_stack_adjust PARAMS ((void));
/* Pop any previously-pushed arguments that have not been popped yet. */
-extern void do_pending_stack_adjust PROTO((void));
+extern void do_pending_stack_adjust PARAMS ((void));
#ifdef TREE_CODE
/* Return the tree node and offset if a given argument corresponds to
a string constant. */
-extern tree string_constant PROTO((tree, tree *));
+extern tree string_constant PARAMS ((tree, tree *));
/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
-extern void jumpifnot PROTO((tree, rtx));
+extern void jumpifnot PARAMS ((tree, rtx));
/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
-extern void jumpif PROTO((tree, rtx));
+extern void jumpif PARAMS ((tree, rtx));
/* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
the result is zero, or IF_TRUE_LABEL if the result is one. */
-extern void do_jump PROTO((tree, rtx, rtx));
+extern void do_jump PARAMS ((tree, rtx, rtx));
#endif
/* Generate rtl to compare two rtx's, will call emit_cmp_insn. */
-extern rtx compare_from_rtx PROTO((rtx, rtx, enum rtx_code, int,
- enum machine_mode, rtx, int));
-extern void do_compare_rtx_and_jump PROTO((rtx, rtx, enum rtx_code, int,
- enum machine_mode, rtx, int,
- rtx, rtx));
+extern rtx compare_from_rtx PARAMS ((rtx, rtx, enum rtx_code, int,
+ enum machine_mode, rtx, int));
+extern void do_compare_rtx_and_jump PARAMS ((rtx, rtx, enum rtx_code, int,
+ enum machine_mode, rtx, int,
+ rtx, rtx));
/* Generate a tablejump instruction (used for switch statements). */
-extern void do_tablejump PROTO((rtx, enum machine_mode, rtx, rtx, rtx));
+extern void do_tablejump PARAMS ((rtx, enum machine_mode, rtx, rtx, rtx));
#ifdef TREE_CODE
/* rtl.h and tree.h were included. */
/* Return an rtx for the size in bytes of the value of an expr. */
-extern rtx expr_size PROTO((tree));
+extern rtx expr_size PARAMS ((tree));
-extern rtx lookup_static_chain PROTO((tree));
+extern rtx lookup_static_chain PARAMS ((tree));
/* Convert a stack slot address ADDR valid in function FNDECL
into an address valid in this function (using a static chain). */
-extern rtx fix_lexical_addr PROTO((rtx, tree));
+extern rtx fix_lexical_addr PARAMS ((rtx, tree));
/* Return the address of the trampoline for entering nested fn FUNCTION. */
-extern rtx trampoline_address PROTO((tree));
+extern rtx trampoline_address PARAMS ((tree));
/* Return an rtx that refers to the value returned by a function
in its original home. This becomes invalid if any more code is emitted. */
-extern rtx hard_function_value PROTO((tree, tree, int));
+extern rtx hard_function_value PARAMS ((tree, tree, int));
-extern rtx prepare_call_address PROTO((rtx, tree, rtx *, int));
+extern rtx prepare_call_address PARAMS ((rtx, tree, rtx *, int));
-extern rtx expand_call PROTO((tree, rtx, int));
+extern rtx expand_call PARAMS ((tree, rtx, int));
-extern rtx expand_shift PROTO((enum tree_code, enum machine_mode, rtx, tree, rtx, int));
-extern rtx expand_divmod PROTO((int, enum tree_code, enum machine_mode, rtx, rtx, rtx, int));
-extern void locate_and_pad_parm PROTO((enum machine_mode, tree, int, tree, struct args_size *, struct args_size *, struct args_size *, struct args_size *));
-extern rtx expand_inline_function PROTO((tree, tree, rtx, int, tree, rtx));
+extern rtx expand_shift PARAMS ((enum tree_code, enum machine_mode, rtx, tree, rtx, int));
+extern rtx expand_divmod PARAMS ((int, enum tree_code, enum machine_mode, rtx, rtx, rtx, int));
+extern void locate_and_pad_parm PARAMS ((enum machine_mode, tree, int, tree, struct args_size *, struct args_size *, struct args_size *, struct args_size *));
+extern rtx expand_inline_function PARAMS ((tree, tree, rtx, int, tree, rtx));
/* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary. */
-extern rtx label_rtx PROTO((tree));
+extern rtx label_rtx PARAMS ((tree));
#endif
/* Indicate how an input argument register was promoted. */
-extern rtx promoted_input_arg PROTO((int, enum machine_mode *, int *));
+extern rtx promoted_input_arg PARAMS ((int, enum machine_mode *, int *));
/* Return an rtx like arg but sans any constant terms.
Returns the original rtx if it has no constant terms.
The constant terms are added and stored via a second arg. */
-extern rtx eliminate_constant_term PROTO((rtx, rtx *));
+extern rtx eliminate_constant_term PARAMS ((rtx, rtx *));
/* Convert arg to a valid memory address for specified machine mode,
by emitting insns to perform arithmetic if nec. */
-extern rtx memory_address PROTO((enum machine_mode, rtx));
+extern rtx memory_address PARAMS ((enum machine_mode, rtx));
/* Like `memory_address' but pretent `flag_force_addr' is 0. */
-extern rtx memory_address_noforce PROTO((enum machine_mode, rtx));
+extern rtx memory_address_noforce PARAMS ((enum machine_mode, rtx));
/* Return a memory reference like MEMREF, but with its mode changed
to MODE and its address changed to ADDR.
(VOIDmode means don't change the mode.
NULL for ADDR means don't change the address.) */
-extern rtx change_address PROTO((rtx, enum machine_mode, rtx));
+extern rtx change_address PARAMS ((rtx, enum machine_mode, rtx));
/* Return a memory reference like MEMREF, but which is known to have a
valid address. */
-extern rtx validize_mem PROTO((rtx));
+extern rtx validize_mem PARAMS ((rtx));
/* Assemble the static constant template for function entry trampolines. */
-extern rtx assemble_trampoline_template PROTO((void));
+extern rtx assemble_trampoline_template PARAMS ((void));
/* Return 1 if two rtx's are equivalent in structure and elements. */
-extern int rtx_equal_p PROTO((rtx, rtx));
+extern int rtx_equal_p PARAMS ((rtx, rtx));
/* Given rtx, return new rtx whose address won't be affected by
any side effects. It has been copied to a new temporary reg. */
-extern rtx stabilize PROTO((rtx));
+extern rtx stabilize PARAMS ((rtx));
/* Given an rtx, copy all regs it refers to into new temps
and return a modified copy that refers to the new temps. */
-extern rtx copy_all_regs PROTO((rtx));
+extern rtx copy_all_regs PARAMS ((rtx));
/* Copy given rtx to a new temp reg and return that. */
-extern rtx copy_to_reg PROTO((rtx));
+extern rtx copy_to_reg PARAMS ((rtx));
/* Like copy_to_reg but always make the reg Pmode. */
-extern rtx copy_addr_to_reg PROTO((rtx));
+extern rtx copy_addr_to_reg PARAMS ((rtx));
/* Like copy_to_reg but always make the reg the specified mode MODE. */
-extern rtx copy_to_mode_reg PROTO((enum machine_mode, rtx));
+extern rtx copy_to_mode_reg PARAMS ((enum machine_mode, rtx));
/* Copy given rtx to given temp reg and return that. */
-extern rtx copy_to_suggested_reg PROTO((rtx, rtx, enum machine_mode));
+extern rtx copy_to_suggested_reg PARAMS ((rtx, rtx, enum machine_mode));
/* Copy a value to a register if it isn't already a register.
Args are mode (in case value is a constant) and the value. */
-extern rtx force_reg PROTO((enum machine_mode, rtx));
+extern rtx force_reg PARAMS ((enum machine_mode, rtx));
/* Return given rtx, copied into a new temp reg if it was in memory. */
-extern rtx force_not_mem PROTO((rtx));
+extern rtx force_not_mem PARAMS ((rtx));
#ifdef TREE_CODE
/* Return mode and signedness to use when object is promoted. */
-extern enum machine_mode promote_mode PROTO((tree, enum machine_mode,
- int *, int));
+extern enum machine_mode promote_mode PARAMS ((tree, enum machine_mode,
+ int *, int));
#endif
/* Remove some bytes from the stack. An rtx says how many. */
-extern void adjust_stack PROTO((rtx));
+extern void adjust_stack PARAMS ((rtx));
/* Add some bytes to the stack. An rtx says how many. */
-extern void anti_adjust_stack PROTO((rtx));
+extern void anti_adjust_stack PARAMS ((rtx));
/* This enum is used for the following two functions. */
enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL};
/* Save the stack pointer at the specified level. */
-extern void emit_stack_save PROTO((enum save_level, rtx *, rtx));
+extern void emit_stack_save PARAMS ((enum save_level, rtx *, rtx));
/* Restore the stack pointer from a save area of the specified level. */
-extern void emit_stack_restore PROTO((enum save_level, rtx, rtx));
+extern void emit_stack_restore PARAMS ((enum save_level, rtx, rtx));
/* Allocate some space on the stack dynamically and return its address. An rtx
says how many bytes. */
-extern rtx allocate_dynamic_stack_space PROTO((rtx, rtx, int));
+extern rtx allocate_dynamic_stack_space PARAMS ((rtx, rtx, int));
/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
FIRST is a constant and size is a Pmode RTX. These are offsets from the
current stack pointer. STACK_GROWS_DOWNWARD says whether to add or
subtract from the stack. If SIZE is constant, this is done
with a fixed number of probes. Otherwise, we must make a loop. */
-extern void probe_stack_range PROTO((HOST_WIDE_INT, rtx));
+extern void probe_stack_range PARAMS ((HOST_WIDE_INT, rtx));
/* Return an rtx that refers to the value returned by a library call
in its original home. This becomes invalid if any more code is emitted. */
-extern rtx hard_libcall_value PROTO((enum machine_mode));
+extern rtx hard_libcall_value PARAMS ((enum machine_mode));
/* Given an rtx, return an rtx for a value rounded up to a multiple
of STACK_BOUNDARY / BITS_PER_UNIT. */
-extern rtx round_push PROTO((rtx));
+extern rtx round_push PARAMS ((rtx));
-extern rtx store_bit_field PROTO((rtx, int, int, enum machine_mode, rtx, int, int));
-extern rtx extract_bit_field PROTO((rtx, int, int, int, rtx, enum machine_mode, enum machine_mode, int, int));
-extern rtx expand_mult PROTO((enum machine_mode, rtx, rtx, rtx, int));
-extern rtx expand_mult_add PROTO((rtx, rtx, rtx, rtx,enum machine_mode, int));
-extern rtx expand_mult_highpart_adjust PROTO((enum machine_mode, rtx, rtx, rtx, rtx, int));
+extern rtx store_bit_field PARAMS ((rtx, int, int, enum machine_mode, rtx, int, int));
+extern rtx extract_bit_field PARAMS ((rtx, int, int, int, rtx, enum machine_mode, enum machine_mode, int, int));
+extern rtx expand_mult PARAMS ((enum machine_mode, rtx, rtx, rtx, int));
+extern rtx expand_mult_add PARAMS ((rtx, rtx, rtx, rtx,enum machine_mode, int));
+extern rtx expand_mult_highpart_adjust PARAMS ((enum machine_mode, rtx, rtx, rtx, rtx, int));
-extern rtx assemble_static_space PROTO((int));
+extern rtx assemble_static_space PARAMS ((int));
/* Hook called by expand_expr for language-specific tree codes.
It is up to the language front end to install a hook
if it has any such codes that expand_expr needs to know about. */
-extern rtx (*lang_expand_expr) PROTO ((union tree_node *, rtx,
- enum machine_mode,
- enum expand_modifier modifier));
+extern rtx (*lang_expand_expr) PARAMS ((union tree_node *, rtx,
+ enum machine_mode,
+ enum expand_modifier modifier));
#ifdef TREE_CODE
/* Hook called by output_constant for language-specific tree codes.
It is up to the language front-end to install a hook if it has any
such codes that output_constant needs to know about. Returns a
language-independent constant equivalent to its input. */
-extern tree (*lang_expand_constant) PROTO((tree));
+extern tree (*lang_expand_constant) PARAMS ((tree));
#endif
-extern void init_all_optabs PROTO ((void));
-extern void do_jump_by_parts_equality_rtx PROTO((rtx, rtx, rtx));
-extern void do_jump_by_parts_greater_rtx PROTO ((enum machine_mode, int,
- rtx, rtx, rtx, rtx));
+extern void init_all_optabs PARAMS ((void));
+extern void do_jump_by_parts_equality_rtx PARAMS ((rtx, rtx, rtx));
+extern void do_jump_by_parts_greater_rtx PARAMS ((enum machine_mode,
+ int, rtx, rtx, rtx,
+ rtx));
#ifdef TREE_CODE /* Don't lose if tree.h not included. */
-extern void mark_seen_cases PROTO ((tree, unsigned char *,
- long, int));
+extern void mark_seen_cases PARAMS ((tree, unsigned char *,
+ long, int));
#endif
diff --git a/gcc/final.c b/gcc/final.c
index 32039af1404..f94a02f4f10 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -290,27 +290,27 @@ static struct bb_str **sbb_tail = &sbb_head; /* Ptr to store next bb str */
static int sbb_label_num = 0; /* Last label used */
#ifdef HAVE_ATTR_length
-static int asm_insn_count PROTO((rtx));
-#endif
-static void profile_function PROTO((FILE *));
-static void profile_after_prologue PROTO((FILE *));
-static void add_bb PROTO((FILE *));
-static int add_bb_string PROTO((const char *, int));
-static void output_source_line PROTO((FILE *, rtx));
-static rtx walk_alter_subreg PROTO((rtx));
-static void output_asm_name PROTO((void));
-static void output_operand PROTO((rtx, int));
+static int asm_insn_count PARAMS ((rtx));
+#endif
+static void profile_function PARAMS ((FILE *));
+static void profile_after_prologue PARAMS ((FILE *));
+static void add_bb PARAMS ((FILE *));
+static int add_bb_string PARAMS ((const char *, int));
+static void output_source_line PARAMS ((FILE *, rtx));
+static rtx walk_alter_subreg PARAMS ((rtx));
+static void output_asm_name PARAMS ((void));
+static void output_operand PARAMS ((rtx, int));
#ifdef LEAF_REGISTERS
-static void leaf_renumber_regs PROTO((rtx));
+static void leaf_renumber_regs PARAMS ((rtx));
#endif
#ifdef HAVE_cc0
-static int alter_cond PROTO((rtx));
+static int alter_cond PARAMS ((rtx));
#endif
#ifndef ADDR_VEC_ALIGN
-static int final_addr_vec_align PROTO ((rtx));
+static int final_addr_vec_align PARAMS ((rtx));
#endif
#ifdef HAVE_ATTR_length
-static int align_fuzz PROTO ((rtx, rtx, int, unsigned));
+static int align_fuzz PARAMS ((rtx, rtx, int, unsigned));
#endif
/* Initialize data in final at the beginning of a compilation. */
@@ -3726,7 +3726,7 @@ output_addr_const (file, x)
We handle alternate assembler dialects here, just like output_asm_insn. */
void
-asm_fprintf VPROTO((FILE *file, const char *p, ...))
+asm_fprintf VPARAMS ((FILE *file, const char *p, ...))
{
#ifndef ANSI_PROTOTYPES
FILE *file;
diff --git a/gcc/fix-header.c b/gcc/fix-header.c
index a87137d6d2d..b01f65605de 100644
--- a/gcc/fix-header.c
+++ b/gcc/fix-header.c
@@ -1,5 +1,5 @@
/* fix-header.c - Make C header file suitable for C++.
- Copyright (C) 1993, 94-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1993, 94-99, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -77,8 +77,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "cpplib.h"
#include "cpphash.h"
-static void v_fatal PROTO ((const char *, va_list)) ATTRIBUTE_NORETURN;
-static void fatal PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+static void v_fatal PARAMS ((const char *, va_list)) ATTRIBUTE_NORETURN;
+static void fatal PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
sstring buf;
@@ -187,17 +187,17 @@ struct symbol_list {
struct symbol_list symbol_table[SYMBOL_TABLE_SIZE];
int cur_symbol_table_size;
-static void add_symbols PROTO ((symbol_flags, namelist));
-static struct fn_decl *lookup_std_proto PROTO ((const char *, int));
-static void write_lbrac PROTO ((void));
-static void recognized_macro PROTO ((const char *));
-static void check_macro_names PROTO ((cpp_reader *, namelist));
-static void read_scan_file PROTO ((char *, int, char **));
-static void write_rbrac PROTO ((void));
-static int inf_skip_spaces PROTO ((int));
-static int inf_read_upto PROTO ((sstring *, int));
-static int inf_scan_ident PROTO ((sstring *, int));
-static int check_protection PROTO ((int *, int *));
+static void add_symbols PARAMS ((symbol_flags, namelist));
+static struct fn_decl *lookup_std_proto PARAMS ((const char *, int));
+static void write_lbrac PARAMS ((void));
+static void recognized_macro PARAMS ((const char *));
+static void check_macro_names PARAMS ((cpp_reader *, namelist));
+static void read_scan_file PARAMS ((char *, int, char **));
+static void write_rbrac PARAMS ((void));
+static int inf_skip_spaces PARAMS ((int));
+static int inf_read_upto PARAMS ((sstring *, int));
+static int inf_scan_ident PARAMS ((sstring *, int));
+static int check_protection PARAMS ((int *, int *));
static void
add_symbols (flags, names)
@@ -1062,7 +1062,7 @@ check_protection (ifndef_line, endif_line)
return 1;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -1320,7 +1320,7 @@ v_fatal (str, ap)
}
static void
-fatal VPROTO ((const char *str, ...))
+fatal VPARAMS ((const char *str, ...))
{
#ifndef ANSI_PROTOTYPES
const char *str;
diff --git a/gcc/flow.c b/gcc/flow.c
index 33a5c1efba9..0591b007d9d 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -1,5 +1,5 @@
/* Data flow analysis for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -280,92 +280,92 @@ static rtx label_value_list;
static bitmap uid_volatile;
/* Forward declarations */
-static int count_basic_blocks PROTO((rtx));
-static rtx find_basic_blocks_1 PROTO((rtx));
-static void create_basic_block PROTO((int, rtx, rtx, rtx));
-static void clear_edges PROTO((void));
-static void make_edges PROTO((rtx));
-static void make_edge PROTO((sbitmap *, basic_block,
- basic_block, int));
-static void make_label_edge PROTO((sbitmap *, basic_block,
- rtx, int));
-static void make_eh_edge PROTO((sbitmap *, eh_nesting_info *,
- basic_block, rtx, int));
-static void mark_critical_edges PROTO((void));
-static void move_stray_eh_region_notes PROTO((void));
-static void record_active_eh_regions PROTO((rtx));
-
-static void commit_one_edge_insertion PROTO((edge));
-
-static void delete_unreachable_blocks PROTO((void));
-static void delete_eh_regions PROTO((void));
-static int can_delete_note_p PROTO((rtx));
-static int delete_block PROTO((basic_block));
-static void expunge_block PROTO((basic_block));
-static rtx flow_delete_insn PROTO((rtx));
-static int can_delete_label_p PROTO((rtx));
-static int merge_blocks_move_predecessor_nojumps PROTO((basic_block,
+static int count_basic_blocks PARAMS ((rtx));
+static rtx find_basic_blocks_1 PARAMS ((rtx));
+static void create_basic_block PARAMS ((int, rtx, rtx, rtx));
+static void clear_edges PARAMS ((void));
+static void make_edges PARAMS ((rtx));
+static void make_edge PARAMS ((sbitmap *, basic_block,
+ basic_block, int));
+static void make_label_edge PARAMS ((sbitmap *, basic_block,
+ rtx, int));
+static void make_eh_edge PARAMS ((sbitmap *, eh_nesting_info *,
+ basic_block, rtx, int));
+static void mark_critical_edges PARAMS ((void));
+static void move_stray_eh_region_notes PARAMS ((void));
+static void record_active_eh_regions PARAMS ((rtx));
+
+static void commit_one_edge_insertion PARAMS ((edge));
+
+static void delete_unreachable_blocks PARAMS ((void));
+static void delete_eh_regions PARAMS ((void));
+static int can_delete_note_p PARAMS ((rtx));
+static int delete_block PARAMS ((basic_block));
+static void expunge_block PARAMS ((basic_block));
+static rtx flow_delete_insn PARAMS ((rtx));
+static int can_delete_label_p PARAMS ((rtx));
+static int merge_blocks_move_predecessor_nojumps PARAMS ((basic_block,
+ basic_block));
+static int merge_blocks_move_successor_nojumps PARAMS ((basic_block,
basic_block));
-static int merge_blocks_move_successor_nojumps PROTO((basic_block,
- basic_block));
-static void merge_blocks_nomove PROTO((basic_block, basic_block));
-static int merge_blocks PROTO((edge,basic_block,basic_block));
-static void try_merge_blocks PROTO((void));
-static void tidy_fallthru_edge PROTO((edge,basic_block,basic_block));
-
-static int verify_wide_reg_1 PROTO((rtx *, void *));
-static void verify_wide_reg PROTO((int, rtx, rtx));
-static void verify_local_live_at_start PROTO((regset, basic_block));
-static int set_noop_p PROTO((rtx));
-static int noop_move_p PROTO((rtx));
-static void notice_stack_pointer_modification PROTO ((rtx, rtx, void *));
-static void record_volatile_insns PROTO((rtx));
-static void mark_reg PROTO((regset, rtx));
-static void mark_regs_live_at_end PROTO((regset));
-static void life_analysis_1 PROTO((rtx, int, int));
-static void calculate_global_regs_live PROTO((sbitmap, sbitmap, int));
-static void propagate_block PROTO((regset, rtx, rtx,
- regset, int, int));
-static int insn_dead_p PROTO((rtx, regset, int, rtx));
-static int libcall_dead_p PROTO((rtx, regset, rtx, rtx));
-static void mark_set_regs PROTO((regset, regset, rtx,
- rtx, regset, int));
-static void mark_set_1 PROTO((regset, regset, rtx,
- rtx, regset, int));
+static void merge_blocks_nomove PARAMS ((basic_block, basic_block));
+static int merge_blocks PARAMS ((edge,basic_block,basic_block));
+static void try_merge_blocks PARAMS ((void));
+static void tidy_fallthru_edge PARAMS ((edge,basic_block,basic_block));
+
+static int verify_wide_reg_1 PARAMS ((rtx *, void *));
+static void verify_wide_reg PARAMS ((int, rtx, rtx));
+static void verify_local_live_at_start PARAMS ((regset, basic_block));
+static int set_noop_p PARAMS ((rtx));
+static int noop_move_p PARAMS ((rtx));
+static void notice_stack_pointer_modification PARAMS ((rtx, rtx, void *));
+static void record_volatile_insns PARAMS ((rtx));
+static void mark_reg PARAMS ((regset, rtx));
+static void mark_regs_live_at_end PARAMS ((regset));
+static void life_analysis_1 PARAMS ((rtx, int, int));
+static void calculate_global_regs_live PARAMS ((sbitmap, sbitmap, int));
+static void propagate_block PARAMS ((regset, rtx, rtx,
+ regset, int, int));
+static int insn_dead_p PARAMS ((rtx, regset, int, rtx));
+static int libcall_dead_p PARAMS ((rtx, regset, rtx, rtx));
+static void mark_set_regs PARAMS ((regset, regset, rtx,
+ rtx, regset, int));
+static void mark_set_1 PARAMS ((regset, regset, rtx,
+ rtx, regset, int));
#ifdef AUTO_INC_DEC
-static void find_auto_inc PROTO((regset, rtx, rtx));
-static int try_pre_increment_1 PROTO((rtx));
-static int try_pre_increment PROTO((rtx, rtx, HOST_WIDE_INT));
+static void find_auto_inc PARAMS ((regset, rtx, rtx));
+static int try_pre_increment_1 PARAMS ((rtx));
+static int try_pre_increment PARAMS ((rtx, rtx, HOST_WIDE_INT));
#endif
-static void mark_used_regs PROTO((regset, regset, rtx, int, rtx));
-void dump_flow_info PROTO((FILE *));
-void debug_flow_info PROTO((void));
-static void dump_edge_info PROTO((FILE *, edge, int));
-
-static void count_reg_sets_1 PROTO ((rtx));
-static void count_reg_sets PROTO ((rtx));
-static void count_reg_references PROTO ((rtx));
-static void invalidate_mems_from_autoinc PROTO ((rtx));
-static void remove_edge PROTO ((edge));
-static void remove_fake_successors PROTO ((basic_block));
-static void flow_nodes_print PROTO ((const char *, const sbitmap, FILE *));
-static void flow_exits_print PROTO ((const char *, const edge *, int, FILE *));
-static void flow_loops_cfg_dump PROTO ((const struct loops *, FILE *));
-static int flow_loop_nested_p PROTO ((struct loop *, struct loop *));
-static int flow_loop_exits_find PROTO ((const sbitmap, edge **));
-static int flow_loop_nodes_find PROTO ((basic_block, basic_block, sbitmap));
-static int flow_depth_first_order_compute PROTO ((int *));
-static basic_block flow_loop_pre_header_find PROTO ((basic_block, const sbitmap *));
-static void flow_loop_tree_node_add PROTO ((struct loop *, struct loop *));
-static void flow_loops_tree_build PROTO ((struct loops *));
-static int flow_loop_level_compute PROTO ((struct loop *, int));
-static int flow_loops_level_compute PROTO ((struct loops *));
+static void mark_used_regs PARAMS ((regset, regset, rtx, int, rtx));
+void dump_flow_info PARAMS ((FILE *));
+void debug_flow_info PARAMS ((void));
+static void dump_edge_info PARAMS ((FILE *, edge, int));
+
+static void count_reg_sets_1 PARAMS ((rtx));
+static void count_reg_sets PARAMS ((rtx));
+static void count_reg_references PARAMS ((rtx));
+static void invalidate_mems_from_autoinc PARAMS ((rtx));
+static void remove_edge PARAMS ((edge));
+static void remove_fake_successors PARAMS ((basic_block));
+static void flow_nodes_print PARAMS ((const char *, const sbitmap, FILE *));
+static void flow_exits_print PARAMS ((const char *, const edge *, int, FILE *));
+static void flow_loops_cfg_dump PARAMS ((const struct loops *, FILE *));
+static int flow_loop_nested_p PARAMS ((struct loop *, struct loop *));
+static int flow_loop_exits_find PARAMS ((const sbitmap, edge **));
+static int flow_loop_nodes_find PARAMS ((basic_block, basic_block, sbitmap));
+static int flow_depth_first_order_compute PARAMS ((int *));
+static basic_block flow_loop_pre_header_find PARAMS ((basic_block, const sbitmap *));
+static void flow_loop_tree_node_add PARAMS ((struct loop *, struct loop *));
+static void flow_loops_tree_build PARAMS ((struct loops *));
+static int flow_loop_level_compute PARAMS ((struct loop *, int));
+static int flow_loops_level_compute PARAMS ((struct loops *));
/* This function is always defined so it can be called from the
debugger, and it is declared extern so we don't get warnings about
it being unused. */
-void verify_flow_info PROTO ((void));
-int flow_loop_outside_edge_p PROTO ((const struct loop *, edge));
+void verify_flow_info PARAMS ((void));
+int flow_loop_outside_edge_p PARAMS ((const struct loop *, edge));
/* Find basic blocks of the current function.
F is the first insn of the function and NREGS the number of register
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 6268e3cc5e9..d3efe90928e 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1,5 +1,5 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987, 88, 92-98, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -52,56 +52,56 @@ Boston, MA 02111-1307, USA. */
#include "toplev.h"
#include "ggc.h"
-static void encode PROTO((HOST_WIDE_INT *,
- HOST_WIDE_INT, HOST_WIDE_INT));
-static void decode PROTO((HOST_WIDE_INT *,
- HOST_WIDE_INT *, HOST_WIDE_INT *));
-int div_and_round_double PROTO((enum tree_code, int, HOST_WIDE_INT,
- HOST_WIDE_INT, HOST_WIDE_INT,
- HOST_WIDE_INT, HOST_WIDE_INT *,
- HOST_WIDE_INT *, HOST_WIDE_INT *,
- HOST_WIDE_INT *));
-static tree negate_expr PROTO((tree));
-static tree split_tree PROTO((tree, enum tree_code, tree *, tree *,
- int));
-static tree associate_trees PROTO((tree, tree, enum tree_code, tree));
-static tree int_const_binop PROTO((enum tree_code, tree, tree, int, int));
-static void const_binop_1 PROTO((PTR));
-static tree const_binop PROTO((enum tree_code, tree, tree, int));
-static void fold_convert_1 PROTO((PTR));
-static tree fold_convert PROTO((tree, tree));
-static enum tree_code invert_tree_comparison PROTO((enum tree_code));
-static enum tree_code swap_tree_comparison PROTO((enum tree_code));
-static int truth_value_p PROTO((enum tree_code));
-static int operand_equal_for_comparison_p PROTO((tree, tree, tree));
-static int twoval_comparison_p PROTO((tree, tree *, tree *, int *));
-static tree eval_subst PROTO((tree, tree, tree, tree, tree));
-static tree omit_one_operand PROTO((tree, tree, tree));
-static tree pedantic_omit_one_operand PROTO((tree, tree, tree));
-static tree distribute_bit_expr PROTO((enum tree_code, tree, tree, tree));
-static tree make_bit_field_ref PROTO((tree, tree, int, int, int));
-static tree optimize_bit_field_compare PROTO((enum tree_code, tree,
- tree, tree));
-static tree decode_field_reference PROTO((tree, int *, int *,
- enum machine_mode *, int *,
- int *, tree *, tree *));
-static int all_ones_mask_p PROTO((tree, int));
-static int simple_operand_p PROTO((tree));
-static tree range_binop PROTO((enum tree_code, tree, tree, int,
- tree, int));
-static tree make_range PROTO((tree, int *, tree *, tree *));
-static tree build_range_check PROTO((tree, tree, int, tree, tree));
-static int merge_ranges PROTO((int *, tree *, tree *, int, tree, tree,
+static void encode PARAMS ((HOST_WIDE_INT *,
+ HOST_WIDE_INT, HOST_WIDE_INT));
+static void decode PARAMS ((HOST_WIDE_INT *,
+ HOST_WIDE_INT *, HOST_WIDE_INT *));
+int div_and_round_double PARAMS ((enum tree_code, int, HOST_WIDE_INT,
+ HOST_WIDE_INT, HOST_WIDE_INT,
+ HOST_WIDE_INT, HOST_WIDE_INT *,
+ HOST_WIDE_INT *, HOST_WIDE_INT *,
+ HOST_WIDE_INT *));
+static tree negate_expr PARAMS ((tree));
+static tree split_tree PARAMS ((tree, enum tree_code, tree *, tree *,
+ int));
+static tree associate_trees PARAMS ((tree, tree, enum tree_code, tree));
+static tree int_const_binop PARAMS ((enum tree_code, tree, tree, int, int));
+static void const_binop_1 PARAMS ((PTR));
+static tree const_binop PARAMS ((enum tree_code, tree, tree, int));
+static void fold_convert_1 PARAMS ((PTR));
+static tree fold_convert PARAMS ((tree, tree));
+static enum tree_code invert_tree_comparison PARAMS ((enum tree_code));
+static enum tree_code swap_tree_comparison PARAMS ((enum tree_code));
+static int truth_value_p PARAMS ((enum tree_code));
+static int operand_equal_for_comparison_p PARAMS ((tree, tree, tree));
+static int twoval_comparison_p PARAMS ((tree, tree *, tree *, int *));
+static tree eval_subst PARAMS ((tree, tree, tree, tree, tree));
+static tree omit_one_operand PARAMS ((tree, tree, tree));
+static tree pedantic_omit_one_operand PARAMS ((tree, tree, tree));
+static tree distribute_bit_expr PARAMS ((enum tree_code, tree, tree, tree));
+static tree make_bit_field_ref PARAMS ((tree, tree, int, int, int));
+static tree optimize_bit_field_compare PARAMS ((enum tree_code, tree,
+ tree, tree));
+static tree decode_field_reference PARAMS ((tree, int *, int *,
+ enum machine_mode *, int *,
+ int *, tree *, tree *));
+static int all_ones_mask_p PARAMS ((tree, int));
+static int simple_operand_p PARAMS ((tree));
+static tree range_binop PARAMS ((enum tree_code, tree, tree, int,
+ tree, int));
+static tree make_range PARAMS ((tree, int *, tree *, tree *));
+static tree build_range_check PARAMS ((tree, tree, int, tree, tree));
+static int merge_ranges PARAMS ((int *, tree *, tree *, int, tree, tree,
int, tree, tree));
-static tree fold_range_test PROTO((tree));
-static tree unextend PROTO((tree, int, int, tree));
-static tree fold_truthop PROTO((enum tree_code, tree, tree, tree));
-static tree optimize_minmax_comparison PROTO((tree));
-static tree extract_muldiv PROTO((tree, tree, enum tree_code, tree));
-static tree strip_compound_expr PROTO((tree, tree));
-static int multiple_of_p PROTO((tree, tree, tree));
-static tree constant_boolean_node PROTO((int, tree));
-static int count_cond PROTO((tree, int));
+static tree fold_range_test PARAMS ((tree));
+static tree unextend PARAMS ((tree, int, int, tree));
+static tree fold_truthop PARAMS ((enum tree_code, tree, tree, tree));
+static tree optimize_minmax_comparison PARAMS ((tree));
+static tree extract_muldiv PARAMS ((tree, tree, enum tree_code, tree));
+static tree strip_compound_expr PARAMS ((tree, tree));
+static int multiple_of_p PARAMS ((tree, tree, tree));
+static tree constant_boolean_node PARAMS ((int, tree));
+static int count_cond PARAMS ((tree, int));
#ifndef BRANCH_COST
#define BRANCH_COST 1
diff --git a/gcc/function.c b/gcc/function.c
index 6f631c209a9..fffeb73e50f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -123,18 +123,18 @@ static int virtuals_instantiated;
/* These variables hold pointers to functions to
save and restore machine-specific data,
in push_function_context and pop_function_context. */
-void (*init_machine_status) PROTO((struct function *));
-void (*save_machine_status) PROTO((struct function *));
-void (*restore_machine_status) PROTO((struct function *));
-void (*mark_machine_status) PROTO((struct function *));
-void (*free_machine_status) PROTO((struct function *));
+void (*init_machine_status) PARAMS ((struct function *));
+void (*save_machine_status) PARAMS ((struct function *));
+void (*restore_machine_status) PARAMS ((struct function *));
+void (*mark_machine_status) PARAMS ((struct function *));
+void (*free_machine_status) PARAMS ((struct function *));
/* Likewise, but for language-specific data. */
-void (*init_lang_status) PROTO((struct function *));
-void (*save_lang_status) PROTO((struct function *));
-void (*restore_lang_status) PROTO((struct function *));
-void (*mark_lang_status) PROTO((struct function *));
-void (*free_lang_status) PROTO((struct function *));
+void (*init_lang_status) PARAMS ((struct function *));
+void (*save_lang_status) PARAMS ((struct function *));
+void (*restore_lang_status) PARAMS ((struct function *));
+void (*mark_lang_status) PARAMS ((struct function *));
+void (*free_lang_status) PARAMS ((struct function *));
/* The FUNCTION_DECL for an inline function currently being expanded. */
tree inline_function_decl;
@@ -230,62 +230,62 @@ struct insns_for_mem_entry {
/* Forward declarations. */
-static rtx assign_stack_local_1 PROTO ((enum machine_mode, HOST_WIDE_INT,
- int, struct function *));
-static rtx assign_stack_temp_for_type PROTO ((enum machine_mode, HOST_WIDE_INT,
- int, tree));
-static struct temp_slot *find_temp_slot_from_address PROTO((rtx));
-static void put_reg_into_stack PROTO((struct function *, rtx, tree,
- enum machine_mode, enum machine_mode,
- int, int, int,
- struct hash_table *));
-static void fixup_var_refs PROTO((rtx, enum machine_mode, int,
- struct hash_table *));
+static rtx assign_stack_local_1 PARAMS ((enum machine_mode, HOST_WIDE_INT,
+ int, struct function *));
+static rtx assign_stack_temp_for_type PARAMS ((enum machine_mode,
+ HOST_WIDE_INT, int, tree));
+static struct temp_slot *find_temp_slot_from_address PARAMS ((rtx));
+static void put_reg_into_stack PARAMS ((struct function *, rtx, tree,
+ enum machine_mode, enum machine_mode,
+ int, int, int, struct hash_table *));
+static void fixup_var_refs PARAMS ((rtx, enum machine_mode, int,
+ struct hash_table *));
static struct fixup_replacement
- *find_fixup_replacement PROTO((struct fixup_replacement **, rtx));
-static void fixup_var_refs_insns PROTO((rtx, enum machine_mode, int,
- rtx, int, struct hash_table *));
-static void fixup_var_refs_1 PROTO((rtx, enum machine_mode, rtx *, rtx,
- struct fixup_replacement **));
-static rtx fixup_memory_subreg PROTO((rtx, rtx, int));
-static rtx walk_fixup_memory_subreg PROTO((rtx, rtx, int));
-static rtx fixup_stack_1 PROTO((rtx, rtx));
-static void optimize_bit_field PROTO((rtx, rtx, rtx *));
-static void instantiate_decls PROTO((tree, int));
-static void instantiate_decls_1 PROTO((tree, int));
-static void instantiate_decl PROTO((rtx, int, int));
-static int instantiate_virtual_regs_1 PROTO((rtx *, rtx, int));
-static void delete_handlers PROTO((void));
-static void pad_to_arg_alignment PROTO((struct args_size *, int, struct args_size *));
+ *find_fixup_replacement PARAMS ((struct fixup_replacement **, rtx));
+static void fixup_var_refs_insns PARAMS ((rtx, enum machine_mode, int,
+ rtx, int, struct hash_table *));
+static void fixup_var_refs_1 PARAMS ((rtx, enum machine_mode, rtx *, rtx,
+ struct fixup_replacement **));
+static rtx fixup_memory_subreg PARAMS ((rtx, rtx, int));
+static rtx walk_fixup_memory_subreg PARAMS ((rtx, rtx, int));
+static rtx fixup_stack_1 PARAMS ((rtx, rtx));
+static void optimize_bit_field PARAMS ((rtx, rtx, rtx *));
+static void instantiate_decls PARAMS ((tree, int));
+static void instantiate_decls_1 PARAMS ((tree, int));
+static void instantiate_decl PARAMS ((rtx, int, int));
+static int instantiate_virtual_regs_1 PARAMS ((rtx *, rtx, int));
+static void delete_handlers PARAMS ((void));
+static void pad_to_arg_alignment PARAMS ((struct args_size *, int,
+ struct args_size *));
#ifndef ARGS_GROW_DOWNWARD
-static void pad_below PROTO((struct args_size *, enum machine_mode,
- tree));
+static void pad_below PARAMS ((struct args_size *, enum machine_mode,
+ tree));
#endif
#ifdef ARGS_GROW_DOWNWARD
-static tree round_down PROTO((tree, int));
+static tree round_down PARAMS ((tree, int));
#endif
-static rtx round_trampoline_addr PROTO((rtx));
-static tree blocks_nreverse PROTO((tree));
-static int all_blocks PROTO((tree, tree *));
+static rtx round_trampoline_addr PARAMS ((rtx));
+static tree blocks_nreverse PARAMS ((tree));
+static int all_blocks PARAMS ((tree, tree *));
/* We always define `record_insns' even if its not used so that we
can always export `prologue_epilogue_contains'. */
-static int *record_insns PROTO((rtx)) ATTRIBUTE_UNUSED;
-static int contains PROTO((rtx, int *));
-static void put_addressof_into_stack PROTO((rtx, struct hash_table *));
-static boolean purge_addressof_1 PROTO((rtx *, rtx, int, int,
- struct hash_table *));
-static int is_addressof PROTO ((rtx *, void *));
-static struct hash_entry *insns_for_mem_newfunc PROTO((struct hash_entry *,
- struct hash_table *,
- hash_table_key));
-static unsigned long insns_for_mem_hash PROTO ((hash_table_key));
-static boolean insns_for_mem_comp PROTO ((hash_table_key, hash_table_key));
-static int insns_for_mem_walk PROTO ((rtx *, void *));
-static void compute_insns_for_mem PROTO ((rtx, rtx, struct hash_table *));
-static void mark_temp_slot PROTO ((struct temp_slot *));
-static void mark_function_status PROTO ((struct function *));
-static void mark_function_chain PROTO ((void *));
-static void prepare_function_start PROTO ((void));
+static int *record_insns PARAMS ((rtx)) ATTRIBUTE_UNUSED;
+static int contains PARAMS ((rtx, int *));
+static void put_addressof_into_stack PARAMS ((rtx, struct hash_table *));
+static boolean purge_addressof_1 PARAMS ((rtx *, rtx, int, int,
+ struct hash_table *));
+static int is_addressof PARAMS ((rtx *, void *));
+static struct hash_entry *insns_for_mem_newfunc PARAMS ((struct hash_entry *,
+ struct hash_table *,
+ hash_table_key));
+static unsigned long insns_for_mem_hash PARAMS ((hash_table_key));
+static boolean insns_for_mem_comp PARAMS ((hash_table_key, hash_table_key));
+static int insns_for_mem_walk PARAMS ((rtx *, void *));
+static void compute_insns_for_mem PARAMS ((rtx, rtx, struct hash_table *));
+static void mark_temp_slot PARAMS ((struct temp_slot *));
+static void mark_function_status PARAMS ((struct function *));
+static void mark_function_chain PARAMS ((void *));
+static void prepare_function_start PARAMS ((void));
/* Pointer to chain of `struct function' for containing functions. */
diff --git a/gcc/function.h b/gcc/function.h
index e252f7550fe..35d26bdf0d0 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -1,5 +1,5 @@
/* Structure for saving state for a nested function.
- Copyright (C) 1989, 92-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -535,7 +535,7 @@ extern tree inline_function_decl;
/* Given a function decl for a containing function,
return the `struct function' for it. */
-struct function *find_function_data PROTO((tree));
+struct function *find_function_data PARAMS ((tree));
/* Pointer to chain of `struct function' for containing functions. */
extern struct function *outer_function_chain;
@@ -543,55 +543,55 @@ extern struct function *outer_function_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. */
-extern void identify_blocks PROTO((tree, rtx));
+extern void identify_blocks PARAMS ((tree, rtx));
/* Return size needed for stack frame based on slots so far allocated.
This size counts from zero. It is not rounded to STACK_BOUNDARY;
the caller may have to do that. */
-extern HOST_WIDE_INT get_frame_size PROTO((void));
+extern HOST_WIDE_INT get_frame_size PARAMS ((void));
/* Likewise, but for a different than the current function. */
-extern HOST_WIDE_INT get_func_frame_size PROTO((struct function *));
+extern HOST_WIDE_INT get_func_frame_size PARAMS ((struct function *));
/* These variables hold pointers to functions to
save and restore machine-specific data,
in push_function_context and pop_function_context. */
-extern void (*init_machine_status) PROTO((struct function *));
-extern void (*mark_machine_status) PROTO((struct function *));
-extern void (*save_machine_status) PROTO((struct function *));
-extern void (*restore_machine_status) PROTO((struct function *));
-extern void (*free_machine_status) PROTO((struct function *));
+extern void (*init_machine_status) PARAMS ((struct function *));
+extern void (*mark_machine_status) PARAMS ((struct function *));
+extern void (*save_machine_status) PARAMS ((struct function *));
+extern void (*restore_machine_status) PARAMS ((struct function *));
+extern void (*free_machine_status) PARAMS ((struct function *));
/* Likewise, but for language-specific data. */
-extern void (*init_lang_status) PROTO((struct function *));
-extern void (*mark_lang_status) PROTO((struct function *));
-extern void (*save_lang_status) PROTO((struct function *));
-extern void (*restore_lang_status) PROTO((struct function *));
-extern void (*free_lang_status) PROTO((struct function *));
+extern void (*init_lang_status) PARAMS ((struct function *));
+extern void (*mark_lang_status) PARAMS ((struct function *));
+extern void (*save_lang_status) PARAMS ((struct function *));
+extern void (*restore_lang_status) PARAMS ((struct function *));
+extern void (*free_lang_status) PARAMS ((struct function *));
/* Save and restore status information for a nested function. */
-extern void save_tree_status PROTO((struct function *));
-extern void restore_tree_status PROTO((struct function *));
-extern void restore_emit_status PROTO((struct function *));
-extern void free_after_parsing PROTO((struct function *));
-extern void free_after_compilation PROTO((struct function *));
+extern void save_tree_status PARAMS ((struct function *));
+extern void restore_tree_status PARAMS ((struct function *));
+extern void restore_emit_status PARAMS ((struct function *));
+extern void free_after_parsing PARAMS ((struct function *));
+extern void free_after_compilation PARAMS ((struct function *));
-extern void init_varasm_status PROTO((struct function *));
-extern void free_varasm_status PROTO((struct function *));
-extern void free_emit_status PROTO((struct function *));
-extern void free_stmt_status PROTO((struct function *));
-extern void free_eh_status PROTO((struct function *));
-extern void free_expr_status PROTO((struct function *));
+extern void init_varasm_status PARAMS ((struct function *));
+extern void free_varasm_status PARAMS ((struct function *));
+extern void free_emit_status PARAMS ((struct function *));
+extern void free_stmt_status PARAMS ((struct function *));
+extern void free_eh_status PARAMS ((struct function *));
+extern void free_expr_status PARAMS ((struct function *));
-extern rtx get_first_block_beg PROTO((void));
+extern rtx get_first_block_beg PARAMS ((void));
#ifdef RTX_CODE
-extern void diddle_return_value PROTO((enum rtx_code));
+extern void diddle_return_value PARAMS ((enum rtx_code));
#endif
-extern void init_virtual_regs PROTO((struct emit_status *));
+extern void init_virtual_regs PARAMS ((struct emit_status *));
/* Called once, at initialization, to initialize function.c. */
-extern void init_function_once PROTO((void));
+extern void init_function_once PARAMS ((void));
#ifdef rtx
#undef rtx
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 8f81369d178..7c77d4620c1 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -48,7 +48,7 @@ compilation is specified by a string called a "spec". */
#include <sys/resource.h>
#endif
#ifdef NEED_DECLARATION_GETRUSAGE
-extern int getrusage PROTO ((int, struct rusage *));
+extern int getrusage PARAMS ((int, struct rusage *));
#endif
/* By default there is no special suffix for executables. */
@@ -194,58 +194,58 @@ extern char *version_string;
/* Forward declaration for prototypes. */
struct path_prefix;
-static void init_spec PROTO((void));
+static void init_spec PARAMS ((void));
#ifndef VMS
-static char **split_directories PROTO((const char *, int *));
-static void free_split_directories PROTO((char **));
-static char *make_relative_prefix PROTO((const char *, const char *, const char *));
+static char **split_directories PARAMS ((const char *, int *));
+static void free_split_directories PARAMS ((char **));
+static char *make_relative_prefix PARAMS ((const char *, const char *, const char *));
#endif /* VMS */
-static void read_specs PROTO((const char *, int));
-static void set_spec PROTO((const char *, const char *));
-static struct compiler *lookup_compiler PROTO((const char *, size_t, const char *));
-static char *build_search_list PROTO((struct path_prefix *, const char *, int));
-static void putenv_from_prefixes PROTO((struct path_prefix *, const char *));
-static int access_check PROTO((const char *, int));
-static char *find_a_file PROTO((struct path_prefix *, const char *, int));
-static void add_prefix PROTO((struct path_prefix *, const char *,
- const char *, int, int, int *));
-static char *skip_whitespace PROTO((char *));
-static void record_temp_file PROTO((const char *, int, int));
-static void delete_if_ordinary PROTO((const char *));
-static void delete_temp_files PROTO((void));
-static void delete_failure_queue PROTO((void));
-static void clear_failure_queue PROTO((void));
-static int check_live_switch PROTO((int, int));
-static const char *handle_braces PROTO((const char *));
-static char *save_string PROTO((const char *, int));
-static int do_spec_1 PROTO((const char *, int, const char *));
-static const char *find_file PROTO((const char *));
-static int is_directory PROTO((const char *, const char *, int));
-static void validate_switches PROTO((const char *));
-static void validate_all_switches PROTO((void));
-static void give_switch PROTO((int, int, int));
-static int used_arg PROTO((const char *, int));
-static int default_arg PROTO((const char *, int));
-static void set_multilib_dir PROTO((void));
-static void print_multilib_info PROTO((void));
-static void pfatal_with_name PROTO((const char *)) ATTRIBUTE_NORETURN;
-static void perror_with_name PROTO((const char *));
-static void pfatal_pexecute PROTO((const char *, const char *))
+static void read_specs PARAMS ((const char *, int));
+static void set_spec PARAMS ((const char *, const char *));
+static struct compiler *lookup_compiler PARAMS ((const char *, size_t, const char *));
+static char *build_search_list PARAMS ((struct path_prefix *, const char *, int));
+static void putenv_from_prefixes PARAMS ((struct path_prefix *, const char *));
+static int access_check PARAMS ((const char *, int));
+static char *find_a_file PARAMS ((struct path_prefix *, const char *, int));
+static void add_prefix PARAMS ((struct path_prefix *, const char *,
+ const char *, int, int, int *));
+static char *skip_whitespace PARAMS ((char *));
+static void record_temp_file PARAMS ((const char *, int, int));
+static void delete_if_ordinary PARAMS ((const char *));
+static void delete_temp_files PARAMS ((void));
+static void delete_failure_queue PARAMS ((void));
+static void clear_failure_queue PARAMS ((void));
+static int check_live_switch PARAMS ((int, int));
+static const char *handle_braces PARAMS ((const char *));
+static char *save_string PARAMS ((const char *, int));
+static int do_spec_1 PARAMS ((const char *, int, const char *));
+static const char *find_file PARAMS ((const char *));
+static int is_directory PARAMS ((const char *, const char *, int));
+static void validate_switches PARAMS ((const char *));
+static void validate_all_switches PARAMS ((void));
+static void give_switch PARAMS ((int, int, int));
+static int used_arg PARAMS ((const char *, int));
+static int default_arg PARAMS ((const char *, int));
+static void set_multilib_dir PARAMS ((void));
+static void print_multilib_info PARAMS ((void));
+static void pfatal_with_name PARAMS ((const char *)) ATTRIBUTE_NORETURN;
+static void perror_with_name PARAMS ((const char *));
+static void pfatal_pexecute PARAMS ((const char *, const char *))
ATTRIBUTE_NORETURN;
-static void error PVPROTO((const char *, ...))
+static void error PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-static void notice PVPROTO((const char *, ...))
+static void notice PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-static void display_help PROTO((void));
-static void add_preprocessor_option PROTO ((const char *, int));
-static void add_assembler_option PROTO ((const char *, int));
-static void add_linker_option PROTO ((const char *, int));
-static void process_command PROTO ((int, char **));
-static int execute PROTO ((void));
-static void unused_prefix_warnings PROTO ((struct path_prefix *));
-static void clear_args PROTO ((void));
-static void fatal_error PROTO ((int));
-static void set_input PROTO ((const char *));
+static void display_help PARAMS ((void));
+static void add_preprocessor_option PARAMS ((const char *, int));
+static void add_assembler_option PARAMS ((const char *, int));
+static void add_linker_option PARAMS ((const char *, int));
+static void process_command PARAMS ((int, char **));
+static int execute PARAMS ((void));
+static void unused_prefix_warnings PARAMS ((struct path_prefix *));
+static void clear_args PARAMS ((void));
+static void fatal_error PARAMS ((int));
+static void set_input PARAMS ((const char *));
/* Specs are strings containing lines, each of which (if not blank)
is made up of a program name, and arguments separated by spaces.
@@ -4988,7 +4988,7 @@ fatal_error (signum)
kill (getpid (), signum);
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -5635,7 +5635,7 @@ fancy_abort ()
/* Output an error message and exit */
void
-fatal VPROTO((const char *msgid, ...))
+fatal VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
@@ -5657,7 +5657,7 @@ fatal VPROTO((const char *msgid, ...))
}
static void
-error VPROTO((const char *msgid, ...))
+error VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
@@ -5678,7 +5678,7 @@ error VPROTO((const char *msgid, ...))
}
static void
-notice VPROTO((const char *msgid, ...))
+notice VPARAMS ((const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
const char *msgid;
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index d2605fe2533..cac495897ff 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -1,5 +1,5 @@
/* Machine-independent I/O routines for gcov.
- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
This file is part of GNU CC.
@@ -24,10 +24,10 @@ Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <sys/types.h>
-static int __fetch_long PROTO ((long *, char *, size_t));
-static int __store_long PROTO ((long, char *, size_t));
-static int __read_long PROTO ((long *, FILE *, size_t));
-static int __write_long PROTO ((long, FILE *, size_t));
+static int __fetch_long PARAMS ((long *, char *, size_t));
+static int __store_long PARAMS ((long, char *, size_t));
+static int __read_long PARAMS ((long *, FILE *, size_t));
+static int __write_long PARAMS ((long, FILE *, size_t));
/* These routines only work for signed values. */
diff --git a/gcc/gcov.c b/gcc/gcov.c
index 5dbd4a468ea..974c708d070 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -1,6 +1,6 @@
/* Gcov.c: prepend line execution counts and branch probabilities to a
source file.
- Copyright (C) 1990, 91-94, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1990, 91-94, 96-99, 2000 Free Software Foundation, Inc.
Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support.
@@ -220,21 +220,21 @@ static char *object_directory = 0;
static int output_branch_counts = 0;
/* Forward declarations. */
-static void process_args PROTO ((int, char **));
-static void open_files PROTO ((void));
-static void read_files PROTO ((void));
-static void scan_for_source_files PROTO ((void));
-static void output_data PROTO ((void));
-static void print_usage PROTO ((void)) ATTRIBUTE_NORETURN;
-static void init_arc PROTO ((struct adj_list *, int, int, struct bb_info *));
-static struct adj_list *reverse_arcs PROTO ((struct adj_list *));
-static void create_program_flow_graph PROTO ((struct bb_info_list *));
-static void solve_program_flow_graph PROTO ((struct bb_info_list *));
-static void calculate_branch_probs PROTO ((struct bb_info_list *, int,
- struct arcdata **, int));
-static void function_summary PROTO ((void));
-
-extern int main PROTO ((int, char **));
+static void process_args PARAMS ((int, char **));
+static void open_files PARAMS ((void));
+static void read_files PARAMS ((void));
+static void scan_for_source_files PARAMS ((void));
+static void output_data PARAMS ((void));
+static void print_usage PARAMS ((void)) ATTRIBUTE_NORETURN;
+static void init_arc PARAMS ((struct adj_list *, int, int, struct bb_info *));
+static struct adj_list *reverse_arcs PARAMS ((struct adj_list *));
+static void create_program_flow_graph PARAMS ((struct bb_info_list *));
+static void solve_program_flow_graph PARAMS ((struct bb_info_list *));
+static void calculate_branch_probs PARAMS ((struct bb_info_list *, int,
+ struct arcdata **, int));
+static void function_summary PARAMS ((void));
+
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
@@ -260,9 +260,9 @@ main (argc, argv)
return 0;
}
-static void fnotice PVPROTO ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2;
+static void fnotice PARAMS ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2;
static void
-fnotice VPROTO ((FILE *file, const char *msgid, ...))
+fnotice VPARAMS ((FILE *file, const char *msgid, ...))
{
#ifndef ANSI_PROTOTYPES
FILE *file;
@@ -283,7 +283,7 @@ fnotice VPROTO ((FILE *file, const char *msgid, ...))
/* More 'friendly' abort that prints the line and file.
config.h can #define abort fancy_abort if you like that sort of thing. */
-extern void fancy_abort PROTO ((void)) ATTRIBUTE_NORETURN;
+extern void fancy_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
void
fancy_abort ()
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 4de6083649b..a421d5442e2 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -523,123 +523,124 @@ struct null_pointer_info {
sbitmap *nonnull_killed;
};
-static void compute_can_copy PROTO ((void));
-
-static char *gmalloc PROTO ((unsigned int));
-static char *grealloc PROTO ((char *, unsigned int));
-static char *gcse_alloc PROTO ((unsigned long));
-static void alloc_gcse_mem PROTO ((rtx));
-static void free_gcse_mem PROTO ((void));
-static void alloc_reg_set_mem PROTO ((int));
-static void free_reg_set_mem PROTO ((void));
-static int get_bitmap_width PROTO ((int, int, int));
-static void record_one_set PROTO ((int, rtx));
-static void record_set_info PROTO ((rtx, rtx, void *));
-static void compute_sets PROTO ((rtx));
-
-static void hash_scan_insn PROTO ((rtx, int, int));
-static void hash_scan_set PROTO ((rtx, rtx, int));
-static void hash_scan_clobber PROTO ((rtx, rtx));
-static void hash_scan_call PROTO ((rtx, rtx));
-static int want_to_gcse_p PROTO ((rtx));
-static int oprs_unchanged_p PROTO ((rtx, rtx, int));
-static int oprs_anticipatable_p PROTO ((rtx, rtx));
-static int oprs_available_p PROTO ((rtx, rtx));
-static void insert_expr_in_table PROTO ((rtx, enum machine_mode,
+static void compute_can_copy PARAMS ((void));
+
+static char *gmalloc PARAMS ((unsigned int));
+static char *grealloc PARAMS ((char *, unsigned int));
+static char *gcse_alloc PARAMS ((unsigned long));
+static void alloc_gcse_mem PARAMS ((rtx));
+static void free_gcse_mem PARAMS ((void));
+static void alloc_reg_set_mem PARAMS ((int));
+static void free_reg_set_mem PARAMS ((void));
+static int get_bitmap_width PARAMS ((int, int, int));
+static void record_one_set PARAMS ((int, rtx));
+static void record_set_info PARAMS ((rtx, rtx, void *));
+static void compute_sets PARAMS ((rtx));
+
+static void hash_scan_insn PARAMS ((rtx, int, int));
+static void hash_scan_set PARAMS ((rtx, rtx, int));
+static void hash_scan_clobber PARAMS ((rtx, rtx));
+static void hash_scan_call PARAMS ((rtx, rtx));
+static int want_to_gcse_p PARAMS ((rtx));
+static int oprs_unchanged_p PARAMS ((rtx, rtx, int));
+static int oprs_anticipatable_p PARAMS ((rtx, rtx));
+static int oprs_available_p PARAMS ((rtx, rtx));
+static void insert_expr_in_table PARAMS ((rtx, enum machine_mode,
rtx, int, int));
-static void insert_set_in_table PROTO ((rtx, rtx));
-static unsigned int hash_expr PROTO ((rtx, enum machine_mode,
- int *, int));
-static unsigned int hash_expr_1 PROTO ((rtx, enum machine_mode, int *));
-static unsigned int hash_set PROTO ((int, int));
-static int expr_equiv_p PROTO ((rtx, rtx));
-static void record_last_reg_set_info PROTO ((rtx, int));
-static void record_last_mem_set_info PROTO ((rtx));
-static void record_last_set_info PROTO ((rtx, rtx, void *));
-static void compute_hash_table PROTO ((int));
-static void alloc_set_hash_table PROTO ((int));
-static void free_set_hash_table PROTO ((void));
-static void compute_set_hash_table PROTO ((void));
-static void alloc_expr_hash_table PROTO ((int));
-static void free_expr_hash_table PROTO ((void));
-static void compute_expr_hash_table PROTO ((void));
-static void dump_hash_table PROTO ((FILE *, const char *, struct expr **,
- int, int));
-static struct expr *lookup_expr PROTO ((rtx));
-static struct expr *lookup_set PROTO ((int, rtx));
-static struct expr *next_set PROTO ((int, struct expr *));
-static void reset_opr_set_tables PROTO ((void));
-static int oprs_not_set_p PROTO ((rtx, rtx));
-static void mark_call PROTO ((rtx));
-static void mark_set PROTO ((rtx, rtx));
-static void mark_clobber PROTO ((rtx, rtx));
-static void mark_oprs_set PROTO ((rtx));
-
-static void alloc_cprop_mem PROTO ((int, int));
-static void free_cprop_mem PROTO ((void));
-static void compute_transp PROTO ((rtx, int, sbitmap *, int));
-static void compute_transpout PROTO ((void));
-static void compute_local_properties PROTO ((sbitmap *, sbitmap *,
- sbitmap *, int));
-static void compute_cprop_data PROTO ((void));
-static void find_used_regs PROTO ((rtx));
-static int try_replace_reg PROTO ((rtx, rtx, rtx));
-static struct expr *find_avail_set PROTO ((int, rtx));
-static int cprop_jump PROTO((rtx, rtx, struct reg_use *, rtx));
+static void insert_set_in_table PARAMS ((rtx, rtx));
+static unsigned int hash_expr PARAMS ((rtx, enum machine_mode,
+ int *, int));
+static unsigned int hash_expr_1 PARAMS ((rtx, enum machine_mode, int *));
+static unsigned int hash_set PARAMS ((int, int));
+static int expr_equiv_p PARAMS ((rtx, rtx));
+static void record_last_reg_set_info PARAMS ((rtx, int));
+static void record_last_mem_set_info PARAMS ((rtx));
+static void record_last_set_info PARAMS ((rtx, rtx, void *));
+static void compute_hash_table PARAMS ((int));
+static void alloc_set_hash_table PARAMS ((int));
+static void free_set_hash_table PARAMS ((void));
+static void compute_set_hash_table PARAMS ((void));
+static void alloc_expr_hash_table PARAMS ((int));
+static void free_expr_hash_table PARAMS ((void));
+static void compute_expr_hash_table PARAMS ((void));
+static void dump_hash_table PARAMS ((FILE *, const char *,
+ struct expr **, int, int));
+static struct expr *lookup_expr PARAMS ((rtx));
+static struct expr *lookup_set PARAMS ((int, rtx));
+static struct expr *next_set PARAMS ((int, struct expr *));
+static void reset_opr_set_tables PARAMS ((void));
+static int oprs_not_set_p PARAMS ((rtx, rtx));
+static void mark_call PARAMS ((rtx));
+static void mark_set PARAMS ((rtx, rtx));
+static void mark_clobber PARAMS ((rtx, rtx));
+static void mark_oprs_set PARAMS ((rtx));
+
+static void alloc_cprop_mem PARAMS ((int, int));
+static void free_cprop_mem PARAMS ((void));
+static void compute_transp PARAMS ((rtx, int, sbitmap *, int));
+static void compute_transpout PARAMS ((void));
+static void compute_local_properties PARAMS ((sbitmap *, sbitmap *,
+ sbitmap *, int));
+static void compute_cprop_data PARAMS ((void));
+static void find_used_regs PARAMS ((rtx));
+static int try_replace_reg PARAMS ((rtx, rtx, rtx));
+static struct expr *find_avail_set PARAMS ((int, rtx));
+static int cprop_jump PARAMS ((rtx, rtx, struct reg_use *, rtx));
#ifdef HAVE_cc0
-static int cprop_cc0_jump PROTO((rtx, struct reg_use *, rtx));
+static int cprop_cc0_jump PARAMS ((rtx, struct reg_use *, rtx));
#endif
-static int cprop_insn PROTO ((rtx, int));
-static int cprop PROTO ((int));
-static int one_cprop_pass PROTO ((int, int));
-
-static void alloc_pre_mem PROTO ((int, int));
-static void free_pre_mem PROTO ((void));
-static void compute_pre_data PROTO ((void));
-static int pre_expr_reaches_here_p PROTO ((int, struct expr *, int));
-static void insert_insn_end_bb PROTO ((struct expr *, int, int));
-static void pre_insert_copy_insn PROTO ((struct expr *, rtx));
-static void pre_insert_copies PROTO ((void));
-static int pre_delete PROTO ((void));
-static int pre_gcse PROTO ((void));
-static int one_pre_gcse_pass PROTO ((int));
-
-static void add_label_notes PROTO ((rtx, rtx));
-
-static void alloc_code_hoist_mem PROTO ((int, int));
-static void free_code_hoist_mem PROTO ((void));
-static void compute_code_hoist_vbeinout PROTO ((void));
-static void compute_code_hoist_data PROTO ((void));
-static int hoist_expr_reaches_here_p PROTO ((int, int, int, char *));
-static void hoist_code PROTO ((void));
-static int one_code_hoisting_pass PROTO ((void));
-
-static void alloc_rd_mem PROTO ((int, int));
-static void free_rd_mem PROTO ((void));
-static void handle_rd_kill_set PROTO ((rtx, int, int));
-static void compute_kill_rd PROTO ((void));
-static void compute_rd PROTO ((void));
-static void alloc_avail_expr_mem PROTO ((int, int));
-static void free_avail_expr_mem PROTO ((void));
-static void compute_ae_gen PROTO ((void));
-static int expr_killed_p PROTO ((rtx, int));
-static void compute_ae_kill PROTO ((sbitmap *, sbitmap *));
-static int expr_reaches_here_p PROTO ((struct occr *, struct expr *,
- int, int));
-static rtx computing_insn PROTO ((struct expr *, rtx));
-static int def_reaches_here_p PROTO ((rtx, rtx));
-static int can_disregard_other_sets PROTO ((struct reg_set **, rtx, int));
-static int handle_avail_expr PROTO ((rtx, struct expr *));
-static int classic_gcse PROTO ((void));
-static int one_classic_gcse_pass PROTO ((int));
-static void invalidate_nonnull_info PROTO ((rtx, rtx, void *));
-static void delete_null_pointer_checks_1 PROTO ((int *, sbitmap *, sbitmap *,
- struct null_pointer_info *));
-static rtx process_insert_insn PROTO ((struct expr *));
-static int pre_edge_insert PROTO ((struct edge_list *, struct expr **));
-static int expr_reaches_here_p_work PROTO ((struct occr *, struct expr *, int, int, char *));
-static int pre_expr_reaches_here_p_work PROTO ((int, struct expr *,
- int, char *));
+static int cprop_insn PARAMS ((rtx, int));
+static int cprop PARAMS ((int));
+static int one_cprop_pass PARAMS ((int, int));
+
+static void alloc_pre_mem PARAMS ((int, int));
+static void free_pre_mem PARAMS ((void));
+static void compute_pre_data PARAMS ((void));
+static int pre_expr_reaches_here_p PARAMS ((int, struct expr *, int));
+static void insert_insn_end_bb PARAMS ((struct expr *, int, int));
+static void pre_insert_copy_insn PARAMS ((struct expr *, rtx));
+static void pre_insert_copies PARAMS ((void));
+static int pre_delete PARAMS ((void));
+static int pre_gcse PARAMS ((void));
+static int one_pre_gcse_pass PARAMS ((int));
+
+static void add_label_notes PARAMS ((rtx, rtx));
+
+static void alloc_code_hoist_mem PARAMS ((int, int));
+static void free_code_hoist_mem PARAMS ((void));
+static void compute_code_hoist_vbeinout PARAMS ((void));
+static void compute_code_hoist_data PARAMS ((void));
+static int hoist_expr_reaches_here_p PARAMS ((int, int, int, char *));
+static void hoist_code PARAMS ((void));
+static int one_code_hoisting_pass PARAMS ((void));
+
+static void alloc_rd_mem PARAMS ((int, int));
+static void free_rd_mem PARAMS ((void));
+static void handle_rd_kill_set PARAMS ((rtx, int, int));
+static void compute_kill_rd PARAMS ((void));
+static void compute_rd PARAMS ((void));
+static void alloc_avail_expr_mem PARAMS ((int, int));
+static void free_avail_expr_mem PARAMS ((void));
+static void compute_ae_gen PARAMS ((void));
+static int expr_killed_p PARAMS ((rtx, int));
+static void compute_ae_kill PARAMS ((sbitmap *, sbitmap *));
+static int expr_reaches_here_p PARAMS ((struct occr *, struct expr *,
+ int, int));
+static rtx computing_insn PARAMS ((struct expr *, rtx));
+static int def_reaches_here_p PARAMS ((rtx, rtx));
+static int can_disregard_other_sets PARAMS ((struct reg_set **, rtx, int));
+static int handle_avail_expr PARAMS ((rtx, struct expr *));
+static int classic_gcse PARAMS ((void));
+static int one_classic_gcse_pass PARAMS ((int));
+static void invalidate_nonnull_info PARAMS ((rtx, rtx, void *));
+static void delete_null_pointer_checks_1 PARAMS ((int *, sbitmap *, sbitmap *,
+ struct null_pointer_info *));
+static rtx process_insert_insn PARAMS ((struct expr *));
+static int pre_edge_insert PARAMS ((struct edge_list *, struct expr **));
+static int expr_reaches_here_p_work PARAMS ((struct occr *, struct expr *,
+ int, int, char *));
+static int pre_expr_reaches_here_p_work PARAMS ((int, struct expr *,
+ int, char *));
/* Entry point for global common subexpression elimination.
F is the first instruction in the function. */