mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +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:
@@ -158,7 +158,8 @@ SerializationOptions CompilerInvocation::computeSerializationOptions(
|
||||
getIRGenOptions().PublicLinkLibraries;
|
||||
serializationOpts.SDKName = getLangOptions().SDKName;
|
||||
serializationOpts.ABIDescriptorPath = outs.ABIDescriptorOutputPath.c_str();
|
||||
|
||||
serializationOpts.emptyABIDescriptor = opts.emptyABIDescriptor;
|
||||
|
||||
if (!getIRGenOptions().ForceLoadSymbolName.empty())
|
||||
serializationOpts.AutolinkForceLoad = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user