[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3] docs/misra/rules.rst: add rule 5.5



On Fri, 15 Mar 2024, Jan Beulich wrote:
> On 15.03.2024 01:35, Stefano Stabellini wrote:
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -181,6 +181,21 @@ maintainers if you want to suggest a change.
> >         headers (xen/include/public/) are allowed to retain longer
> >         identifiers for backward compatibility.
> >  
> > +   * - `Rule 5.5 
> > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_05.c>`_
> > +     - Required
> > +     - Identifiers shall be distinct from macro names
> > +     - Macros expanding to their own name are allowed, e.g.::
> > +
> > +           #define x x
> > +
> > +       Clashes between names of function-like macros and identifiers of
> > +       non-callable entities are allowed. Callable entities having an
> > +       identifier that is the same of the name of a
> > +       function-like macro are not allowed. Example (not allowed)::
> > +
> > +           #define f(x, y) f(x, y);
> 
> The semicolon here wants dropping, just to not give questionable constructs
> as examples.

Good point


> > +           void f(int x, int y);
> 
> With this not allowed and there (iirc) being examples of such in the code,
> I'll be curious how it is meant to deal with them.

I don't know how many violations we have, and if there is a general
pattern we could apply to address them. As usual we'll have a choice
between changing the code or adding a deviation.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.