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

[xen staging] automation/eclair_analysis: deviate and|or|xor|not for MISRA C Rule 21.2



commit 853f707cd9e2eb9410dbfbadbd5a01ac0252ef83
Author:     Alessandro Zucchelli <alessandro.zucchelli@xxxxxxxxxxx>
AuthorDate: Tue Jun 25 13:41:27 2024 -0700
Commit:     Stefano Stabellini <stefano.stabellini@xxxxxxx>
CommitDate: Tue Jun 25 13:41:27 2024 -0700

    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@xxxxxxxxxxx>
    Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 8f13dabeb1..dcff4f4013 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -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
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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