Commit Graph

13 Commits

Author SHA1 Message Date
Becca Royal-Gordon
a02698ba06 [PrintAsClang] Fix thunks for throwing Never funcs
Extend the previous commit’s support for functions that return Never to also properly generate code for *throwing* Never functions. This is a little subtle because:

• At the SWIFT_CALL level, throwing Never functions are *not* noreturn
• At the thunk level, throwing Never functions are noreturn *only* if you’re using exceptions; if you’re using swift::Expected, they should throw
• In either case, the compiler cannot statically prove that thunks are noreturn except on the error path, so we need to add an abort() call on the success path
2024-03-29 22:12:20 -07:00
Alex Lorenz
75fd11cffc [interop][SwiftToCxx] hide swift::Error APIs by default in C++ Swift stdlib overlay
They're still experimental
2023-03-10 08:34:45 -08:00
Alex Lorenz
0dc90d38c1 [interop][SwiftToCxx] emit Swift's stdlib inside of 'swift' namespace 2023-03-09 17:32:43 -08:00
Alex Lorenz
1d3797308d [interop][SwiftToCxx] do not expose functions / properties that throw without the experimental feature 2023-03-02 15:22:36 -08:00
Alex Lorenz
2dcbeb0bc9 [interop][SwiftToCxx] do not require @_expose when generating C++ interface for a Swift module
Instead, we emit API bindings for all supported public APIs, when -enable-experimental-cxx-interop is enabled
2023-03-02 14:06:47 -08:00
Alex Lorenz
8cd18670bf [interop][SwiftToCxx] disable the arm64e testing for swift-expected-execution.cpp 2022-12-19 10:13:54 -08:00
Roberto Rosmaninho
ce666ac592 [Interop][SwiftToCxx] Adding support to return Swift::Expected when exceptions are not available. 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
a2633d942b [Interop][SwiftToCxx] Fixing swift-expected-execution.cpp test 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
782bc6aa6f [Interop][SwiftToCxx] Moving swift::Expected to _SwiftStdlibCxxOverlay.h 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
74450be9d2 [Interop][SwiftToCxx] Moving the max function to _impl namespace and assigning swift-expected-execution.cpp as unsupported by Windows. 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
6d1696260f [Interop] [SwiftToCxx] Using buffer to create an instance for either a type or an Error and fixing minor errors 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
3f6351d2ee [Interop][SwiftToCxx] Add new line 2022-12-14 12:07:43 -03:00
Roberto Rosmaninho
c42dfea346 [Interop][SwiftToCxx] Creating test cases for swift::Expected 2022-12-14 12:07:43 -03:00