Compiler projects using llvm
void f(void) {
  int x;
  float y;
  _Static_assert(_Generic(x, float : 0, int : 1), "Incorrect semantics of _Generic");
  _Static_assert(_Generic(y, float : 1, int : 0), "Incorrect semantics of _Generic");
}