title: GCC switch on enum, retain missing warning but use default
body: <p>Using GCC, if you <code>switch</code> on an <code>enum</code> value and one of the enums is missing a <code>case</code> statement a warning will be emitted. When you add a <code>default</code> item the warning will no longer be emitted, which makes sense in the general case.</p>
  
  <p>Is there a way to use a <code>default</code> statement and still have a warning if not all the <code>enum</code> values are covered? Since my function may deal with impure input I'd like to cover the generic case but still get compiler warnings about missing an enum case.</p>
  
  <p>Currently I end up assigning a default after the switch statement.</p>