[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] docs/misra: add Rule 16.4
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx> --- I tested the rendered output and it is correct both on the gitlab UI as well as with tools like rst2html. --- docs/misra/rules.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst index 1e134ccebc..5e9367f11c 100644 --- a/docs/misra/rules.rst +++ b/docs/misra/rules.rst @@ -478,6 +478,30 @@ maintainers if you want to suggest a change. - In addition to break, also other unconditional flow control statements such as continue, return, goto are allowed. + * - `Rule 16.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_04.c>`_ + - Required + - Every switch statement shall have a default label + - Switch statements with enums as controlling expression don't need + a default label as gcc -Wall enables -Wswitch which warns (and + breaks the build) if one of the enum labels is missing from the + switch. + + Switch statements with integer types as controlling expression + should have a default label: + + - if the switch is expected to handle all possible cases + explicitly, then a default label shall be added to handle + unexpected error conditions, using BUG(), ASSERT(), WARN(), + domain_crash(), or other appropriate methods; + + - if the switch is expected to handle a subset of all + possible cases, then a default label shall be added with an + in-code comment as follows:: + + /* only handle a subset of the possible cases */ + default: + break; + * - `Rule 16.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_02.c>`_ - Required - A switch label shall only be used when the most closely-enclosing -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |