Skip to content

Commit b4dfd44

Browse files
committed
[Test] For BC inference of clang imported types.
1 parent fd9ae4c commit b4dfd44

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: split-file %s %t
3+
4+
// RUN: %target-swift-frontend \
5+
// RUN: %t/Downstream.swift \
6+
// RUN: -typecheck -verify \
7+
// RUN: -enable-experimental-feature NonescapableTypes \
8+
// RUN: -enable-experimental-feature BitwiseCopyable \
9+
// RUN: -enable-builtin-module \
10+
// RUN: -debug-diagnostic-names \
11+
// RUN: -import-objc-header %t/Library.h
12+
13+
//--- Library.h
14+
15+
struct Tenple {
16+
int i0;
17+
int i1;
18+
int i2;
19+
int i3;
20+
int i4;
21+
int i5;
22+
int i6;
23+
int i7;
24+
int i8;
25+
int i9;
26+
};
27+
28+
struct Ints128 {
29+
int is[128];
30+
};
31+
32+
struct VoidPointers {
33+
void *p1;
34+
void *p2;
35+
void *p3;
36+
void *p4;
37+
void *p5;
38+
void *p6;
39+
void *p7;
40+
void *p8;
41+
void *p9;
42+
void *p10;
43+
};
44+
45+
//--- Downstream.swift
46+
47+
func take<T : _BitwiseCopyable>(_ t: T) {}
48+
49+
func passTenple(_ t: Tenple) { take(t) }
50+
func passInts128(_ t: Ints128) {
51+
take(t)
52+
take(t.is.0)
53+
take(t.is.17)
54+
}
55+
func passVoidPointers(_ t: VoidPointers) {
56+
take(t)
57+
take(t.p10)
58+
}

0 commit comments

Comments
 (0)