aboutsummaryrefslogtreecommitdiff
path: root/gcc/genattrtab.c
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2003-07-05 13:23:01 +0200
committerAndreas Jaeger <aj@gcc.gnu.org>2003-07-05 13:23:01 +0200
commit0641776cefb0ba35cc75c3bb27451a7e706dc2cd (patch)
treed15ef9a5b1d57584e24690ce03a860ec3d006db7 /gcc/genattrtab.c
parent977129f68d0dd100969506fd888cbdcae9d68c50 (diff)
downloadgcc-0641776cefb0ba35cc75c3bb27451a7e706dc2cd.zip
gcc-0641776cefb0ba35cc75c3bb27451a7e706dc2cd.tar.gz
gcc-0641776cefb0ba35cc75c3bb27451a7e706dc2cd.tar.bz2
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
Diffstat (limited to 'gcc/genattrtab.c')
-rw-r--r--gcc/genattrtab.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 990cb0e..a4f6e26 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)