@@ -47,6 +47,9 @@ struct TBDGenOptions {
4747 // / Whether LLVM IR Witness Method Elimination is enabled.
4848 bool WitnessMethodElimination = false ;
4949
50+ // / Whether resilient protocols should be emitted fragile.
51+ bool FragileResilientProtocols = false ;
52+
5053 // / The install_name to use in the TBD file.
5154 std::string InstallName;
5255
@@ -78,6 +81,7 @@ struct TBDGenOptions {
7881 lhs.PublicOrPackageSymbolsOnly == rhs.PublicOrPackageSymbolsOnly &&
7982 lhs.VirtualFunctionElimination == rhs.VirtualFunctionElimination &&
8083 lhs.WitnessMethodElimination == rhs.WitnessMethodElimination &&
84+ lhs.FragileResilientProtocols == rhs.FragileResilientProtocols &&
8185 lhs.InstallName == rhs.InstallName &&
8286 lhs.ModuleLinkName == rhs.ModuleLinkName &&
8387 lhs.CurrentVersion == rhs.CurrentVersion &&
@@ -95,7 +99,7 @@ struct TBDGenOptions {
9599 return hash_combine (
96100 opts.HasMultipleIGMs , opts.IsInstallAPI , opts.LinkerDirectivesOnly ,
97101 opts.PublicOrPackageSymbolsOnly , opts.VirtualFunctionElimination ,
98- opts.WitnessMethodElimination ,
102+ opts.WitnessMethodElimination , opts. FragileResilientProtocols ,
99103 opts.InstallName , opts.ModuleLinkName ,
100104 opts.CurrentVersion , opts.CompatibilityVersion ,
101105 opts.ModuleInstallNameMapPath ,
0 commit comments