[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable defaul
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement |
Date: |
Wed, 17 Mar 2010 22:15:33 +0200 |
On 3/17/10, Paul Brook <address@hidden> wrote:
> > > 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.
This breaks build (gcc 4.3.2):
CC usb-linux.o
cc1: warnings being treated as errors
/src/qemu/usb-linux.c: In function 'usb_linux_update_endp_table':
/src/qemu/usb-linux.c:759: error: 'type' may be used uninitialized in
this function
- [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Bolle, 2010/03/08
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Brook, 2010/03/08
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Anthony Liguori, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Bolle, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Anthony Liguori, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Brook, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Anthony Liguori, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Brook, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement,
Blue Swirl <=
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Anthony Liguori, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Paul Bolle, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Anthony Liguori, 2010/03/17
- Re: [Qemu-devel] [PATCH] [TRIVIAL] usb-linux: remove unreachable default in switch statement, Blue Swirl, 2010/03/17