Commit Graph

454 Commits

Author SHA1 Message Date
Tongjie Wang
911cfe9fbb print static struct member as inline and improve test cases 2022-08-30 17:19:00 -07:00
Alex Lorenz
64ab6fcb5e [test] update SwiftToCxx unsigned-return-type-no-zext.cpp test to work without noundef 2022-08-30 13:11:59 -07:00
Roberto Rosmaninho
9ebc0bd26e [SwiftToCxx] Trowing Swift::Error instead of NaiveException 2022-08-30 16:25:17 -03:00
Doug Gregor
aa05d4a2c9 Move new test where it belongs 2022-08-30 11:09:41 -07:00
Roberto Rosmaninho
ec10c5f5e6 [SwiftToCxx] Adding _Nullable to avoid warnings 2022-08-30 14:15:45 -03:00
Roberto Rosmaninho
17ae63592f [SwiftToCxx] Implementing the Swift Error representation in C++ 2022-08-30 14:14:21 -03:00
swift-ci
28a464ed18 Merge pull request #60845 from hyp/eng/99313326
[test] update SwiftToCxx unsigned-return-type-no-zext.cpp test to
2022-08-30 01:11:35 -07:00
Alex Lorenz
0a6974072e [test] update SwiftToCxx unsigned-return-type-no-zext.cpp test to
work on Amazon Linux

Zeroext is optional
2022-08-29 22:52:57 -07:00
Tongjie Wang
cbc23cbafc [Interop][SwiftToCxx] Support enum creation from Cxx 2022-08-29 20:16:52 -07:00
Alex Lorenz
a89d4f3ced [interop][SwiftToCxx] add support for generic methods 2022-08-29 14:11:33 -07:00
Alex Lorenz
c08428cd56 [interop][SwiftToCxx] do not support generics with requirements for now 2022-08-29 12:14:33 -07:00
Alex Lorenz
9fc19fb60c Merge pull request #60827 from hyp/eng/expose-init
[interop][SwiftToCxx] support @_expose attribute on initializers
2022-08-29 11:48:23 -07:00
Alex Lorenz
925ba6f7ab Merge pull request #60051 from WANGJIEKE/fix-value-witness-table-type
Change return type of getEnumTag in value witness table
2022-08-29 11:35:42 -07:00
Alex Lorenz
7bf7642d51 [interop][SwiftToCxx] support @_expose attribute on initializers 2022-08-29 07:41:49 -07:00
Alex Lorenz
06d9fd24d4 [interop][SwiftToCxx] add experimental Swift::String -> NSString conversion operator 2022-08-25 15:09:30 -07:00
Alex Lorenz
bd8c874e17 [interop][SwiftToCxx] experimentally expose Swift::String type to C++
The only member that's currently exposed is the default initializer, everything else is in extensions
2022-08-25 15:09:30 -07:00
Alex Lorenz
288e4cb566 [interop][SwiftToCxx] do not emit functions/methods that use unexposed types 2022-08-25 15:09:26 -07:00
Tongjie Wang
baac27d04c update test case for windows 2022-08-25 11:37:21 -07:00
Alex Lorenz
e9450cf80b [interop][SwiftToCxx] add a test to print out empty Swift stdlib module 2022-08-24 15:10:11 -07:00
Alex Lorenz
8de79390be [interop][SwiftToCxx] add @_expose(Cxx) attribute support
This attribute instructs the compiler that this declaration should be included in the generated C++ bindings
2022-08-24 10:14:07 -07:00
Alex Lorenz
489c16e906 [interop][SwiftToCxx] fix the circular depedency issue for struct emission 2022-08-19 15:02:56 -07:00
Tongjie Wang
be01f28f77 update test case 2022-08-18 12:32:29 -07:00
Tongjie Wang
7f9fadb7d8 Fix type for resilient enum case global variables 2022-08-18 12:31:40 -07:00
Tongjie Wang
ae73a03ec0 Merge branch 'main' into fix-value-witness-table-type 2022-08-18 09:57:57 -07:00
Alex Lorenz
f5787c9e40 Merge pull request #60564 from WANGJIEKE/cxx-interop-new-enum-design
[Interop][SwiftToCxx] Update current enum implementation for new enum design
2022-08-17 06:32:32 -07:00
Alex Lorenz
7d33a85e03 Merge pull request #60583 from hyp/eng/unsupported-noooo
[interop][SwiftToCxx] do not emit unsupported function signatures yet
2022-08-16 21:27:37 -07:00
Alex Lorenz
d4a7f86e3d [interop][SwiftToCxx] do not emit unsupported function signatures yet 2022-08-16 14:39:22 -07:00
Tongjie Wang
7115e64689 update test case 2022-08-15 20:24:40 -07:00
Alex Lorenz
822174e004 Merge pull request #60561 from hyp/eng/i/hdr-for-built-module
[interop][SwiftToCxx] add a test that verifies that we can emit C++ header from previously built swiftmodule/swiftinterface
2022-08-15 16:56:35 -07:00
Tongjie Wang
482e1ac80f [Interop][SwiftToCxx] Implement the new enum header design 2022-08-15 15:31:43 -07:00
Alex Lorenz
34b5ead2e0 [interop][SwiftToCxx] add a test that verifies that we can emit C++ header from previously built swiftinterface 2022-08-15 11:56:06 -07:00
Alex Lorenz
c864087b1f [interop][SwiftToCxx] add a test that verifies that we can emit C++ header from previously built swiftmodule 2022-08-15 11:50:58 -07:00
Alex Lorenz
9151db55e7 Merge pull request #60451 from WANGJIEKE/cxx-interop-resilient-enum
[Interop][SwiftToCxx] add support for resilient enum
2022-08-11 06:52:08 -07:00
Alex Lorenz
f371c4307b [interop][SwiftToCxx] pass boxed resilient value types to generic functions correctly 2022-08-09 14:16:58 -07:00
Alex Lorenz
c537cd2383 [interop][SwiftToCxx] NFC, move swift::_impl::OpaqueStorage into _SwiftCxxInteroperability shims header 2022-08-09 13:57:34 -07:00
Alex Lorenz
330fc0b07a [interop][SwiftToCxx] generic functions should return value types correctly 2022-08-09 05:20:58 -07:00
Alex Lorenz
bf224c75a6 [interop][SwiftToCxx] pass structs to generic functions 2022-08-08 15:28:00 -07:00
Tongjie Wang
ff28b56e15 [Interop][SwiftToCxx] add support for resilient enum 2022-08-08 14:37:13 -07:00
Alex Lorenz
7ecf84a771 [interop][SwiftToCxx] ensure that resilient class values are supported 2022-08-08 13:08:54 -07:00
Alex Lorenz
93b6e1bf05 [interop][SwiftToCxx] NFC, add test coverage for resilient mutating method 2022-08-08 13:08:54 -07:00
Alex Lorenz
bb7ba7c7ce Merge pull request #60442 from hyp/eng/generic-class
[interop][SwiftToCxx] add support for passing and returning class val…
2022-08-08 13:06:46 -07:00
Tongjie Wang
a1907f499e add test case checking return type 2022-08-08 12:13:40 -07:00
Alex Lorenz
a9f262e322 [interop][SwiftToCxx] add support for passing and returning class values to generic functions 2022-08-08 08:38:28 -07:00
Tongjie Wang
d34e086c79 Change return type of getEnumTag in value witness table
make it actually matches the description above
2022-08-04 18:41:16 -07:00
Alex Lorenz
372f7eeada [interop][SwiftToCxx] add a test for class property setters 2022-08-03 17:22:25 +01:00
Alex Lorenz
7eefb30cb1 [interop][SwiftToCxx] emit property accessors in class types correctly
property accessors could potentially mutate the class instance, so don't make them const
2022-08-03 13:12:51 +01:00
Alex Lorenz
c0bda0617a [interop][SwiftToCxx] emit class method bindings 2022-08-03 13:03:45 +01:00
Alex Lorenz
7c5b160bc6 [interop][SwiftToCxx] map class inheritance to C++ class hierarchy 2022-08-03 09:35:36 +01:00
Alex Lorenz
3e3e6eab33 [interop][SwiftToCxx] NFC, add missing checks for inout class passing C++ thunk 2022-08-03 07:17:44 +01:00
Alex Lorenz
478987b54e [interop][SwiftToCxx] expose getOpaquePointer class pointer accessors via swift helper class in shims header 2022-08-02 20:15:10 +01:00