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.

Reply via email to