From fb62aa714d72349722d63b32a5a6d20a677f39e0 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Tue, 14 Nov 2023 14:59:06 -0800 Subject: [PATCH] misra: add R21.1 R21.2 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 Acked-by: Jan Beulich --- docs/misra/rules.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst index da343ab3ac..53dab0070c 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 `_ + - 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 wo underscores 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 `_ + - Required + - A reserved identifier or reserved macro name shall not be + declared + - See comment for Rule 21.1 + * - `Rule 21.13 `_ - Mandatory - Any value passed to a function in shall be representable as an -- 2.39.5