@@ -66,7 +66,40 @@ public func inoutSmall(_ en: inout Small, _ x: Int) {
66
66
67
67
// CHECK: SWIFT_EXTERN void $s5Enums10inoutSmallyyAA0C0Oz_SitF(char * _Nonnull en, ptrdiff_t x) SWIFT_NOEXCEPT SWIFT_CALL; // inoutSmall(_:_:)
68
68
// CHECK: SWIFT_EXTERN void $s5Enums9inoutTinyyyAA0C0Oz_SitF(char * _Nonnull en, ptrdiff_t x) SWIFT_NOEXCEPT SWIFT_CALL; // inoutTiny(_:_:)
69
+
70
+ // CHECK: struct swift_interop_stub_Enums_Small {
71
+ // CHECK-NEXT: uint64_t _1;
72
+ // CHECK-NEXT: uint8_t _2;
73
+ // CHECK-NEXT: };
74
+
75
+ // CHECK: static inline void swift_interop_returnDirect_Enums_Small(char * _Nonnull result, struct swift_interop_stub_Enums_Small value) __attribute__((always_inline)) {
76
+ // CHECK-NEXT: memcpy(result + 0, &value._1, 8);
77
+ // CHECK-NEXT: memcpy(result + 8, &value._2, 1);
78
+ // CHECK-NEXT: }
79
+
80
+ // CHECK: static inline struct swift_interop_stub_Enums_Small swift_interop_passDirect_Enums_Small(const char * _Nonnull value) __attribute__((always_inline)) {
81
+ // CHECK-NEXT: struct swift_interop_stub_Enums_Small result;
82
+ // CHECK-NEXT: memcpy(&result._1, value + 0, 8);
83
+ // CHECK-NEXT: memcpy(&result._2, value + 8, 1);
84
+ // CHECK-NEXT: return result;
85
+ // CHECK-NEXT: }
86
+
69
87
// CHECK: SWIFT_EXTERN struct swift_interop_stub_Enums_Small $s5Enums9makeSmallyAA0C0OSiF(ptrdiff_t x) SWIFT_NOEXCEPT SWIFT_CALL; // makeSmall(_:)
88
+
89
+ // CHECK: struct swift_interop_stub_Enums_Tiny {
90
+ // CHECK-NEXT: uint8_t _1;
91
+ // CHECK-NEXT: };
92
+
93
+ // CHECK: static inline void swift_interop_returnDirect_Enums_Tiny(char * _Nonnull result, struct swift_interop_stub_Enums_Tiny value) __attribute__((always_inline)) {
94
+ // CHECK-NEXT: memcpy(result + 0, &value._1, 1);
95
+ // CHECK-NEXT: }
96
+
97
+ // CHECK: static inline struct swift_interop_stub_Enums_Tiny swift_interop_passDirect_Enums_Tiny(const char * _Nonnull value) __attribute__((always_inline)) {
98
+ // CHECK-NEXT: struct swift_interop_stub_Enums_Tiny result;
99
+ // CHECK-NEXT: memcpy(&result._1, value + 0, 1);
100
+ // CHECK-NEXT: return result;
101
+ // CHECK-NEXT: }
102
+
70
103
// CHECK: SWIFT_EXTERN struct swift_interop_stub_Enums_Tiny $s5Enums8makeTinyyAA0C0OSiF(ptrdiff_t x) SWIFT_NOEXCEPT SWIFT_CALL; // makeTiny(_:)
71
104
// CHECK: SWIFT_EXTERN struct swift_interop_stub_Enums_Small $s5Enums16passThroughSmallyAA0D0OADF(struct swift_interop_stub_Enums_Small en) SWIFT_NOEXCEPT SWIFT_CALL; // passThroughSmall(_:)
72
105
// CHECK: SWIFT_EXTERN struct swift_interop_stub_Enums_Tiny $s5Enums15passThroughTinyyAA0D0OADF(struct swift_interop_stub_Enums_Tiny en) SWIFT_NOEXCEPT SWIFT_CALL; // passThroughTiny(_:)
0 commit comments