aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2001-12-15 04:06:05 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2001-12-15 04:06:05 +0000
commitd3b4cd6f89460f3393850c84be374987d17c210c (patch)
tree174090deb0749cfb0ad32ae8786fe0323b1e04d1 /gcc/c-decl.c
parentcdf89524e36110b12dc0ed47edec9d6359c284b7 (diff)
downloadgcc-d3b4cd6f89460f3393850c84be374987d17c210c.zip
gcc-d3b4cd6f89460f3393850c84be374987d17c210c.tar.gz
gcc-d3b4cd6f89460f3393850c84be374987d17c210c.tar.bz2
c-parse.in (typename): Do not split attributes.
* c-parse.in (typename): Do not split attributes. Remove unsupported attributes warning. * c-decl.c (groktypename): Apply attributes. From-SVN: r48032
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index cfcb101..011624e 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -3359,11 +3359,19 @@ tree
groktypename (typename)
tree typename;
{
+ tree specs, attrs;
+
if (TREE_CODE (typename) != TREE_LIST)
return typename;
- return grokdeclarator (TREE_VALUE (typename),
- TREE_PURPOSE (typename),
- TYPENAME, 0);
+
+ split_specs_attrs (TREE_PURPOSE (typename), &specs, &attrs);
+
+ typename = grokdeclarator (TREE_VALUE (typename), specs, TYPENAME, 0);
+
+ /* Apply attributes. */
+ decl_attributes (&typename, attrs, 0);
+
+ return typename;
}
/* Return a PARM_DECL node for a given pair of specs and declarator. */