On Sun, 7 Jul 2019 at 21:26, Stefan Weil <s...@weilnetz.de> wrote: > This is a general problem all over the QEMU code. I usually compile with > nearly all warnings enabled and get now lots of errors with the latest > code and after updating to gcc-8.3.0 (Debian buster). It should be > reproducible by enabling -Werror=implicit-fallthrough.
Coverity warns about implicit fallthroughs, and we are currently warning-free in that department, so I think our remaining problems are largely down to perhaps using idioms which the compiler doesn't spot. Being able to enable gcc implicit-fallthrough errors would definitely be better than spotting them only after the fact with Coverity. > I suggest to enable -Werror=implicit-fallthrough by default and add a > new macro to mark all fallthrough locations which are correct, but not > accepted by the compiler. I'm not sure why we need a macro. Our standard way to mark fallthrough is /* fall through */, which has hundreds of uses in the codebase. -Wimplicit-fallthrough=2 will match this, so it seems simpler to just use that rather than to rework how we mark fallthroughs. Since vixl is 3rd-party code it might be easier to just add -Wno-implicit-fallthrough to the cflags that disas/libvixl/Makefile.objs sets up for building those files. (We should check also for newer libvixl and/or suggest something upstream that works with gcc.) thanks -- PMM