Here is an attempt to use keyword driven parsing. The effect is that, we don't need to keep on adding keyword to ident-list any more. It might be marginally faster because it does not do a series of testing for ident any more. I can't really tell because sparse is already fast. It almost remove the usage match_idents(). The only place for using it now is parse_asm(). BTW, why asm is a statement not an expression? If it is an expression, it seems make sense to merge the volatile to the ctype modifiers. Feel back is welcome. Chris - 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