From c8df7316d1ed151b93566a61ed9d95da67e17974 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Tue, 19 Sep 2017 23:03:22 +0200 Subject: Add support for less/greater than comparisons Was added upstream in 31847b67 (kconfig: allow use of relations other than (in)equality). Completely unused (and undocumented) in the kernel except for in DEBUG_UART_8250_WORD in arch/arm/Kconfig.debug: depends on DEBUG_UART_8250_SHIFT >= 2 (That line was added before lt/gt support by the way, and assumed a feature that wasn't there.) This change (and the upstream one) also slightly changes how (in)equality comparisons work, making e.g. MY_HEX = 0x00037 evaluate to 'y' if MY_HEX is 0x37. Prior to this change, the strings needed to match exactly. --- tests/Kchain | 6 +++++- tests/Kdep | 20 ++++++++++++++++++++ tests/Keval | 12 ++++++++---- tests/Klocation | 6 ++++++ tests/Kref | 2 +- tests/Ktext | 2 +- 6 files changed, 41 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/Kchain b/tests/Kchain index dc57ee5..643a949 100644 --- a/tests/Kchain +++ b/tests/Kchain @@ -119,5 +119,9 @@ config DUMMY_3 endchoice config CHAIN_25 - string "chain 25" + int "chain 25" depends on CHAIN_24 + +config CHAIN_26 + int "chain 26" + default 0 if y && 0 < CHAIN_25 diff --git a/tests/Kdep b/tests/Kdep index 87defaa..bde8790 100644 --- a/tests/Kdep +++ b/tests/Kdep @@ -140,6 +140,26 @@ config D31 config D32 tristate "D32" +config D33 + int "D33" + default 0 if D < 0 + +config D34 + int "D34" + default 0 if 0 < D + +config D35 + int "D35" + default 0 if 0 <= D + +config D36 + int "D36" + default 0 if 0 > D + +config D37 + int "D37" + default 0 if 0 >= D + # # Choices # diff --git a/tests/Keval b/tests/Keval index 191f518..64bd4d8 100644 --- a/tests/Keval +++ b/tests/Keval @@ -19,10 +19,14 @@ config FOO_BAR_STRING string default "foo bar" -config INT_3 +config INT_37 int - default 3 + default 37 -config HEX_0X3 +config HEX_0X37 hex - default 0x3 + default 0x37 + +config HEX_37 + hex + default 37 diff --git a/tests/Klocation b/tests/Klocation index 76a886b..404e5ae 100644 --- a/tests/Klocation +++ b/tests/Klocation @@ -65,3 +65,9 @@ config I range A 0 range 0 A range 0 1 if A + default J if A < 0 + default K if 0 < A + default L if 0 <= A + default M if 0 > A + default N if 0 >= A + default N if y && 0 < A diff --git a/tests/Kref b/tests/Kref index a60561e..b538b15 100644 --- a/tests/Kref +++ b/tests/Kref @@ -20,7 +20,7 @@ config MANY_REF select N if (A || !(B && (C = O))) imply P if Q = R || S != T imply U if (A || !(B && (C = V))) - + default A if A < W || X < A || A <= Y || A > Z || A >= AA endif endmenu diff --git a/tests/Ktext b/tests/Ktext index c645bde..958ee18 100644 --- a/tests/Ktext +++ b/tests/Ktext @@ -10,7 +10,7 @@ config ADVANCED imply IMPLIED_1 if BASIC || DUMMY imply IMPLIED_2 if !(DUMMY && BASIC) default y if BASIC && !BASIC - default n if BASIC = DUMMY + default n if BASIC = DUMMY && X < Y && X <= Y && X > Y && X >= Y config ADVANCED tristate "advanced prompt 2" -- cgit v1.2.3