automation/eclair_analysis: deviate and|or|xor|not for MISRA C Rule 21.2

Rule 21.2 reports identifiers reserved for the C and POSIX standard
libraries: or, and, not and xor are reserved identifiers because they
constitute alternate spellings for the corresponding operators (they are
defined as macros by iso646.h); however Xen doesn't use standard library
headers, so there is no risk of overlap.

This addresses violations arising from x86_emulate/x86_emulate.c, where
label statements named as or, and and xor appear.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Alessandro Zucchelli authored and Stefano Stabellini committed 2024-06-25 13:41:27 -07:00
1 parent 0ac3b175e7
commit 853f707cd9
1 file changed
+6
@@ -523,6 +523,12 @@ in the expansion."
# Series 21.
#
-doc_begin="or, and and xor are reserved identifiers because they constitute alternate
spellings for the corresponding operators (they are defined as macros by iso646.h).
However, Xen doesn't use standard library headers, so there is no risk of overlap."
-config=MC3R1.R21.2,reports+={safe, "any_area(stmt(ref(kind(label)&&^(or|and|xor|not)$)))"}
-doc_end
-doc_begin="Xen does not use the functions provided by the Standard Library, but
implements a set of functions that share the same names as their Standard Library equivalent.
The implementation of these functions is available in source form, so the undefined, unspecified
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.