make test failing: Sema/conditional-expr.c

I’m now seeing the following regression in ‘make test’:

******************** TEST ‘Sema/conditional-expr.c’ FAILED! ********************
Command:
clang -fsyntax-only -verify -pedantic Sema/conditional-expr.c
Output:
Errors seen but not expected:
Line 6: incomplete type ‘void’ is not assignable

The offending line:

*(0 ? (double *)0 : (int *)(void *)0) = 0; // expected-warning {{pointer type mismatch (‘double *’ and ‘int *’)}}

and the unexpected warning:

conditional-expr.c:6:41: error: incomplete type ‘void’ is not assignable
*(0 ? (double *)0 : (int *)(void *)0) = 0; // expected-warning {{pointer type mismatch (‘double *’ and ‘int *’)}}


Did someone forget to update this test, or is this a regression? It looks like a regression to me, since the l-value on the left side of the assignment is not of type void.

This was likely caused by r46557 (Eli, do you agree?).

Since the error appears to be correct, I changed the test case. There are other “expected” errors in this test case that don’t appear consistent with GCC.

snaroff