Commit Graph

10 Commits

Author SHA1 Message Date
Egor Zhdan
deea1e8b02 [cxx-interop] Add tests for methods of reference types returning reference types
rdar://130686970 / resolves https://github.com/swiftlang/swift/issues/64315
2024-06-28 18:32:17 +01:00
Alex Lorenz
737a623e62 [cxx-interop] use raw pointer metadata for dynamic FRT field metadata
rdar://117494091
2023-10-26 08:19:44 -07:00
Alex Lorenz
380f9a7008 [interop] add availability for foreign reference types
Such types have runtime support only SwiftStdlib 5.8 and above
2023-04-11 15:28:22 -07:00
Ehud Adler
f11e2afe07 [cxx-interop] Always import cxx shim when cxx-interop is enabled (#60336) 2022-08-05 08:28:47 -04:00
zoecarver
d3b71ba907 [cxx-interop] Fix static extensions on foreign reference types.
Foreign reference types don't have dynamic metadata like other Swift classes.
2022-07-28 11:59:47 -07:00
zoecarver
3805828ad0 [cxx-interop] Add CxxShim library; move __swift_interopStaticCast into it. 2022-07-05 15:52:51 -07:00
zoecarver
336cd29333 [cxx-interop] Add support for calling members of base classes on UFOs. 2022-04-21 13:40:59 -07:00
zoecarver
491f556b77 [cxx-interop] Add basic support for using UFOs as members, etc.
This does not add support for using UFOs in generic contexts, this just emits their struct/field metadata as opaque pointers.
2022-04-18 14:47:02 -07:00
zoecarver
839839f924 [cxx-interop] Rename enable-cxx-interop -> enable-experimental-cxx-interop.
Also removes the driver flag, this will now also always be guarded on `-Xfrontend`.
2022-04-07 19:15:25 -07:00
zoecarver
fc3b3a1d71 [cxx-interop] Implement foreign reference types.
This is an expiremental feature to allow an attribute, `import_as_ref`, to import a C++ record as a non-reference-counted reference type in Swift.
2021-12-08 15:35:18 +00:00