eh-common.h: PROTO -> PARAMS.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Fri, 14 Jan 2000 17:14:43 +0000 (17:14 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Fri, 14 Jan 2000 17:14:43 +0000 (17:14 +0000)
* 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.

From-SVN: r31419

21 files changed:
gcc/ChangeLog
gcc/eh-common.h
gcc/emit-rtl.c
gcc/errors.c
gcc/errors.h
gcc/except.c
gcc/except.h
gcc/explow.c
gcc/expmed.c
gcc/expr.c
gcc/expr.h
gcc/final.c
gcc/fix-header.c
gcc/flow.c
gcc/fold-const.c
gcc/function.c
gcc/function.h
gcc/gcc.c
gcc/gcov-io.h
gcc/gcov.c
gcc/gcse.c

index 0ee184d224de881345ecd51bf0d1ca809764b144..fecb80c27b8ed17da5c81c4af4081c112efdb205 100644 (file)
@@ -1,3 +1,26 @@
+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.
index 2c2c09f8423ac9e6a64cd98713d4e5b6cbc203b9..20adfd613f03005f578c66d8e6356246a7d5cba1 100644 (file)
@@ -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. */
 
index 06f4979a876db3017999170b6d37a1c7efdc553e..304e6d43f9397dec2c88a2782c0da0e3ba098456 100644 (file)
@@ -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 *));
 \f
 /* 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;
index 556e7403a773e0ac614245364dfa5988f82882ae..bc3667e92896e7ab926958405a81b271603f4ab5 100644 (file)
@@ -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;
index 6e5439fbafa1321ca001043b710e90056e2d159c..843c1c879f6610049073a15565e256687e7bcfff 100644 (file)
@@ -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;
index b93f9bf3f5a8b2c8b99fb7cf36b1c012defc8755..9e27fbab2dbda6b70209e2bad552c3cda1c6ba2d 100644 (file)
@@ -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));
 
 \f
 /* Various support routines to manipulate the various data structures
index 6120af4b30c777dead65776205b31c5b8d31b4d7..414f52ae6da66ef2befc6e1fdf9d60ba9e523dc7 100644 (file)
@@ -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
index ca4259a7fa4a18ace717d28b23834968cce7bbee..65e43a717477b52637dd9026a91e05784f7d1f6e 100644 (file)
@@ -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)
index 2897d77c97a56883dcbaad6a06a738e8989610c6..63441875e9bda5b476c1834bbbeae2f652c1a203 100644 (file)
@@ -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
index 54a90972cc429c67bd3c4064abb77b24098e76a6..9e07dafda6abfa18109128544472c083fba3a86c 100644 (file)
@@ -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;
 {
index e603d045bb83d02a64fa5e7d7f621c9bf9fea49c..9442f0fabd85ea820f709e877e3394dfd5ae029b 100644 (file)
@@ -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])
 \f
-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));
 \f
 /* 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));
 \f
 /* 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));
 \f
 /* 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));
 \f
 #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
index 32039af1404814bf65dc04795edf411595eb8ed6..f94a02f4f109d0753c4a2f12ca968ec356e19c67 100644 (file)
@@ -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
 \f
 /* Initialize data in final at the beginning of a compilation.  */
@@ -3726,7 +3726,7 @@ output_addr_const (file, x)
    We handle alternate assembler dialects here, just like output_asm_insn.  */
 
 void
-asm_fprintf VPROTO((FILE *file, const char *p, ...))
+asm_fprintf VPARAMS ((FILE *file, const char *p, ...))
 {
 #ifndef ANSI_PROTOTYPES
   FILE *file;
index a87137d6d2d63a20fa11b038fdd213851f1b9def..b01f65605deeebda60271a16d38da3ad9c754f6e 100644 (file)
@@ -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;
index 33a5c1efba92f8cde43fd5c38c8c1f295745e7e5..0591b007d9de40a62db397bdff00c6224f91ca0e 100644 (file)
@@ -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));
 \f
 /* Find basic blocks of the current function.
    F is the first insn of the function and NREGS the number of register
index 6268e3cc5e9cb4eaccefca545438381cc3c9c4d5..d3efe90928e8d9442c58108b553ca9f5b74bae6e 100644 (file)
@@ -1,5 +1,5 @@
 /* Fold a constant sub-tree into a single node for C-compiler
-   Copyright (C) 1987, 88, 92-98, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -52,56 +52,56 @@ Boston, MA 02111-1307, USA.  */
 #include "toplev.h"
 #include "ggc.h"
 
-static void encode             PROTO((HOST_WIDE_INT *,
-                                      HOST_WIDE_INT, HOST_WIDE_INT));
-static void decode             PROTO((HOST_WIDE_INT *,
-                                      HOST_WIDE_INT *, HOST_WIDE_INT *));
-int div_and_round_double       PROTO((enum tree_code, int, HOST_WIDE_INT,
-                                      HOST_WIDE_INT, HOST_WIDE_INT,
-                                      HOST_WIDE_INT, HOST_WIDE_INT *,
-                                      HOST_WIDE_INT *, HOST_WIDE_INT *,
-                                      HOST_WIDE_INT *));
-static tree negate_expr                PROTO((tree));
-static tree split_tree         PROTO((tree, enum tree_code, tree *, tree *,
-                                      int));
-static tree associate_trees    PROTO((tree, tree, enum tree_code, tree));
-static tree int_const_binop    PROTO((enum tree_code, tree, tree, int, int));
-static void const_binop_1      PROTO((PTR));
-static tree const_binop                PROTO((enum tree_code, tree, tree, int));
-static void fold_convert_1     PROTO((PTR));
-static tree fold_convert       PROTO((tree, tree));
-static enum tree_code invert_tree_comparison PROTO((enum tree_code));
-static enum tree_code swap_tree_comparison PROTO((enum tree_code));
-static int truth_value_p       PROTO((enum tree_code));
-static int operand_equal_for_comparison_p PROTO((tree, tree, tree));
-static int twoval_comparison_p PROTO((tree, tree *, tree *, int *));
-static tree eval_subst         PROTO((tree, tree, tree, tree, tree));
-static tree omit_one_operand   PROTO((tree, tree, tree));
-static tree pedantic_omit_one_operand PROTO((tree, tree, tree));
-static tree distribute_bit_expr PROTO((enum tree_code, tree, tree, tree));
-static tree make_bit_field_ref PROTO((tree, tree, int, int, int));
-static tree optimize_bit_field_compare PROTO((enum tree_code, tree,
-                                             tree, tree));
-static tree decode_field_reference PROTO((tree, int *, int *,
-                                         enum machine_mode *, int *,
-                                         int *, tree *, tree *));
-static int all_ones_mask_p     PROTO((tree, int));
-static int simple_operand_p    PROTO((tree));
-static tree range_binop                PROTO((enum tree_code, tree, tree, int,
-                                      tree, int));
-static tree make_range         PROTO((tree, int *, tree *, tree *));
-static tree build_range_check  PROTO((tree, tree, int, tree, tree));
-static int merge_ranges                PROTO((int *, tree *, tree *, int, tree, tree,
+static void encode             PARAMS ((HOST_WIDE_INT *,
+                                        HOST_WIDE_INT, HOST_WIDE_INT));
+static void decode             PARAMS ((HOST_WIDE_INT *,
+                                        HOST_WIDE_INT *, HOST_WIDE_INT *));
+int div_and_round_double       PARAMS ((enum tree_code, int, HOST_WIDE_INT,
+                                        HOST_WIDE_INT, HOST_WIDE_INT,
+                                        HOST_WIDE_INT, HOST_WIDE_INT *,
+                                        HOST_WIDE_INT *, HOST_WIDE_INT *,
+                                        HOST_WIDE_INT *));
+static tree negate_expr                PARAMS ((tree));
+static tree split_tree         PARAMS ((tree, enum tree_code, tree *, tree *,
+                                        int));
+static tree associate_trees    PARAMS ((tree, tree, enum tree_code, tree));
+static tree int_const_binop    PARAMS ((enum tree_code, tree, tree, int, int));
+static void const_binop_1      PARAMS ((PTR));
+static tree const_binop                PARAMS ((enum tree_code, tree, tree, int));
+static void fold_convert_1     PARAMS ((PTR));
+static tree fold_convert       PARAMS ((tree, tree));
+static enum tree_code invert_tree_comparison PARAMS ((enum tree_code));
+static enum tree_code swap_tree_comparison PARAMS ((enum tree_code));
+static int truth_value_p       PARAMS ((enum tree_code));
+static int operand_equal_for_comparison_p PARAMS ((tree, tree, tree));
+static int twoval_comparison_p PARAMS ((tree, tree *, tree *, int *));
+static tree eval_subst         PARAMS ((tree, tree, tree, tree, tree));
+static tree omit_one_operand   PARAMS ((tree, tree, tree));
+static tree pedantic_omit_one_operand PARAMS ((tree, tree, tree));
+static tree distribute_bit_expr PARAMS ((enum tree_code, tree, tree, tree));
+static tree make_bit_field_ref PARAMS ((tree, tree, int, int, int));
+static tree optimize_bit_field_compare PARAMS ((enum tree_code, tree,
+                                               tree, tree));
+static tree decode_field_reference PARAMS ((tree, int *, int *,
+                                           enum machine_mode *, int *,
+                                           int *, tree *, tree *));
+static int all_ones_mask_p     PARAMS ((tree, int));
+static int simple_operand_p    PARAMS ((tree));
+static tree range_binop                PARAMS ((enum tree_code, tree, tree, int,
+                                        tree, int));
+static tree make_range         PARAMS ((tree, int *, tree *, tree *));
+static tree build_range_check  PARAMS ((tree, tree, int, tree, tree));
+static int merge_ranges                PARAMS ((int *, tree *, tree *, int, tree, tree,
                                       int, tree, tree));
-static tree fold_range_test    PROTO((tree));
-static tree unextend           PROTO((tree, int, int, tree));
-static tree fold_truthop       PROTO((enum tree_code, tree, tree, tree));
-static tree optimize_minmax_comparison PROTO((tree));
-static tree extract_muldiv     PROTO((tree, tree, enum tree_code, tree));
-static tree strip_compound_expr PROTO((tree, tree));
-static int multiple_of_p       PROTO((tree, tree, tree));
-static tree constant_boolean_node PROTO((int, tree));
-static int count_cond          PROTO((tree, int));
+static tree fold_range_test    PARAMS ((tree));
+static tree unextend           PARAMS ((tree, int, int, tree));
+static tree fold_truthop       PARAMS ((enum tree_code, tree, tree, tree));
+static tree optimize_minmax_comparison PARAMS ((tree));
+static tree extract_muldiv     PARAMS ((tree, tree, enum tree_code, tree));
+static tree strip_compound_expr PARAMS ((tree, tree));
+static int multiple_of_p       PARAMS ((tree, tree, tree));
+static tree constant_boolean_node PARAMS ((int, tree));
+static int count_cond          PARAMS ((tree, int));
 
 #ifndef BRANCH_COST
 #define BRANCH_COST 1
index 6f631c209a9db72a41fc8c8234f84e57932401be..fffeb73e50f351af049c255160fa14e5b25edfe6 100644 (file)
@@ -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));
 
 \f
 /* Pointer to chain of `struct function' for containing functions.  */
index e252f7550fee30fa20a6a44c1ffc51e9ac53d627..35d26bdf0d0131b8d0a533193e311e52e5fc9a2a 100644 (file)
@@ -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
index 8f81369d1780a82d545263b675dec369659b4c56..7c77d4620c155d5f7517a73550e8c8a278d53953 100644 (file)
--- 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 *));
 \f
 /* Specs are strings containing lines, each of which (if not blank)
 is made up of a program name, and arguments separated by spaces.
@@ -4988,7 +4988,7 @@ fatal_error (signum)
   kill (getpid (), signum);
 }
 
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
 
 int
 main (argc, argv)
@@ -5635,7 +5635,7 @@ fancy_abort ()
 /* Output an error message and exit */
 
 void
-fatal VPROTO((const char *msgid, ...))
+fatal VPARAMS ((const char *msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
   const char *msgid;
@@ -5657,7 +5657,7 @@ fatal VPROTO((const char *msgid, ...))
 }
 
 static void
-error VPROTO((const char *msgid, ...))
+error VPARAMS ((const char *msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
   const char *msgid;
@@ -5678,7 +5678,7 @@ error VPROTO((const char *msgid, ...))
 }
 
 static void
-notice VPROTO((const char *msgid, ...))
+notice VPARAMS ((const char *msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
   const char *msgid;
index d2605fe2533e149a821c6e3f27d82139e1934243..cac495897ff88b637eb3571b2d99576a18460298 100644 (file)
@@ -1,5 +1,5 @@
 /* Machine-independent I/O routines for gcov.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
    Contributed by Bob Manson <manson@cygnus.com>.
 
 This file is part of GNU CC.
@@ -24,10 +24,10 @@ Boston, MA 02111-1307, USA.  */
 #include <stdio.h>
 #include <sys/types.h>
 
-static int __fetch_long                PROTO ((long *, char *, size_t));
-static int __store_long                PROTO ((long, char *, size_t));
-static int __read_long         PROTO ((long *, FILE *, size_t));
-static int __write_long                PROTO ((long, FILE *, size_t));
+static int __fetch_long                PARAMS ((long *, char *, size_t));
+static int __store_long                PARAMS ((long, char *, size_t));
+static int __read_long         PARAMS ((long *, FILE *, size_t));
+static int __write_long                PARAMS ((long, FILE *, size_t));
 
 /* These routines only work for signed values. */
 
index 5dbd4a468ea726909cf3c630d9eb885ac54e7a25..974c708d0705d0eb7c9bc296eb9b9c41c9865e11 100644 (file)
@@ -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 ()
index 4de6083649b51abefb97608f71dab8f2baae55ff..a421d5442e2e0b5ec4340e58b93d78eef39840ea 100644 (file)
@@ -523,123 +523,124 @@ struct null_pointer_info {
   sbitmap *nonnull_killed;
 };
 \f
-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 *));
 \f
 /* Entry point for global common subexpression elimination.
    F is the first instruction in the function.  */