On Windows, we do not emit the base type pointer and instead will fill
that in at runtime just like the resilient strategy. Permit this in the
IRGen checks.
@objc enums don't support reflection and aren't given extra inhabitants, so we never in practice use their enum value witnesses (and the ones we generated were wrong!), and we can share the prefab value witnesses for the builtin integer types for C enums. All uninhabited types like Never can also share an arbitrary value witness table; the value witnesses will never be invoked.