On 13.07.2024 00:45, Stefano Stabellini wrote:
> As discussed during the last MISRA C meeting, add Rule 12.2 to the list
> of MISRA C rules we accept, together with an explanation that we use gcc
> -fsanitize=undefined alone to check for violations.

Neither the "alone" here nor ...

> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -443,6 +443,14 @@ maintainers if you want to suggest a change.
>       - The macro NULL shall be the only permitted form of null pointer 
> constant
>       -
>  
> +   * - `Rule 12.2 
> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_02.c>`_
> +     - Required
> +     - The right hand operand of a shift operator shall lie in the range
> +       zero to one less than the width in bits of the essential type of
> +       the left hand operand
> +     - We rely exclusively on gcc -fsanitize=undefined to check for
> +       dangerious violations to this rule and to ensure compliance

... the "exclusively" here look quite right to me. That's true for shift
counts which aren't build-time constant. For those which are we leverage
ordinary compiler diagnostics. Preferably with a respective adjustment:

Acked-by: Jan Beulich <jbeul...@suse.com>

Jan

Reply via email to