Details

In r252104, I fixed a _Generic bug so that the controlling expression has its type decayed and qualifiers stripped. However, this caused a diagnostic regression because the controlling expression is not evaluated, and my fix triggered diagnostics (like null pointer dereferences) that it should not have. This patch fixes the regression by putting the evaluation of the controlling expression into an unevaluated context before decaying and stripping qualifiers.

Assuming this patch is acceptable, I think it should go into 3.8 as well.