Roberto Rosmaninho
f652c8ef63
[Interop][SwiftToCxx] Passing swift::Error declaration from _SwiftCxxInteroperability.h to Swift::Error in _SwiftStdlibCxxOverlay.h
2022-11-18 22:16:00 -03:00
Roberto Rosmaninho
c6e6f7553b
[Interop][SwiftToCxx] Deleting unnecessary NaiveException
2022-11-18 22:16:00 -03:00
Alex Lorenz
b97189fe10
[interop][SwiftToCxx] Bump up the interoperability version
2022-11-08 06:48:19 -08:00
Alex Lorenz
490989dc17
Merge pull request #61962 from hyp/eng/hide-Swift-ns
...
[interop][SwiftToCxxToSwift] hide reverse interop module namespaces f…
2022-11-08 06:38:30 -08:00
Alex Lorenz
0312e0613d
[interop][SwiftToCxxToSwift] hide reverse interop module namespaces from forward interop
2022-11-07 15:52:04 -08:00
swift-ci
dc422272a8
Merge pull request #61958 from hyp/eng/SWIFT_INLINE_THUNK_stdlib_overlay
...
[interop][SwiftToCxx] NFC, adopt SWIFT_INLINE_THUNK in the stdlib ove…
2022-11-07 14:40:51 -08:00
Alex Lorenz
fdababa494
Merge pull request #61916 from hyp/eng/async-fns
...
[interop][SwiftToCxx] report an error for attempts to explicitly expo…
2022-11-07 10:07:02 -08:00
Alex Lorenz
e6806ab745
[interop][SwiftToCxx] NFC, adopt SWIFT_INLINE_THUNK in the stdlib overlay
2022-11-03 15:12:41 -07:00
Alex Lorenz
bd6367986e
[interop][SwiftToCxx] report an error for attempts to explicitly expose 'async' functions to C++
...
also fixup distributed actor example in interop test
2022-11-03 13:46:52 -07:00
Alex Lorenz
8336edd344
[interop][SwiftToCxx] add support for constructing generic enum cases in C++
...
We only support cases with no payload, or one associated value still
2022-11-03 12:21:27 -07:00
Alex Lorenz
917dbaaa6f
[interop][SwiftToCxx] bump up the interop version for actor support
2022-11-02 12:18:44 -07:00
Alex Lorenz
a0cb7a6e30
Merge pull request #61858 from hyp/eng/genericxx17
...
[interop][SwiftToCxx] add initial C++14/17 generics support
2022-11-02 12:17:37 -07:00
Alex Lorenz
e6784b84b1
[interop][SwiftToCxx] bump up interop version
2022-11-01 17:39:49 -07:00
Alex Lorenz
c179e23b19
[interop][SwiftToCxx] add static_assert type checking for generic types in pre-C++20 mode
2022-11-01 17:36:37 -07:00
Alex Lorenz
a66cc52109
[interop][SwiftToCxx] add static_assert type checking for generic functions in pre-C++20 mode
...
In the future we should also use enable_if to correctly resolve overloads
2022-11-01 17:21:01 -07:00
Alex Lorenz
4b52ae08fa
[interop][SwiftToCxx] check that generics can be built in C++17/C++14 mode
2022-11-01 16:40:42 -07:00
Alex Lorenz
953c124ceb
[interop][SwiftToCxx] guard 'requires' clauses in __cpp_concepts #ifdefs
2022-11-01 16:17:10 -07:00
Slava Pestov
0e4ccb21ed
AST: Remove various references to AbstractTypeParamDecl
2022-11-01 19:13:46 -04:00
Roberto Rosmaninho
c92dc41c41
Deleting unnecessary includes and compilation flags
2022-10-21 17:29:00 -03: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
cb31700d03
Renaming testErrorCall to getErrorMetadata
2022-10-21 14:35:42 -03:00
Alex Lorenz
8636720706
Get closer to a working dynamic cast for error
2022-10-20 17:24:05 -07:00
Roberto Rosmaninho
5b8a2e213e
[SwiftToCxx] Fixing as signature
2022-10-19 17:12:55 -03:00
Roberto Rosmaninho
5af07a470c
test/Interop/SwiftToCxx/functions/swift-functions-errors.swift
2022-10-18 18:53:30 -03:00
Alex Lorenz
9e01a921d2
[interop] bump up the number in experimental-interoperability-version.json
2022-10-18 11:25:05 -07:00
Alex Lorenz
de1e67d054
[interop][SwiftToCxx] include the swiftToCxx shim header only when actually needed for reverse interop
2022-10-17 13:12:20 -07:00
Alex Lorenz
391b92fff7
[interop][SwiftToCxx] add some helper methods to work with Swift's Optional in C++
2022-10-05 14:21:13 -07:00
Alex Lorenz
a949ca987e
[interop][SwiftToCxx] do not expose actor classes in the generated header
2022-10-04 21:32:00 -07:00
Alex Lorenz
2d961d9e8c
[interop][SwiftToCxx] do not print documentation comment for emitted methods if they're not actually emitted
2022-10-04 10:01:48 -07:00
Alex Lorenz
634ba4f903
Merge pull request #61425 from hyp/eng/init-class-bug
...
[interop][SwiftToCxx] Fix a bug with bridging class initializer in ve…
2022-10-03 22:07:14 -07:00
Alex Lorenz
8710c2685a
[interop][SwiftToCxx] Fix a bug with bridging class initializer in version Swift 5
2022-10-03 16:40:28 -07:00
Alex Lorenz
f8b54e7ea7
[interop][SwiftToCxx] guard inline emitted Stdlib module
2022-10-03 11:31:06 -07:00
Alex Lorenz
f6cc59246b
[interop][SwiftToCxx] fix the include path for swiftToCxx shim header for clang in /usr/local/bin/clang
2022-09-30 07:59:46 -07:00
Alex Lorenz
fe3105ff2d
[interop][SwiftToCxx] add experimental-interoperability-version.json to the compiler distribution
...
This lets the clients check if their toolchain has the latest support
2022-09-29 19:12:33 -07:00
Alex Lorenz
dd7e068391
[interop][SwiftToCxx] add a Swift stdlib overlay header
...
It currently provides begin and end functions for array iteration
2022-09-29 07:41:54 -07:00
Alex Lorenz
cec9cd49dd
Merge pull request #61343 from hyp/eng/ship-interop-hdr-toolchain
...
[interop][SwiftToCxx] install _SwiftCxxInteroperability.h header as p…
2022-09-28 22:01:40 -07:00
Alex Lorenz
43848fdb14
Merge pull request #61342 from apple/eng/fwd-decl-no-bridge
...
[interop][SwiftToCxx] forward declare - do not use bridged types in C…
2022-09-28 21:57:59 -07:00
Alex Lorenz
a24ebeaa51
[interop][SwiftToCxx] install _SwiftCxxInteroperability.h header as part of compiler build, not stdlib
...
The _SwiftCxxInteroperability.h is too tightly coupled to the compiler right now and should not be shipped with the standard library. In the future it could be moved back to the standard library.
2022-09-28 16:14:33 -07:00
Alex Lorenz
3dfcb96ad5
[interop][SwiftToCxx] forward declare - do not use bridged types in C++ mode
...
This allows SDK's stdlib Array to correctly decl String forward declaration
2022-09-28 14:11:13 -07: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
a6b58962f8
Merge pull request #61315 from hyp/eng/bridge-frts
...
[interop][SwiftToCxx] support interop with FRT in the generated C++ b…
2022-09-28 00:16:14 -07:00
Alex Lorenz
c193a63fd4
[interop][SwiftToCxx] add -enable-experimental-cxx-interop-in-clang-header flag that lets you enable reverse interop only
2022-09-27 11:26:21 -07:00
Alex Lorenz
e3a51c74dd
[interop][SwiftToCxx] support interop with FRT in the generated C++ bindings
2022-09-27 10:37:46 -07:00
Alex Lorenz
a65c3d1a42
Merge pull request #61306 from hyp/eng/expose-clang-decls-always
...
[interop][SwiftToCxx] Referenced clang decls are always exposed
2022-09-26 22:13:15 -07:00
Alex Lorenz
25cfcd94d8
[interop][SwiftToCxx] Referenced clang decls are always exposed
2022-09-26 18:03:22 -07:00
Alex Lorenz
5736daf1f1
[interop][SwiftToCxx] support initializers for classes
2022-09-26 17:04:40 -07:00
Alex Lorenz
6f9b683617
[interop][SwiftToCxx] add support for bridging static properties
2022-09-26 12:50:13 -07:00
Alex Lorenz
bded6c5bc2
[interop][SwiftToCxx] bridge ObjC class types to C++ too (without ObjC guards first)
2022-09-25 13:19:37 -07:00
Alex Lorenz
ae549531ac
Merge pull request #61225 from hyp/eng/fwd-generic-trait
...
[interop][SwiftToCxx] Declare the generic usability type trait before…
2022-09-21 15:56:14 -07:00
Alex Lorenz
2a05109c58
[interop][SwiftToCxx] Declare the generic usability type trait before the C++ class that represents the Swift type
...
This allows you to import a method that returns the type of the context in which the method is declared when such
type is a generic parameter in another type. This means that it's now possible to bridge the initializer for
RawRepresentable enums.
2022-09-21 07:57:32 -07:00