// BUILD(macos): $CC main.m -o $BUILD_DIR/_dyld_get_objc_selector-chained.exe -lobjc -Wl,-fixup_chains // BUILD(ios,tvos,watchos,bridgeos): // RUN: ./_dyld_get_objc_selector-chained.exe #include #import #include "test_support.h" @interface DyldClass : NSObject @end @implementation DyldClass -(void) dyldClassFoo { } +(void) dyldClassFoo { } @end @interface DyldMainClass : NSObject @end @implementation DyldMainClass -(void) dyldMainClassFoo { } -(void) dyldMainClassFoo2 { } @end extern id objc_getClass(const char *name); int main(int argc, const char* argv[], const char* envp[], const char* apple[]) { // dyldClassFoo const char* sel = _dyld_get_objc_selector("dyldClassFoo"); if (sel) { if ((SEL)sel != @selector(dyldClassFoo)) { FAIL("dyldClassFoo is wrong"); } } // dyldMainClassFoo sel = _dyld_get_objc_selector("dyldMainClassFoo"); if (sel) { if ((SEL)sel != @selector(dyldMainClassFoo)) { FAIL("dyldMainClassFoo is wrong"); } } // dyldMainClassFoo2 sel = _dyld_get_objc_selector("dyldMainClassFoo2"); if (sel) { if ((SEL)sel != @selector(dyldMainClassFoo2)) { FAIL("dyldMainClassFoo2 is wrong"); } } PASS("Success"); }