The goal of this series is to fix the evaluation of expressions doing the (logical) negation of arrays or functions. In this case, of course, the array or function must degenerate into a pointer but it wasn't done. It doesn't make any visible difference for the checker but the linearization of such expressions was wrong. Luc Van Oostenryck (3): add more testcases for using addresses in conditionals add testcases linearization of degenerated arrays/functions fix: add missing degenerate() for logical not evaluate.c | 1 + .../{cond-address-array.c => Waddress-array.c} | 9 +- ...cond-address-function.c => Waddress-function.c} | 7 +- validation/Waddress-weak.c | 25 +++++ validation/Waddress.c | 110 +++++++++++++++++++++ validation/linear/degen-array.c | 31 ++++++ validation/linear/degen-function.c | 38 +++++++ validation/linear/degen-log-not.c | 40 ++++++++ 8 files changed, 252 insertions(+), 9 deletions(-) rename validation/{cond-address-array.c => Waddress-array.c} (37%) rename validation/{cond-address-function.c => Waddress-function.c} (39%) create mode 100644 validation/Waddress-weak.c create mode 100644 validation/Waddress.c create mode 100644 validation/linear/degen-array.c create mode 100644 validation/linear/degen-function.c create mode 100644 validation/linear/degen-log-not.c -- 2.15.0 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html