On 2023-11-07 11:52, Jan Beulich wrote:
On 07.11.2023 11:33, Nicola Vetrini wrote:
This series is aimed at presenting some strategies that can be used to
deal with
violations of Rule 15.2:
"The goto statement shall jump to a label declared later in the same
function".
I don't recall this rule being discussed on any of the meetings.
This series is aimed mainly at collecting opinions on the possible
resolution strategies,
and based on the feedback decide what to focus the discussion on in the
meetings.
The rule's rationale is about possible developer confusion, therefore
it could
be argued that there is no substantial gain in complying with it,
given the
torough review process in place.
To be honest, forward goto have potential of developer confusion as
well: All
other entities need to be declared / defined before they can be used.
Just
labels don't. (Or have I missed any other outlier?) IOW if I saw Misra
make
any rule here, I think it ought to suggest to avoid using "goto"
altogether.
Jan
There is Rule 15.1 that says precisely that "do not use goto", but it's
advisory and has never been proposed
(there are likely hundreds of violations, and some are perhaps
legitimate uses of goto).
MISRA says that, if 15.1 is not followed, then a constrained use of goto
is regulated by subsequent
rules 15.2 and 15.3.
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)