|
From: | Paul Brook |
Subject: | Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement |
Date: | Wed, 17 Mar 2010 17:43:06 +0000 |
User-agent: | KMail/1.12.4 (Linux/2.6.32-trunk-amd64; KDE/4.3.4; x86_64; ; ) |
> > If something should never happen (as in this case) then an abort/assert > > is completely appropriate. Once things get that screwed up there's no > > right answer, and the best thing we can do is terminate immediately to > > try and avoid further damage. > > This case was: > > switch (foo & 0x03) { > case 0: case 1: case 2: case 3: > default: > } > > The default is unreachable. Having it there just introduces more code > that serves no purpose. Unless someone does something totally foolish > and changes the mask in the switch statement, there's no way it will > ever be reachable. I mistakenly remembered this was using a symbolic mask rather than a literal 0x03. In that case I'd argue it's much easier to make the dumb error you describe, and the assert can be a handy cluebat. I guess it's largely personal preference - I prefer to add the default case to make it clear that falling through is never gong to be the right answer. Paul
[Prev in Thread] | Current Thread | [Next in Thread] |