From: Frantisek Sumsal Date: Mon, 30 May 2022 16:17:11 +0000 (+0200) Subject: coccinelle: don't try to use IN_SET() in assert_cc() X-Git-Tag: v252-rc1~903^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F23560%2Fhead;p=thirdparty%2Fsystemd.git coccinelle: don't try to use IN_SET() in assert_cc() Since assert_cc() requires an integral constant expression. --- diff --git a/coccinelle/in_set.cocci b/coccinelle/in_set.cocci index 8be786dc2d9..a3b02f9609b 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) )