diff mbox series

[v2] misra: add R21.1 R21.2

Message ID alpine.DEB.2.22.394.2311141458020.160649@ubuntu-linux-20-04-desktop (mailing list archive)
State New, archived
Headers show
Series [v2] misra: add R21.1 R21.2 | expand

Commit Message

Stefano Stabellini Nov. 14, 2023, 10:59 p.m. UTC
Add 21.1 and 21.2, with a longer comment to explain how strategy with
leading underscores and why we think we are safe today.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- remove R14.4
- update note section of 21.1
---
 docs/misra/rules.rst | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Jan Beulich Nov. 15, 2023, 8 a.m. UTC | #1
On 14.11.2023 23:59, Stefano Stabellini wrote:
> Add 21.1 and 21.2, with a longer comment to explain how strategy with
> leading underscores and why we think we are safe today.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with one nit:

> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -519,6 +519,28 @@ maintainers if you want to suggest a change.
>         they are related
>       -
>  
> +   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
> +     - Required
> +     - #define and #undef shall not be used on a reserved identifier or
> +       reserved macro name
> +     - Identifiers starting with an underscore followed by another underscore
> +       or an upper-case letter are reserved. Today Xen uses many, such as
> +       header guards and bitwise manipulation functions. Upon analysis it turns
> +       out Xen identifiers do not clash with the identifiers used by modern
> +       GCC, but that is not a guarantee that there won't be a naming clash in
> +       the future or with another compiler.  For these reasons we discourage
> +       the introduction of new reserved identifiers in Xen, and we see it as
> +       positive the reduction of reserved identifiers. At the same time,
> +       certain identifiers starting with an underscore are also commonly used
> +       in Linux (e.g. __set_bit) and we don't think it would be an improvement
> +       to rename them.

I think this last sentence would also better say "two underscores".

Jan
Stefano Stabellini Nov. 16, 2023, 12:03 a.m. UTC | #2
On Wed, 15 Nov 2023, Jan Beulich wrote:
> On 14.11.2023 23:59, Stefano Stabellini wrote:
> > Add 21.1 and 21.2, with a longer comment to explain how strategy with
> > leading underscores and why we think we are safe today.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> with one nit:
> 
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -519,6 +519,28 @@ maintainers if you want to suggest a change.
> >         they are related
> >       -
> >  
> > +   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
> > +     - Required
> > +     - #define and #undef shall not be used on a reserved identifier or
> > +       reserved macro name
> > +     - Identifiers starting with an underscore followed by another underscore
> > +       or an upper-case letter are reserved. Today Xen uses many, such as
> > +       header guards and bitwise manipulation functions. Upon analysis it turns
> > +       out Xen identifiers do not clash with the identifiers used by modern
> > +       GCC, but that is not a guarantee that there won't be a naming clash in
> > +       the future or with another compiler.  For these reasons we discourage
> > +       the introduction of new reserved identifiers in Xen, and we see it as
> > +       positive the reduction of reserved identifiers. At the same time,
> > +       certain identifiers starting with an underscore are also commonly used
> > +       in Linux (e.g. __set_bit) and we don't think it would be an improvement
> > +       to rename them.
> 
> I think this last sentence would also better say "two underscores".

Done on commit
diff mbox series

Patch

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index da343ab3ac..375a886607 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -519,6 +519,28 @@  maintainers if you want to suggest a change.
        they are related
      -
 
+   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
+     - Required
+     - #define and #undef shall not be used on a reserved identifier or
+       reserved macro name
+     - Identifiers starting with an underscore followed by another underscore
+       or an upper-case letter are reserved. Today Xen uses many, such as
+       header guards and bitwise manipulation functions. Upon analysis it turns
+       out Xen identifiers do not clash with the identifiers used by modern
+       GCC, but that is not a guarantee that there won't be a naming clash in
+       the future or with another compiler.  For these reasons we discourage
+       the introduction of new reserved identifiers in Xen, and we see it as
+       positive the reduction of reserved identifiers. At the same time,
+       certain identifiers starting with an underscore are also commonly used
+       in Linux (e.g. __set_bit) and we don't think it would be an improvement
+       to rename them.
+
+   * - `Rule 21.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_02.c>`_
+     - Required
+     - A reserved identifier or reserved macro name shall not be
+       declared
+     - See comment for Rule 21.1
+
    * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
      - Mandatory
      - Any value passed to a function in <ctype.h> shall be representable as an