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