Update the configuration of ECLAIR to deviate some violations of Rule
10.1 in accordance with docs/misra/rules.rst.
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
automation/eclair_analysis/ECLAIR/deviations.ecl | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d8170106b4..241aad6393 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -274,6 +274,18 @@ still non-negative."
-config=MC3R1.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"}
-doc_end
+-doc_begin="XEN only supports architectures where signed integers are representend using two's complement and all the XEN developers are aware of this."
+-config=MC3R1.R10.1,etypes+={safe,
+ "stmt(operator(and||or||xor||not||and_assign||or_assign||xor_assign))",
+ "any()"}
+-doc_end
+
+-doc_begin="See Section \"4.5 Integers\" of \"GCC_MANUAL\", where it says that \"Signed `>>' acts on negative numbers by sign extension. As an extension to the C language, GCC does not use the latitude given in C99 and C11 only to treat certain aspects of signed `<<' as undefined. However, -fsanitize=shift (and -fsanitize=undefined) will diagnose such cases. They are also diagnosed where constant expressions are required.\""
+-config=MC3R1.R10.1,etypes+={safe,
+ "stmt(operator(shl||shr||shl_assign||shr_assign))",
+ "any()"}
+-doc_end
+
### Set 3 ###
#
--
2.34.1
On Tue, 3 Oct 2023, Federico Serafini wrote: > Update the configuration of ECLAIR to deviate some violations of Rule > 10.1 in accordance with docs/misra/rules.rst. > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > automation/eclair_analysis/ECLAIR/deviations.ecl | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl > index d8170106b4..241aad6393 100644 > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl > @@ -274,6 +274,18 @@ still non-negative." > -config=MC3R1.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"} > -doc_end > > +-doc_begin="XEN only supports architectures where signed integers are representend using two's complement and all the XEN developers are aware of this." > +-config=MC3R1.R10.1,etypes+={safe, > + "stmt(operator(and||or||xor||not||and_assign||or_assign||xor_assign))", > + "any()"} > +-doc_end > + > +-doc_begin="See Section \"4.5 Integers\" of \"GCC_MANUAL\", where it says that \"Signed `>>' acts on negative numbers by sign extension. As an extension to the C language, GCC does not use the latitude given in C99 and C11 only to treat certain aspects of signed `<<' as undefined. However, -fsanitize=shift (and -fsanitize=undefined) will diagnose such cases. They are also diagnosed where constant expressions are required.\"" > +-config=MC3R1.R10.1,etypes+={safe, > + "stmt(operator(shl||shr||shl_assign||shr_assign))", > + "any()"} > +-doc_end > + > ### Set 3 ### > > # > -- > 2.34.1 >
© 2016 - 2024 Red Hat, Inc.