Paul Eggert wrote: > + quotearg: pacify -Wswitch-enum > + * lib/quotearg.c (quotearg_buffer_restyled): Use switch (+E), and > + omit default case, to pacify gcc -Wswitch-enum. This is a good > + way to pacify -Wswitch-enum when we don’t want to enumerate > + all the enum values. Omit unnecessary ‘default: break;’s.
This change is problematic for two reasons: 1) It is well-known coding style in C, at least since 1990, to write this: switch (some_value) { case <some possible values>: ... break; default: break; } Having a warning for this widely used style is IMO not useful. And rewriting it to switch (+some_value) { case <some possible values>: ... break; } deviates from a 35-year-long tradition. 2) Future compiler versions may recognize that (+some_value), although being an 'int', is an enumerated value under the hood. Thus a warning "cases E1, E2, ... not handled in switch" may appear. In other words, the default: break; lines were a witness that the programmer has spent some thought regarding the other values. Removing it introduces the question whether this omission is intentional or not. Bruno