On Mon, Jan 21, 2013 at 9:10 PM, Markus Armbruster <arm...@redhat.com> wrote:
> 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.

At least __fallthrough and __builtin_fallthrough() were mentioned here:
http://clang-developers.42468.n3.nabble.com/should-Wimplicit-fallthrough-require-C-11-td4028144.html

Reply via email to