From 0641776cefb0ba35cc75c3bb27451a7e706dc2cd Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sat, 5 Jul 2003 13:23:01 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 8 ++++++++ gcc/genattrtab.c | 15 +++++++++++++++ gcc/genemit.c | 6 +++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3fb943611c9..f3369639fa4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-07-05 Andreas Jaeger + + * 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 * cfgloopmanip.c (force_single_succ_latches): Force latch to be diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index 990cb0e70f9..a4f6e267f02 100644 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -4765,6 +4765,21 @@ write_attr_get (struct attr_desc *attr) switch we will generate. */ 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, then a `default', then the value with the most uses. */ if (!attr->is_numeric) diff --git a/gcc/genemit.c b/gcc/genemit.c index edeb1542bd0..35b58a099e0 100644 --- a/gcc/genemit.c +++ b/gcc/genemit.c @@ -587,13 +587,13 @@ gen_split (rtx split) { printf ("extern rtx gen_%s_%d (rtx, rtx *);\n", name, insn_code_number); - printf ("rtx\ngen_%s_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands)\n", - name, insn_code_number); + printf ("rtx\ngen_%s_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands%s)\n", + name, insn_code_number, unused); } else { 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"); -- 2.30.2