On 2024-06-01 14:47, Andrew Cooper wrote:
On 01/06/2024 11:16 am, Nicola Vetrini wrote:
ea59e7d780d9 ("xen/bitops: Cleanup and new infrastructure ahead of
rearrangements")
introduced new violations on previously clean rules 20.9 and 20.12.
The first is introduced because CONFIG_CC_IS_CLANG in xen/self-tests.h
is not
defined in the configuration under analysis. Using "defined()" instead
avoids
relying on the preprocessor's behaviour upon encountering an
undedfined identifier
and addresses the violation.
The violation of Rule 20.12 is due to "val" being used both as an
ordinary argument
in macro RUNTIME_CHECK, and as a stringification operator.
No functional change.
Fixes: ea59e7d780d9 ("xen/bitops: Cleanup and new infrastructure ahead
of rearrangements")
Signed-off-by: Nicola Vetrini <nicola.vetr...@bugseng.com>
Thankyou for this patch. I'd seen that I'd broken something.
(Entirely
my fault - I've done a lot of testing in Gitlab for the series, but
never manually ran the Eclair jobs. I'll try to remember better next
time.)
One question though.
https://gitlab.com/xen-project/xen/-/jobs/6994213979 says:
Failure: 1 regressions found for clean guidelines
service MC3R1.R20.9: (required) All identifiers used in the
controlling expression of `#if' or `#elif' preprocessing directives
shall be #define'd before evaluation:
violation: 1
While there is a report for 20.12, it's not clean yet (so the first
sentence wants adjusting), and RUNTIME_CHECK doesn't show up newly in
it.
So, while I agree that RUNTIME_CHECK() should be included in the 20.12
exclusions, why is current Gitlab Run not reporting it?
~Andrew
While Rule 20.12 wasn't clean on x86, but it was on arm, so in the arm64
run it is reported as such
https://gitlab.com/xen-project/xen/-/jobs/6994213980
with the other patches in the series the rule should be clean on both
architectures, so this imbalance should disappear rather shortly.
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)