It seems that the attributes are not stored with the variable ctype when the
variable is an array. For declaration such as,
char c[100] __attribute__((aligned(64)));
The attribute is stored with the array ctype instead of the variable C ctype.
In function direct_declarator in parse.c at line 920 the ctype gets replaced
with the array ctype and in the next iteration it is
passed to handle_attributes. handle_attributes should be passed the original
ctype so here is the patch.
Thanks,
-Mitesh
-------------------------------------------------------
index 5077ee6..306b144 100644
--- a/parse.c
+++ b/parse.c
@@ -881,7 +881,7 @@ static struct token *direct_declarator(struct token *token,
struct symbol *decl,
}
for (;;) {
- token = handle_attributes(token, ctype);
+ token = handle_attributes(token, &decl->ctype);
if (token_type(token) != TOKEN_SPECIAL)
return token;
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html