Josh Triplett wrote: > On Sat, Jul 18, 2009 at 09:41:46PM +0100, Ramsay Jones wrote: >> These warnings were issued by gcc v3.4.4, but not by gcc v4.1.2. >> So I guess gcc probably found these warnings to be too noisy ... > [...] >> --- a/parse.c >> +++ b/parse.c >> @@ -2616,6 +2616,8 @@ struct token *external_declaration(struct token *token, struct symbol_list **lis >> case SYM_ENUM: >> case SYM_RESTRICT: >> base_type->ident = ident; >> + default: >> + break; >> } > > I don't think you want to add defaults like this just to avoid warnings. > Warnings like that can help when adding a new item to an enum, to find > the places where you need to extend the code to hand the new item. And > since current GCC doesn't even issue the warning by default, it seems > even more unnecessary to add that default case. > OK... So, if I understand your argument, in order to make the best use of these warnings, then the correct change would look like the diff given below, and (for more up-to-date gcc) add -Wswitch-enum to CFLAGS (at least occasionally). Yes? [if no, then I obviously don't understand ;-)] Hmm, I have another idea; a new patch is brewing! ATB, Ramsay Jones -->8-- diff --git a/parse.c b/parse.c index e5ad867..afe39c3 100644 --- a/parse.c +++ b/parse.c @@ -2616,6 +2616,23 @@ struct token *external_declaration(struct token *token, struct symbol_list **lis case SYM_ENUM: case SYM_RESTRICT: base_type->ident = ident; + break; + case SYM_UNINITIALIZED: + case SYM_PREPROCESSOR: + case SYM_BASETYPE: + case SYM_NODE: + case SYM_PTR: + case SYM_FN: + case SYM_ARRAY: + case SYM_TYPEDEF: + case SYM_TYPEOF: + case SYM_MEMBER: + case SYM_BITFIELD: + case SYM_LABEL: + case SYM_FOULED: + case SYM_KEYWORD: + case SYM_BAD: + break; } } } else if (base_type && base_type->type == SYM_FN) { -->8-- -- 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