Support attribute between double pointer stars

"int * __attribute__((something)) *" is supported by GCC.
This commit is contained in:
Michael Matz
2016-07-15 17:56:20 +02:00
parent 662338f116
commit 5d0c16a884
2 changed files with 12 additions and 4 deletions

View File

@ -3859,15 +3859,16 @@ static void type_decl(CType *type, AttributeDef *ad, int *v, int td)
case TOK_RESTRICT2:
case TOK_RESTRICT3:
goto redo;
/* XXX: clarify attribute handling */
case TOK_ATTRIBUTE1:
case TOK_ATTRIBUTE2:
parse_attribute(ad);
break;
}
mk_pointer(type);
type->t |= qualifiers;
}
/* XXX: clarify attribute handling */
if (tok == TOK_ATTRIBUTE1 || tok == TOK_ATTRIBUTE2)
parse_attribute(ad);
/* recursive type */
/* XXX: incorrect if abstract type for functions (e.g. 'int ()') */
type1.t = 0; /* XXX: same as int */