1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-22 13:33:56 +03:00

coccinelle: don't try to use IN_SET() in assert_cc()

Since assert_cc() requires an integral constant expression.
This commit is contained in:
Frantisek Sumsal 2022-05-30 18:17:11 +02:00
parent 81aa8d4130
commit a0aca8821c

View File

@ -1,26 +1,38 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* SPDX-License-Identifier: LGPL-2.1-or-later */
/* Limit the number of expressions to 6 for performance reasons */ /* 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; expression e;
position p2 != is_in_assert_cc.p1;
/* Exclude JsonVariant * from the transformation, as it can't work with the /* Exclude JsonVariant * from the transformation, as it can't work with the
* current version of the IN_SET macro */ * current version of the IN_SET macro */
typedef JsonVariant; typedef JsonVariant;
type T != JsonVariant*; type T != JsonVariant*;
constant T n0, n1, n2, n3, n4, n5; 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) + 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) + 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) + 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) + IN_SET(e, n0, n1, n2)
| |
- e == n0 || e == n1 - e@p2 == n0 || e == n1
+ IN_SET(e, n0, n1) + IN_SET(e, n0, n1)
) )