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
This commit is contained in:
Aldy Hernandez 2001-12-15 04:06:05 +00:00 committed by Aldy Hernandez
parent cdf89524e3
commit d3b4cd6f89
3 changed files with 21 additions and 10 deletions

View File

@ -1,3 +1,10 @@
2001-12-14 Aldy Hernandez <aldyh@redhat.com>
* c-parse.in (typename): Do not split attributes.
Remove unsupported attributes warning.
* c-decl.c (groktypename): Apply attributes.
2001-12-14 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (spill_restore_mem): Mark iterator

View File

@ -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. */

View File

@ -669,6 +669,7 @@ primary:
{ $$ = build_function_call ($1, $3); }
| VA_ARG '(' expr_no_commas ',' typename ')'
{ $$ = build_va_arg ($3, groktypename ($5)); }
| CHOOSE_EXPR '(' expr_no_commas ',' expr_no_commas ',' expr_no_commas ')'
{
tree c;
@ -1906,13 +1907,8 @@ enumerator:
typename:
declspecs_nosc
{ tree specs, attrs;
pending_xref_error ();
split_specs_attrs ($1, &specs, &attrs);
/* We don't yet support attributes here. */
if (attrs != NULL_TREE)
warning ("attributes on type name ignored");
$<ttype>$ = specs; }
{ pending_xref_error ();
$<ttype>$ = $1; }
absdcl
{ $$ = build_tree_list ($<ttype>2, $3); }
;