Re: [PATCH] kconfig: fix relational operators for bool and tristate symbols

From: Randy Dunlap
Date: Wed Dec 06 2017 - 15:24:50 EST


On 12/06/2017 07:40 AM, Nicolas Pitre wrote:
>
> Ping.
>
> On Thu, 16 Nov 2017, Nicolas Pitre wrote:
>
>> Since commit 31847b67bec0 ("kconfig: allow use of relations other than
>> (in)equality") it is possible to use relational operators in Kconfig
>> statements. However, those operators give unexpected results when
>> applied to bool/tristate values:
>>
>> (n < y) = y (correct)
>> (m < y) = y (correct)
>> (n < m) = n (wrong)
>>
>> This happens because relational operators process bool and tristate
>> symbols as strings and m sorts before n. It makes little sense to do a
>> lexicographical compare on bool and tristate values though.
>>
>> Documentation/kbuild/kconfig-language.txt states that expression can have
>> a value of 'n', 'm' or 'y' (or 0, 1, 2 respectively for calculations).
>> Let's make it so for relational comparisons with bool/tristate
>> expressions as well and document them. If at least one symbol is an
>> actual string then the lexicographical compare works just as before.
>>
>> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>


--
~Randy