mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
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
|
||||
|
||||