[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] automation/eclair: add deviation of MISRA C:2012 Rule 14.4
commit 3d1033c9117f9c0b53cb3d1faded7969c5c065b7 Author: Federico Serafini <federico.serafini@xxxxxxxxxxx> AuthorDate: Thu May 2 15:11:15 2024 +0200 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Thu May 9 18:19:49 2024 +0100 automation/eclair: add deviation of MISRA C:2012 Rule 14.4 Update ECLAIR configuration to take into account the deviations agreed during MISRA meetings. Amend an existing entry of Rule 14.4 in deviations-rst: it is not a project-wide deviation. Tag Rule 14.4 as clean for arm. Signed-off-by: Federico Serafini <federico.serafini@xxxxxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++ automation/eclair_analysis/ECLAIR/tagging.ecl | 2 +- docs/misra/deviations.rst | 8 +++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl index f09ad71acf..5eb7368a73 100644 --- a/automation/eclair_analysis/ECLAIR/deviations.ecl +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl @@ -343,6 +343,10 @@ statements are deliberate" -config=MC3R1.R14.3,statements={deliberate , "wrapped(any(),node(if_stmt))" } -doc_end +-doc_begin="A controlling expression of 'if' and iteration statements having integer, character or pointer type has a semantics that is well-known to all Xen developers." +-config=MC3R1.R14.4,etypes+={deliberate, "any()", "src_type(integer||character)||src_expr(type(desugar(pointer(any()))))"} +-doc_end + -doc_begin="The XEN team relies on the fact that the enum is_dying has the constant with assigned value 0 act as false and the other ones as true, therefore have the same behavior of a boolean" diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl index a014500a41..1e13258fa9 100644 --- a/automation/eclair_analysis/ECLAIR/tagging.ecl +++ b/automation/eclair_analysis/ECLAIR/tagging.ecl @@ -29,7 +29,7 @@ if(string_equal(target,"x86_64"), ) if(string_equal(target,"arm64"), - service_selector({"additional_clean_guidelines","MC3R1.R16.6||MC3R1.R20.12||MC3R1.R2.1||MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"}) + service_selector({"additional_clean_guidelines","MC3R1.R14.4||MC3R1.R16.6||MC3R1.R20.12||MC3R1.R2.1||MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"}) ) -reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"} diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst index 39cc321a27..161134771c 100644 --- a/docs/misra/deviations.rst +++ b/docs/misra/deviations.rst @@ -290,11 +290,17 @@ Deviations related to MISRA C:2012 Rules: statements are deliberate. - Project-wide deviation; tagged as `disapplied` for ECLAIR. + * - R14.4 + - A controlling expression of 'if' and iteration statements having + integer, character or pointer type has a semantics that is well-known to + all Xen developers. + - Tagged as `deliberate` for ECLAIR. + * - R14.4 - The XEN team relies on the fact that the enum is_dying has the constant with assigned value 0 act as false and the other ones as true, therefore have the same behavior of a boolean. - - Project-wide deviation; tagged as `deliberate` for ECLAIR. + - Tagged as `deliberate` for ECLAIR. * - R16.2 - Complying with the Rule would entail a lot of code duplication in the -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |