mirror of
https://github.com/systemd/systemd.git
synced 2024-11-26 19:53:45 +08:00
a0aca8821c
Since assert_cc() requires an integral constant expression.
39 lines
869 B
Plaintext
39 lines
869 B
Plaintext
/* 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@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5
|
|
+ IN_SET(e, n0, n1, n2, n3, n4, n5)
|
|
|
|
|
- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4
|
|
+ IN_SET(e, n0, n1, n2, n3, n4)
|
|
|
|
|
- e@p2 == n0 || e == n1 || e == n2 || e == n3
|
|
+ IN_SET(e, n0, n1, n2, n3)
|
|
|
|
|
- e@p2 == n0 || e == n1 || e == n2
|
|
+ IN_SET(e, n0, n1, n2)
|
|
|
|
|
- e@p2 == n0 || e == n1
|
|
+ IN_SET(e, n0, n1)
|
|
)
|