|
| 1 | +// ignore-tidy-linelength |
| 2 | +//@ aux-build: darwin_objc_inline_aux.rs |
| 3 | +//@ revisions: x86_64_macos aarch64_macos |
| 4 | +//@ [x86_64_macos] only-x86_64-apple-darwin |
| 5 | +//@ [aarch64_macos] only-aarch64-apple-darwin |
| 6 | + |
| 7 | +#![crate_type = "lib"] |
| 8 | +#![feature(darwin_objc)] |
| 9 | + |
| 10 | +use std::os::darwin::objc; |
| 11 | + |
| 12 | +extern crate darwin_objc_inline_aux as aux; |
| 13 | + |
| 14 | +#[no_mangle] |
| 15 | +pub fn get_class() -> objc::Class { |
| 16 | + aux::get_class() |
| 17 | +} |
| 18 | + |
| 19 | +#[no_mangle] |
| 20 | +pub fn get_selector() -> objc::SEL { |
| 21 | + aux::get_selector() |
| 22 | +} |
| 23 | + |
| 24 | +// CHECK: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr } |
| 25 | + |
| 26 | +// CHECK: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t |
| 27 | +// CHECK: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular,no_dead_strip", align 8 |
| 28 | + |
| 29 | +// CHECK: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1 |
| 30 | +// 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 |
| 31 | + |
| 32 | +// CHECK: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8 |
| 33 | +// CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8 |
| 34 | + |
| 35 | +// CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Version", i32 2} |
| 36 | +// CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0} |
| 37 | +// CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"} |
| 38 | +// CHECK-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32} |
| 39 | +// CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64} |
0 commit comments