From 5d0c16a884a6639ba3d2de43808104839afe6dcd Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Fri, 15 Jul 2016 17:56:20 +0200 Subject: Support attribute between double pointer stars "int * __attribute__((something)) *" is supported by GCC. --- tccgen.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index f49caa6..3786b49 100644 --- a/tccgen.c +++ b/tccgen.c @@ -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 */ -- cgit v1.3.1