ping.

> -----Original Message-----
> From: Yao Xingtao <yaoxt.f...@fujitsu.com>
> Sent: Thursday, July 25, 2024 1:55 PM
> To: qemu-devel@nongnu.org
> Cc: Yao, Xingtao/姚 幸涛 <yaoxt.f...@fujitsu.com>
> Subject: [PATCH] scripts/coccinelle: New range.cocci
> 
> This is the semantic patch from commit 7b3e371526 "cxl/mailbox: make
> range overlap check more readable"
> 
> Signed-off-by: Yao Xingtao <yaoxt.f...@fujitsu.com>
> ---
>  scripts/coccinelle/range.cocci | 49
> ++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>  create mode 100644 scripts/coccinelle/range.cocci
> 
> diff --git a/scripts/coccinelle/range.cocci b/scripts/coccinelle/range.cocci
> new file mode 100644
> index 000000000000..21b07945ccb2
> --- /dev/null
> +++ b/scripts/coccinelle/range.cocci
> @@ -0,0 +1,49 @@
> +/*
> +  Usage:
> +
> +    spatch \
> +           --macro-file scripts/cocci-macro-file.h \
> +           --sp-file scripts/coccinelle/range.cocci \
> +           --keep-comments \
> +           --in-place \
> +           --dir .
> +
> +  Description:
> +    Find out the range overlap check and use ranges_overlap() instead.
> +
> +  Note:
> +    This pattern cannot accurately match the region overlap check, and you
> +    need to manually delete the use cases that do not meet the conditions.
> +
> +    In addition, the parameters of ranges_overlap() may be filled 
> incorrectly,
> +    and some use cases may be better to use range_overlaps_range().
> +*/
> +
> +@@
> +expression E1, E2, E3, E4;
> +@@
> +(
> +- E2 <= E3 || E1 >= E4
> ++ !ranges_overlap(E1, E2, E3, E4)
> +|
> +
> +- (E2 <= E3) || (E1 >= E4)
> ++ !ranges_overlap(E1, E2, E3, E4)
> +|
> +
> +- E1 < E4 && E2 > E3
> ++ ranges_overlap(E1, E2, E3, E4)
> +|
> +
> +- (E1 < E4) && (E2 > E3)
> ++ ranges_overlap(E1, E2, E3, E4)
> +|
> +
> +- (E1 >= E3 && E1 < E4) || (E2 > E3 && E2 <= E4)
> ++ ranges_overlap(E1, E2, E3, E4)
> +
> +|
> +- ((E1 >= E3) && (E1 < E4)) || ((E2 > E3) && (E2 <= E4))
> ++ ranges_overlap(E1, E2, E3, E4)
> +)
> +
> --
> 2.41.0


Reply via email to