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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html