eeckstein
f6124c362d
Merge pull request #82679 from eeckstein/fix-mowte
...
MoveOnlyWrappedTypeEliminator: handle `end_cow_mutation_addr` instruction
2025-07-01 17:48:05 +02:00
Alastair Houghton
26878c98de
[Concurrency] Add functions to allow testing of external executors.
...
Added a couple of functions to allow for the testing of executors that
aren't implemented inside the concurrency runtime itself.
rdar://154195821
2025-07-01 16:48:03 +01:00
Doug Gregor
f736677022
Switch to the appropriate C calling convention for pthread_main_np
2025-07-01 08:15:54 -07:00
Saleem Abdulrasool
87b0ca4cc7
Merge pull request #82577 from compnerd/linkage
...
Runtimes: adjust the linking to `_Concurrency`
2025-07-01 08:08:43 -07:00
Max Desiatov
ca3d6bcdbf
Restrict Wasm tests to wasip1 in lit.local.cfg
2025-07-01 15:40:05 +01:00
Arnold Schwaighofer
b30bd40b83
Add code to create llvm::RemarkStreamer objects for all the LLVMModules in WMO mode
...
rdar://154403078
2025-07-01 07:19:33 -07:00
Gábor Horváth
bd3c3024af
Merge pull request #82625 from swiftlang/gaborh/nonescapable-noncopyable
...
[cxx-interop] Add test for move-only non-escapable types
2025-07-01 15:36:00 +02:00
eeckstein
2113752b00
Merge pull request #82678 from eeckstein/fix-bridged-debug-var
...
SILBridging: remove OptionalBridgedSILDebugVariable
2025-07-01 15:26:48 +02:00
Hamish Knight
dc880588ff
Merge pull request #82619 from hamishknight/fuzzy
...
[test] Add some more known crashers
2025-07-01 13:24:42 +01:00
Hamish Knight
2d929fd37d
[test] Add test case for fixed issue
2025-07-01 13:06:29 +01:00
Gábor Horváth
11cb7e5800
Merge pull request #82333 from swiftlang/gaborh/default-arg-duplicate-symbols
2025-07-01 13:50:00 +02:00
eeckstein
a3c49524a8
Merge pull request #82599 from valeriyvan/WarningDiffingMyers
...
Fix warning in benchmark: generic parameter 'C' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
2025-07-01 13:44:36 +02:00
Max Desiatov
db33d703bd
Use %module-target-triple in concurrency-simple.swift
2025-07-01 12:16:31 +01:00
Max Desiatov
48ea5f1eec
Disable one more ARM-specific IR/SIL test on WASI
2025-07-01 11:43:43 +01:00
Max Desiatov
7a117df7b2
For now disable previously ARM-specific tests on WASI
...
The overall change should be only localized to executable tests for now.
2025-07-01 11:43:43 +01:00
Max Desiatov
3505257161
Update for more tests
2025-07-01 11:43:43 +01:00
Max Desiatov
27e5d5c551
Fix/xfail/disable remaining tests for embedded Wasm
2025-07-01 11:43:43 +01:00
Max Desiatov
b10da622e9
Add OS=wasi as supported to embedded/lit.local.cfg
...
There's a predefined list of supported platforms that WASI should be added now that it has an official Embedded Swift SDK.
2025-07-01 11:43:43 +01:00
Max Desiatov
ce162890cf
Use OS=wasi in test/embedded/hello.swift
2025-07-01 11:43:43 +01:00
Max Desiatov
1efd278f24
Enable more tests for Embedded Wasm
2025-07-01 11:43:43 +01:00
Alastair Houghton
76f235154d
Merge pull request #82624 from al45tair/eng/PR-154282813
...
[Backtracing][Linux] Fix crash handler for musl.
2025-07-01 11:17:28 +01:00
Erik Eckstein
50b50af70f
MoveOnlyWrappedTypeEliminator: handle EndCOWMutationAddr
...
fixes a compiler crash
rdar://154416511
2025-07-01 11:40:26 +02:00
Steven Wu
da3d9f39bd
Merge pull request #82608 from cachemeifyoucan/eng/PR-153851818
2025-07-01 01:49:43 -07:00
Erik Eckstein
1343dc562d
SILBridging: remove OptionalBridgedSILDebugVariable
...
This didn't work because the BridgedSILDebugVariable destructor was called even in the "none" case.
Fixes a compiler crash
rdar://154689481
2025-07-01 10:31:30 +02:00
Erik Eckstein
606f7693d4
MandatoryPerformanceOptimizations: don't de-virtualize a generic class method call to specialized method
...
This results in wrong argument/return calling conventions.
First, the method call must be specialized. Only then the call can be de-virtualized.
Usually, it's done in this order anyway, because the `class_method` instruction is located before the `apply`.
But when inlining functions, the order (in the worklist) can be the other way round.
Fixes a compiler crash.
rdar://154631438
2025-07-01 09:44:47 +02:00
Pavel Yaskevich
fc442893ea
Merge pull request #82652 from xedin/rdar-153461854-serialization-fix
...
[Serialization] A temporary fix for `LocatableType`
2025-07-01 00:35:57 -07:00
Pavel Yaskevich
529a9f80a4
Merge pull request #82645 from xedin/rdar-153646123
...
[Concurrency] Forego Sendable checking if conversion doesn't change t…
2025-07-01 00:20:38 -07:00
Pavel Yaskevich
30f0fa8d75
[Concurrency] SE-0463: Sendable inference on sync and async variants of imported APIs should match
...
This is a follow-up to https://github.com/swiftlang/swift/pull/82085
which made it so async variant doesn't get `@Sendable` inferred because
the proposal specified that inference should happen only on completion
handler parameter type of a synchronous variant of an imported API.
This runs into implementation issues related to thunking in some
cases were async convention expects the type of a completion handler
to match exactly for both variants of the imported API.
Resolves: rdar://154695053
2025-07-01 00:05:20 -07:00
Allan Shortlidge
7651db7902
Merge pull request #82660 from tshortli/catalyst-silgen-availability-tests
...
Tests: Improve SILGen tests for `if #available()` on macCatalyst
2025-06-30 22:14:33 -07:00
Doug Gregor
78464f8592
[SE-0466] Infer isolated deinit in main-actor-by-default mode
...
Now that main-actor-isolated deinit can be back-deployed, enable
inference of isolated deinit within main-actor-by-default mode.
Implements rdar://154729369.
2025-06-30 22:03:07 -07:00
Erik Eckstein
18499e2bbd
Optimizer: revert to legacy alloc-box-to-stack optimization
...
The new implementation causes some problems
rdar://154686063, rdar://154713388
2025-07-01 07:02:36 +02:00
Doug Gregor
642214d6cb
Update test
2025-06-30 20:51:18 -07:00
Konrad 'ktoso' Malawski
9d16901b59
changelog: include isolated deinit in changelog
2025-07-01 12:26:35 +09:00
Konrad 'ktoso' Malawski
61e179df6c
changelog: nonisolated async funcs may run on caller isolation now
2025-07-01 12:21:37 +09:00
Konrad 'ktoso' Malawski
a27cf87737
changelog: task priority escalation handlers
2025-07-01 12:16:17 +09:00
Konrad 'ktoso' Malawski
9f5d8a60de
[changelog] add task names to changelog
2025-07-01 12:13:09 +09:00
Konrad 'ktoso' Malawski
81a06ccb2d
[changelog] add Task.immediate SE-0472 to changelog
2025-07-01 12:08:34 +09:00
Konrad `ktoso` Malawski
441f9f8ad3
Merge pull request #82611 from ktoso/wip-cleanup-mergeconflict-potential
2025-07-01 12:08:25 +09:00
Doug Gregor
195c7b03c1
Merge pull request #82651 from DougGregor/fixed-synthesized-init-82168
...
Add already-fixed test case from #82168
2025-06-30 19:15:04 -07:00
Luke Howard
451f309935
build with 64-bit time_t on 32-bit platforms ( #82595 )
...
It is good practice to build with 64-bit `time_t`/timeval on 32-bit
platforms to avoid the Y2038 issue. This is the default when building on
Yocto for armv7, for example. Unfortunately `suseconds_t` is not an
alias to a type of the correct width (unlike time_t).
Question: on release/6.1, tv_usec is assumed to be `Int32`, but on main
it is `Int`, but appears to be the same commit hash?
#### git blame main stdlib/public/Platform/Platform.swift
```
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 350) @available(SwiftStdlib 5.7, *)
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 351) extension timeval {
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 352) @available(SwiftStdlib 5.7, *)
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 353) public init(_ duration: Duration) {
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 354) let comps = duration.components
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 355) // Linux platforms define timeval as Int/Int
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 356) self.init(tv_sec: Int(comps.seconds),
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 357) tv_usec: Int(comps.attoseconds / 1_000_000_000_000))
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 358) }
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 359) }
```
#### git blame release/6.1 stdlib/public/Platform/Platform.swift
```
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 455) @available(SwiftStdlib 5.7, *)
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 456) extension timeval {
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 457) @available(SwiftStdlib 5.7, *)
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 458) public init(_ duration: Duration) {
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 459) let comps = duration.components
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 460) #if os(Linux)
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 461) // Linux platforms define timeval as Int/Int
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 462) self.init(tv_sec: Int(comps.seconds),
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 463) tv_usec: Int(comps.attoseconds / 1_000_000_000_000))
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 464) #else
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 465) // Darwin platforms define timeval as Int/Int32
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 466) self.init(tv_sec: Int(comps.seconds),
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 467) tv_usec: Int32(comps.attoseconds / 1_000_000_000_000))
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 468) #endif
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 469) }
e675b310f8 (Philippe Hausler 2022-02-17 09:32:46 -0800 470) }
```
2025-06-30 18:19:32 -07:00
Doug Gregor
7789a0ce64
[SE-0371] Back-deploy support for main-actor-isolated deinit
...
When targeting a platform that predates the introduction of isolated
deinit, make a narrow exception that allows main-actor-isolated deinit
to work through a special, inlineable entrypoint that is
back-deployed. This implementation
1. Calls into the real implementation when available, otherwise
2. Checks if we're on the main thread, destroying immediately when
we are, otherwise
3. Creates a new task on the main actor to handle destruction.
This implementation is less efficient than the implementation in the
runtime, but allows us to back-deploy this functionality as far back
as concurrency goes.
Fixes rdar://151029118.
2025-06-30 17:38:08 -07:00
Allan Shortlidge
767cf5dfc2
Tests: Improve SILGen tests for if #available() on macCatalyst.
2025-06-30 17:24:35 -07:00
Guillaume Lessard
5d4c445347
[stdlib] some span properties are more available
2025-06-30 17:13:35 -07:00
Pavel Yaskevich
bec4ebd126
Merge pull request #82574 from xedin/solver-perf-behind-a-flag
...
[ConstraintSystem] Implement disjunction favoring algorithm behind a flag
2025-06-30 16:27:01 -07:00
Stephen Canon
377c66b6e7
Replace some precondition with _precondition in the stdlib. ( #82641 )
2025-06-30 19:12:00 -04:00
Guillaume Lessard
f97961a86f
[stdlib] fix _makeMutableAndUniqueUnchecked()
2025-06-30 16:05:00 -07:00
Augusto Noronha
0c20222aea
Merge pull request #81700 from augusto2112/revert-debug-info-witness-table
...
Revert "Merge pull request #79171 from augusto2112/debug-info-witness…
2025-06-30 15:28:15 -07:00
Pavel Yaskevich
907606ef28
[Serialization] A temporary fix for LocatableType
...
Gracefully handle `LocatableType` types if they show up during
serialization. This is a temporary fix until we can remove
`TransitivelyConformsTo` constraint from the solver which is
the underlying cause of the issue (see https://github.com/swiftlang/swift/pull/82541 ).
Resolves: rdar://153461854
2025-06-30 14:53:36 -07:00
Doug Gregor
4586086b8e
Add already-fixed test case from #82168
2025-06-30 14:24:47 -07:00
Saleem Abdulrasool
a654df7caa
Merge pull request #82578 from compnerd/isolation
...
Runtimes: avoid ODR violations in _Concurrency
2025-06-30 14:07:21 -07:00