Your patch assumes every attribute apply to node instead of type.
Is there any attribute need to apply to type instead?

For your change, apply_modifiers() need to change where it take the
__mode__ attribute as well.

Chris


On 1/31/07, Mitesh Shah <[EMAIL PROTECTED]> wrote:

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

-
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

Reply via email to