Skip to content

Commit 2df21ad

Browse files
authored
Merge pull request #14063 from compnerd/triplicate
2 parents 9c4d6f4 + 55df503 commit 2df21ad

File tree

4 files changed

+87
-47
lines changed

4 files changed

+87
-47
lines changed

test/IRGen/COFF-objc-sections.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// RUN: %swift -target x86_64-unknown-windows-msvc -parse-stdlib -enable-objc-interop -disable-objc-attr-requires-foundation-module -I %S/Inputs/usr/include -emit-ir %s -o - | %FileCheck %s -check-prefix CHECK-COFF
2+
3+
// REQUIRES: OS=windows
4+
5+
import ObjCInterop
6+
7+
@objc
8+
class C {
9+
}
10+
11+
extension C : P {
12+
public func method() {
13+
f(I())
14+
}
15+
}
16+
17+
@_objc_non_lazy_realization
18+
class D {
19+
}
20+
21+
// CHECK-COFF-NOT: @"$S4main1CCMf" = {{.*}}, section "__DATA,__objc_data, regular"
22+
// CHECK-COFF: @"\01l_OBJC_LABEL_PROTOCOL_$_P" = {{.*}}, section ".objc_protolist$B"
23+
// CHECK-COFF: @"\01l_OBJC_PROTOCOL_REFERENCE_$_P" = {{.*}}, section ".objc_protorefs$B"
24+
// CHECK-COFF: @"OBJC_CLASS_REF_$_I" = {{.*}}, section ".objc_classrefs$B"
25+
// CHECK-COFF: @"\01L_selector(init)" = {{.*}}, section ".objc_selrefs$B"
26+
// CHECK-COFF: @objc_classes = {{.*}}, section ".objc_classlist$B"
27+
// CHECK-COFF: @objc_categories = {{.*}}, section ".objc_catlist$B"
28+
// CHECK-COFF: @objc_non_lazy_classes = {{.*}}, section ".objc_nlclslist$B"
29+

test/IRGen/ELF-objc-sections.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// RUN: %swift -target x86_64-unknown-linux-gnu -parse-stdlib -enable-objc-interop -disable-objc-attr-requires-foundation-module -I %S/Inputs/usr/include -Xcc --sysroot=/var/empty -emit-ir %s -o - | %FileCheck %s -check-prefix CHECK-ELF
2+
3+
// REQUIRES: OS=linux-gnu
4+
5+
import ObjCInterop
6+
7+
@objc
8+
class C {
9+
}
10+
11+
extension C : P {
12+
public func method() {
13+
f(I())
14+
}
15+
}
16+
17+
@_objc_non_lazy_realization
18+
class D {
19+
}
20+
21+
// CHECK-ELF-NOT: @"$S4main1CCMf" = {{.*}}, section "__DATA,__objc_data, regular"
22+
// CHECK-ELF: @"\01l_OBJC_LABEL_PROTOCOL_$_P" = {{.*}}, section "objc_protolist"
23+
// CHECK-ELF: @"\01l_OBJC_PROTOCOL_REFERENCE_$_P" = {{.*}}, section "objc_protorefs", align 8
24+
// CHECK-ELF: @"OBJC_CLASS_REF_$_I" = {{.*}}, section "objc_classrefs", align 8
25+
// CHECK-ELF: @"\01L_selector(init)" = {{.*}}, section "objc_selrefs"
26+
// CHECK-ELF: @objc_classes = {{.*}}, section "objc_classlist"
27+
// CHECK-ELF: @objc_categories = {{.*}}, section "objc_catlist"
28+
// CHECK-ELF: @objc_non_lazy_classes = {{.*}}, section "objc_nlclslist", align 8
29+

test/IRGen/MachO-objc-sections.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// RUN: %swift -target x86_64-apple-ios8.0 -parse-stdlib -enable-objc-interop -disable-objc-attr-requires-foundation-module -I %S/Inputs/usr/include -emit-ir %s -o - | %FileCheck %s -check-prefix CHECK-MACHO
2+
3+
// REQUIRES: OS=ios
4+
5+
import ObjCInterop
6+
7+
@objc
8+
class C {
9+
}
10+
11+
extension C : P {
12+
public func method() {
13+
f(I())
14+
}
15+
}
16+
17+
@_objc_non_lazy_realization
18+
class D {
19+
}
20+
21+
// CHECK-MACHO: @"$S4main1CCMf" = {{.*}}, section "__DATA,__objc_data, regular"
22+
// CHECK-MACHO: @"\01l_OBJC_LABEL_PROTOCOL_$_P" = {{.*}}, section "__DATA,__objc_protolist,coalesced,no_dead_strip"
23+
// CHECK-MACHO: @"\01l_OBJC_PROTOCOL_REFERENCE_$_P" = {{.*}}, section "__DATA,__objc_protorefs,coalesced,no_dead_strip"
24+
// CHECK-MACHO: @"OBJC_CLASS_REF_$_I" = {{.*}}, section "__DATA,__objc_classrefs,regular,no_dead_strip"
25+
// CHECK-MACHO: @"\01L_selector(init)" = {{.*}}, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip"
26+
// CHECK-MACHO: @objc_classes = {{.*}}, section "__DATA,__objc_classlist,regular,no_dead_strip"
27+
// CHECK-MACHO: @objc_categories = {{.*}}, section "__DATA,__objc_catlist,regular,no_dead_strip"
28+
// CHECK-MACHO: @objc_non_lazy_classes = {{.*}}, section "__DATA,__objc_nlclslist,regular,no_dead_strip"
29+

test/IRGen/objc-sections.swift

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)