Commit 0641776c by Andreas Jaeger Committed by Andreas Jaeger

genattrtab.c (write_attr_get): Revert part of last patch to always write out a prototype.

	* genattrtab.c (write_attr_get): Revert part of last patch to
	always write out a prototype.

	* genemit.c (gen_split): Readd lost unused attributes in last
	patch.

From-SVN: r68967
parent 977129f6
2003-07-05 Andreas Jaeger <aj@suse.de>
* genattrtab.c (write_attr_get): Revert part of last patch to
always write out a prototype.
* genemit.c (gen_split): Readd lost unused attributes in last
patch.
2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* cfgloopmanip.c (force_single_succ_latches): Force latch to be * cfgloopmanip.c (force_single_succ_latches): Force latch to be
......
...@@ -4765,6 +4765,21 @@ write_attr_get (struct attr_desc *attr) ...@@ -4765,6 +4765,21 @@ write_attr_get (struct attr_desc *attr)
switch we will generate. */ switch we will generate. */
common_av = find_most_used (attr); common_av = find_most_used (attr);
/* Write out prototype of function. */
if (!attr->is_numeric)
printf ("extern enum attr_%s ", attr->name);
else if (attr->unsigned_p)
printf ("extern unsigned int ");
else
printf ("extern int ");
/* 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 (rtx);\n", &attr->name[1]);
else
printf ("get_attr_%s (%s);\n", attr->name,
(attr->is_const ? "void" : "rtx"));
/* Write out start of function, then all values with explicit `case' lines, /* Write out start of function, then all values with explicit `case' lines,
then a `default', then the value with the most uses. */ then a `default', then the value with the most uses. */
if (!attr->is_numeric) if (!attr->is_numeric)
......
...@@ -587,13 +587,13 @@ gen_split (rtx split) ...@@ -587,13 +587,13 @@ gen_split (rtx split)
{ {
printf ("extern rtx gen_%s_%d (rtx, rtx *);\n", printf ("extern rtx gen_%s_%d (rtx, rtx *);\n",
name, insn_code_number); name, insn_code_number);
printf ("rtx\ngen_%s_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands)\n", printf ("rtx\ngen_%s_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands%s)\n",
name, insn_code_number); name, insn_code_number, unused);
} }
else else
{ {
printf ("extern rtx gen_split_%d (rtx *);\n", insn_code_number); printf ("extern rtx gen_split_%d (rtx *);\n", insn_code_number);
printf ("rtx\ngen_%s_%d (rtx *operands)\n", name, insn_code_number); printf ("rtx\ngen_%s_%d (rtx *operands%s)\n", name, insn_code_number, unused);
} }
printf ("{\n"); printf ("{\n");
......
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