[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1] misra: add deviation for rules 21.1 and 21.2
On Thu, 24 Apr 2025, Jan Beulich wrote: > On 23.04.2025 19:54, victorm.lira@xxxxxxx wrote: > > From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> > > > > MISRA C Rules 21.1 ("#define and #undef shall not be used on a > > reserved identifier or reserved macro name") and R21.2 ("A reserved > > identifier or reserved macro name shall not be declared") violations > > are not problematic for Xen, as it does not use the C or POSIX > > libraries. > > > > Xen uses -fno-builtin and -nostdinc to ensure this, but there are still > > __builtin_* functions from the compiler that are available so > > a deviation is formulated for all identifiers not starting with > > "__builtin_". > > > > The missing text of a deviation for Rule 21.2 is added to > > docs/misra/deviations.rst. > > > > To avoid regressions, tag both rules as clean and add them to the > > monitored set. > > > > Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> > > Signed-off-by: Federico Serafini <federico.serafini@xxxxxxxxxxx> > > Signed-off-by: Victor Lira <victorm.lira@xxxxxxx> > > While the rule is in the library section, ... > > > --- a/docs/misra/deviations.rst > > +++ b/docs/misra/deviations.rst > > @@ -587,7 +587,31 @@ Deviations related to MISRA C:2012 Rules: > > construct is deviated only in Translation Units that present a > > violation > > of the Rule due to uses of this macro. > > - Tagged as `deliberate` for ECLAIR. > > - > > + > > + * - R21.1 > > + - Rule 21.1 reports identifiers reserved for the C and POSIX standard > > + libraries. Xen does not use such libraries and all translation units > > + are compiled with option '-nostdinc', therefore there is no reason > > to > > + avoid to use `#define` or `#undef` on such identifiers except for > > those > > + beginning with `__builtin_` for which compilers may perform (wrong) > > + optimizations. > > + - Tagged as `safe` for ECLAIR. > > ... I'd like to ask that it be explicitly clarified here that it's solely > the library (and not e.g. the compiler itself) that are of concern here. The language can be clarified: - Rule 21.1 reports identifiers reserved for the C and POSIX standard libraries. Xen does not use such libraries and all translation units are compiled with option '-nostdinc', therefore there is no reason to avoid to use `#define` or `#undef` on C and POSIX standard libraries identifiers except for those beginning with `__builtin_` for which compilers may perform (wrong) optimizations.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |