X-Git-Url: https://git.saurik.com/apple/objc4.git/blobdiff_plain/7c0e6487d7b67b6bf6c632300ee4b74e8950b051..7af964d1562d70f51a8e9aca24215ac3d83d0624:/test/protocol_cw.m diff --git a/test/protocol_cw.m b/test/protocol_cw.m new file mode 100644 index 0000000..a35ee7c --- /dev/null +++ b/test/protocol_cw.m @@ -0,0 +1,36 @@ +#include "test.h" + +#if __OBJC2__ + +int main() +{ + succeed(__FILE__); +} + +#else + +// rdar://4951638 + +#include +#include + +char Protocol_name[] __attribute__((section("__OBJC,__class_names"))) = "Protocol"; + +struct { + void *isa; + char *protocol_name; + void *protocol_list; + void *instance_methods; + void *class_methods; +} Foo_protocol __attribute__((section("__OBJC,__protocol"))) = { Protocol_name, "Foo", 0, 0, 0 }; + +int main() +{ + Protocol *foo = objc_getProtocol("Foo"); + + testassert(foo == (Protocol *)&Foo_protocol); + testassert(0 == strcmp("Foo", [foo name])); + succeed(__FILE__); +} + +#endif