From: Jan Beulich <jbeulich@suse.com>
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
Stefano Stabellini <sstabellini@kernel.org>,
Julien Grall <julien@xen.org>,
Bertrand Marquis <bertrand.marquis@arm.com>,
Michal Orzel <michal.orzel@amd.com>,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] misra: comment default case in single-clause switch
Date: Tue, 12 Aug 2025 09:35:00 +0200 [thread overview]
Message-ID: <21bb7592-544f-4714-b45b-0ddfca3fc724@suse.com> (raw)
In-Reply-To: <110fc2a9-2f48-4718-995b-3295b9c7e9aa@epam.com>
On 12.08.2025 09:19, Dmytro Prokopchuk1 wrote:
>
>
> On 8/12/25 00:14, Nicola Vetrini wrote:
>> On 2025-08-11 19:36, Dmytro Prokopchuk1 wrote:
>>> MISRA Rule 16.4: Every switch statement shall have a default label. The
>>> default clause must contain either a statement or a comment prior to its
>>> terminating break statement.
>>>
>>> This change adds comments in default cases in single-clause switches to
>>> avoid violations of the rule where the `default` clause lacks a suitable
>>> comment or statement.
>>>
>>
>> If you want to go this way then at least this config wants dropping:
>>
>> -doc_begin="A switch statement with a single switch clause and no
>> default label may be used in place of an equivalent if statement if it
>> is considered to improve readability."
>> -config=MC3A2.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
>> -doc_end
>>
>> and probably this one too (haven't checked):
>>
>> -doc_begin="A switch statement with a single switch clause and no
>> default label may be used in place of an equivalent if statement if it
>> is considered to improve readability."
>> -config=MC3A2.R16.6,switch_clauses+={deliberate, "default(0)"}
>> -doc_end
>>
>> In the end it's a tradeoff; placing a comment with a suitable
>> argumentation might be strictly better than simply tagging the tool
>> report, at least from a developer's perspective. From a MISRA compliance
>> standpoint in my opinion both are fine. Let's see what the maintainers
>> think.
>>
>
> According to Jan's comment here
> https://patchew.org/Xen/725ec86ac1aa883c35fb30b8f226c95cbe0934e9.1754322299.git.dmytro._5Fprokopchuk1@epam.com/
> there were discussions about placing comments inside 'default' case.
For notifier functions in particular, yes. The config quoted above covers
more than those, though, if I'm not mistaken.
Jan
next prev parent reply other threads:[~2025-08-12 7:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 17:36 [PATCH] misra: comment default case in single-clause switch Dmytro Prokopchuk1
2025-08-11 17:40 ` Dmytro Prokopchuk1
2025-08-11 21:14 ` Nicola Vetrini
2025-08-12 7:19 ` Dmytro Prokopchuk1
2025-08-12 7:35 ` Jan Beulich [this message]
2025-08-12 7:49 ` Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=21bb7592-544f-4714-b45b-0ddfca3fc724@suse.com \
--to=jbeulich@suse.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=bertrand.marquis@arm.com \
--cc=dmytro_prokopchuk1@epam.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=nicola.vetrini@bugseng.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.