| // Test that Objective-C class and selector references inlined across crates | 
 | // get defined in this CGU but non-inline references don't. | 
 |  | 
 | // ignore-tidy-linelength | 
 | //@ aux-build: darwin_objc_aux.rs | 
 | //@ revisions: x86_64_macos aarch64_macos | 
 | //@ [x86_64_macos] only-x86_64-apple-darwin | 
 | //@ [aarch64_macos] only-aarch64-apple-darwin | 
 |  | 
 | #![crate_type = "lib"] | 
 | #![feature(darwin_objc)] | 
 |  | 
 | use std::os::darwin::objc; | 
 |  | 
 | extern crate darwin_objc_aux as aux; | 
 |  | 
 | #[no_mangle] | 
 | pub fn get_object_class() -> objc::Class { | 
 |     aux::inline_get_object_class() | 
 | } | 
 |  | 
 | #[no_mangle] | 
 | pub fn get_alloc_selector() -> objc::SEL { | 
 |     aux::inline_get_alloc_selector() | 
 | } | 
 |  | 
 | #[no_mangle] | 
 | pub fn get_string_class() -> objc::Class { | 
 |     aux::never_inline_get_string_class() | 
 | } | 
 |  | 
 | #[no_mangle] | 
 | pub fn get_init_selector() -> objc::SEL { | 
 |     aux::never_inline_get_init_selector() | 
 | } | 
 |  | 
 | // CHECK: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr } | 
 |  | 
 | // CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t | 
 | // CHECK: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_NSObject", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 | 
 |  | 
 | // CHECK: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [6 x i8] c"alloc\00", section "__TEXT,__objc_methname,cstring_literals", align 1 | 
 | // CHECK: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8 | 
 |  | 
 | // CHECK-NOT: @"OBJC_CLASS_$_NSString" = external global %struct._class_t | 
 | // CHECK-NOT: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_NSString" | 
 |  | 
 | // CHECK-NOT: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [5 x i8] c"init\00" | 
 | // CHECK-NOT: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}} | 
 |  | 
 | // CHECK: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8 | 
 | // CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8 | 
 |  | 
 | // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Version", i32 2} | 
 | // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0} | 
 | // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"} | 
 | // CHECK-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32} | 
 | // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64} |