[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] docs/misra: add 14.3 and 14.4
On 30.08.2023 02:59, Stefano Stabellini wrote: > --- a/docs/misra/rules.rst > +++ b/docs/misra/rules.rst > @@ -234,7 +234,7 @@ maintainers if you want to suggest a change. > * - `Rule 8.2 > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_ > - Required > - Function types shall be in prototype form with named parameters > - - > + - Function pointer types shall have named parameters too. This isn't an exception; do we really need to state such? I would have expected something to appear here only if we intended to deviate certain constructs. > @@ -332,6 +332,24 @@ maintainers if you want to suggest a change. > - A loop counter shall not have essentially floating type > - > > + * - `Rule 14.3 > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_ > + - Required > + - Controlling expressions shall not be invariant > + - Due to the extensive usage of IS_ENABLED, sizeof compile-time > + checks, and other constructs that are detected as errors by MISRA > + C scanners, managing the configuration of a MISRA C scanner for > + this rule would be unmanageable. Thus, this rule is adopted with > + a project-wide deviation on 'if' statements. The rule only > + applies to while, for, do ... while, ?:, and switch statements. The sizeof() aspect mentioned particularly applies to switch() as well. Furthermore ?: is really only shorthand for simple if(), so I don't see treating it different from if() as helpful. That said, I'd be a little hesitant to give an ack here anyway. If you'd split 14.3 and 14.4, I'd be happy to ack 14.4's addition. Jan > + * - `Rule 14.4 > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_ > + - Required > + - The controlling expression of an if statement and the controlling > + expression of an iteration-statement shall have essentially > + Boolean type > + - Implicit conversions of integers, pointers, and chars to boolean > + are allowed > + > * - `Rule 16.7 > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_ > - Required > - A switch-expression shall not have essentially Boolean type
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |