This series contains: * the controlling expression must be lvalue-converted, array-to-pointer & function-to-pointer converted. These are the rules following the resolution of DR481 and are also used for C17 (and are followed by both GCC & clang). * validate the type of the associations. These patches are available for testing & review at: git://git.kernel.org/pub/scm/devel/sparse/sparse.git fix-gensel Note: A small inconsistency remains: a plain char will match a signed char or a unsigned char. Luc Van Oostenryck (5): gensel: add testcases from DR481 gensel: use temporary variable in generic selection gensel: controlling expression must be lvalue converted gensel: controlling expression must be pointer-converted gensel: validate the type of the associations evaluate.c | 33 ++++++++++++++++++++++++++++++--- validation/generic-dr481.c | 17 +++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 validation/generic-dr481.c -- 2.27.0