@@ -358,6 +358,13 @@ therefore have the same behavior of a boolean"
# Series 16.
#
+-doc_begin="Complying with the Rule would entail a lot of code duplication in the implementation of the x86 emulator,
+therefore it is deemed better to leave such files as is."
+-file_tag+={x86_emulate,"^xen/arch/x86/x86_emulate/.*$"}
+-file_tag+={x86_svm_emulate,"^xen/arch/x86/hvm/svm/emulate\\.c$"}
+-config=MC3R1.R16.2,reports+={deliberate, "any_area(any_loc(file(x86_emulate||x86_svm_emulate)))"}
+-doc_end
+
-doc_begin="Switch clauses ending with continue, goto, return statements are
safe."
-config=MC3R1.R16.3,terminals+={safe, "node(continue_stmt||goto_stmt||return_stmt)"}
@@ -296,6 +296,12 @@ Deviations related to MISRA C:2012 Rules:
therefore have the same behavior of a boolean.
- Project-wide deviation; tagged as `deliberate` for ECLAIR.
+ * - R16.2
+ - Complying with the Rule would entail a lot of code duplication in the
+ implementation of the x86 emulator, therefore it is deemed better to
+ leave such files as is.
+ - Tagged as `deliberate` for ECLAIR.
+
* - R16.3
- Switch clauses ending with continue, goto, return statements are safe.
- Tagged as `safe` for ECLAIR.
MISRA C Rule 16.2 states: "A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement". Since complying with this rule of the x86 emulator would lead to a lot of code duplication, it is deemed better to exempt those files for this guideline. No functional change. Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> --- automation/eclair_analysis/ECLAIR/deviations.ecl | 7 +++++++ docs/misra/deviations.rst | 6 ++++++ 2 files changed, 13 insertions(+)