@@ -202,15 +202,15 @@ extension ManifestLoaderProtocol {
202
202
) async throws -> Manifest {
203
203
// find the manifest path and parse it's tools-version
204
204
let manifestPath = try ManifestLoader . findManifest (
205
- packagePath: packagePath,
206
- fileSystem: fileSystem,
205
+ packagePath: packagePath,
206
+ fileSystem: fileSystem,
207
207
currentToolsVersion: currentToolsVersion
208
208
)
209
209
let manifestToolsVersion = try ToolsVersionParser . parse ( manifestPath: manifestPath, fileSystem: fileSystem)
210
210
// validate the manifest tools-version against the toolchain tools-version
211
211
try manifestToolsVersion. validateToolsVersion (
212
- currentToolsVersion,
213
- packageIdentity: packageIdentity,
212
+ currentToolsVersion,
213
+ packageIdentity: packageIdentity,
214
214
packageVersion: packageVersion? . version? . description ?? packageVersion? . revision
215
215
)
216
216
@@ -259,7 +259,7 @@ actor ManifestCacheActor {
259
259
/// `atexit()` handler) which is then deserialized and loaded.
260
260
public final class ManifestLoader : ManifestLoaderProtocol {
261
261
public typealias Delegate = ManifestLoaderDelegate
262
-
262
+
263
263
private let toolchain : UserToolchain
264
264
private let serializedDiagnostics : Bool
265
265
private let isManifestSandboxEnabled : Bool
@@ -298,7 +298,7 @@ public final class ManifestLoader: ManifestLoaderProtocol {
298
298
self . databaseCacheDir = try ? cacheDir. map ( resolveSymlinks)
299
299
self . pruneDependencies = pruneDependencies
300
300
}
301
-
301
+
302
302
public func load(
303
303
manifestPath: AbsolutePath ,
304
304
manifestToolsVersion: ToolsVersion ,
@@ -476,7 +476,6 @@ public final class ManifestLoader: ManifestLoaderProtocol {
476
476
delegate: Delegate ? ,
477
477
delegateQueue: DispatchQueue ?
478
478
) async throws -> ManifestJSONParser . Result {
479
-
480
479
let key = try CacheKey (
481
480
packageIdentity: packageIdentity,
482
481
packageLocation: packageLocation,
@@ -677,10 +676,14 @@ public final class ManifestLoader: ManifestLoaderProtocol {
677
676
678
677
return result
679
678
}
680
-
681
679
}
682
680
683
681
/// Helper method for evaluating the manifest.
682
+ // TODO: Optimizations are disabled to work around a compiler bug. Remove this attribute when the bug is fixed.
683
+ // See https://github.com/swiftlang/llvm-project/issues/11377 for details.
684
+ #if os(Windows)
685
+ @_optimize ( none)
686
+ #endif
684
687
func evaluateManifest(
685
688
at manifestPath: AbsolutePath ,
686
689
vfsOverlayPath: AbsolutePath ? = nil ,
0 commit comments