Merge pull request #68530 from kubamracek/embedded-no-objc

[embedded] Disable Objective-C interop in embedded Swift
This commit is contained in:
Kuba (Brecka) Mracek
2023-09-21 14:52:43 -07:00
committed by GitHub
4 changed files with 17 additions and 4 deletions

View File

@@ -1097,7 +1097,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.EnableObjCInterop =
Args.hasFlag(OPT_enable_objc_interop, OPT_disable_objc_interop,
Target.isOSDarwin());
Target.isOSDarwin() && !Opts.hasFeature(Feature::Embedded));
Opts.CForeignReferenceTypes =
Args.hasArg(OPT_experimental_c_foreign_reference_types);
@@ -1325,7 +1325,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.UnavailableDeclOptimizationMode = UnavailableDeclOptimization::Complete;
Opts.DisableImplicitStringProcessingModuleImport = true;
Opts.DisableImplicitConcurrencyModuleImport = true;
Opts.EnableObjCInterop = false;
if (FrontendOpts.EnableLibraryEvolution) {
Diags.diagnose(SourceLoc(), diag::evolution_with_embedded);
@@ -1336,6 +1335,11 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Diags.diagnose(SourceLoc(), diag::wmo_with_embedded);
HadError = true;
}
if (Opts.EnableObjCInterop) {
Diags.diagnose(SourceLoc(), diag::objc_with_embedded);
HadError = true;
}
}
if (auto A = Args.getLastArg(OPT_checked_async_objc_bridging)) {