@@ -1011,6 +1011,9 @@ static bool ParseEnabledFeatureArgs(LangOptions &Opts, ArgList &Args,
10111011 else if (Args.hasArg (OPT_strict_memory_safety_migrate))
10121012 Opts.enableFeature (Feature::StrictMemorySafety, /* forMigration=*/ true );
10131013
1014+ if (Args.hasArg (OPT_enable_library_evolution, OPT_enable_resilience))
1015+ Opts.enableFeature (Feature::LibraryEvolution);
1016+
10141017 return HadError;
10151018}
10161019
@@ -1802,7 +1805,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
18021805 HadError = true ;
18031806 }
18041807
1805- if (FrontendOpts. EnableLibraryEvolution ) {
1808+ if (Opts. hasFeature (Feature::LibraryEvolution) ) {
18061809 Diags.diagnose (SourceLoc (), diag::evolution_with_embedded);
18071810 HadError = true ;
18081811 }
@@ -2138,7 +2141,8 @@ static bool ParseClangImporterArgs(ClangImporterOptions &Opts, ArgList &Args,
21382141
21392142 // Until we have some checking in place, internal bridging headers are a
21402143 // bit unsafe without library evolution.
2141- if (Opts.BridgingHeaderIsInternal && !FrontendOpts.EnableLibraryEvolution ) {
2144+ if (Opts.BridgingHeaderIsInternal &&
2145+ !LangOpts.hasFeature (Feature::LibraryEvolution)) {
21422146 Diags.diagnose (SourceLoc (),
21432147 diag::internal_bridging_header_without_library_evolution);
21442148 }
@@ -3064,7 +3068,7 @@ static bool ParseSILArgs(SILOptions &Opts, ArgList &Args,
30643068 FrontendOptions::ActionType::TypecheckModuleFromInterface)
30653069 Diags.diagnose (SourceLoc (), diag::ignoring_option_requires_option,
30663070 " -package-cmo" , " -allow-non-resilient-access" );
3067- } else if (!FEOpts. EnableLibraryEvolution ) {
3071+ } else if (!LangOpts. hasFeature (Feature::LibraryEvolution) ) {
30683072 Diags.diagnose (SourceLoc (), diag::package_cmo_requires_library_evolution);
30693073 } else {
30703074 Opts.EnableSerializePackage = true ;
0 commit comments