Masahiro Yamada
8bfd6f0923
kconfig: call expr_eliminate_yn() at least once in expr_eliminate_dups()
...
Kconfig simplifies expressions, but redundant '&&' and '||' operators
involving constant symbols 'y' and 'n' are sometimes trimmed and
sometimes not.
[Test Code]
config DEP
def_bool y
config A
bool "A"
depends on DEP && y
config B
bool "B"
depends on DEP && y && y
[Result]
$ make helpnewconfig
[ snip ]
-----
There is no help available for this option.
Symbol: A [=n]
Type : bool
Defined at Kconfig:4
Prompt: A
Depends on: DEP [=y] && y [=y]
Location:
-> A (A [=n])
-----
-----
There is no help available for this option.
Symbol: B [=n]
Type : bool
Defined at Kconfig:8
Prompt: B
Depends on: DEP [=y]
Location:
-> B (B [=n])
-----
The dependency for A, 'DEP && y', remains as-is, while that for B,
'DEP && y && y', has been reduced to 'DEP'.
Currently, expr_eliminate_dups() calls expr_eliminate_yn() only when
trans_count != 0, in other words, only when expr_eliminate_dups1() has
trimmed at least one leaf. It fails to trim a single '&& y', etc.
To fix this inconsistent behavior, expr_eliminate_yn() should be called
at least once even if no leaf has been trimmed.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org >
2024-07-16 16:07:14 +09:00
..
2024-06-05 15:52:34 +02:00
2023-06-22 21:21:06 +09:00
2024-02-15 06:57:19 +09:00
2024-05-20 21:31:33 +02:00
2024-05-30 01:15:58 +09:00
2023-11-01 23:24:56 +09:00
2024-04-03 14:35:49 -07:00
2024-06-27 04:20:32 +09:00
2024-05-10 04:34:52 +09:00
2024-07-16 16:07:14 +09:00
2024-07-16 16:07:14 +09:00
2024-07-16 16:07:14 +09:00
2022-09-20 14:12:25 -04:00
2023-02-18 14:34:09 -05:00
2023-07-19 09:32:53 -06:00
2023-01-26 12:41:38 +09:00
2023-04-21 08:58:00 -07:00
2023-08-21 13:46:25 -07:00
2024-03-15 14:46:31 +01:00
2024-07-16 01:08:37 +09:00
2023-04-24 10:18:32 -07:00
2021-09-08 11:50:28 -07:00
2023-03-16 22:46:12 +09:00
2024-02-23 12:13:09 +01:00
2023-12-29 22:25:20 +09:00
2024-05-02 10:14:52 -06:00
2021-08-10 09:13:25 +09:00
2023-01-26 12:43:33 +09:00
2024-05-11 15:51:44 -07:00
2023-12-29 12:22:28 -08:00
2023-03-23 17:18:32 -07:00
2021-08-05 20:55:39 +09:00
2023-02-25 20:11:06 +01:00
2021-01-04 10:38:11 +09:00
2024-05-03 10:45:55 +01:00
2024-01-12 15:20:46 -08:00
2023-12-29 12:22:25 -08:00
2023-08-29 22:38:23 +09:00
2023-01-26 12:43:33 +09:00
2021-10-26 09:42:29 -06:00
2022-08-29 13:58:47 +09:00
2023-10-23 08:36:46 -07:00
2021-03-08 13:19:05 +01:00
2022-05-08 01:33:07 -07:00
2021-01-14 08:21:09 -08:00
2024-04-16 22:03:14 +02:00
2024-05-22 09:56:00 -07:00
2024-01-03 14:02:17 -07:00
2022-06-30 12:22:17 -06:00
2023-12-31 10:57:42 -08:00
2023-06-19 13:19:32 -07:00
2023-12-29 22:25:20 +09:00
2023-12-03 18:51:48 +09:00
2024-05-07 08:55:23 +10:00
2022-05-11 21:45:53 +09:00
2023-01-16 20:15:20 +09:00
2024-07-16 01:08:36 +09:00
2024-07-16 16:07:14 +09:00
2024-02-16 16:07:07 -08:00
2024-05-19 09:21:03 -07:00
2021-04-25 05:14:26 +09:00
2024-02-29 13:38:03 -08:00
2024-07-16 01:08:36 +09:00
2024-07-16 01:08:37 +09:00
2024-05-14 12:24:18 +08:00
2024-05-10 04:34:52 +09:00
2024-05-09 14:44:35 -07:00
2024-05-18 12:39:20 -07:00
2023-07-01 09:24:31 -07:00
2024-05-10 04:34:52 +09:00
2024-02-16 16:07:07 -08:00
2024-04-02 17:41:22 +02:00
2024-01-28 01:13:37 +09:00
2024-06-26 00:18:57 +09:00
2024-05-19 14:36:16 -07:00
2022-08-16 12:25:53 -07:00
2021-03-15 19:20:48 +09:00
2024-06-26 00:18:57 +09:00
2023-04-18 16:29:43 -07:00
2021-12-09 16:42:27 -08:00
2022-10-03 14:03:19 -07:00
2024-07-16 16:07:14 +09:00
2024-05-14 23:36:12 +09:00
2023-09-25 16:01:05 +09:00
2024-05-18 12:39:20 -07:00
2024-06-26 00:18:57 +09:00
2022-05-08 01:33:07 -07:00
2024-02-20 20:44:49 -08:00
2023-11-01 23:26:01 +09:00
2024-05-21 12:09:36 -07:00
2024-05-14 23:35:48 +09:00
2024-01-10 10:52:29 +01:00
2024-05-05 20:17:25 +02:00
2023-01-22 23:43:33 +09:00
2022-09-29 04:40:15 +09:00
2024-05-29 16:40:03 +09:00
2024-05-19 09:21:03 -07:00
2022-12-14 15:42:40 +09:00
2022-06-08 20:14:13 +09:00
2022-06-05 06:20:57 +09:00
2023-04-14 16:08:28 +02:00
2023-06-16 17:17:42 +02:00
2022-02-02 11:19:33 +01:00
2022-05-11 21:46:38 +09:00
2023-12-03 18:51:48 +09:00
2021-06-18 09:09:17 -04:00
2024-02-22 15:38:54 -08:00
2023-04-19 07:46:31 -07:00
2023-10-03 20:49:09 +09:00
2022-09-28 09:02:06 +02:00
2023-08-10 01:18:34 +02:00
2023-08-10 01:18:34 +02:00
2023-07-19 09:32:53 -06:00
2023-07-19 09:32:53 -06:00
2023-08-08 01:08:54 +09:00
2023-10-18 14:43:23 -07:00
2023-12-13 12:55:11 -08:00
2022-12-14 08:36:11 +08:00
2023-03-23 23:18:58 +01:00
2022-06-01 09:32:45 -06:00
2024-05-04 19:00:54 +02:00
2022-05-18 15:35:42 +02:00
2023-12-10 17:21:33 -08:00
2024-04-02 10:07:51 -06:00
2022-06-03 20:09:27 +08:00
2021-07-09 04:00:39 +09:00
2021-08-10 09:13:25 +09:00
2021-07-09 04:00:39 +09:00
2024-01-04 17:01:15 +01:00
2022-02-13 16:50:06 -08:00
2023-04-17 11:23:06 +09:00
2024-04-23 00:09:41 +09:00
2021-05-03 17:23:06 -06:00
2021-08-10 09:13:25 +09:00
2023-12-03 18:51:48 +09:00