diff options
author | Frantisek Sumsal <frantisek@sumsal.cz> | 2022-05-30 18:17:11 +0200 |
---|---|---|
committer | Frantisek Sumsal <frantisek@sumsal.cz> | 2022-05-30 18:17:11 +0200 |
commit | a0aca8821c622477d69ccca362ddb473d599636a (patch) | |
tree | dcfa7ec42f5512de9632a217a1b2fd89cca9cc5a | |
parent | journal: return & log in one statement (diff) | |
download | systemd-a0aca8821c622477d69ccca362ddb473d599636a.tar.xz systemd-a0aca8821c622477d69ccca362ddb473d599636a.zip |
coccinelle: don't try to use IN_SET() in assert_cc()
Since assert_cc() requires an integral constant expression.
-rw-r--r-- | coccinelle/in_set.cocci | 22 |
1 files 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) ) |