Blue Swirl <blauwir...@gmail.com> writes: > On Mon, Jan 21, 2013 at 10:36 AM, Markus Armbruster <arm...@redhat.com> wrote: >> Peter Maydell <peter.mayd...@linaro.org> writes: >> >>> On 20 January 2013 15:54, Blue Swirl <blauwir...@gmail.com> wrote: >> [...] >>> I don't think there's much point adding tons of "XXX" comments >>> when a bunch of these aren't actually wrong code. >> >> Moreover, such comments make them look intentional to static analyzers. >> I doubt lying to our tools is a good idea. > > I see. That was not my intention.
I figured that much :) >>> If you want to fix >>> this I think a better approach would be more focused patches aimed >>> at adding 'break;' or "/* fallthrough */" based on actual human >>> examination of the surrounding code. >> >> Indeed. I'd gladly provide a list of fall throughs Coverity dislikes. >> >> Additionally, I'd suggest to enforce a suitable convention for new code. >> I find this one sensible: either "break;" or "/* fall through */" is >> required, except right after a case label, a goto, continue, or return >> statement, or function call that never returns. > > When Clang implements for example an attribute that can be used in C, > we could add a Clang specific macro. Then all fall through comments > could be replaced with this macro. If I was working on Clang, I wouldn't bother. Instead, assume a fall through is intentional when there's a comment. Unlike attributes, the comments are already there, and other static checkers already work that way.