On 2025-08-08 23:40, Nicola Vetrini wrote:
Update configurations to adapt to the new syntax used by the newer
version of the tool in the GitLab runner.
Sorry, forgot to include the cover letter. See below.
From c4da2554d94c3f7bd4b1e460dcaa27db382ece2f Mon Sep 17 00:00:00 2001
Message-ID: <cover.1754689388.git.nicola.vetr...@bugseng.com>
From: Nicola Vetrini <nicola.vetr...@bugseng.com>
Date: Fri, 8 Aug 2025 23:43:08 +0200
Subject: [XEN PATCH 0/2] Update ECLAIR runner and address MISRA
violations
The first patch of the series contains the necessary updates to the
ECLAIR syntax needed to run the updated runners. The change was
motivated by usage of the new syntax in a deviation that is part of the
second patch.
As a result, the runners should be updated either just before or just
after committing the patches.
These have not been properly tested yet on an ECLAIR analysis of Xen,
but
I sent the patches to get some feedback first and then coordinate with
maintainers to take the needed action once agreed on the approach.
Nicola Vetrini (2):
automation/eclair: ECLAIR configuration changes due to GitLab runner
update
Address violation of MISRA C Rule 13.1 involving asm side effects.
automation/eclair_analysis/ECLAIR/deviations.ecl | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
--
2.43.0
No functional changes.
Signed-off-by: Nicola Vetrini <nicola.vetr...@bugseng.com>
---
This will of course need coordination with me to update the runners
just before committing the patches, as any analysis done in between
will
fail due to syntax errors in the tool configuration files.
---
automation/eclair_analysis/ECLAIR/deviations.ecl | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index ebce1ceab912..ec0cac797e5f 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -536,8 +536,8 @@ safe."
-config=MC3A2.R16.3,reports+={safe,
"any_area(end_loc(any_exp(text(^(?s).*/\\* [fF]all ?through\\.?
\\*/.*$,0..2))))"}
-doc_end
--doc_begin="Switch statements having a controlling expression of enum
type deliberately do not have a default case: gcc -Wall enables
-Wswitch which warns (and breaks the build as we use -Werror) if one of
the enum labels is missing from the switch."
--config=MC3A2.R16.4,reports+={deliberate,'any_area(kind(context)&&^.*
has no
`default.*$&&stmt(node(switch_stmt)&&child(cond,skip(__non_syntactic_paren_stmts,type(canonical(enum_underlying_type(any())))))))'}
+-doc_begin="Switch statements having a controlling expression of enum
type deliberately do not have a default case: gcc -Wall enables
-Wswitch which warns (and breaks the build as -Werror is used) if one
of the enumeration values is missing from the switch."
+-config=MC3A2.R16.4,reports+={deliberate,"any_area(kind(context)&&^.*
has no
`default.*$&&stmt(node(switch_stmt)&&child(cond,skip(__non_syntactic_paren_stmts,ref(enum_underlying_type(any()))))))"}
-doc_end
-doc_begin="A switch statement with a single switch clause and no
default label may be used in place of an equivalent if statement if it
is considered to improve readability."
@@ -596,10 +596,10 @@ in assignments; (5) as initializers, possibly
designated, in initalizer lists;
-config=MC3A2.R20.7,expansion_context=
{safe, "context(__call_expr_arg_contexts)"},
{safe, "left_right(^[(,\\[]$,^[),\\]]$)"},
-{safe, "context(skip_to(__expr_non_syntactic_contexts,
stmt_child(node(array_subscript_expr), subscript)))"},
-{safe, "context(skip_to(__expr_non_syntactic_contexts,
stmt_child(operator(assign), lhs)))"},
-{safe, "context(skip_to(__expr_non_syntactic_contexts,
stmt_child(node(init_list_expr||designated_init_expr), init)))"},
-{safe, "context(skip_to(__expr_non_syntactic_contexts,
stmt_child(node(case_stmt), lower||upper)))"}
+{safe, "context(skip(__expr_non_syntactic_contexts,
is(subscript)&&node(array_subscript_expr)))"},
+{safe, "context(skip(__expr_non_syntactic_contexts,
is(lhs)&&stmt(operator(assign))))"},
+{safe, "context(skip(__expr_non_syntactic_contexts,
is(init)&&node(init_list_expr||designated_init_expr)))"},
+{safe, "context(skip(__expr_non_syntactic_contexts,
is(lower||upper)&&node(case_stmt)))"}
-doc_end
-doc_begin="Violations involving the __config_enabled macros cannot be
fixed without
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253