Commit 3d7aafde by Andreas Jaeger Committed by Andreas Jaeger

genrecog.c: Use ISO C90 prototypes.

	* genrecog.c: Use ISO C90 prototypes.
	(nodes_identical): Correct declaration to match prototype.
	(maybe_both_true): Likewise.
	(merge_trees): Likewise.

	* genpeep.c (gen_peephole): Remove #if 0 code.
	Use ISO C90 prototypes.

	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
	Remove #if 0'ed function simplify_by_alternatives.
	(optimize_attrs): Remove #if 0'ed code.
	Remove ^L.
	Use ISO C90 prototypes.
	(make_canonical): Remove #if 0'ed code.
	(convert_const_symbol_ref): Remove #if 0'ed function.

	* gen-protos.c (main): Check for argument.

	* rtl.h: Use ISO C90 prototypes for functions from lists.c.

	* params.h: Use ISO C90 prototypes.
	* params.c: Likewise.
	* intl.c: Likewise.
	* intl.h: Likewise.
	* lists.c: Likewise.
	* errors.c: Likewise.
	* errors.h: Likewise.
	* gencodes.c: Likewise.
	* genpreds.c: Likewise.
	* genattr.c: Likewise.
	* gen-protos.c: Likewise.
	* genflags.c: Likewise
	* genconditions.c: Likewise.
	* genautomata.c: Likewise.
	* gencheck.c: Likewise.
	* genconfig.c: Likewise.
	* genconstants.c: Likewise.
	* genemit.c: Likewise.
	* genextract.c: Likewise.
	* gengenrtl.c: Likewise.
	* gengtype.c: Likewise.
	* gengtype.h: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* gensupport.c: Likewise.
	* gensupport.h: Likewise.

From-SVN: r67296
parent a5a88a76
2003-06-01 Andreas Jaeger <aj@suse.de>
* genrecog.c: Use ISO C90 prototypes.
(nodes_identical): Correct declaration to match prototype.
(maybe_both_true): Likewise.
(merge_trees): Likewise.
* genpeep.c (gen_peephole): Remove #if 0 code.
Use ISO C90 prototypes.
* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
Remove #if 0'ed function simplify_by_alternatives.
(optimize_attrs): Remove #if 0'ed code.
Remove ^L.
Use ISO C90 prototypes.
(make_canonical): Remove #if 0'ed code.
(convert_const_symbol_ref): Remove #if 0'ed function.
* gen-protos.c (main): Check for argument.
* rtl.h: Use ISO C90 prototypes for functions from lists.c.
* params.h: Use ISO C90 prototypes.
* params.c: Likewise.
* intl.c: Likewise.
* intl.h: Likewise.
* lists.c: Likewise.
* errors.c: Likewise.
* errors.h: Likewise.
* gencodes.c: Likewise.
* genpreds.c: Likewise.
* genattr.c: Likewise.
* gen-protos.c: Likewise.
* genflags.c: Likewise
* genconditions.c: Likewise.
* genautomata.c: Likewise.
* gencheck.c: Likewise.
* genconfig.c: Likewise.
* genconstants.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* gengenrtl.c: Likewise.
* gengtype.c: Likewise.
* gengtype.h: Likewise.
* genopinit.c: Likewise.
* genoutput.c: Likewise.
* gensupport.c: Likewise.
* gensupport.h: Likewise.
* sdbout.h: Use ISO C90 prototypes.
* sdbout.c (CONTIN): Removed empty macro.
......
/* Basic error reporting routines.
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2001, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -42,7 +43,7 @@ void
warning (const char *format, ...)
{
va_list ap;
va_start (ap, format);
fprintf (stderr, "%s: warning: ", progname);
vfprintf (stderr, format, ap);
......@@ -57,7 +58,7 @@ void
error (const char *format, ...)
{
va_list ap;
va_start (ap, format);
fprintf (stderr, "%s: ", progname);
vfprintf (stderr, format, ap);
......@@ -74,7 +75,7 @@ void
fatal (const char *format, ...)
{
va_list ap;
va_start (ap, format);
fprintf (stderr, "%s: ", progname);
vfprintf (stderr, format, ap);
......@@ -89,7 +90,7 @@ void
internal_error (const char *format, ...)
{
va_list ap;
va_start (ap, format);
fprintf (stderr, "%s: Internal error: ", progname);
vfprintf (stderr, format, ap);
......@@ -105,8 +106,7 @@ internal_error (const char *format, ...)
version if for the gen* programs and so needn't handle subdirectories. */
const char *
trim_filename (name)
const char *name;
trim_filename (const char *name)
{
static const char this_file[] = __FILE__;
const char *p = name, *q = this_file;
......@@ -130,10 +130,7 @@ trim_filename (name)
This file is used only by build programs, so we're not as polite as
the version in diagnostic.c. */
void
fancy_abort (file, line, func)
const char *file;
int line;
const char *func;
fancy_abort (const char *file, int line, const char *func)
{
internal_error ("abort in %s, at %s:%d", func, file, line);
}
/* Basic error reporting routines.
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2001, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -29,12 +30,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifndef GCC_ERRORS_H
#define GCC_ERRORS_H
extern void warning PARAMS ((const char *, ...));
extern void error PARAMS ((const char *, ...));
extern void fatal PARAMS ((const char *, ...)) ATTRIBUTE_NORETURN;
extern void internal_error PARAMS ((const char *, ...)) ATTRIBUTE_NORETURN;
extern const char *trim_filename PARAMS ((const char *));
extern void fancy_abort PARAMS ((const char *, int, const char *))
extern void warning (const char *, ...);
extern void error (const char *, ...);
extern void fatal (const char *, ...) ATTRIBUTE_NORETURN;
extern void internal_error (const char *, ...) ATTRIBUTE_NORETURN;
extern const char *trim_filename (const char *);
extern void fancy_abort (const char *, int, const char *)
ATTRIBUTE_NORETURN;
extern int have_error;
......
/* gen-protos.c - massages a list of prototypes, for use by fixproto.
Copyright (C) 1993, 1994, 1995, 1996, 1998,
1999 Free Software Foundation, Inc.
1999, 2003 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
......@@ -26,8 +26,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
int verbose = 0;
const char *progname;
static void add_hash PARAMS ((const char *));
static int parse_fn_proto PARAMS ((char *, char *, struct fn_decl *));
static void add_hash (const char *);
static int parse_fn_proto (char *, char *, struct fn_decl *);
#define HASH_SIZE 2503 /* a prime */
int hash_tab[HASH_SIZE];
......@@ -35,8 +35,7 @@ int next_index;
int collisions;
static void
add_hash (fname)
const char *fname;
add_hash (const char *fname)
{
int i, i0;
......@@ -67,9 +66,7 @@ add_hash (fname)
The fields of FN point to the input string. */
static int
parse_fn_proto (start, end, fn)
char *start, *end;
struct fn_decl *fn;
parse_fn_proto (char *start, char *end, struct fn_decl *fn)
{
char *ptr;
int param_nesting = 1;
......@@ -131,12 +128,8 @@ parse_fn_proto (start, end, fn)
return 1;
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc ATTRIBUTE_UNUSED;
char **argv;
main (int argc, char **argv)
{
FILE *inf = stdin;
FILE *outf = stdout;
......@@ -144,6 +137,9 @@ main (argc, argv)
sstring linebuf;
struct fn_decl fn_decl;
if (argc <= 1)
fatal ("no input file name");
i = strlen (argv[0]);
while (i > 0 && argv[0][i-1] != '/') --i;
progname = &argv[0][i];
......@@ -155,7 +151,7 @@ main (argc, argv)
/* A hash table entry of 0 means "unused" so reserve it. */
fprintf (outf, " {\"\", \"\", \"\", 0},\n");
next_index = 1;
for (;;)
{
int c = skip_spaces (inf, ' ');
......@@ -192,6 +188,6 @@ main (argc, argv)
fprintf (stderr, "gen-protos: %d entries %d collisions\n",
next_index, collisions);
return 0;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
/* Generate check macros for tree codes.
Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -32,20 +33,16 @@ static const char *const tree_codes[] = {
(char*) 0
};
static void usage PARAMS ((void));
static void usage (void);
static void
usage ()
usage (void)
{
fputs ("Usage: gencheck\n", stderr);
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv ATTRIBUTE_UNUSED;
main (int argc, char **argv ATTRIBUTE_UNUSED)
{
int i;
......
......@@ -2,7 +2,7 @@
- some macros CODE_FOR_... giving the insn_code_number value
for each of the defined standard insn names.
Copyright (C) 1987, 1991, 1995, 1998,
1999, 2000, 2001 Free Software Foundation, Inc.
1999, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -30,12 +30,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "errors.h"
#include "gensupport.h"
static void gen_insn PARAMS ((rtx, int));
static void
gen_insn (insn, code)
rtx insn;
int code;
gen_insn (rtx insn, int code)
{
const char *name = XSTR (insn, 0);
int truth = maybe_eval_c_test (XSTR (insn, 2));
......@@ -52,12 +48,8 @@ gen_insn (insn, code)
}
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -111,8 +103,7 @@ enum insn_code {");
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
/* Process machine description and calculate constant conditions.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -40,20 +40,17 @@ static int saw_eh_return;
static htab_t condition_table;
static void add_condition PARAMS ((const char *));
static void write_header PARAMS ((void));
static void write_conditions PARAMS ((void));
static int write_one_condition PARAMS ((PTR *, PTR));
extern int main PARAMS ((int, char **));
static void add_condition (const char *);
static void write_header (void);
static void write_conditions (void);
static int write_one_condition (void **, void *);
/* Record the C test expression EXPR in the condition_table.
Duplicates clobber previous entries, which leaks memory, but
we don't care for this application. */
static void
add_condition (expr)
const char *expr;
add_condition (const char *expr)
{
struct c_test *test;
......@@ -69,7 +66,7 @@ add_condition (expr)
/* Generate the header for insn-conditions.c. */
static void
write_header ()
write_header (void)
{
puts ("\
/* Generated automatically by the program `genconditions' from the target\n\
......@@ -122,7 +119,7 @@ write_header ()
extern rtx insn;\n\
extern rtx ins1;\n\
extern rtx operands[];\n\
extern int next_insn_tests_no_inequality PARAMS ((rtx));\n");
extern int next_insn_tests_no_inequality (rtx);\n");
puts ("\
/* If we don't have __builtin_constant_p, or it's not acceptable in\n\
......@@ -142,9 +139,7 @@ extern int next_insn_tests_no_inequality PARAMS ((rtx));\n");
MAYBE_EVAL (! optimize_size && ! TARGET_READ_MODIFY_WRITE) }, */
static int
write_one_condition (slot, dummy)
PTR *slot;
PTR dummy ATTRIBUTE_UNUSED;
write_one_condition (void **slot, void *dummy ATTRIBUTE_UNUSED)
{
const struct c_test *test = * (const struct c_test **) slot;
const char *p;
......@@ -167,7 +162,7 @@ write_one_condition (slot, dummy)
/* Write out the complete conditions table, its size, and a flag
indicating that gensupport.c can now do insn elision. */
static void
write_conditions ()
write_conditions (void)
{
puts ("\
/* This table lists each condition found in the machine description.\n\
......@@ -186,9 +181,7 @@ const struct c_test insn_conditions[] = {");
}
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
int pattern_lineno; /* not used */
......
/* Generate from machine description:
- some #define configuration flags.
Copyright (C) 1987, 1991, 1997, 1998,
1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1987, 1991, 1997, 1998, 1999, 2000, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -50,12 +50,12 @@ static int max_insns_per_peep2;
static int clobbers_seen_this_insn;
static int dup_operands_seen_this_insn;
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));
static void gen_peephole2 PARAMS ((rtx));
static void walk_insn_part (rtx, int, int);
static void gen_insn (rtx);
static void gen_expand (rtx);
static void gen_split (rtx);
static void gen_peephole (rtx);
static void gen_peephole2 (rtx);
/* RECOG_P will be nonzero if this pattern was seen in a context where it will
be used to recognize, rather than just generate an insn.
......@@ -64,10 +64,7 @@ static void gen_peephole2 PARAMS ((rtx));
of a SET whose destination is not (pc). */
static void
walk_insn_part (part, recog_p, non_pc_set_src)
rtx part;
int recog_p;
int non_pc_set_src;
walk_insn_part (rtx part, int recog_p, int non_pc_set_src)
{
int i, j;
RTX_CODE code;
......@@ -171,8 +168,7 @@ walk_insn_part (part, recog_p, non_pc_set_src)
}
static void
gen_insn (insn)
rtx insn;
gen_insn (rtx insn)
{
int i;
......@@ -192,8 +188,7 @@ gen_insn (insn)
/* Similar but scan a define_expand. */
static void
gen_expand (insn)
rtx insn;
gen_expand (rtx insn)
{
int i;
......@@ -219,8 +214,7 @@ gen_expand (insn)
/* Similar but scan a define_split. */
static void
gen_split (split)
rtx split;
gen_split (rtx split)
{
int i;
......@@ -234,8 +228,7 @@ gen_split (split)
}
static void
gen_peephole (peep)
rtx peep;
gen_peephole (rtx peep)
{
int i;
......@@ -246,8 +239,7 @@ gen_peephole (peep)
}
static void
gen_peephole2 (peep)
rtx peep;
gen_peephole2 (rtx peep)
{
int i, n;
......@@ -265,12 +257,8 @@ gen_peephole2 (peep)
max_insns_per_peep2 = n;
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -379,8 +367,7 @@ main (argc, argv)
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
......@@ -2,8 +2,8 @@
a series of #define statements, one for each constant named in
a (define_constants ...) pattern.
Copyright (C) 1987, 1991, 1995, 1998,
1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1987, 1991, 1995, 1998, 1999, 2000, 2001, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -34,16 +34,13 @@ Boston, MA 02111-1307, USA. */
#include "errors.h"
#include "gensupport.h"
static int print_md_constant PARAMS ((void **, void *));
extern int main PARAMS ((int, char **));
static int print_md_constant (void **, void *);
/* Called via traverse_md_constants; emit a #define for
the current constant definition. */
static int
print_md_constant (slot, info)
void **slot;
void *info;
print_md_constant (void **slot, void *info)
{
struct md_constant *def = *slot;
FILE *file = info;
......@@ -53,9 +50,7 @@ print_md_constant (slot, info)
}
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
int dummy1, dummy2;
rtx desc;
......
/* Generate code from machine description to emit insns as rtl.
Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001,
2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -37,7 +37,7 @@ static int insn_code_number;
static int insn_index_number;
/* Data structure for recording the patterns of insns that have CLOBBERs.
We use this to output a function that adds these CLOBBERs to a
We use this to output a function that adds these CLOBBERs to a
previously-allocated PARALLEL expression. */
struct clobber_pat
......@@ -57,22 +57,21 @@ struct clobber_ent
struct clobber_ent *next;
};
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, char *));
static void gen_insn PARAMS ((rtx, int));
static void gen_expand PARAMS ((rtx));
static void gen_split PARAMS ((rtx));
static void output_add_clobbers PARAMS ((void));
static void output_added_clobbers_hard_reg_p PARAMS ((void));
static void gen_rtx_scratch PARAMS ((rtx, enum rtx_code));
static void output_peephole2_scratches PARAMS ((rtx));
static void max_operand_1 (rtx);
static int max_operand_vec (rtx, int);
static void print_code (RTX_CODE);
static void gen_exp (rtx, enum rtx_code, char *);
static void gen_insn (rtx, int);
static void gen_expand (rtx);
static void gen_split (rtx);
static void output_add_clobbers (void);
static void output_added_clobbers_hard_reg_p (void);
static void gen_rtx_scratch (rtx, enum rtx_code);
static void output_peephole2_scratches (rtx);
static void
max_operand_1 (x)
rtx x;
max_operand_1 (rtx x)
{
RTX_CODE code;
int i;
......@@ -112,9 +111,7 @@ max_operand_1 (x)
}
static int
max_operand_vec (insn, arg)
rtx insn;
int arg;
max_operand_vec (rtx insn, int arg)
{
int len = XVECLEN (insn, arg);
int i;
......@@ -130,8 +127,7 @@ max_operand_vec (insn, arg)
}
static void
print_code (code)
RTX_CODE code;
print_code (RTX_CODE code)
{
const char *p1;
for (p1 = GET_RTX_NAME (code); *p1; p1++)
......@@ -139,9 +135,7 @@ print_code (code)
}
static void
gen_rtx_scratch (x, subroutine_type)
rtx x;
enum rtx_code subroutine_type;
gen_rtx_scratch (rtx x, enum rtx_code subroutine_type)
{
if (subroutine_type == DEFINE_PEEPHOLE2)
{
......@@ -157,10 +151,7 @@ gen_rtx_scratch (x, subroutine_type)
substituting any operand references appearing within. */
static void
gen_exp (x, subroutine_type, used)
rtx x;
enum rtx_code subroutine_type;
char *used;
gen_exp (rtx x, enum rtx_code subroutine_type, char *used)
{
RTX_CODE code;
int i;
......@@ -294,14 +285,12 @@ gen_exp (x, subroutine_type, used)
abort ();
}
printf (")");
}
}
/* Generate the `gen_...' function for a DEFINE_INSN. */
static void
gen_insn (insn, lineno)
rtx insn;
int lineno;
gen_insn (rtx insn, int lineno)
{
int operands;
int i;
......@@ -349,7 +338,7 @@ gen_insn (insn, lineno)
rtx new = XEXP (XVECEXP (insn, 1, j), 0);
/* OLD and NEW are the same if both are to be a SCRATCH
of the same mode,
of the same mode,
or if both are registers of the same mode and number. */
if (! (GET_MODE (old) == GET_MODE (new)
&& ((GET_CODE (old) == MATCH_SCRATCH
......@@ -358,7 +347,7 @@ gen_insn (insn, lineno)
&& REGNO (old) == REGNO (new)))))
break;
}
if (j == XVECLEN (insn, 1))
break;
}
......@@ -366,7 +355,7 @@ gen_insn (insn, lineno)
if (p == 0)
{
p = (struct clobber_pat *) xmalloc (sizeof (struct clobber_pat));
p->insns = 0;
p->pattern = insn;
p->first_clobber = i + 1;
......@@ -432,8 +421,7 @@ gen_insn (insn, lineno)
/* Generate the `gen_...' function for a DEFINE_EXPAND. */
static void
gen_expand (expand)
rtx expand;
gen_expand (rtx expand)
{
int operands;
int i;
......@@ -569,8 +557,7 @@ gen_expand (expand)
/* Like gen_expand, but generates insns resulting from splitting SPLIT. */
static void
gen_split (split)
rtx split;
gen_split (rtx split)
{
int i;
int operands;
......@@ -596,7 +583,7 @@ gen_split (split)
/* Output the prototype, function name and argument declarations. */
if (GET_CODE (split) == DEFINE_PEEPHOLE2)
{
printf ("extern rtx gen_%s_%d PARAMS ((rtx, rtx *));\n",
printf ("extern rtx gen_%s_%d (rtx, rtx *);\n",
name, insn_code_number);
printf ("rtx\ngen_%s_%d (curr_insn, operands)\n",
name, insn_code_number);
......@@ -605,7 +592,7 @@ gen_split (split)
}
else
{
printf ("extern rtx gen_split_%d PARAMS ((rtx *));\n", insn_code_number);
printf ("extern rtx gen_split_%d (rtx *);\n", insn_code_number);
printf ("rtx\ngen_%s_%d (operands)\n", name, insn_code_number);
printf (" rtx *operands%s;\n", unused);
}
......@@ -724,7 +711,7 @@ output_add_clobbers ()
hard reg and 0 if they just clobber SCRATCH. */
static void
output_added_clobbers_hard_reg_p ()
output_added_clobbers_hard_reg_p (void)
{
struct clobber_pat *clobber;
struct clobber_ent *ent;
......@@ -761,8 +748,7 @@ output_added_clobbers_hard_reg_p ()
scratch registers used by the peephole2 pattern in SPLIT. */
static void
output_peephole2_scratches (split)
rtx split;
output_peephole2_scratches (rtx split)
{
int i;
int insn_nr = 0;
......@@ -788,7 +774,7 @@ output_peephole2_scratches (split)
cur_insn_nr++;
printf (" if ((operands[%d] = peep2_find_free_register (%d, %d, \"%s\", %smode, &_regs_allocated)) == NULL_RTX)\n\
return NULL;\n",
return NULL;\n",
XINT (elt, 0),
insn_nr, last_insn_nr,
XSTR (elt, 1),
......@@ -800,12 +786,8 @@ output_peephole2_scratches (split)
}
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -896,8 +878,7 @@ from the machine description file `md'. */\n\n");
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
/* Generate code from machine description to extract operands from insn as rtl.
Copyright (C) 1987, 1991, 1992, 1993, 1997, 1998,
1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1987, 1991, 1992, 1993, 1997, 1998, 1999, 2000, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -31,7 +31,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* This structure contains all the information needed to describe one
set of extractions methods. Each method may be used by more than
set of extractions methods. Each method may be used by more than
one pattern if the operands are in the same place.
The string for each operand describes that path to the operand and
......@@ -95,14 +95,13 @@ static int dupnums[MAX_DUP_OPERANDS];
static struct code_ptr *peepholes;
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 (rtx);
static void walk_rtx (rtx, const char *);
static void print_path (const char *);
static void record_insn_name (int, const char *);
static void
gen_insn (insn)
rtx insn;
gen_insn (rtx insn)
{
int i;
struct extraction *p;
......@@ -181,9 +180,7 @@ gen_insn (insn)
}
static void
walk_rtx (x, path)
rtx x;
const char *path;
walk_rtx (rtx x, const char *path)
{
RTX_CODE code;
int i;
......@@ -222,11 +219,11 @@ walk_rtx (x, path)
duplocs[dup_count] = xstrdup (path);
dupnums[dup_count] = XINT (x, 0);
dup_count++;
newpath = (char *) xmalloc (depth + 2);
strcpy (newpath, path);
newpath[depth + 1] = 0;
for (i = XVECLEN (x, 1) - 1; i >= 0; i--)
{
newpath[depth] = (code == MATCH_OP_DUP ? '0' : 'a') + i;
......@@ -234,7 +231,7 @@ walk_rtx (x, path)
}
free (newpath);
return;
case MATCH_OPERATOR:
oplocs[XINT (x, 0)] = xstrdup (path);
op_count = MAX (op_count, XINT (x, 0) + 1);
......@@ -306,8 +303,7 @@ walk_rtx (x, path)
evaluate to the rtx at that point. */
static void
print_path (path)
const char *path;
print_path (const char *path)
{
int len = strlen (path);
int i;
......@@ -332,7 +328,7 @@ print_path (path)
else
abort ();
}
printf ("pat");
for (i = 0; i < len; i++)
......@@ -346,12 +342,9 @@ print_path (path)
}
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
int i;
......@@ -458,7 +451,7 @@ from the machine description file `md'. */\n\n");
else
printf (" case %d:\n", i);
}
for (i = 0; i < p->op_count; i++)
{
if (p->oplocs[i] == 0)
......@@ -522,7 +515,7 @@ record_insn_name (code, name)
new_size = (insn_name_ptr_size ? insn_name_ptr_size * 2 : 512);
insn_name_ptr =
(char **) xrealloc (insn_name_ptr, sizeof(char *) * new_size);
memset (insn_name_ptr + insn_name_ptr_size, 0,
memset (insn_name_ptr + insn_name_ptr_size, 0,
sizeof(char *) * (new_size - insn_name_ptr_size));
insn_name_ptr_size = new_size;
}
......@@ -537,6 +530,6 @@ record_insn_name (code, name)
last_real_name = new = xstrdup (name);
last_real_code = code;
}
insn_name_ptr[code] = new;
}
}
......@@ -2,7 +2,7 @@
- some flags HAVE_... saying which simple standard instructions are
available for this machine.
Copyright (C) 1987, 1991, 1995, 1998,
1999, 2000 Free Software Foundation, Inc.
1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -40,17 +40,16 @@ static int max_id_len;
/* Max operand encountered in a scan over some insn. */
static int max_opno;
static void max_operand_1 PARAMS ((rtx));
static int num_operands PARAMS ((rtx));
static void gen_proto PARAMS ((rtx));
static void gen_macro PARAMS ((const char *, int, int));
static void gen_insn PARAMS ((rtx));
static void max_operand_1 (rtx);
static int num_operands (rtx);
static void gen_proto (rtx);
static void gen_macro (const char *, int, int);
static void gen_insn (rtx);
/* Count the number of match_operand's found. */
static void
max_operand_1 (x)
rtx x;
max_operand_1 (rtx x)
{
RTX_CODE code;
int i;
......@@ -82,8 +81,7 @@ max_operand_1 (x)
}
static int
num_operands (insn)
rtx insn;
num_operands (rtx insn)
{
int len = XVECLEN (insn, 1);
int i;
......@@ -100,9 +98,7 @@ num_operands (insn)
of arguments it takes. Any missing arguments are assumed to be at
the end. */
static void
gen_macro (name, real, expect)
const char *name;
int real, expect;
gen_macro (const char *name, int real, int expect)
{
int i;
......@@ -131,8 +127,7 @@ gen_macro (name, real, expect)
does nothing. */
static void
gen_proto (insn)
rtx insn;
gen_proto (rtx insn)
{
int num = num_operands (insn);
int i;
......@@ -159,9 +154,9 @@ gen_proto (insn)
}
if (truth != 0)
printf ("extern rtx gen_%-*s PARAMS ((", max_id_len, name);
printf ("extern rtx gen_%-*s (", max_id_len, name);
else
printf ("static inline rtx gen_%-*s PARAMS ((", max_id_len, name);
printf ("static inline rtx gen_%-*s (", max_id_len, name);
if (num == 0)
fputs ("void", stdout);
......@@ -169,11 +164,11 @@ gen_proto (insn)
{
for (i = 1; i < num; i++)
fputs ("rtx, ", stdout);
fputs ("rtx", stdout);
}
puts ("));");
puts (");");
/* Some back ends want to take the address of generator functions,
so we cannot simply use #define for these dummy definitions. */
......@@ -197,8 +192,7 @@ gen_proto (insn)
}
static void
gen_insn (insn)
rtx insn;
gen_insn (rtx insn)
{
const char *name = XSTR (insn, 0);
const char *p;
......@@ -238,12 +232,8 @@ gen_insn (insn)
obstack_grow (&obstack, &insn, sizeof (rtx));
}
extern int main PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
rtx dummy;
......@@ -262,7 +252,7 @@ main (argc, argv)
if (init_md_reader_args (argc, argv) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
puts ("/* Generated automatically by the program `genflags'");
puts (" from the machine description file `md'. */\n");
puts ("#ifndef GCC_INSN_FLAGS_H");
......@@ -299,8 +289,7 @@ main (argc, argv)
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
/* Generate code to allocate RTL structures.
Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -44,24 +45,23 @@ static const struct rtx_definition defs[] =
static const char *formats[NUM_RTX_CODE];
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 int excluded_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));
static const char *type_from_format (int);
static const char *accessor_from_format (int);
static int special_format (const char *);
static int special_rtx (int);
static int excluded_rtx (int);
static void find_formats (void);
static void gendecl (const char *);
static void genmacro (int);
static void gendef (const char *);
static void genlegend (void);
static void genheader (void);
static void gencode (void);
/* Decode a format letter into a C type string. */
static const char *
type_from_format (c)
int c;
type_from_format (int c)
{
switch (c)
{
......@@ -93,8 +93,7 @@ type_from_format (c)
/* Decode a format letter into the proper accessor function. */
static const char *
accessor_from_format (c)
int c;
accessor_from_format (int c)
{
switch (c)
{
......@@ -131,8 +130,7 @@ accessor_from_format (c)
the list of formats we write routines to create. */
static int
special_format (fmt)
const char *fmt;
special_format (const char *fmt)
{
return (strchr (fmt, '*') != 0
|| strchr (fmt, 'V') != 0
......@@ -145,8 +143,7 @@ special_format (fmt)
is a wrapper in emit-rtl.c). */
static int
special_rtx (idx)
int idx;
special_rtx (int idx)
{
return (strcmp (defs[idx].enumname, "CONST_INT") == 0
|| strcmp (defs[idx].enumname, "REG") == 0
......@@ -160,8 +157,7 @@ special_rtx (idx)
cannot have the obvious interface). */
static int
excluded_rtx (idx)
int idx;
excluded_rtx (int idx)
{
return (strcmp (defs[idx].enumname, "CONST_DOUBLE") == 0);
}
......@@ -169,7 +165,7 @@ excluded_rtx (idx)
/* Place a list of all format specifiers we use into the array FORMAT. */
static void
find_formats ()
find_formats (void)
{
int i;
......@@ -192,13 +188,12 @@ find_formats ()
/* Write the declarations for the routine to allocate RTL with FORMAT. */
static void
gendecl (format)
const char *format;
gendecl (const char *format)
{
const char *p;
int i, pos;
printf ("extern rtx gen_rtx_fmt_%s\tPARAMS ((RTX_CODE, ", format);
printf ("extern rtx gen_rtx_fmt_%s\t (RTX_CODE, ", format);
printf ("enum machine_mode mode");
/* Write each parameter that is needed and start a new line when the line
......@@ -216,15 +211,14 @@ gendecl (format)
pos += ourlen;
}
printf ("));\n");
printf (");\n");
}
/* Generate macros to generate RTL of code IDX using the functions we
write. */
static void
genmacro (idx)
int idx;
genmacro (int idx)
{
const char *p;
int i;
......@@ -257,8 +251,7 @@ genmacro (idx)
format is FORMAT. */
static void
gendef (format)
const char *format;
gendef (const char *format)
{
const char *p;
int i, j;
......@@ -298,7 +291,7 @@ gendef (format)
/* Generate the documentation header for files we write. */
static void
genlegend ()
genlegend (void)
{
puts ("/* Generated automatically by gengenrtl from rtl.def. */\n");
}
......@@ -306,7 +299,7 @@ genlegend ()
/* Generate the text of the header file we make, genrtl.h. */
static void
genheader ()
genheader (void)
{
int i;
const char **fmt;
......@@ -329,7 +322,7 @@ genheader ()
/* Generate the text of the code file we write, genrtl.c. */
static void
gencode ()
gencode (void)
{
const char **fmt;
......@@ -348,12 +341,9 @@ gencode ()
/* 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 PARAMS ((int, char **));
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
find_formats ();
genlegend ();
......
/* Process source files and output type information.
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -111,36 +111,36 @@ extern struct fileloc lexer_line;
/* Print an error message. */
extern void error_at_line
PARAMS ((struct fileloc *pos, const char *msg, ...)) ATTRIBUTE_PRINTF_2;
(struct fileloc *pos, const char *msg, ...) ATTRIBUTE_PRINTF_2;
/* Combines xmalloc() and vasprintf(). */
extern int xvasprintf PARAMS ((char **, const char *, va_list))
extern int xvasprintf (char **, const char *, va_list)
ATTRIBUTE_PRINTF (2, 0);
/* Like the above, but more convenient for quick coding. */
extern char * xasprintf PARAMS ((const char *, ...))
extern char * xasprintf (const char *, ...)
ATTRIBUTE_PRINTF_1;
/* Constructor routines for types. */
extern void do_typedef PARAMS ((const char *s, type_p t, struct fileloc *pos));
extern type_p resolve_typedef PARAMS ((const char *s, struct fileloc *pos));
extern void new_structure PARAMS ((const char *name, int isunion,
struct fileloc *pos, pair_p fields,
options_p o));
extern type_p find_structure PARAMS ((const char *s, int isunion));
extern type_p create_scalar_type PARAMS ((const char *name, size_t name_len));
extern type_p create_pointer PARAMS ((type_p t));
extern type_p create_array PARAMS ((type_p t, const char *len));
extern type_p adjust_field_type PARAMS ((type_p, options_p));
extern void note_variable PARAMS ((const char *s, type_p t, options_p o,
struct fileloc *pos));
extern void note_yacc_type PARAMS ((options_p o, pair_p fields,
pair_p typeinfo, struct fileloc *pos));
extern void do_typedef (const char *s, type_p t, struct fileloc *pos);
extern type_p resolve_typedef (const char *s, struct fileloc *pos);
extern void new_structure (const char *name, int isunion,
struct fileloc *pos, pair_p fields,
options_p o);
extern type_p find_structure (const char *s, int isunion);
extern type_p create_scalar_type (const char *name, size_t name_len);
extern type_p create_pointer (type_p t);
extern type_p create_array (type_p t, const char *len);
extern type_p adjust_field_type (type_p, options_p);
extern void note_variable (const char *s, type_p t, options_p o,
struct fileloc *pos);
extern void note_yacc_type (options_p o, pair_p fields,
pair_p typeinfo, struct fileloc *pos);
/* Lexer and parser routines, most automatically generated. */
extern int yylex PARAMS((void));
extern void yyerror PARAMS ((const char *));
extern int yyparse PARAMS ((void));
extern void parse_file PARAMS ((const char *name));
extern int yylex (void);
extern void yyerror (const char *);
extern int yyparse (void);
extern void parse_file (const char *name);
/* Output file handling. */
......@@ -164,8 +164,8 @@ extern outf_p header_file;
made in INPUT_FILE and is linked into every language that uses
INPUT_FILE. */
extern outf_p get_output_file_with_visibility
PARAMS ((const char *input_file));
const char *get_output_file_name PARAMS ((const char *));
(const char *input_file);
const char *get_output_file_name (const char *);
/* A list of output files suitable for definitions. There is one
BASE_FILES entry for each language. */
......@@ -174,8 +174,8 @@ extern outf_p base_files[];
/* A bitmap that specifies which of BASE_FILES should be used to
output a definition that is different for each language and must be
defined once in each language that uses INPUT_FILE. */
extern lang_bitmap get_base_file_bitmap PARAMS ((const char *input_file));
extern lang_bitmap get_base_file_bitmap (const char *input_file);
/* Print, like fprintf, to O. */
extern void oprintf PARAMS ((outf_p o, const char *S, ...))
extern void oprintf (outf_p o, const char *S, ...)
ATTRIBUTE_PRINTF_2;
......@@ -149,11 +149,10 @@ static const char * const optabs[] =
"movstr_optab[$A] = CODE_FOR_$(movstr$a$)",
"clrstr_optab[$A] = CODE_FOR_$(clrstr$a$)" };
static void gen_insn PARAMS ((rtx));
static void gen_insn (rtx);
static void
gen_insn (insn)
rtx insn;
gen_insn (rtx insn)
{
const char *name = XSTR (insn, 0);
int m1 = 0, m2 = 0, op = 0;
......@@ -321,12 +320,10 @@ gen_insn (insn)
printf (";\n");
}
extern int main PARAMS ((int, char **));
extern int main (int, char **);
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -377,8 +374,7 @@ from the machine description file `md'. */\n\n");
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
......@@ -99,8 +99,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define MAX_MAX_OPERANDS 40
static int n_occurrences PARAMS ((int, const char *));
static const char *strip_whitespace PARAMS ((const char *));
static int n_occurrences (int, const char *);
static const char *strip_whitespace (const char *);
/* insns in the machine description are assigned sequential code numbers
that are used by insn-recog.c (produced by genrecog) to communicate
......@@ -173,28 +173,27 @@ struct data
static struct data *idata, **idata_end = &idata;
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 PARAMS ((struct data *));
static void process_template PARAMS ((struct data *, const char *));
static void validate_insn_alternatives PARAMS ((struct data *));
static void validate_insn_operands PARAMS ((struct data *));
static void gen_insn PARAMS ((rtx, int));
static void gen_peephole PARAMS ((rtx, int));
static void gen_expand PARAMS ((rtx, int));
static void gen_split PARAMS ((rtx, int));
static void check_constraint_len PARAMS ((void));
static int constraint_len PARAMS ((const char *, int));
static void output_prologue (void);
static void output_predicate_decls (void);
static void output_operand_data (void);
static void output_insn_data (void);
static void output_get_insn_name (void);
static void scan_operands (struct data *, rtx, int, int);
static int compare_operands (struct operand_data *,
struct operand_data *);
static void place_operands (struct data *);
static void process_template (struct data *, const char *);
static void validate_insn_alternatives (struct data *);
static void validate_insn_operands (struct data *);
static void gen_insn (rtx, int);
static void gen_peephole (rtx, int);
static void gen_expand (rtx, int);
static void gen_split (rtx, int);
static void check_constraint_len (void);
static int constraint_len (const char *, int);
const char *
get_insn_name (index)
int index;
get_insn_name (int index)
{
static char buf[100];
......@@ -216,7 +215,7 @@ get_insn_name (index)
}
static void
output_prologue ()
output_prologue (void)
{
printf ("/* Generated automatically by the program `genoutput'\n\
from the machine description file `md'. */\n\n");
......@@ -251,7 +250,7 @@ output_prologue ()
struct predicate { const char *name; struct predicate *next; };
static void
output_predicate_decls ()
output_predicate_decls (void)
{
struct predicate *predicates = 0;
struct operand_data *d;
......@@ -266,7 +265,7 @@ output_predicate_decls ()
if (p == 0)
{
printf ("extern int %s PARAMS ((rtx, enum machine_mode));\n",
printf ("extern int %s (rtx, enum machine_mode);\n",
d->predicate);
p = (struct predicate *) xmalloc (sizeof (struct predicate));
p->name = d->predicate;
......@@ -284,7 +283,7 @@ output_predicate_decls ()
}
static void
output_operand_data ()
output_operand_data (void)
{
struct operand_data *d;
......@@ -311,7 +310,7 @@ output_operand_data ()
}
static void
output_insn_data ()
output_insn_data (void)
{
struct data *d;
int name_offset = 0;
......@@ -369,7 +368,7 @@ output_insn_data ()
{
const char *p = d->template;
char prev = 0;
printf (" \"");
while (*p)
{
......@@ -413,7 +412,7 @@ output_insn_data ()
}
static void
output_get_insn_name ()
output_get_insn_name (void)
{
printf ("const char *\n");
printf ("get_insn_name (code)\n");
......@@ -438,11 +437,8 @@ static int max_opno;
static int num_dups;
static void
scan_operands (d, part, this_address_p, this_strict_low)
struct data *d;
rtx part;
int this_address_p;
int this_strict_low;
scan_operands (struct data *d, rtx part, int this_address_p,
int this_strict_low)
{
int i, j;
const char *format_ptr;
......@@ -554,7 +550,7 @@ scan_operands (d, part, this_address_p, this_strict_low)
case STRICT_LOW_PART:
scan_operands (d, XEXP (part, 0), 0, 1);
return;
default:
break;
}
......@@ -579,8 +575,7 @@ scan_operands (d, part, this_address_p, this_strict_low)
/* Compare two operands for content equality. */
static int
compare_operands (d0, d1)
struct operand_data *d0, *d1;
compare_operands (struct operand_data *d0, struct operand_data *d1)
{
const char *p0, *p1;
......@@ -618,8 +613,7 @@ compare_operands (d0, d1)
find a subsequence that is the same, or allocate a new one at the end. */
static void
place_operands (d)
struct data *d;
place_operands (struct data *d)
{
struct operand_data *od, *od2;
int i;
......@@ -673,9 +667,7 @@ place_operands (d)
templates, or C code to generate the assembler code template. */
static void
process_template (d, template)
struct data *d;
const char *template;
process_template (struct data *d, const char *template)
{
const char *cp;
int i;
......@@ -686,7 +678,7 @@ process_template (d, template)
d->template = 0;
d->output_format = INSN_OUTPUT_FORMAT_FUNCTION;
printf ("\nstatic const char *output_%d PARAMS ((rtx *, rtx));\n",
printf ("\nstatic const char *output_%d (rtx *, rtx);\n",
d->code_number);
puts ("\nstatic const char *");
printf ("output_%d (operands, insn)\n", d->code_number);
......@@ -744,8 +736,7 @@ process_template (d, template)
/* Check insn D for consistency in number of constraint alternatives. */
static void
validate_insn_alternatives (d)
struct data *d;
validate_insn_alternatives (struct data *d)
{
int n = 0, start;
......@@ -816,8 +807,7 @@ validate_insn_alternatives (d)
/* Verify that there are no gaps in operand numbers for INSNs. */
static void
validate_insn_operands (d)
struct data *d;
validate_insn_operands (struct data *d)
{
int i;
......@@ -834,9 +824,7 @@ validate_insn_operands (d)
a hairy output action, output a function for now. */
static void
gen_insn (insn, lineno)
rtx insn;
int lineno;
gen_insn (rtx insn, int lineno)
{
struct data *d = (struct data *) xmalloc (sizeof (struct data));
int i;
......@@ -877,9 +865,7 @@ gen_insn (insn, lineno)
If the insn has a hairy output action, output it now. */
static void
gen_peephole (peep, lineno)
rtx peep;
int lineno;
gen_peephole (rtx peep, int lineno)
{
struct data *d = (struct data *) xmalloc (sizeof (struct data));
int i;
......@@ -917,9 +903,7 @@ gen_peephole (peep, lineno)
only for the purposes of `insn_gen_function'. */
static void
gen_expand (insn, lineno)
rtx insn;
int lineno;
gen_expand (rtx insn, int lineno)
{
struct data *d = (struct data *) xmalloc (sizeof (struct data));
int i;
......@@ -962,9 +946,7 @@ gen_expand (insn, lineno)
only for reasons of consistency and to simplify genrecog. */
static void
gen_split (split, lineno)
rtx split;
int lineno;
gen_split (rtx split, int lineno)
{
struct data *d = (struct data *) xmalloc (sizeof (struct data));
int i;
......@@ -999,12 +981,10 @@ gen_split (split, lineno)
place_operands (d);
}
extern int main PARAMS ((int, char **));
extern int main (int, char **);
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -1037,7 +1017,7 @@ main (argc, argv)
if (GET_CODE (desc) == DEFINE_EXPAND)
gen_expand (desc, line_no);
if (GET_CODE (desc) == DEFINE_SPLIT
|| GET_CODE (desc) == DEFINE_PEEPHOLE2)
|| GET_CODE (desc) == DEFINE_PEEPHOLE2)
gen_split (desc, line_no);
next_index_number++;
}
......@@ -1057,9 +1037,7 @@ main (argc, argv)
-1 if S is the null string. */
static int
n_occurrences (c, s)
int c;
const char *s;
n_occurrences (int c, const char *s)
{
int n = 0;
......@@ -1076,8 +1054,7 @@ n_occurrences (c, s)
Return a new string. */
static const char *
strip_whitespace (s)
const char *s;
strip_whitespace (const char *s)
{
char *p, *q;
char ch;
......@@ -1098,7 +1075,7 @@ strip_whitespace (s)
tampered with. This isn't bullet-proof, but it should catch
most genuine mistakes. */
static void
check_constraint_len ()
check_constraint_len (void)
{
const char *p;
int d;
......@@ -1110,9 +1087,7 @@ check_constraint_len ()
}
static int
constraint_len (p, genoutput_default_constraint_len)
const char *p;
int genoutput_default_constraint_len;
constraint_len (const char *p, int genoutput_default_constraint_len)
{
/* Check that we still match defaults.h . First we do a generation-time
check that fails if the value is not the expected one... */
......
/* Generate code from machine description to perform peephole optimizations.
Copyright (C) 1987, 1989, 1992, 1997, 1998,
1999, 2000 Free Software Foundation, Inc.
1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -53,14 +53,13 @@ static int n_operands;
static int insn_code_number = 0;
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));
static void gen_peephole (rtx);
static void match_rtx (rtx, struct link *, int);
static void print_path (struct link *);
static void print_code (RTX_CODE);
static void
gen_peephole (peep)
rtx peep;
gen_peephole (rtx peep)
{
int ninsns = XVECLEN (peep, 0);
int i;
......@@ -68,9 +67,6 @@ gen_peephole (peep)
n_operands = 0;
printf (" insn = ins1;\n");
#if 0
printf (" want_jump = 0;\n");
#endif
for (i = 0; i < ninsns; i++)
{
......@@ -86,14 +82,9 @@ gen_peephole (peep)
printf (" if (GET_CODE (insn) == CODE_LABEL\n\
|| GET_CODE (insn) == BARRIER)\n goto L%d;\n",
insn_code_number);
insn_code_number);
}
#if 0
printf (" if (GET_CODE (insn) == JUMP_INSN)\n");
printf (" want_jump = JUMP_LABEL (insn);\n");
#endif
printf (" pat = PATTERN (insn);\n");
/* Walk the insn's pattern, remembering at all times the path
......@@ -117,15 +108,6 @@ gen_peephole (peep)
printf (" PATTERN (ins1) = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (%d, operands));\n", n_operands);
#if 0
printf (" if (want_jump && GET_CODE (ins1) != JUMP_INSN)\n");
printf (" {\n");
printf (" rtx insn2 = emit_jump_insn_before (PATTERN (ins1), ins1);\n");
printf (" delete_related_insns (ins1);\n");
printf (" ins1 = ins2;\n");
printf (" }\n");
#endif
/* Record this define_peephole's insn code in the insn,
as if it had been recognized to match this. */
printf (" INSN_CODE (ins1) = %d;\n",
......@@ -143,10 +125,7 @@ gen_peephole (peep)
}
static void
match_rtx (x, path, fail_label)
rtx x;
struct link *path;
int fail_label;
match_rtx (rtx x, struct link *path, int fail_label)
{
RTX_CODE code;
int i;
......@@ -256,7 +235,7 @@ match_rtx (x, path, fail_label)
case ADDRESS:
match_rtx (XEXP (x, 0), path, fail_label);
return;
default:
break;
}
......@@ -343,8 +322,7 @@ match_rtx (x, path, fail_label)
evaluate to the rtx at that point. */
static void
print_path (path)
struct link *path;
print_path (struct link *path)
{
if (path == 0)
printf ("pat");
......@@ -363,20 +341,17 @@ print_path (path)
}
static void
print_code (code)
RTX_CODE code;
print_code (RTX_CODE code)
{
const char *p1;
for (p1 = GET_RTX_NAME (code); *p1; p1++)
putchar (TOUPPER(*p1));
}
extern int main PARAMS ((int, char **));
extern int main (int, char **);
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
rtx desc;
......@@ -457,8 +432,7 @@ from the machine description file `md'. */\n\n");
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
const char *
get_insn_name (code)
int code ATTRIBUTE_UNUSED;
get_insn_name (int code ATTRIBUTE_UNUSED)
{
return NULL;
}
......@@ -2,7 +2,7 @@
- some macros CODE_FOR_... giving the insn_code_number value
for each of the defined standard insn names.
Copyright (C) 1987, 1991, 1995, 1998,
1999, 2000, 2001 Free Software Foundation, Inc.
1999, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -29,11 +29,9 @@ Boston, MA 02111-1307, USA. */
#define NO_GENRTL_H
#include "rtl.h"
static void output_predicate_decls PARAMS ((void));
extern int main PARAMS ((void));
static void
output_predicate_decls ()
output_predicate_decls (void)
{
#ifdef PREDICATE_CODES
static const struct {
......@@ -46,14 +44,14 @@ output_predicate_decls ()
puts ("#ifdef RTX_CODE\n");
for (i = 0; i < ARRAY_SIZE (predicate); i++)
printf ("extern int %s PARAMS ((rtx, enum machine_mode));\n",
printf ("extern int %s (rtx, enum machine_mode);\n",
predicate[i].name);
puts ("\n#endif /* RTX_CODE */\n");
#endif
}
int
main ()
main (void)
{
puts ("/* Generated automatically by the program `genpreds'. */\n");
puts ("#ifndef GCC_TM_PREDS_H");
......
/* Declarations for rtx-reader support for gen* routines.
Copyright (C) 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -24,11 +24,11 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
struct obstack;
extern struct obstack *rtl_obstack;
extern int init_md_reader_args PARAMS ((int, char **));
extern int init_md_reader PARAMS ((const char *));
extern rtx read_md_rtx PARAMS ((int *, int *));
extern int init_md_reader_args (int, char **);
extern int init_md_reader (const char *);
extern rtx read_md_rtx (int *, int *);
extern void message_with_line PARAMS ((int, const char *, ...))
extern void message_with_line (int, const char *, ...)
ATTRIBUTE_PRINTF_2;
/* Set this to 0 to disable automatic elision of insn patterns which
......@@ -46,7 +46,7 @@ extern const int insn_elision_unavailable;
time, return its truth value; else return -1. The test must have
appeared somewhere in the machine description when genconditions
was run. */
extern int maybe_eval_c_test PARAMS ((const char *));
extern int maybe_eval_c_test (const char *);
/* This table should not be accessed directly; use maybe_eval_c_test. */
struct c_test
......@@ -59,11 +59,11 @@ extern const struct c_test insn_conditions[];
extern const size_t n_insn_conditions;
#ifdef __HASHTAB_H__
extern hashval_t hash_c_test PARAMS ((const PTR));
extern int cmp_c_test PARAMS ((const PTR, const PTR));
extern hashval_t hash_c_test (const void *);
extern int cmp_c_test (const void *, const void *);
#endif
extern int n_comma_elts PARAMS ((const char *));
extern const char *scan_comma_elt PARAMS ((const char **));
extern int n_comma_elts (const char *);
extern const char *scan_comma_elt (const char **);
#endif /* GCC_GENSUPPORT_H */
/* Message translation utilities.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -32,7 +32,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
terminal, so it has be set to output messages correctly. */
void
gcc_init_libintl ()
gcc_init_libintl (void)
{
#ifdef HAVE_LC_MESSAGES
setlocale (LC_CTYPE, "");
......@@ -52,8 +52,7 @@ gcc_init_libintl ()
This is for indenting subsequent output. */
size_t
gcc_gettext_width (msgstr)
const char *msgstr;
gcc_gettext_width (const char *msgstr)
{
size_t nwcs = mbstowcs (0, msgstr, 0);
wchar_t *wmsgstr = alloca ((nwcs + 1) * sizeof (wchar_t));
......@@ -68,8 +67,7 @@ gcc_gettext_width (msgstr)
the length of the string. */
size_t
gcc_gettext_width (msgstr)
const char *msgstr;
gcc_gettext_width (const char *msgstr)
{
return strlen (msgstr);
}
......
/* intl.h - internationalization
Copyright 1998, 2001 Free Software Foundation, Inc.
Copyright 1998, 2001, 2003 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -38,8 +38,8 @@
#endif
#ifdef ENABLE_NLS
extern void gcc_init_libintl PARAMS ((void));
extern size_t gcc_gettext_width PARAMS ((const char *));
extern void gcc_init_libintl (void);
extern size_t gcc_gettext_width (const char *);
#else
/* Stubs. */
# undef textdomain
......
/* List management for the GNU C-Compiler expander.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999 Free Software Foundation, Inc.
1999, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -27,7 +27,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "rtl.h"
#include "ggc.h"
static void free_list PARAMS ((rtx *, rtx *));
static void free_list (rtx *, rtx *);
/* Functions for maintaining cache-able lists of EXPR_LIST and INSN_LISTs. */
......@@ -43,8 +43,7 @@ static GTY ((deletable (""))) rtx unused_expr_list;
nodes of one type only. This is only called by free_EXPR_LIST_list
and free_INSN_LIST_list. */
static void
free_list (listp, unused_listp)
rtx *listp, *unused_listp;
free_list (rtx *listp, rtx *unused_listp)
{
rtx link, prev_link;
......@@ -66,8 +65,7 @@ free_list (listp, unused_listp)
node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST
is made. */
rtx
alloc_INSN_LIST (val, next)
rtx val, next;
alloc_INSN_LIST (rtx val, rtx next)
{
rtx r;
......@@ -89,9 +87,7 @@ alloc_INSN_LIST (val, next)
node available, we'll use it, otherwise a call to gen_rtx_EXPR_LIST
is made. */
rtx
alloc_EXPR_LIST (kind, val, next)
int kind;
rtx val, next;
alloc_EXPR_LIST (int kind, rtx val, rtx next)
{
rtx r;
......@@ -111,8 +107,7 @@ alloc_EXPR_LIST (kind, val, next)
/* This function will free up an entire list of EXPR_LIST nodes. */
void
free_EXPR_LIST_list (listp)
rtx *listp;
free_EXPR_LIST_list (rtx *listp)
{
if (*listp == 0)
return;
......@@ -121,8 +116,7 @@ free_EXPR_LIST_list (listp)
/* This function will free up an entire list of INSN_LIST nodes. */
void
free_INSN_LIST_list (listp)
rtx *listp;
free_INSN_LIST_list (rtx *listp)
{
if (*listp == 0)
return;
......@@ -131,8 +125,7 @@ free_INSN_LIST_list (listp)
/* This function will free up an individual EXPR_LIST node. */
void
free_EXPR_LIST_node (ptr)
rtx ptr;
free_EXPR_LIST_node (rtx ptr)
{
XEXP (ptr, 1) = unused_expr_list;
unused_expr_list = ptr;
......@@ -140,8 +133,7 @@ free_EXPR_LIST_node (ptr)
/* This function will free up an individual INSN_LIST node. */
void
free_INSN_LIST_node (ptr)
rtx ptr;
free_INSN_LIST_node (rtx ptr)
{
XEXP (ptr, 1) = unused_insn_list;
unused_insn_list = ptr;
......
/* params.c - Run-time parameters.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
......@@ -40,9 +40,7 @@ static size_t num_compiler_params;
/* Add the N PARAMS to the current list of compiler parameters. */
void
add_params (params, n)
const param_info params[];
size_t n;
add_params (const param_info params[], size_t n)
{
/* Allocate enough space for the new parameters. */
compiler_params =
......@@ -60,9 +58,7 @@ add_params (params, n)
/* Set the VALUE associated with the parameter given by NAME. */
void
set_param_value (name, value)
const char *name;
int value;
set_param_value (const char *name, int value)
{
size_t i;
......
/* params.h - Run-time parameters.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
......@@ -59,13 +59,11 @@ extern param_info *compiler_params;
/* Add the N PARAMS to the current list of compiler parameters. */
extern void add_params
PARAMS ((const param_info params[], size_t n));
extern void add_params (const param_info params[], size_t n);
/* Set the VALUE associated with the parameter given by NAME. */
extern void set_param_value
PARAMS ((const char *name, int value));
extern void set_param_value (const char *name, int value);
/* The parameters in use by language-independent code. */
......
......@@ -135,7 +135,7 @@ typedef union rtunion_def rtunion;
/* RTL expression ("rtx"). */
struct rtx_def GTY((chain_next ("RTX_NEXT (&%h)"),
struct rtx_def GTY((chain_next ("RTX_NEXT (&%h)"),
chain_prev ("RTX_PREV (&%h)")))
{
/* The kind of expression this is. */
......@@ -377,75 +377,75 @@ extern void rtvec_check_failed_bounds PARAMS ((rtvec, int,
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK2(NAME, RTX, C1, C2) __extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2) \
rtl_check_failed_flag (NAME,_rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK3(NAME, RTX, C1, C2, C3) __extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK4(NAME, RTX, C1, C2, C3, C4) __extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK5(NAME, RTX, C1, C2, C3, C4, C5) __extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4 \
&& GET_CODE(_rtx) != C5) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK6(NAME, RTX, C1, C2, C3, C4, C5, C6) \
__extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4 \
&& GET_CODE(_rtx) != C5 && GET_CODE(_rtx) != C6) \
rtl_check_failed_flag (NAME,_rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK7(NAME, RTX, C1, C2, C3, C4, C5, C6, C7) \
__extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4 \
&& GET_CODE(_rtx) != C5 && GET_CODE(_rtx) != C6 \
&& GET_CODE(_rtx) != C7) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
#define RTL_FLAG_CHECK8(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8) \
__extension__ \
({ rtx const _rtx = (RTX); \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2 \
&& GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4 \
&& GET_CODE(_rtx) != C5 && GET_CODE(_rtx) != C6 \
&& GET_CODE(_rtx) != C7 && GET_CODE(_rtx) != C8) \
rtl_check_failed_flag (NAME, _rtx, __FILE__, __LINE__, \
__FUNCTION__); \
__FUNCTION__); \
_rtx; })
extern void rtl_check_failed_flag PARAMS ((const char *, rtx, const char *,
int, const char *))
int, const char *))
ATTRIBUTE_NORETURN
;
......@@ -455,7 +455,7 @@ extern void rtl_check_failed_flag PARAMS ((const char *, rtx, const char *,
#define RTL_FLAG_CHECK2(NAME, RTX, C1, C2) (RTX)
#define RTL_FLAG_CHECK3(NAME, RTX, C1, C2, C3) (RTX)
#define RTL_FLAG_CHECK4(NAME, RTX, C1, C2, C3, C4) (RTX)
#define RTL_FLAG_CHECK5(NAME, RTX, C1, C2, C3, C4, C5) (RTX)
#define RTL_FLAG_CHECK5(NAME, RTX, C1, C2, C3, C4, C5) (RTX)
#define RTL_FLAG_CHECK6(NAME, RTX, C1, C2, C3, C4, C5, C6) (RTX)
#define RTL_FLAG_CHECK7(NAME, RTX, C1, C2, C3, C4, C5, C6, C7) (RTX)
#define RTL_FLAG_CHECK8(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8) (RTX)
......@@ -673,7 +673,7 @@ enum reg_note
REG_CC_SETTER, REG_CC_USER,
/* Points to a CODE_LABEL. Used by non-JUMP_INSNs to say that the
CODE_LABEL contained in the REG_LABEL note is used by the insn.
CODE_LABEL contained in the REG_LABEL note is used by the insn.
This note is an INSN_LIST. */
REG_LABEL,
......@@ -724,14 +724,14 @@ enum reg_note
/* Indicates that this insn (which is part of the prologue) computes
a value which might not be used later, and if so it's OK to delete
the insn. Normally, deleting any insn in the prologue is an error.
the insn. Normally, deleting any insn in the prologue is an error.
At present the parameter is unused and set to (const_int 0). */
REG_MAYBE_DEAD,
/* Indicates that a call does not return. */
REG_NORETURN,
/* Indicates that an indirect jump is a non-local goto instead of a
/* Indicates that an indirect jump is a non-local goto instead of a
computed goto. */
REG_NON_LOCAL_GOTO,
......@@ -782,7 +782,7 @@ extern const char * const reg_note_name[];
between ints and pointers if we use a different macro for the block number.)
*/
#define NOTE_SOURCE_FILE(INSN) XCSTR (INSN, 4, NOTE)
#define NOTE_SOURCE_FILE(INSN) XCSTR (INSN, 4, NOTE)
#define NOTE_BLOCK(INSN) XCTREE (INSN, 4, NOTE)
#define NOTE_EH_HANDLER(INSN) XCINT (INSN, 4, NOTE)
#define NOTE_BASIC_BLOCK(INSN) XCBBDEF (INSN, 4, NOTE)
......@@ -795,7 +795,7 @@ extern const char * const reg_note_name[];
#define NOTE_LINE_NUMBER(INSN) XCINT (INSN, 5, NOTE)
/* Nonzero if INSN is a note marking the beginning of a basic block. */
#define NOTE_INSN_BASIC_BLOCK_P(INSN) \
#define NOTE_INSN_BASIC_BLOCK_P(INSN) \
(GET_CODE (INSN) == NOTE \
&& NOTE_LINE_NUMBER (INSN) == NOTE_INSN_BASIC_BLOCK)
......@@ -867,7 +867,7 @@ enum insn_note
their homes, etc. */
NOTE_INSN_FUNCTION_BEG,
/* These note where exception handling regions begin and end.
/* These note where exception handling regions begin and end.
Uses NOTE_EH_HANDLER to identify the region in question. */
NOTE_INSN_EH_REGION_BEG,
NOTE_INSN_EH_REGION_END,
......@@ -1015,7 +1015,7 @@ enum label_kind
/* For a CONST_DOUBLE:
For a DImode, there are two integers CONST_DOUBLE_LOW is the
low-order word and ..._HIGH the high-order.
For a float, there is a REAL_VALUE_TYPE structure, and
For a float, there is a REAL_VALUE_TYPE structure, and
CONST_DOUBLE_REAL_VALUE(r) is a pointer to it. */
#define CONST_DOUBLE_LOW(r) XCWINT (r, 0, CONST_DOUBLE)
#define CONST_DOUBLE_HIGH(r) XCWINT (r, 1, CONST_DOUBLE)
......@@ -1035,15 +1035,15 @@ enum label_kind
/* in rtlanal.c */
extern unsigned int subreg_lsb PARAMS ((rtx));
extern unsigned int subreg_regno_offset PARAMS ((unsigned int,
enum machine_mode,
unsigned int,
extern unsigned int subreg_regno_offset PARAMS ((unsigned int,
enum machine_mode,
unsigned int,
enum machine_mode));
extern bool subreg_offset_representable_p PARAMS ((unsigned int,
enum machine_mode,
unsigned int,
extern bool subreg_offset_representable_p PARAMS ((unsigned int,
enum machine_mode,
unsigned int,
enum machine_mode));
extern unsigned int subreg_regno PARAMS ((rtx));
extern unsigned int subreg_regno PARAMS ((rtx));
/* 1 if RTX is a subreg containing a reg that is already known to be
sign- or zero-extended from the mode of the subreg to the mode of
......@@ -1735,12 +1735,12 @@ extern rtx find_use_as_address PARAMS ((rtx, rtx, HOST_WIDE_INT));
/* lists.c */
void free_EXPR_LIST_list PARAMS ((rtx *));
void free_INSN_LIST_list PARAMS ((rtx *));
void free_EXPR_LIST_node PARAMS ((rtx));
void free_INSN_LIST_node PARAMS ((rtx));
rtx alloc_INSN_LIST PARAMS ((rtx, rtx));
rtx alloc_EXPR_LIST PARAMS ((int, rtx, rtx));
void free_EXPR_LIST_list (rtx *);
void free_INSN_LIST_list (rtx *);
void free_EXPR_LIST_node (rtx);
void free_INSN_LIST_node (rtx);
rtx alloc_INSN_LIST (rtx, rtx);
rtx alloc_EXPR_LIST (int, rtx, rtx);
/* regclass.c */
......@@ -1931,7 +1931,7 @@ extern rtx gen_lowpart_SUBREG PARAMS ((enum machine_mode, rtx));
#define LAST_VIRTUAL_REGISTER ((FIRST_VIRTUAL_REGISTER) + 4)
/* Nonzero if REGNUM is a pointer into the stack frame. */
#define REGNO_PTR_FRAME_P(REGNUM) \
#define REGNO_PTR_FRAME_P(REGNUM) \
((REGNUM) == STACK_POINTER_REGNUM \
|| (REGNUM) == FRAME_POINTER_REGNUM \
|| (REGNUM) == HARD_FRAME_POINTER_REGNUM \
......@@ -2400,6 +2400,6 @@ extern void tracer PARAMS ((void));
/* Create libcall block around the call. */
#define ECF_LIBCALL_BLOCK 4096
extern int flags_from_decl_or_type PARAMS ((tree));
extern int flags_from_decl_or_type PARAMS ((tree));
#endif /* ! GCC_RTL_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment