mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Frontend: add a frontend flag to generate empty ABI descriptors to workaround deserialization issues
ABI descriptors should always be emitted as sidecars for library-evolution-enabled modules. However, generating these files requires traversing the entire module (like indexing), which may hit additional deserialization issues. To unblock builds, this patch introduces a flag to skip the traversing logic so that we emit an empty ABI descriptor file. The empty file serves as a placeholder so that build system doesn't need to know the details.
This commit is contained in:
@@ -447,6 +447,11 @@ public:
|
||||
/// to encode the actual paths into the .swiftmodule file.
|
||||
PathObfuscator serializedPathObfuscator;
|
||||
|
||||
/// Avoid printing actual module content into the ABI descriptor file.
|
||||
/// This should only be used as a workaround when emitting ABI descriptor files
|
||||
/// crashes the compiler.
|
||||
bool emptyABIDescriptor = false;
|
||||
|
||||
private:
|
||||
static bool canActionEmitDependencies(ActionType);
|
||||
static bool canActionEmitReferenceDependencies(ActionType);
|
||||
|
||||
Reference in New Issue
Block a user