mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Front-end: add an option to not lock interface file when building module
This could help fix a flaky test. Related to: rdar://58578342
This commit is contained in:
@@ -134,17 +134,20 @@ class ModuleInterfaceLoader : public SerializedModuleLoaderBase {
|
||||
ASTContext &ctx, StringRef cacheDir, StringRef prebuiltCacheDir,
|
||||
DependencyTracker *tracker, ModuleLoadingMode loadMode,
|
||||
ArrayRef<std::string> PreferInterfaceForModules,
|
||||
bool RemarkOnRebuildFromInterface, bool IgnoreSwiftSourceInfoFile)
|
||||
bool RemarkOnRebuildFromInterface, bool IgnoreSwiftSourceInfoFile,
|
||||
bool DisableInterfaceFileLock)
|
||||
: SerializedModuleLoaderBase(ctx, tracker, loadMode,
|
||||
IgnoreSwiftSourceInfoFile),
|
||||
CacheDir(cacheDir), PrebuiltCacheDir(prebuiltCacheDir),
|
||||
RemarkOnRebuildFromInterface(RemarkOnRebuildFromInterface),
|
||||
DisableInterfaceFileLock(DisableInterfaceFileLock),
|
||||
PreferInterfaceForModules(PreferInterfaceForModules)
|
||||
{}
|
||||
|
||||
std::string CacheDir;
|
||||
std::string PrebuiltCacheDir;
|
||||
bool RemarkOnRebuildFromInterface;
|
||||
bool DisableInterfaceFileLock;
|
||||
ArrayRef<std::string> PreferInterfaceForModules;
|
||||
|
||||
std::error_code findModuleFilesInDirectory(
|
||||
@@ -163,13 +166,15 @@ public:
|
||||
DependencyTracker *tracker, ModuleLoadingMode loadMode,
|
||||
ArrayRef<std::string> PreferInterfaceForModules = {},
|
||||
bool RemarkOnRebuildFromInterface = false,
|
||||
bool IgnoreSwiftSourceInfoFile = false) {
|
||||
bool IgnoreSwiftSourceInfoFile = false,
|
||||
bool DisableInterfaceFileLock = false) {
|
||||
return std::unique_ptr<ModuleInterfaceLoader>(
|
||||
new ModuleInterfaceLoader(ctx, cacheDir, prebuiltCacheDir,
|
||||
tracker, loadMode,
|
||||
PreferInterfaceForModules,
|
||||
RemarkOnRebuildFromInterface,
|
||||
IgnoreSwiftSourceInfoFile));
|
||||
IgnoreSwiftSourceInfoFile,
|
||||
DisableInterfaceFileLock));
|
||||
}
|
||||
|
||||
/// Append visible module names to \p names. Note that names are possibly
|
||||
@@ -187,7 +192,7 @@ public:
|
||||
StringRef CacheDir, StringRef PrebuiltCacheDir,
|
||||
StringRef ModuleName, StringRef InPath, StringRef OutPath,
|
||||
bool SerializeDependencyHashes, bool TrackSystemDependencies,
|
||||
bool RemarkOnRebuildFromInterface);
|
||||
bool RemarkOnRebuildFromInterface, bool DisableInterfaceFileLock);
|
||||
};
|
||||
|
||||
/// Extract the specified-or-defaulted -module-cache-path that winds up in
|
||||
|
||||
Reference in New Issue
Block a user