From a0aca8821c622477d69ccca362ddb473d599636a Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Mon, 30 May 2022 18:17:11 +0200 Subject: coccinelle: don't try to use IN_SET() in assert_cc() Since assert_cc() requires an integral constant expression. --- coccinelle/in_set.cocci | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/coccinelle/in_set.cocci b/coccinelle/in_set.cocci index 8be786dc2d..a3b02f9609 100644 --- a/coccinelle/in_set.cocci +++ b/coccinelle/in_set.cocci @@ -1,26 +1,38 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ /* Limit the number of expressions to 6 for performance reasons */ + +@ is_in_assert_cc @ +identifier id = assert_cc; +position p1; +expression e; +constant n0; +@@ + + id(e@p1 == n0 || ...); + @@ expression e; +position p2 != is_in_assert_cc.p1; /* Exclude JsonVariant * from the transformation, as it can't work with the * current version of the IN_SET macro */ typedef JsonVariant; type T != JsonVariant*; constant T n0, n1, n2, n3, n4, n5; @@ + ( -- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 +- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 + IN_SET(e, n0, n1, n2, n3, n4, n5) | -- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 +- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4 + IN_SET(e, n0, n1, n2, n3, n4) | -- e == n0 || e == n1 || e == n2 || e == n3 +- e@p2 == n0 || e == n1 || e == n2 || e == n3 + IN_SET(e, n0, n1, n2, n3) | -- e == n0 || e == n1 || e == n2 +- e@p2 == n0 || e == n1 || e == n2 + IN_SET(e, n0, n1, n2) | -- e == n0 || e == n1 +- e@p2 == n0 || e == n1 + IN_SET(e, n0, n1) ) -- cgit v1.2.1