+2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * genattr.c: PROTO -> PARAMS.
+ * genattrtab.c: Likewise.
+ * gencheck.c: Likewise.
+ * gencodes.c: Likewise.
+ * genconfig.c: Likewise.
+ * genemit.c: Likewise.
+ * genextract.c: Likewise.
+ * genflags.c: Likewise.
+ * gengenrtl.c: Likewise.
+ * genopinit.c: Likewise.
+ * genoutput.c: Likewise.
+ * genpeep.c: Likewise.
+ * genrecog.c: Likewise.
+
2000-01-16 Mark Mitchell <mark@codesourcery.com>
* tree.h (BINFO_VPTR_FIELD): Augment documentation.
struct range issue_delay; /* Range of issue delay values. */
};
-static void extend_range PROTO((struct range *, int, int));
-static void init_range PROTO((struct range *));
-static void write_upcase PROTO((const char *));
-static void gen_attr PROTO((rtx));
-static void write_units PROTO((int, struct range *, struct range *,
+static void extend_range PARAMS ((struct range *, int, int));
+static void init_range PARAMS ((struct range *));
+static void write_upcase PARAMS ((const char *));
+static void gen_attr PARAMS ((rtx));
+static void write_units PARAMS ((int, struct range *, struct range *,
struct range *, struct range *,
struct range *));
static void
/* If numeric attribute, don't need to write an enum. */
if (*XSTR (attr, 1) == '\0')
- printf ("extern int get_attr_%s PROTO((%s));\n", XSTR (attr, 0),
+ printf ("extern int get_attr_%s PARAMS ((%s));\n", XSTR (attr, 0),
(is_const ? "void" : "rtx"));
else
{
}
printf ("};\n");
- printf ("extern enum attr_%s get_attr_%s PROTO((%s));\n\n",
+ printf ("extern enum attr_%s get_attr_%s PARAMS ((%s));\n\n",
XSTR (attr, 0), XSTR (attr, 0), (is_const ? "void" : "rtx"));
}
variables used by `insn_current_length'. */
if (! strcmp (XSTR (attr, 0), "length"))
{
- printf ("extern void shorten_branches PROTO((rtx));\n");
- printf ("extern int insn_default_length PROTO((rtx));\n");
- printf ("extern int insn_variable_length_p PROTO((rtx));\n");
- printf ("extern int insn_current_length PROTO((rtx));\n\n");
+ printf ("extern void shorten_branches PARAMS ((rtx));\n");
+ printf ("extern int insn_default_length PARAMS ((rtx));\n");
+ printf ("extern int insn_variable_length_p PARAMS ((rtx));\n");
+ printf ("extern int insn_current_length PARAMS ((rtx));\n\n");
printf ("extern int *insn_addresses;\n");
printf ("extern int insn_current_address;\n\n");
}
int i, q_size;
printf ("#define INSN_SCHEDULING\n\n");
- printf ("extern int result_ready_cost PROTO((rtx));\n");
- printf ("extern int function_units_used PROTO((rtx));\n\n");
+ printf ("extern int result_ready_cost PARAMS ((rtx));\n");
+ printf ("extern int function_units_used PARAMS ((rtx));\n\n");
printf ("extern struct function_unit_desc\n");
printf ("{\n");
printf (" const char *name;\n");
printf (" int simultaneity;\n");
printf (" int default_cost;\n");
printf (" int max_issue_delay;\n");
- printf (" int (*ready_cost_function) PROTO ((rtx));\n");
- printf (" int (*conflict_cost_function) PROTO ((rtx, rtx));\n");
+ printf (" int (*ready_cost_function) PARAMS ((rtx));\n");
+ printf (" int (*conflict_cost_function) PARAMS ((rtx, rtx));\n");
printf (" int max_blockage;\n");
- printf (" unsigned int (*blockage_range_function) PROTO ((rtx));\n");
- printf (" int (*blockage_function) PROTO ((rtx, rtx));\n");
+ printf (" unsigned int (*blockage_range_function) PARAMS ((rtx));\n");
+ printf (" int (*blockage_function) PARAMS ((rtx, rtx));\n");
printf ("} function_units[];\n\n");
printf ("#define FUNCTION_UNITS_SIZE %d\n", num_units);
printf ("#define MIN_MULTIPLICITY %d\n", multiplicity->min);
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
if (! have_delay)
{
printf ("#define DELAY_SLOTS\n");
- printf ("extern int num_delay_slots PROTO((rtx));\n");
- printf ("extern int eligible_for_delay PROTO((rtx, int, rtx, int));\n\n");
- printf ("extern int const_num_delay_slots PROTO((rtx));\n\n");
+ printf ("extern int num_delay_slots PARAMS ((rtx));\n");
+ printf ("extern int eligible_for_delay PARAMS ((rtx, int, rtx, int));\n\n");
+ printf ("extern int const_num_delay_slots PARAMS ((rtx));\n\n");
have_delay = 1;
}
if (XVECEXP (desc, 1, i + 1) && ! have_annul_true)
{
printf ("#define ANNUL_IFTRUE_SLOTS\n");
- printf ("extern int eligible_for_annul_true PROTO ((rtx, int, rtx, int));\n");
+ printf ("extern int eligible_for_annul_true PARAMS ((rtx, int, rtx, int));\n");
have_annul_true = 1;
}
if (XVECEXP (desc, 1, i + 2) && ! have_annul_false)
{
printf ("#define ANNUL_IFFALSE_SLOTS\n");
- printf ("extern int eligible_for_annul_false PROTO ((rtx, int, rtx, int));\n");
+ printf ("extern int eligible_for_annul_false PARAMS ((rtx, int, rtx, int));\n");
have_annul_false = 1;
}
}
rtx global_rtl[GR_MAX];
rtx pic_offset_table_rtx;
-static void attr_hash_add_rtx PROTO((int, rtx));
-static void attr_hash_add_string PROTO((int, char *));
-static rtx attr_rtx PVPROTO((enum rtx_code, ...));
-static char *attr_printf PVPROTO((int, const char *, ...))
+static void attr_hash_add_rtx PARAMS ((int, rtx));
+static void attr_hash_add_string PARAMS ((int, char *));
+static rtx attr_rtx PARAMS ((enum rtx_code, ...));
+static char *attr_printf PARAMS ((int, const char *, ...))
ATTRIBUTE_PRINTF_2;
-static char *attr_string PROTO((const char *, int));
-static rtx check_attr_test PROTO((rtx, int));
-static rtx check_attr_value PROTO((rtx, struct attr_desc *));
-static rtx convert_set_attr_alternative PROTO((rtx, int, int));
-static rtx convert_set_attr PROTO((rtx, int, int));
-static void check_defs PROTO((void));
+static char *attr_string PARAMS ((const char *, int));
+static rtx check_attr_test PARAMS ((rtx, int));
+static rtx check_attr_value PARAMS ((rtx, struct attr_desc *));
+static rtx convert_set_attr_alternative PARAMS ((rtx, int, int));
+static rtx convert_set_attr PARAMS ((rtx, int, int));
+static void check_defs PARAMS ((void));
#if 0
-static rtx convert_const_symbol_ref PROTO((rtx, struct attr_desc *));
+static rtx convert_const_symbol_ref PARAMS ((rtx, struct attr_desc *));
#endif
-static rtx make_canonical PROTO((struct attr_desc *, rtx));
-static struct attr_value *get_attr_value PROTO((rtx, struct attr_desc *, int));
-static rtx copy_rtx_unchanging PROTO((rtx));
-static rtx copy_boolean PROTO((rtx));
-static void expand_delays PROTO((void));
-static rtx operate_exp PROTO((enum operator, rtx, rtx));
-static void expand_units PROTO((void));
-static rtx simplify_knowing PROTO((rtx, rtx));
-static rtx encode_units_mask PROTO((rtx));
-static void fill_attr PROTO((struct attr_desc *));
+static rtx make_canonical PARAMS ((struct attr_desc *, rtx));
+static struct attr_value *get_attr_value PARAMS ((rtx, struct attr_desc *, int));
+static rtx copy_rtx_unchanging PARAMS ((rtx));
+static rtx copy_boolean PARAMS ((rtx));
+static void expand_delays PARAMS ((void));
+static rtx operate_exp PARAMS ((enum operator, rtx, rtx));
+static void expand_units PARAMS ((void));
+static rtx simplify_knowing PARAMS ((rtx, rtx));
+static rtx encode_units_mask PARAMS ((rtx));
+static void fill_attr PARAMS ((struct attr_desc *));
/* dpx2 compiler chokes if we specify the arg types of the args. */
-static rtx substitute_address PROTO((rtx, rtx (*) (rtx), rtx (*) (rtx)));
-static void make_length_attrs PROTO((void));
-static rtx identity_fn PROTO((rtx));
-static rtx zero_fn PROTO((rtx));
-static rtx one_fn PROTO((rtx));
-static rtx max_fn PROTO((rtx));
-static void write_length_unit_log PROTO ((void));
-static rtx simplify_cond PROTO((rtx, int, int));
+static rtx substitute_address PARAMS ((rtx, rtx (*) (rtx), rtx (*) (rtx)));
+static void make_length_attrs PARAMS ((void));
+static rtx identity_fn PARAMS ((rtx));
+static rtx zero_fn PARAMS ((rtx));
+static rtx one_fn PARAMS ((rtx));
+static rtx max_fn PARAMS ((rtx));
+static void write_length_unit_log PARAMS ((void));
+static rtx simplify_cond PARAMS ((rtx, int, int));
#if 0
-static rtx simplify_by_alternatives PROTO((rtx, int, int));
+static rtx simplify_by_alternatives PARAMS ((rtx, int, int));
#endif
-static rtx simplify_by_exploding PROTO((rtx));
-static int find_and_mark_used_attributes PROTO((rtx, rtx *, int *));
-static void unmark_used_attributes PROTO((rtx, struct dimension *, int));
-static int add_values_to_cover PROTO((struct dimension *));
-static int increment_current_value PROTO((struct dimension *, int));
-static rtx test_for_current_value PROTO((struct dimension *, int));
-static rtx simplify_with_current_value PROTO((rtx, struct dimension *, int));
-static rtx simplify_with_current_value_aux PROTO((rtx));
-static void clear_struct_flag PROTO((rtx));
-static int count_sub_rtxs PROTO((rtx, int));
-static void remove_insn_ent PROTO((struct attr_value *, struct insn_ent *));
-static void insert_insn_ent PROTO((struct attr_value *, struct insn_ent *));
-static rtx insert_right_side PROTO((enum rtx_code, rtx, rtx, int, int));
-static rtx make_alternative_compare PROTO((int));
-static int compute_alternative_mask PROTO((rtx, enum rtx_code));
-static rtx evaluate_eq_attr PROTO((rtx, rtx, int, int));
-static rtx simplify_and_tree PROTO((rtx, rtx *, int, int));
-static rtx simplify_or_tree PROTO((rtx, rtx *, int, int));
-static rtx simplify_test_exp PROTO((rtx, int, int));
-static void optimize_attrs PROTO((void));
-static void gen_attr PROTO((rtx));
-static int count_alternatives PROTO((rtx));
-static int compares_alternatives_p PROTO((rtx));
-static int contained_in_p PROTO((rtx, rtx));
-static void gen_insn PROTO((rtx));
-static void gen_delay PROTO((rtx));
-static void gen_unit PROTO((rtx));
-static void write_test_expr PROTO((rtx, int));
-static int max_attr_value PROTO((rtx, int*));
-static int or_attr_value PROTO((rtx, int*));
-static void walk_attr_value PROTO((rtx));
-static void write_attr_get PROTO((struct attr_desc *));
-static rtx eliminate_known_true PROTO((rtx, rtx, int, int));
-static void write_attr_set PROTO((struct attr_desc *, int, rtx,
+static rtx simplify_by_exploding PARAMS ((rtx));
+static int find_and_mark_used_attributes PARAMS ((rtx, rtx *, int *));
+static void unmark_used_attributes PARAMS ((rtx, struct dimension *, int));
+static int add_values_to_cover PARAMS ((struct dimension *));
+static int increment_current_value PARAMS ((struct dimension *, int));
+static rtx test_for_current_value PARAMS ((struct dimension *, int));
+static rtx simplify_with_current_value PARAMS ((rtx, struct dimension *, int));
+static rtx simplify_with_current_value_aux PARAMS ((rtx));
+static void clear_struct_flag PARAMS ((rtx));
+static int count_sub_rtxs PARAMS ((rtx, int));
+static void remove_insn_ent PARAMS ((struct attr_value *, struct insn_ent *));
+static void insert_insn_ent PARAMS ((struct attr_value *, struct insn_ent *));
+static rtx insert_right_side PARAMS ((enum rtx_code, rtx, rtx, int, int));
+static rtx make_alternative_compare PARAMS ((int));
+static int compute_alternative_mask PARAMS ((rtx, enum rtx_code));
+static rtx evaluate_eq_attr PARAMS ((rtx, rtx, int, int));
+static rtx simplify_and_tree PARAMS ((rtx, rtx *, int, int));
+static rtx simplify_or_tree PARAMS ((rtx, rtx *, int, int));
+static rtx simplify_test_exp PARAMS ((rtx, int, int));
+static void optimize_attrs PARAMS ((void));
+static void gen_attr PARAMS ((rtx));
+static int count_alternatives PARAMS ((rtx));
+static int compares_alternatives_p PARAMS ((rtx));
+static int contained_in_p PARAMS ((rtx, rtx));
+static void gen_insn PARAMS ((rtx));
+static void gen_delay PARAMS ((rtx));
+static void gen_unit PARAMS ((rtx));
+static void write_test_expr PARAMS ((rtx, int));
+static int max_attr_value PARAMS ((rtx, int*));
+static int or_attr_value PARAMS ((rtx, int*));
+static void walk_attr_value PARAMS ((rtx));
+static void write_attr_get PARAMS ((struct attr_desc *));
+static rtx eliminate_known_true PARAMS ((rtx, rtx, int, int));
+static void write_attr_set PARAMS ((struct attr_desc *, int, rtx,
const char *, const char *, rtx,
int, int));
-static void write_attr_case PROTO((struct attr_desc *, struct attr_value *,
+static void write_attr_case PARAMS ((struct attr_desc *, struct attr_value *,
int, const char *, const char *, int, rtx));
-static void write_unit_name PROTO((const char *, int, const char *));
-static void write_attr_valueq PROTO((struct attr_desc *, char *));
-static void write_attr_value PROTO((struct attr_desc *, rtx));
-static void write_upcase PROTO((const char *));
-static void write_indent PROTO((int));
-static void write_eligible_delay PROTO((const char *));
-static void write_function_unit_info PROTO((void));
-static void write_complex_function PROTO((struct function_unit *, const char *,
+static void write_unit_name PARAMS ((const char *, int, const char *));
+static void write_attr_valueq PARAMS ((struct attr_desc *, char *));
+static void write_attr_value PARAMS ((struct attr_desc *, rtx));
+static void write_upcase PARAMS ((const char *));
+static void write_indent PARAMS ((int));
+static void write_eligible_delay PARAMS ((const char *));
+static void write_function_unit_info PARAMS ((void));
+static void write_complex_function PARAMS ((struct function_unit *, const char *,
const char *));
-static int write_expr_attr_cache PROTO((rtx, struct attr_desc *));
-static void write_toplevel_expr PROTO((rtx));
-static void write_const_num_delay_slots PROTO ((void));
-static int n_comma_elts PROTO((char *));
-static char *next_comma_elt PROTO((char **));
-static struct attr_desc *find_attr PROTO((const char *, int));
-static void make_internal_attr PROTO((const char *, rtx, int));
-static struct attr_value *find_most_used PROTO((struct attr_desc *));
-static rtx find_single_value PROTO((struct attr_desc *));
-static rtx make_numeric_value PROTO((int));
-static void extend_range PROTO((struct range *, int, int));
-static rtx attr_eq PROTO((char *, char *));
-static char *attr_numeral PROTO((int));
-static int attr_equal_p PROTO((rtx, rtx));
-static rtx attr_copy_rtx PROTO((rtx));
+static int write_expr_attr_cache PARAMS ((rtx, struct attr_desc *));
+static void write_toplevel_expr PARAMS ((rtx));
+static void write_const_num_delay_slots PARAMS ((void));
+static int n_comma_elts PARAMS ((char *));
+static char *next_comma_elt PARAMS ((char **));
+static struct attr_desc *find_attr PARAMS ((const char *, int));
+static void make_internal_attr PARAMS ((const char *, rtx, int));
+static struct attr_value *find_most_used PARAMS ((struct attr_desc *));
+static rtx find_single_value PARAMS ((struct attr_desc *));
+static rtx make_numeric_value PARAMS ((int));
+static void extend_range PARAMS ((struct range *, int, int));
+static rtx attr_eq PARAMS ((char *, char *));
+static char *attr_numeral PARAMS ((int));
+static int attr_equal_p PARAMS ((rtx, rtx));
+static rtx attr_copy_rtx PARAMS ((rtx));
#define oballoc(size) obstack_alloc (hash_obstack, size)
/*VARARGS1*/
static rtx
-attr_rtx VPROTO((enum rtx_code code, ...))
+attr_rtx VPARAMS ((enum rtx_code code, ...))
{
#ifndef ANSI_PROTOTYPES
enum rtx_code code;
/*VARARGS2*/
static char *
-attr_printf VPROTO((register int len, const char *fmt, ...))
+attr_printf VPARAMS ((register int len, const char *fmt, ...))
{
#ifndef ANSI_PROTOTYPES
register int len;
static rtx
substitute_address (exp, no_address_fn, address_fn)
rtx exp;
- rtx (*no_address_fn) PROTO ((rtx));
- rtx (*address_fn) PROTO ((rtx));
+ rtx (*no_address_fn) PARAMS ((rtx));
+ rtx (*address_fn) PARAMS ((rtx));
{
int i;
rtx newexp;
static const char *new_names[] = {"*insn_default_length",
"*insn_variable_length_p",
"*insn_current_length"};
- static rtx (*no_address_fn[]) PROTO((rtx)) = {identity_fn, zero_fn, zero_fn};
- static rtx (*address_fn[]) PROTO((rtx)) = {max_fn, one_fn, identity_fn};
+ static rtx (*no_address_fn[]) PARAMS ((rtx)) = {identity_fn, zero_fn, zero_fn};
+ static rtx (*address_fn[]) PARAMS ((rtx)) = {max_fn, one_fn, identity_fn};
size_t i;
struct attr_desc *length_attr, *new_attr;
struct attr_value *av, *new_av;
/* If the attribute name starts with a star, the remainder is the name of
the subroutine to use, instead of `get_attr_...'. */
if (attr->name[0] == '*')
- printf ("%s PROTO ((rtx));\n", &attr->name[1]);
+ printf ("%s PARAMS ((rtx));\n", &attr->name[1]);
else
- printf ("get_attr_%s PROTO ((%s));\n", attr->name,
+ printf ("get_attr_%s PARAMS ((%s));\n", attr->name,
(attr->is_const ? "void" : "rtx"));
/* Write out start of function, then all values with explicit `case' lines,
int using_case;
int i;
- printf ("static int %s_unit_%s PROTO ((rtx, rtx));\n", unit->name, name);
+ printf ("static int %s_unit_%s PARAMS ((rtx, rtx));\n", unit->name, name);
printf ("static int\n");
printf ("%s_unit_%s (executing_insn, candidate_insn)\n",
unit->name, name);
}
\f
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
(char*)0
};
-static void usage PROTO ((void));
+static void usage PARAMS ((void));
static void
usage ()
fprintf (stderr,"Usage: gencheck\n");
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
static int insn_code_number;
-static void gen_insn PROTO((rtx));
+static void gen_insn PARAMS ((rtx));
static void
gen_insn (insn)
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
static int clobbers_seen_this_insn;
static int dup_operands_seen_this_insn;
-static void walk_insn_part PROTO((rtx, int, int));
-static void gen_insn PROTO((rtx));
-static void gen_expand PROTO((rtx));
-static void gen_split PROTO((rtx));
-static void gen_peephole PROTO((rtx));
+static void walk_insn_part PARAMS ((rtx, int, int));
+static void gen_insn PARAMS ((rtx));
+static void gen_expand PARAMS ((rtx));
+static void gen_split PARAMS ((rtx));
+static void gen_peephole PARAMS ((rtx));
/* RECOG_P will be non-zero if this pattern was seen in a context where it will
be used to recognize, rather than just generate an insn.
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
struct clobber_ent *next;
};
-static void max_operand_1 PROTO((rtx));
-static int max_operand_vec PROTO((rtx, int));
-static void print_code PROTO((RTX_CODE));
-static void gen_exp PROTO((rtx, enum rtx_code));
-static void gen_insn PROTO((rtx));
-static void gen_expand PROTO((rtx));
-static void gen_split PROTO((rtx));
-static void output_add_clobbers PROTO((void));
-static void gen_rtx_scratch PROTO((rtx, enum rtx_code));
-static void output_peephole2_scratches PROTO((rtx));
+static void max_operand_1 PARAMS ((rtx));
+static int max_operand_vec PARAMS ((rtx, int));
+static void print_code PARAMS ((RTX_CODE));
+static void gen_exp PARAMS ((rtx, enum rtx_code));
+static void gen_insn PARAMS ((rtx));
+static void gen_expand PARAMS ((rtx));
+static void gen_split PARAMS ((rtx));
+static void output_add_clobbers PARAMS ((void));
+static void gen_rtx_scratch PARAMS ((rtx, enum rtx_code));
+static void output_peephole2_scratches PARAMS ((rtx));
\f
static void
/* Output the prototype, function name and argument declarations. */
if (GET_CODE (split) == DEFINE_PEEPHOLE2)
{
- printf ("extern rtx gen_%s_%d PROTO ((rtx, rtx *));\n",
+ printf ("extern rtx gen_%s_%d PARAMS ((rtx, rtx *));\n",
name, insn_code_number);
printf ("rtx\ngen_%s_%d (curr_insn, operands)\n\
rtx curr_insn ATTRIBUTE_UNUSED;\n\
}
else
{
- printf ("extern rtx gen_split_%d PROTO ((rtx *));\n", insn_code_number);
+ printf ("extern rtx gen_split_%d PARAMS ((rtx *));\n", insn_code_number);
printf ("rtx\ngen_%s_%d (operands)\n rtx *operands;\n", name,
insn_code_number);
}
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
static struct code_ptr *peepholes;
-static void gen_insn PROTO ((rtx));
-static void walk_rtx PROTO ((rtx, const char *));
-static void print_path PROTO ((const char *));
-static void record_insn_name PROTO((int, const char *));
+static void gen_insn PARAMS ((rtx));
+static void walk_rtx PARAMS ((rtx, const char *));
+static void print_path PARAMS ((const char *));
+static void record_insn_name PARAMS ((int, const char *));
static void
gen_insn (insn)
return output;
}
\f
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
/* Max size of names encountered. */
static int max_id_len;
-static int num_operands PROTO((rtx));
-static void gen_proto PROTO((rtx));
-static void gen_nonproto PROTO((rtx));
-static void gen_insn PROTO((rtx));
+static int num_operands PARAMS ((rtx));
+static void gen_proto PARAMS ((rtx));
+static void gen_nonproto PARAMS ((rtx));
+static void gen_insn PARAMS ((rtx));
/* Count the number of match_operand's found. */
rtx insn;
{
int num = num_operands (insn);
- printf ("extern rtx gen_%-*s PROTO((", max_id_len, XSTR (insn, 0));
+ printf ("extern rtx gen_%-*s PARAMS ((", max_id_len, XSTR (insn, 0));
if (num == 0)
printf ("void");
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
const char *formats[NUM_RTX_CODE];
-static const char *type_from_format PROTO((int));
-static const char *accessor_from_format PROTO((int));
-static int special_format PROTO((const char *));
-static int special_rtx PROTO((int));
-static void find_formats PROTO((void));
-static void gendecl PROTO((const char *));
-static void genmacro PROTO((int));
-static void gendef PROTO((const char *));
-static void genlegend PROTO((void));
-static void genheader PROTO((void));
-static void gencode PROTO((void));
+static const char *type_from_format PARAMS ((int));
+static const char *accessor_from_format PARAMS ((int));
+static int special_format PARAMS ((const char *));
+static int special_rtx PARAMS ((int));
+static void find_formats PARAMS ((void));
+static void gendecl PARAMS ((const char *));
+static void genmacro PARAMS ((int));
+static void gendef PARAMS ((const char *));
+static void genlegend PARAMS ((void));
+static void genheader PARAMS ((void));
+static void gencode PARAMS ((void));
\f
/* Decode a format letter into a C type string. */
const char *p;
int i, pos;
- printf ("extern rtx gen_rtx_fmt_%s\tPROTO((RTX_CODE, ", format);
+ printf ("extern rtx gen_rtx_fmt_%s\tPARAMS ((RTX_CODE, ", format);
printf ("enum machine_mode mode");
/* Write each parameter that is needed and start a new line when the line
puts ("#include \"rtl.h\"\n");
puts ("#include \"ggc.h\"\n\n");
puts ("extern struct obstack *rtl_obstack;\n\n");
- puts ("static rtx obstack_alloc_rtx PROTO((int length));\n");
+ puts ("static rtx obstack_alloc_rtx PARAMS ((int length));\n");
puts ("static rtx obstack_alloc_rtx (length)\n");
puts (" register int length;\n{\n");
puts (" rtx rt = (rtx) obstack_alloc (rtl_obstack, length);\n\n");
/* This is the main program. We accept only one argument, "-h", which
says we are writing the genrtl.h file. Otherwise we are writing the
genrtl.c file. */
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
"movstr_optab[(int) %A] = CODE_FOR_%(movstr%a%)",
"clrstr_optab[(int) %A] = CODE_FOR_%(clrstr%a%)" };
-static void gen_insn PROTO((rtx));
+static void gen_insn PARAMS ((rtx));
static void
gen_insn (insn)
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
#define obstack_chunk_alloc xmalloc
#define obstack_chunk_free free
-static int n_occurrences PROTO((int, char *));
+static int n_occurrences PARAMS ((int, char *));
/* insns in the machine description are assigned sequential code numbers
that are used by insn-recog.c (produced by genrecog) to communicate
static struct data *idata, **idata_end = &idata;
\f
-static void output_prologue PROTO((void));
-static void output_predicate_decls PROTO((void));
-static void output_operand_data PROTO((void));
-static void output_insn_data PROTO((void));
-static void output_get_insn_name PROTO((void));
-static void scan_operands PROTO((struct data *, rtx, int, int));
-static int compare_operands PROTO((struct operand_data *,
+static void output_prologue PARAMS ((void));
+static void output_predicate_decls PARAMS ((void));
+static void output_operand_data PARAMS ((void));
+static void output_insn_data PARAMS ((void));
+static void output_get_insn_name PARAMS ((void));
+static void scan_operands PARAMS ((struct data *, rtx, int, int));
+static int compare_operands PARAMS ((struct operand_data *,
struct operand_data *));
-static void place_operands PROTO((struct data *));
-static void process_template PROTO((struct data *, char *));
-static void validate_insn_alternatives PROTO((struct data *));
-static void gen_insn PROTO((rtx));
-static void gen_peephole PROTO((rtx));
-static void gen_expand PROTO((rtx));
-static void gen_split PROTO((rtx));
-static int n_occurrences PROTO((int, char *));
+static void place_operands PARAMS ((struct data *));
+static void process_template PARAMS ((struct data *, char *));
+static void validate_insn_alternatives PARAMS ((struct data *));
+static void gen_insn PARAMS ((rtx));
+static void gen_peephole PARAMS ((rtx));
+static void gen_expand PARAMS ((rtx));
+static void gen_split PARAMS ((rtx));
+static int n_occurrences PARAMS ((int, char *));
\f
const char *
get_insn_name (index)
if (p == 0)
{
- printf ("extern int %s PROTO ((rtx, enum machine_mode));\n",
+ printf ("extern int %s PARAMS ((rtx, enum machine_mode));\n",
d->predicate);
p = (struct predicate *) alloca (sizeof (struct predicate));
p->name = d->predicate;
d->template = 0;
d->output_format = INSN_OUTPUT_FORMAT_FUNCTION;
- printf ("\nstatic const char *output_%d PROTO ((rtx *, rtx));\n",
+ printf ("\nstatic const char *output_%d PARAMS ((rtx *, rtx));\n",
d->code_number);
puts ("\nstatic const char *");
printf ("output_%d (operands, insn)\n", d->code_number);
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
static int insn_code_number = 0;
-static void gen_peephole PROTO((rtx));
-static void match_rtx PROTO((rtx, struct link *, int));
-static void print_path PROTO((struct link *));
-static void print_code PROTO((RTX_CODE));
+static void gen_peephole PARAMS ((rtx));
+static void match_rtx PARAMS ((rtx, struct link *, int));
+static void print_path PARAMS ((struct link *));
+static void print_code PARAMS ((RTX_CODE));
\f
static void
gen_peephole (peep)
return ptr;
}
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)
(sizeof (special_mode_pred_table) / sizeof (special_mode_pred_table[0]))
static void message_with_line
- PVPROTO ((int, const char *, ...)) ATTRIBUTE_PRINTF_2;
+ PARAMS ((int, const char *, ...)) ATTRIBUTE_PRINTF_2;
static struct decision *new_decision
- PROTO((const char *, struct decision_head *));
+ PARAMS ((const char *, struct decision_head *));
static struct decision_test *new_decision_test
- PROTO((enum decision_type, struct decision_test ***));
+ PARAMS ((enum decision_type, struct decision_test ***));
static rtx find_operand
- PROTO((rtx, int));
+ PARAMS ((rtx, int));
static void validate_pattern
- PROTO((rtx, rtx, rtx));
+ PARAMS ((rtx, rtx, rtx));
static struct decision *add_to_sequence
- PROTO((rtx, struct decision_head *, const char *, enum routine_type, int));
+ PARAMS ((rtx, struct decision_head *, const char *, enum routine_type, int));
static int maybe_both_true_2
- PROTO((struct decision_test *, struct decision_test *));
+ PARAMS ((struct decision_test *, struct decision_test *));
static int maybe_both_true_1
- PROTO((struct decision_test *, struct decision_test *));
+ PARAMS ((struct decision_test *, struct decision_test *));
static int maybe_both_true
- PROTO((struct decision *, struct decision *, int));
+ PARAMS ((struct decision *, struct decision *, int));
static int nodes_identical_1
- PROTO((struct decision_test *, struct decision_test *));
+ PARAMS ((struct decision_test *, struct decision_test *));
static int nodes_identical
- PROTO((struct decision *, struct decision *));
+ PARAMS ((struct decision *, struct decision *));
static void merge_accept_insn
- PROTO((struct decision *, struct decision *));
+ PARAMS ((struct decision *, struct decision *));
static void merge_trees
- PROTO((struct decision_head *, struct decision_head *));
+ PARAMS ((struct decision_head *, struct decision_head *));
static void factor_tests
- PROTO((struct decision_head *));
+ PARAMS ((struct decision_head *));
static void simplify_tests
- PROTO((struct decision_head *));
+ PARAMS ((struct decision_head *));
static int break_out_subroutines
- PROTO((struct decision_head *, int));
+ PARAMS ((struct decision_head *, int));
static void find_afterward
- PROTO((struct decision_head *, struct decision *));
+ PARAMS ((struct decision_head *, struct decision *));
static void change_state
- PROTO((const char *, const char *, struct decision *, const char *));
+ PARAMS ((const char *, const char *, struct decision *, const char *));
static void print_code
- PROTO((enum rtx_code));
+ PARAMS ((enum rtx_code));
static void write_afterward
- PROTO((struct decision *, struct decision *, const char *));
+ PARAMS ((struct decision *, struct decision *, const char *));
static struct decision *write_switch
- PROTO((struct decision *, int));
+ PARAMS ((struct decision *, int));
static void write_cond
- PROTO((struct decision_test *, int, enum routine_type));
+ PARAMS ((struct decision_test *, int, enum routine_type));
static void write_action
- PROTO((struct decision_test *, int, int, struct decision *,
+ PARAMS ((struct decision_test *, int, int, struct decision *,
enum routine_type));
static int is_unconditional
- PROTO((struct decision_test *, enum routine_type));
+ PARAMS ((struct decision_test *, enum routine_type));
static int write_node
- PROTO((struct decision *, int, enum routine_type));
+ PARAMS ((struct decision *, int, enum routine_type));
static void write_tree_1
- PROTO((struct decision_head *, int, enum routine_type));
+ PARAMS ((struct decision_head *, int, enum routine_type));
static void write_tree
- PROTO((struct decision_head *, const char *, enum routine_type, int));
+ PARAMS ((struct decision_head *, const char *, enum routine_type, int));
static void write_subroutine
- PROTO((struct decision_head *, enum routine_type));
+ PARAMS ((struct decision_head *, enum routine_type));
static void write_subroutines
- PROTO((struct decision_head *, enum routine_type));
+ PARAMS ((struct decision_head *, enum routine_type));
static void write_header
- PROTO((void));
+ PARAMS ((void));
static struct decision_head make_insn_sequence
- PROTO((rtx, enum routine_type));
+ PARAMS ((rtx, enum routine_type));
static void process_tree
- PROTO((struct decision_head *, enum routine_type));
+ PARAMS ((struct decision_head *, enum routine_type));
static void record_insn_name
- PROTO((int, const char *));
+ PARAMS ((int, const char *));
static void debug_decision_0
- PROTO((struct decision *, int, int));
+ PARAMS ((struct decision *, int, int));
static void debug_decision_1
- PROTO((struct decision *, int));
+ PARAMS ((struct decision *, int));
static void debug_decision_2
- PROTO((struct decision_test *));
+ PARAMS ((struct decision_test *));
extern void debug_decision
- PROTO((struct decision *));
+ PARAMS ((struct decision *));
extern void debug_decision_list
- PROTO((struct decision *));
+ PARAMS ((struct decision *));
\f
static void
-message_with_line VPROTO ((int lineno, const char *msg, ...))
+message_with_line VPARAMS ((int lineno, const char *msg, ...))
{
#ifndef ANSI_PROTOTYPES
int lineno;
switch (type)
{
case RECOG:
- printf ("%sint recog%s PROTO ((rtx, rtx, int *));\n", s_or_e, extension);
+ printf ("%sint recog%s PARAMS ((rtx, rtx, int *));\n", s_or_e, extension);
printf ("%sint\n\
recog%s (x0, insn, pnum_clobbers)\n\
register rtx x0;\n\
int *pnum_clobbers ATTRIBUTE_UNUSED;\n", s_or_e, extension);
break;
case SPLIT:
- printf ("%srtx split%s PROTO ((rtx, rtx));\n", s_or_e, extension);
+ printf ("%srtx split%s PARAMS ((rtx, rtx));\n", s_or_e, extension);
printf ("%srtx\n\
split%s (x0, insn)\n\
register rtx x0;\n\
rtx insn ATTRIBUTE_UNUSED;\n", s_or_e, extension);
break;
case PEEPHOLE2:
- printf ("%srtx peephole2%s PROTO ((rtx, rtx, rtx *));\n", s_or_e, extension);
+ printf ("%srtx peephole2%s PARAMS ((rtx, rtx, rtx *));\n", s_or_e, extension);
printf ("%srtx\n\
peephole2%s (x0, insn, _plast_insn)\n\
register rtx x0;\n\
case SPLIT:
/* Define the subroutine we will call below and emit in genemit. */
- printf ("extern rtx gen_split_%d PROTO ((rtx *));\n", next_insn_code);
+ printf ("extern rtx gen_split_%d PARAMS ((rtx *));\n", next_insn_code);
break;
case PEEPHOLE2:
/* Define the subroutine we will call below and emit in genemit. */
- printf ("extern rtx gen_peephole2_%d PROTO ((rtx, rtx *));\n",
+ printf ("extern rtx gen_peephole2_%d PARAMS ((rtx, rtx *));\n",
next_insn_code);
break;
}
write_subroutine (head, subroutine_type);
}
\f
-extern int main PROTO ((int, char **));
+extern int main PARAMS ((int, char **));
int
main (argc, argv)