Alex Lorenz
3948a2a5d3
[interop][SwiftToCxx] annotate inline thunks with SWIFT_INLINE_THUNK
...
This macro applies always_inline in addition to inline. It also applies artificial, which lets debugger know that this is an artificial function. The used attribute is added in debug builds to ensure that the symbol is emitted in the binary so that LLDB can invoke it.
2023-02-24 11:23:46 -08:00
Alex Lorenz
0b0cc99c98
[interop][SwiftToCxx] avoid -Wshadow warning for C++ representation of enum member parameters
2023-02-08 12:33:18 -08:00
Alex Lorenz
3b3d6c825a
[interop][SwiftToCxx] Annotate emitted declarations with Clang's external_source_symbol attribute
...
Each emitted declaration is annotated with the external_source_symbol with its own USR, to allow Clang's indexer to recognize this declaration as a Swift declaration with a specific USR
2023-01-12 12:15:01 -08:00
Roberto Rosmaninho
fc68fb304e
Refactoring the C++ thunk to directly return the Swift::Expected intead od the SWIFT_RETURN_THUNK macro
2022-12-19 19:48:35 -03: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
Alex Lorenz
5c703b4f5c
[interop][SwiftToCxx] support std::string -> Swift::String conversion in C++
2022-12-13 13:13:05 -08:00
Roberto Rosmaninho
b42f45cb21
[Interop][SwiftToCxx] Modifying tests to verify the that the dynamic cast error returns a Swift::Optional
2022-11-18 22:16:00 -03:00
Alex Lorenz
0312e0613d
[interop][SwiftToCxxToSwift] hide reverse interop module namespaces from forward interop
2022-11-07 15:52:04 -08:00
Alex Lorenz
fdc0632659
[interop][SwiftToCxx] do not emit domain ObjC error values in C++ mode
2022-10-21 12:47:18 -07:00
Roberto Rosmaninho
5af07a470c
test/Interop/SwiftToCxx/functions/swift-functions-errors.swift
2022-10-18 18:53:30 -03:00
Alex Lorenz
3a9b6dce9d
[interop][SwiftToCxx] add support for emitting Swift stdlib dependency in one header file
...
This is the default behavior. You can disable this by specifying the -clang-header-expose-decls= flag explicitly when generating the header
2022-09-28 08:08:48 -07:00
Alex Lorenz
f4de75ae2c
[interop][SwiftToCxx] 'self' param should be handled by type param visitor
2022-09-07 12:45:38 -07:00
Alex Lorenz
1696f94223
[interop][SwiftToCxx] reimplement function lowering to correctly distinguish between direct/indirect return values and parameters
2022-09-07 11:43:38 -07:00
Roberto Rosmaninho
68bfbddf14
[SwiftToCxx] Creating new test case and fixing namespace
2022-09-05 10:38:28 -03:00
Roberto Rosmaninho
9ebc0bd26e
[SwiftToCxx] Trowing Swift::Error instead of NaiveException
2022-08-30 16:25:17 -03:00
Roberto Rosmaninho
ec10c5f5e6
[SwiftToCxx] Adding _Nullable to avoid warnings
2022-08-30 14:15:45 -03:00
Roberto Rosmaninho
b15c6a5537
Implementing a naive exception to be thrown in C++ if an Error is thrown in Swift
...
Creating new Interop - SwiftToCxx test
2022-07-15 20:14:13 -03:00
Roberto Rosmaninho
ff222acebc
Setting hardcode SWIFT_NOEXCEPT and noexcept flags only to
...
non-throwing functions.
Activating swift-functions-errors tests
Inserting macros and additional parameters in C and C++ functions following the pattern to lowering to LLVM IR.
2022-07-14 12:34:53 -03:00
Roberto Rosmaninho
c4ca064327
Creating new test to check that a function don't throws when it should throw
2022-06-02 00:46:01 -03:00