Commit Graph

171 Commits

Author SHA1 Message Date
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
Tongjie Wang
00598e8019 [interop][SwiftToCxx] add initial support for passing/returning enums 2022-06-20 00:45:07 -07:00
Alex Lorenz
71065e94d3 [interop][SwiftToCxx] emit struct initializers
They're emtited as static init methods in the C++ class
2022-06-17 16:00:23 -07:00
Alex Lorenz
b47bb5b66e [interop][SwiftToCxx] support mutating struct methods in C++ 2022-06-17 07:58:19 -07:00
Alex Lorenz
5474d7e54d [interop][SwiftToCxx] Add support for emitting resilient struct bindings 2022-06-15 20:33:23 -07:00
Alex Lorenz
f2b4a43c06 [interop][SwiftToCxx] emit non-mutating instance methods for structs 2022-06-15 07:35:13 -07:00
Alex Lorenz
d7fd1233a9 [interop][SwiftToCxx] emit instance property getters for structs 2022-06-14 17:20:37 -07:00
Tongjie Wang
0505266ef7 fix printing for inout type with nullability 2022-06-14 11:20:19 -07:00
Tongjie Wang
705e562aa1 improve based on code review feedback 2022-06-14 01:35:48 -07:00
Tongjie Wang
f033aad3c1 [interop][SwiftToCxx] pass struct to function as inout 2022-06-13 14:40:55 -07:00
Alex Lorenz
c7265f3b40 fix the macos tests 2022-06-09 08:52:22 -07:00
Alex Lorenz
132729906c [interop][SwiftToCxx] pass / return Swift struct values between C/C++ and Swift 2022-06-08 07:03:24 -07:00
Tongjie Wang
b9c492aed4 print as pointer type in C layer 2022-05-31 20:23:04 -07:00
Tongjie Wang
ba2dcfb389 [cxx-interop] support inout params as cxx references 2022-05-29 20:55:13 -07:00
Alex Lorenz
d76c45d104 [interop] NFC, refactor clang function printer to share code between C and C++ signature printer 2022-03-29 15:09:12 -07:00
Alex Lorenz
f7902a6095 [cxx-interop] Emit C++ inline function thunks that with correct primitive types 2022-03-29 13:37:01 -07:00
Alex Lorenz
68fc606510 [interop] NFC, add a method to print out identifier to clang syntax printer 2022-03-24 21:54:44 -07:00
Alex Lorenz
e21abc140b [interop] NFC, extract out isClangKeyword into ClangSyntaxPrinter 2022-03-24 19:20:42 -07:00
Alex Lorenz
146f9e84ee [interop][SwiftToC] print out nullability specifiers for primitive C types 2022-03-24 10:53:48 -07:00
Alex Lorenz
81a9cade88 [interop] generate C interfaces for Swift top-level functions that use primitive types 2022-03-22 16:13:42 -07:00
Alex Lorenz
e9091123aa [PrintAsClang] refactor C function signature printer out of DeclAndTypePrinter
This will allow us to print more specific C signatures for C and C++ interop
2022-03-22 11:08:36 -07:00