Apparently PUBLIC doesn't mean what I think it means.
It probably should be renamed OBJC_PUBLIC anyway, because it's a bit
rude to leak an identifier like that into the global namespace.
@@ -23,7 +23,7 @@ struct objc_slot2
* invalid, for example if a subclass loads a category containing methods that
* were inherited from the superclass.
*/
-PUBLIC _Atomic(uint64_t) objc_method_cache_version;
+PUBLIC extern _Atomic(uint64_t) objc_method_cache_version;
/**
* Legacy cache structure. This is no longer maintained in the runtime and is
