This crept in, it should be the same as the tests in typesafe_cb.h.
{
#ifdef FAIL
struct other
-#if !HAVE_TYPEOF || !HAVE_CAST_TO_UNION
+#if !HAVE_TYPEOF||!HAVE_BUILTIN_CHOOSE_EXPR||!HAVE_BUILTIN_TYPES_COMPATIBLE_P
#error "Unfortunately we don't fail if typesafe_cb_cast is a noop."
#endif
#else
#ifdef FAIL
int x = 0;
set_some_value(x);
-#if !HAVE_TYPEOF||!HAVE_CAST_TO_UNION
+#if !HAVE_TYPEOF||!HAVE_BUILTIN_CHOOSE_EXPR||!HAVE_BUILTIN_TYPES_COMPATIBLE_P
#error "Unfortunately we don't fail if typesafe_cb_cast is a noop."
#endif
#else