|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2] automation/eclair: deviate R2.6 for the x86 emulator
MISRA C:2012 Rule 2.6 (advisory) states that "a function should not
contain unused label declarations".
With CONFIG_HVM=n, private.h defines X86EMUL_NO_FPU, X86EMUL_NO_MMX and
X86EMUL_NO_SIMD. The CASE_SIMD_* macros then expand to plain labels
instead of case labels, and the gotos to several hand-written simd_*
labels are preprocessed out, leaving 91 unused labels in
x86_emulate.c. The build already acknowledges this by passing
-Wno-unused-label for that object.
Annotating these labels would only add churn to the emulator. As done
for Rule 16.2, deviate the rule for the emulator as a whole.
Signed-off-by: Shuaidong Chen <shuaidong.chen@xxxxxxx>
---
v2:
- Drop the __maybe_unused annotations (v1 patch 1) and the CASE_SIMD_*
specific deviation (v1 patch 2) in favour of an emulator-wide
deviation, following the existing one for Rule 16.2.
automation/eclair_analysis/ECLAIR/deviations.ecl | 5 +++++
docs/misra/deviations.rst | 8 ++++++++
2 files changed, 13 insertions(+)
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 296340bb4c..4679e8b250 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -55,6 +55,11 @@ removed by the compiler, the resulting slowdown is
negligible."
-config=MC3A2.R2.6,reports+={deliberate,
"any_area(text(^.*__maybe_unused.*$))"}
-doc_end
+-doc_begin="With CONFIG_HVM=n the FPU, MMX and SIMD parts of the x86 emulator
are compiled out, leaving labels with no goto targeting them, many generated by
the CASE_SIMD_* macros.
+Annotating them would only add churn to the emulator, therefore it is deemed
better to leave such files as is."
+-config=MC3A2.R2.6,reports+={deliberate,
"any_area(any_loc(file(^xen/arch/x86/x86_emulate/.*$)))"}
+-doc_end
+
#
# Series 3.
#
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index bee4686675..7e70b2b79f 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -116,6 +116,14 @@ Deviations related to MISRA C:2012 Rules:
such labels poses no risks.
- Tagged as `deliberate` for ECLAIR.
+ * - R2.6
+ - With CONFIG_HVM=n the FPU, MMX and SIMD parts of the x86 emulator are
+ compiled out, leaving labels with no goto targeting them, many of them
+ generated by the CASE_SIMD_* macros. Annotating them would only add
+ churn to the emulator, therefore it is deemed better to leave such
+ files as is.
+ - Tagged as `deliberate` for ECLAIR.
+
* - R3.1
- Comments starting with '/\*' and containing URLs are safe as they are
not instances of commented-out code.
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |