[embedded] Disable Objective-C interop in embedded Swift

This commit is contained in:
Kuba Mracek
2023-09-14 16:15:06 -07:00
parent fca24bd5c8
commit 78be31cca4
3 changed files with 15 additions and 1 deletions

View File

@@ -1095,7 +1095,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);
@@ -1334,6 +1334,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)) {