Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-11 Thread Paul Bolle
On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: > Fix it by removing expr_eliminate_dups2() and the functions that have no use > anywhere else: expr_extract_eq_and(), expr_extract_eq_or(), > and expr_extract_eq() from scripts/kconfig/expr.[ch] > > Currently the bug is not triggered in

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-11 Thread Paul Bolle
On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: Fix it by removing expr_eliminate_dups2() and the functions that have no use anywhere else: expr_extract_eq_and(), expr_extract_eq_or(), and expr_extract_eq() from scripts/kconfig/expr.[ch] Currently the bug is not triggered in mainline,

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-10 Thread Martin Walch
On Tuesday 07 October 2014 11:21:51 Dirk Gouders wrote: > Paul Bolle writes: > > > On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: > >> expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad > >> inference rules: > >> > >> (FOO || BAR) && (!FOO && !BAR) -> n > >> (FOO && BAR)

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-10 Thread Martin Walch
On Tuesday 07 October 2014 11:21:51 Dirk Gouders wrote: Paul Bolle pebo...@tiscali.nl writes: On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad inference rules: (FOO || BAR) (!FOO !BAR) - n (FOO BAR) || (!FOO

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-07 Thread Dirk Gouders
CC: Michal added Paul Bolle writes: > On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: >> expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad >> inference rules: >> >> (FOO || BAR) && (!FOO && !BAR) -> n >> (FOO && BAR) || (!FOO || !BAR) -> y >> >> They would be correct in

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-07 Thread Paul Bolle
On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: > expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad > inference rules: > > (FOO || BAR) && (!FOO && !BAR) -> n > (FOO && BAR) || (!FOO || !BAR) -> y > > They would be correct in propositional logic, but this is a three-valued

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-07 Thread Paul Bolle
On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad inference rules: (FOO || BAR) (!FOO !BAR) - n (FOO BAR) || (!FOO || !BAR) - y They would be correct in propositional logic, but this is a three-valued logic, and

Re: [PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-10-07 Thread Dirk Gouders
CC: Michal added Paul Bolle pebo...@tiscali.nl writes: On Mon, 2014-09-22 at 19:13 +0200, Martin Walch wrote: expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad inference rules: (FOO || BAR) (!FOO !BAR) - n (FOO BAR) || (!FOO || !BAR) - y They would be correct in

[PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-09-22 Thread Martin Walch
expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad inference rules: (FOO || BAR) && (!FOO && !BAR) -> n (FOO && BAR) || (!FOO || !BAR) -> y They would be correct in propositional logic, but this is a three-valued logic, and here it is wrong in that it changes semantics. It becomes

[PATCH v2 1/2] kconfig: fix bad syntactic transformation in expr.c

2014-09-22 Thread Martin Walch
expr_eliminate_dups2() in scripts/kconfig/expr.c applies two bad inference rules: (FOO || BAR) (!FOO !BAR) - n (FOO BAR) || (!FOO || !BAR) - y They would be correct in propositional logic, but this is a three-valued logic, and here it is wrong in that it changes semantics. It becomes