Commit Graph

13 Commits

Author SHA1 Message Date
Rintaro Ishizaki a6c926fa34 Relax atomic memory orderings; switch semaphore to release/acquire
For ID counters and standalone flags (most sites), drop to .relaxed
since nothing reads other memory based on the atomic's value.

MultiEntrySemaphore.signaled is the exception: it is used as a
signal/wait primitive where waiters proceed to use state set up
before signal(). Use .releasing on store and .acquiring on load so
that pre-signal writes are visible to waiters that observe `true`.
.relaxed there would be incorrect on weakly-ordered architectures.
2026-05-21 11:16:17 -07:00
Rintaro Ishizaki 83de30d29f Migrate atomic call sites to Synchronization.Atomic and ThreadSafeBox
Replace AtomicBool/UInt8/UInt32/Int32 from
ToolsProtocolsSwiftExtensions with Synchronization.Atomic<T> where
the storage is a static, module-level let, or class stored property.
For local lets captured by @Sendable closures (where Atomic's
~Copyable nature prevents capture), use ThreadSafeBox<T> instead.
2026-05-21 10:58:34 -07:00
Owen Voorhees 796bd64b9b Use Bundle.module when looking up test resources 2026-03-15 16:49:17 -07:00
Owen Voorhees f04b971726 Adopt swift-tools-protocols 2025-10-31 14:11:11 -07:00
Alex Hoppen 95538e7de9 Migrate appendingPathComponent to appending(component:)
`appending(component:)` is the more modern API and can take multiple path components at the same time.
2025-09-23 16:57:56 +02:00
Alex Hoppen 3762e7a2a4 Fix all warnings
Fixes all warnings when building on macOS and Linux using Swift 6.1, Swift 6.2 and SDKs from Xcode 16.2 and Xcode 16.3
2025-08-25 14:40:16 +02:00
Anthony Latsis 052cdc6ee8 .swift-format: Enable ReturnVoidInsteadOfEmptyTuple 2025-06-23 19:47:25 +01:00
Alex Hoppen 1cfa8db1d8 Require Swift 6 to build SourceKit-LSP
This significantly cleans up our `import` statements
2025-03-07 08:05:49 -08:00
Alex Hoppen 994a6b5c1b Load RandomSeed.plist and CommonFunctionTerms.json from test resources
Otherwise tests fail when running them on a different machine from an `xctestproducts` bundle.
2025-01-22 13:17:48 -08:00
Alex Hoppen 52e0351844 Use UInt64.random instead of arc4random 2025-01-09 14:09:02 +01:00
Alex Hoppen b78c91c295 Avoid using XCTestCase.invocation
This is not available on non-Darwin platforms.
2025-01-07 21:22:10 +01:00
Alex Hoppen 55abb1dec7 Don't support thermal range throttling on non-macOS 2025-01-07 17:20:55 +01:00
Alex Hoppen 5709e1a864 Add a SourceKit plugin to handle code completion requests
This adds a sourcekitd plugin that drives the code completion requests. It also includes a `CompletionScoring` module that’s used to rank code completion results based on their contextual match, allowing us to show more relevant code completion results at the top.
2025-01-03 14:21:54 +01:00