Skip to content

Commit 38387ad

Browse files
committed
[interop][SwiftToCxx] add _Nonnull to resilient struct constructor that takes in VWT
1 parent 61e484c commit 38387ad

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

lib/PrintAsClang/PrintClangValueType.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ void ClangValueTypePrinter::printValueTypeDecl(
166166
if (isOpaqueLayout) {
167167
os << "(";
168168
printer.printSwiftImplQualifier();
169-
os << "ValueWitnessTable *vwTable) : _storage(vwTable) {}\n";
169+
os << "ValueWitnessTable * _Nonnull vwTable) : _storage(vwTable) {}\n";
170170
} else {
171171
os << "() {}\n";
172172
}

test/Interop/SwiftToCxx/structs/resilient-struct-in-cxx.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public struct FirstSmallStruct {
2929
// CHECK-NEXT: vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
3030
// CHECK-NEXT: }
3131
// CHECK: private:
32-
// CHECK-NEXT: inline FirstSmallStruct(swift::_impl::ValueWitnessTable *vwTable) : _storage(vwTable) {}
32+
// CHECK-NEXT: inline FirstSmallStruct(swift::_impl::ValueWitnessTable * _Nonnull vwTable) : _storage(vwTable) {}
3333
// CHECK-NEXT: static inline FirstSmallStruct _make() {
3434
// CHECK-NEXT: auto metadata = _impl::$s7Structs16FirstSmallStructVMa(0);
3535
// CHECK-NEXT: return FirstSmallStruct(*(reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1));
@@ -70,7 +70,7 @@ public struct LargeStruct {
7070
// CHECK-NEXT: vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
7171
// CHECK-NEXT: }
7272
// CHECK: private:
73-
// CHECK-NEXT: inline LargeStruct(swift::_impl::ValueWitnessTable *vwTable) : _storage(vwTable) {}
73+
// CHECK-NEXT: inline LargeStruct(swift::_impl::ValueWitnessTable * _Nonnull vwTable) : _storage(vwTable) {}
7474
// CHECK-NEXT: static inline LargeStruct _make() {
7575
// CHECK-NEXT: auto metadata = _impl::$s7Structs11LargeStructVMa(0);
7676
// CHECK-NEXT: return LargeStruct(*(reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1));
@@ -118,7 +118,7 @@ public struct StructWithRefCountStoredProp {
118118
}
119119
}
120120

121-
// CHECK: inline StructWithRefCountStoredProp(swift::_impl::ValueWitnessTable *vwTable) : _storage(vwTable) {}
121+
// CHECK: inline StructWithRefCountStoredProp(swift::_impl::ValueWitnessTable * _Nonnull vwTable) : _storage(vwTable) {}
122122
// CHECK: inline void StructWithRefCountStoredProp::dump() const {
123123
// CHECK-NEXT: return _impl::$s7Structs28StructWithRefCountStoredPropV4dumpyyF(_getOpaquePointer());
124124
// CHECK-NEXT: }

0 commit comments

Comments
 (0)