- 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, 2004 Free Software Foundation, Inc.
This file is part of GCC.
/* 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;
}
static int
-num_operands (insn)
- rtx insn;
+num_operands (rtx insn)
{
int len = XVECLEN (insn, 1);
int i;
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;
- if (real > expect)
- abort ();
- if (real == 0)
- abort ();
+ gcc_assert (real <= expect);
+ gcc_assert (real);
/* #define GEN_CALL(A, B, C, D) gen_call((A), (B)) */
fputs ("#define GEN_", stdout);
does nothing. */
static void
-gen_proto (insn)
- rtx insn;
+gen_proto (rtx insn)
{
int num = num_operands (insn);
int i;
}
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);
{
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. */
{
putchar ('(');
for (i = 0; i < num-1; i++)
- printf ("%c, ", 'a' + i);
- printf ("%c)\n", 'a' + i);
- for (i = 0; i < num; i++)
- printf (" rtx %c ATTRIBUTE_UNUSED;\n", 'a' + i);
+ printf ("rtx ARG_UNUSED (%c), ", 'a' + i);
+ printf ("rtx ARG_UNUSED (%c))\n", 'a' + i);
}
else
- puts ("()");
+ puts ("(void)");
puts ("{\n return 0;\n}");
}
}
static void
-gen_insn (insn)
- rtx insn;
+gen_insn (rtx insn)
{
const char *name = XSTR (insn, 0);
const char *p;
max_id_len = len;
if (truth == 0)
- /* emit nothing */;
+ /* Emit nothing. */;
else if (truth == 1)
printf ("#define HAVE_%s 1\n", name);
else
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;
direct calls to their generators in C code. */
insn_elision = 0;
- if (argc <= 1)
- fatal ("no input file name");
-
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");
/* 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 ARG_UNUSED (code))
{
return NULL;
}