On Fri, Feb 23, 2007 at 02:59:26PM -0500, Pavel Roskin wrote:
> P.S. The breakage has nothing to do to Linux changes.  It was caused by
> the patch called "Make the ptrlist using the sparse allocator".  Undoing
> the patch fixes the problem.
>

No, that was not it. The bug does not trigger if I remove "-O" or remove
the recent struct attribute patch.

You make me guilt for 5 mins. But the real bugs is match_idents did not
end with NULL.

This patch should fix it:

Chris

Fix a bug that match_idents forget to end with NULL

Pavel Roskin manage to hit this bug with

struct st {
       char c;
} __attribute__ ((aligned(2)));
struct st s1;
struct st s2;

Signed-Off-By: Christopher Li <[EMAIL PROTECTED]>

Index: sparse/parse.c
===================================================================
--- sparse.orig/parse.c 2007-02-23 14:33:28.000000000 -0800
+++ sparse/parse.c      2007-02-23 14:36:16.000000000 -0800
@@ -861,7 +861,7 @@ static struct token *handle_attributes(s
                        apply_ctype(token->pos, &thistype, ctype);
                        continue;
                }
-               if (match_idents(token, &asm_ident, &__asm_ident, 
&__asm___ident)) {
+               if (match_idents(token, &asm_ident, &__asm_ident, 
&__asm___ident, NULL)) {
                        struct expression *expr;
                        token = expect(token->next, '(', "after asm");
                        token = parse_expression(token->next, &expr);



-
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