Commit Graph

2035 Commits

Author SHA1 Message Date
swift-ci
6b5ba33fe5 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-13 00:47:16 -07:00
Gábor Horváth
de9aefc842 Merge pull request #74330 from apple/gaborh/core-foundation-types
[cxx-interop] Fix extra indirection when exporting CFData arguments
2024-06-13 08:29:34 +01:00
swift-ci
a2eb7713c4 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-12 15:33:10 -07:00
Alex Lorenz
5e18474691 Merge pull request #74279 from hyp/eng/oh-no-msvc-how-can-you-adopt-cxx-23-when-im-not-asking-you-too-sadface-genmoji
[cxx-interop] import static operator call from C++23 as member callAs…
2024-06-12 15:19:15 -07:00
Alex Lorenz
2039b8d254 [cxx-interop] import static operator call from C++23 as member callAsFunction functions in Swift to preserve source compatibility 2024-06-12 09:11:15 -07:00
Gabor Horvath
ae1f8042c0 [cxx-interop] Fix extra indirection when exporting CFData arguments/return values
The clang nodes associated with Swift's Core Foundation types can already be
represented by a pointer. The interop code does not need to add an extra
layer of indirection in those cases.

rdar://119840281
2024-06-12 16:39:20 +01:00
swift-ci
4f9820be46 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-11 09:34:52 -07:00
Gábor Horváth
c2d6039992 Merge pull request #74287 from apple/gaborh/unavailable-generics
[cxx-interop] Fix unavailable generics triggering compilation error
2024-06-11 17:26:22 +01:00
swift-ci
36d0e3cd5e Merge remote-tracking branch 'origin/main' into rebranch 2024-06-11 04:55:23 -07:00
Egor Zhdan
876c056153 Merge pull request #74261 from apple/egorzhdan/old-runtime-test
[cxx-interop] Only run tests for reference types against a recent Swift runtime
2024-06-11 12:51:52 +01:00
Gabor Horvath
353f0608f9 [cxx-interop] Fix unavailable generics triggering compilation error
In some cases, the reverse interop generated both a forward declaration and a
definition with unavailable attribute in the C++ header. Unfortunately, the
kinds of these symbol did not match. The forward declaration was templated
while the definition was not. The forward declaration has the correct kind,
so this patch extends the printing of unavailable definitions to include the
generic arguments.

rdar://119835933
2024-06-11 11:43:02 +01:00
swift-ci
3666c9e550 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-10 12:54:28 -07:00
Egor Zhdan
0f420fe8a4 [cxx-interop] Only run tests for reference types against a recent Swift runtime
Having a Swift array of C++ reference types without crashing at runtime only became possible recently (https://github.com/apple/swift/pull/73615). When building against an older runtime, one would still see runtime crashes. This is expected because part of the fix is in the Swift runtime.

This makes sure we don't try to run tests for C++ reference types with an older Swift runtime.

rdar://128681137
2024-06-10 17:48:44 +01:00
Gabor Horvath
53861a4e00 [cxx-interop] Avoid emitting methods that cause name clash
In Swift, we can have enum elements and methods with the same name, they are overloaded.
Unfortunately, this feature is not supported by C++ interop at the moment. This patch
avoids emitting the methods with name collisions to make sure the resulting header
can be compiler. A proper fix should follow in a later PR.

rdar://128162252
2024-06-10 12:35:44 +01:00
swift-ci
b095ea9e1f Merge remote-tracking branch 'origin/main' into rebranch 2024-06-07 14:54:59 -07:00
Egor Zhdan
dbe1a982d9 Merge pull request #74208 from apple/egorzhdan/frt-duplicate-metadata-accessor
[cxx-interop][IRGen] Emit type metadata accessors correctly
2024-06-07 22:49:23 +01:00
Egor Zhdan
a5ce0dc81d [cxx-interop][IRGen] Emit type metadata accessors correctly
This change makes sure we correctly emit IR for type metadata accessors for C++ reference types.

This fixes linker errors when a type metadata of a C++ reference type is used in multiple object files that are later linked together, for instance, if a C++ reference type is conformed to different Swift protocols in different Swift source files:
```
duplicate symbol 'type metadata accessor for __C.SharedObject' in:
  main.o
  second.o
ld: 1 duplicate symbols
```

rdar://129027705
2024-06-07 19:00:16 +01:00
swift-ci
acb84b4fd0 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-05 19:54:38 -07:00
Alex Lorenz
5aa63fc93e Merge pull request #72634 from hyp/eng/android/ndk-overlay
[android] add an Android NDK Swift overlay
2024-06-05 19:35:13 -07:00
swift-ci
f7131cf817 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-04 12:34:17 -07:00
Egor Zhdan
d1343dc55b Merge pull request #74116 from apple/egorzhdan/symbolic-tests
[cxx-interop] Adjust tests for new search path mechanism
2024-06-04 20:26:35 +01:00
Egor Zhdan
d19dfb0aee [cxx-interop] Adjust tests for new search path mechanism
Previously passing `-I %t` would mean that `%t/Inputs` is also indexed, but that is not the case anymore in certain scenarios.

rdar://128490765
2024-06-04 17:20:59 +01:00
swift-ci
90d5b4afa3 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-31 07:13:50 -07:00
Egor Zhdan
6637eb9ec1 Merge pull request #73942 from apple/egorzhdan/const-ref-borrow-test
[cxx-interop] Re-enable a test for borrowing const ref
2024-05-31 15:04:00 +01:00
swift-ci
bdc613ca5f Merge remote-tracking branch 'origin/main' into rebranch 2024-05-31 05:34:04 -07:00
Egor Zhdan
7ce9cada2d [cxx-interop] Re-enable a test for borrowing const ref
We were trying to run an execution test in a non-executable CI job.

rdar://111065819
2024-05-30 16:54:52 +01:00
Egor Zhdan
6ea561c4ec [cxx-interop] Fix a test on 32-bit platforms, pt 2
rdar://128673905
2024-05-30 16:01:49 +01:00
swift-ci
7d5adb09e3 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-29 06:53:56 -07:00
Hamish Knight
805ed3b8d8 Merge pull request #73974 from hamishknight/disable-test
[test] Disable small-structs-pass-return-direct-in-c.swift for 32 bit
2024-05-29 14:35:22 +01:00
Hamish Knight
d18bd49f8b [test] Disable small-structs-pass-return-direct-in-c.swift for 32 bit 2024-05-29 14:33:55 +01:00
swift-ci
deed9e5c66 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-29 04:33:56 -07:00
Hamish Knight
bffb37e69f [test] Disable pthread_mutexattr_t.swift 2024-05-29 12:09:14 +01:00
swift-ci
0cbb492b97 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-28 14:33:40 -07:00
Egor Zhdan
be64be7e61 Merge pull request #73936 from apple/egorzhdan/frt-array-arm32-tests
[cxx-interop] Fix test for reference types on armv7k
2024-05-28 22:25:55 +01:00
swift-ci
2c5cef22d5 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-28 14:19:02 -07:00
Hamish Knight
3a6f4e04a8 [test] Disable witness-table.swift for arm64e 2024-05-28 21:56:29 +01:00
Hamish Knight
1f4d191e87 [test] Disable reference-counted.swift for arm64e 2024-05-28 21:17:08 +01:00
Alex Lorenz
95209ca468 update tests to use canImport(android) and make libc test for generalized 2024-05-28 13:01:15 -07:00
Alex Lorenz
0f9a69c712 android test fixes 2024-05-28 12:59:26 -07:00
Egor Zhdan
c30c400676 [cxx-interop] Fix test for reference types on armv7k
This adjusts the test to be correct on 32-bit platforms.

rdar://128673814
2024-05-28 12:47:56 +01:00
swift-ci
74c6fdf3e7 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-23 21:34:24 -07:00
Akira Hatanaka
b5cc5615bd [SILGen] Fix a crash when a closure is converted to a block returning a value indirectly (#73520) 2024-05-23 21:22:32 -07:00
swift-ci
8b992933ed Merge remote-tracking branch 'origin/main' into rebranch 2024-05-22 22:54:06 -07:00
Akira Hatanaka
7b45ef1243 Fix a test that was failing on 32-bit platforms (#73820)
rdar://128544347
2024-05-22 22:52:19 -07:00
swift-ci
f069edef22 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-22 14:54:35 -07:00
Egor Zhdan
f1c2d90cff Merge pull request #73711 from apple/egorzhdan/swifttoc-test-32bit
[cxx-interop] Fix a test on 32-bit platforms
2024-05-22 22:48:48 +01:00
swift-ci
7e97ca7427 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-22 12:34:36 -07:00
Becca Royal-Gordon
5d32c313ca Merge pull request #73811 from beccadax/comprehensive-reference 2024-05-22 12:14:30 -07:00
swift-ci
67e257914b Merge remote-tracking branch 'origin/main' into rebranch 2024-05-22 05:36:52 -07:00
Egor Zhdan
e1a3ed66fa Merge pull request #73783 from apple/egorzhdan/rebranch-fix-noundef-test
[cxx-interop][rebranch] Fix an IRGen test
2024-05-22 13:30:00 +01:00