11// ignore-tidy-linelength
22//@ add-core-stubs
3- //@ revisions: i686_apple_darwin
4- //@ [i686_apple_darwin] compile-flags: --target i686-apple-darwin
5- //@ [i686_apple_darwin] needs-llvm-components: x86
6- //@ revisions: x86_64_apple_darwin
7- //@ [x86_64_apple_darwin] compile-flags: --target x86_64-apple-darwin
8- //@ [x86_64_apple_darwin] needs-llvm-components: x86
9- //@ revisions: aarch64_apple_darwin
10- //@ [aarch64_apple_darwin] compile-flags: --target aarch64-apple-darwin
11- //@ [aarch64_apple_darwin] needs-llvm-components: aarch64
12- //@ revisions: i386_apple_ios
13- //@ [i386_apple_ios] compile-flags: --target i386-apple-ios
14- //@ [i386_apple_ios] needs-llvm-components: x86
15- //@ revisions: x86_64_apple_ios
16- //@ [x86_64_apple_ios] compile-flags: --target x86_64-apple-ios
17- //@ [x86_64_apple_ios] needs-llvm-components: x86
18- //@ revisions: armv7s_apple_ios
19- //@ [armv7s_apple_ios] compile-flags: --target armv7s-apple-ios
20- //@ [armv7s_apple_ios] needs-llvm-components: arm
21- //@ revisions: aarch64_apple_ios
22- //@ [aarch64_apple_ios] compile-flags: --target aarch64-apple-ios
23- //@ [aarch64_apple_ios] needs-llvm-components: aarch64
24- //@ revisions: aarch64_apple_ios_sim
25- //@ [aarch64_apple_ios_sim] compile-flags: --target aarch64-apple-ios-sim
26- //@ [aarch64_apple_ios_sim] needs-llvm-components: aarch64
3+ //@ revisions: x86_64_macos
4+ //@ [x86_64_macos] compile-flags: --target x86_64-apple-darwin
5+ //@ [x86_64_macos] needs-llvm-components: x86
6+ //@ revisions: aarch64_macos
7+ //@ [aarch64_macos] compile-flags: --target aarch64-apple-darwin
8+ //@ [aarch64_macos] needs-llvm-components: aarch64
9+ //@ revisions: i386_ios
10+ //@ [i386_ios] compile-flags: --target i386-apple-ios
11+ //@ [i386_ios] needs-llvm-components: x86
12+ //@ revisions: x86_64_ios
13+ //@ [x86_64_ios] compile-flags: --target x86_64-apple-ios
14+ //@ [x86_64_ios] needs-llvm-components: x86
15+ //@ revisions: armv7s_ios
16+ //@ [armv7s_ios] compile-flags: --target armv7s-apple-ios
17+ //@ [armv7s_ios] needs-llvm-components: arm
18+ //@ revisions: aarch64_ios
19+ //@ [aarch64_ios] compile-flags: --target aarch64-apple-ios
20+ //@ [aarch64_ios] needs-llvm-components: aarch64
21+ //@ revisions: aarch64_ios_sim
22+ //@ [aarch64_ios_sim] compile-flags: --target aarch64-apple-ios-sim
23+ //@ [aarch64_ios_sim] needs-llvm-components: aarch64
2724
2825#![ crate_type = "lib" ]
2926#![ feature( no_core, lang_items, rustc_attrs) ]
@@ -50,99 +47,54 @@ pub fn get_selector() -> *mut () {
5047 VAL
5148}
5249
53- // i686_apple_darwin: %struct._objc_module = type { i32, i32, ptr, ptr }
54- // x86_64_apple_darwin: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
55- // aarch64_apple_darwin: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
56- // i386_apple_ios: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
57- // x86_64_apple_ios: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
58- // armv7s_apple_ios: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
59- // aarch64_apple_ios: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
60- // aarch64_apple_ios_sim: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
61-
62- // i686_apple_darwin: @OBJC_CLASS_NAME_.{{[0-9]+}} = private unnamed_addr constant [8 x i8] c"MyClass\00", section "__TEXT,__cstring,cstring_literals", align 1
63- // x86_64_apple_darwin: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
64- // aarch64_apple_darwin: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
65- // i386_apple_ios: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
66- // x86_64_apple_ios: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
67- // armv7s_apple_ios: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
68- // aarch64_apple_ios: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
69- // aarch64_apple_ios_sim: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
70-
71- // i686_apple_darwin: @OBJC_CLASS_REFERENCES_.{{[0-9]+}} = private global ptr @OBJC_CLASS_NAME_.{{[0-9]+}}, section "__OBJC,__cls_refs,literal_pointers", align 4
72- // x86_64_apple_darwin: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 8
73- // aarch64_apple_darwin: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 8
74- // i386_apple_ios: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 4
75- // x86_64_apple_ios: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 8
76- // armv7s_apple_ios: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 4
77- // aarch64_apple_ios: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 8
78- // aarch64_apple_ios_sim: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular", align 8
79-
80- // i686_apple_darwin: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__cstring,cstring_literals", align 1
81- // x86_64_apple_darwin: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
82- // aarch64_apple_darwin: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
83- // i386_apple_ios: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
84- // x86_64_apple_ios: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
85- // armv7s_apple_ios: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
86- // aarch64_apple_ios: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
87- // aarch64_apple_ios_sim: @OBJC_METH_VAR_NAME_.{{[0-9]+}} = private unnamed_addr constant [9 x i8] c"myMethod\00", section "__TEXT,__objc_methname,cstring_literals", align 1
88-
89- // i686_apple_darwin: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = private global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__OBJC,__message_refs,literal_pointers", align 4
90- // x86_64_apple_darwin: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 8
91- // aarch64_apple_darwin: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 8
92- // i386_apple_ios: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 4
93- // x86_64_apple_ios: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 8
94- // armv7s_apple_ios: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 4
95- // aarch64_apple_ios: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 8
96- // aarch64_apple_ios_sim: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers", align 8
97-
98- // i686_apple_darwin: @OBJC_CLASS_NAME_.{{[0-9]+}} = private unnamed_addr constant [1 x i8] zeroinitializer, section "__TEXT,__cstring,cstring_literals", align 1
99- // i686_apple_darwin: @OBJC_MODULES = private global %struct._objc_module { i32 7, i32 16, ptr @OBJC_CLASS_NAME_.{{[0-9]+}}, ptr null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4
100-
101- // i686_apple_darwin: load ptr, ptr @OBJC_CLASS_REFERENCES_.{{[0-9]+}}, align 4
102- // x86_64_apple_darwin: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8
103- // aarch64_apple_darwin: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8
104- // i386_apple_ios: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 4
105- // x86_64_apple_ios: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8
106- // armv7s_apple_ios: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 4
107- // aarch64_apple_ios: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8
108- // aarch64_apple_ios_sim: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}", align 8
109-
110- // i686_apple_darwin: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 4
111- // x86_64_apple_darwin: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8
112- // aarch64_apple_darwin: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8
113- // i386_apple_ios: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 4
114- // x86_64_apple_ios: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8
115- // armv7s_apple_ios: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 4
116- // aarch64_apple_ios: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8
117- // aarch64_apple_ios_sim: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}}, align 8
118-
119- // i686_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
120- // x86_64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
121- // aarch64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
122- // i386_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
123- // x86_64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
124- // armv7s_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
125- // aarch64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
126- // aarch64_apple_ios_sim: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
127-
128- // i686_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__OBJC,__image_info,regular"}
129- // x86_64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
130- // aarch64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
131- // i386_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
132- // x86_64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
133- // armv7s_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
134- // aarch64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
135- // aarch64_apple_ios_sim: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
136-
137- // i386_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
138- // x86_64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
139- // aarch64_apple_ios_sim: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
140-
141- // i686_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
142- // x86_64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
143- // aarch64_apple_darwin: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
144- // i386_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
145- // x86_64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
146- // armv7s_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
147- // aarch64_apple_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
148- // aarch64_apple_ios_sim: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
50+ // CHECK: %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
51+ // CHECK: @"OBJC_CLASS_$_MyClass" = external global %struct._class_t
52+ // CHECK: @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}" = internal global ptr @"OBJC_CLASS_$_MyClass", section "__DATA,__objc_classrefs,regular",
53+ // x86_64_macos-SAME: align 8
54+ // aarch64_macos-SAME: align 8
55+ // i386_ios-SAME: align 4
56+ // x86_64_ios-SAME: align 8
57+ // armv7s_ios-SAME: align 4
58+ // aarch64_ios-SAME: align 8
59+ // aarch64_ios_sim-SAME: align 8
60+
61+ // 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
62+ // CHECK: @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}} = internal global ptr @OBJC_METH_VAR_NAME_.{{[0-9]+}}, section "__DATA,__objc_selrefs,literal_pointers",
63+ // x86_64_macos-SAME: align 8
64+ // aarch64_macos-SAME: align 8
65+ // i386_ios-SAME: align 4
66+ // x86_64_ios-SAME: align 8
67+ // armv7s_ios-SAME: align 4
68+ // aarch64_ios-SAME: align 8
69+ // aarch64_ios_sim-SAME: align 8
70+
71+ // CHECK: load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_.{{[0-9]+}}",
72+ // x86_64_macos-SAME: align 8
73+ // aarch64_macos-SAME: align 8
74+ // i386_ios-SAME: align 4
75+ // x86_64_ios-SAME: align 8
76+ // armv7s_ios-SAME: align 4
77+ // aarch64_ios-SAME: align 8
78+ // aarch64_ios_sim-SAME: align 8
79+
80+ // CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_.{{[0-9]+}},
81+ // x86_64_macos-SAME: align 8
82+ // aarch64_macos-SAME: align 8
83+ // i386_ios-SAME: align 4
84+ // x86_64_ios-SAME: align 8
85+ // armv7s_ios-SAME: align 4
86+ // aarch64_ios-SAME: align 8
87+ // aarch64_ios_sim-SAME: align 8
88+
89+ // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Version", i32 0}
90+ // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
91+
92+ // x86_64_macos-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
93+ // aarch64_macos-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
94+ // i386_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
95+ // x86_64_ios: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
96+ // armv7s_ios-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
97+ // aarch64_ios-NOT: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
98+ // aarch64_ios_sim: !{{[0-9]+}} = !{i32 1, !"Objective-C Is Simulated", i32 32}
99+
100+ // CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Class Properties", i32 64}
0 commit comments