Merge pull request #83677 from DougGregor/c-interop-improvements-6.2

This commit is contained in:
Doug Gregor
2025-08-14 12:13:47 -07:00
committed by GitHub
27 changed files with 828 additions and 72 deletions

View File

@@ -279,7 +279,8 @@ ERROR(conforms_to_ambiguous,none,
"ambiguous reference to protocol '%0' in specified protocol conformance; module '%1' contains multiple protocols named '%0'", (StringRef, StringRef))
ERROR(conforms_to_not_protocol,none,
"%0 %1 referenced in protocol conformance '%2' is not a protocol", (DescriptiveDeclKind, ValueDecl *, StringRef))
"%kind0 referenced in protocol conformance '%1' is not a protocol",
(const ValueDecl *, StringRef))
ERROR(failed_base_method_call_synthesis,none,
"failed to synthesize call to the base method %0 of type %0",
@@ -290,6 +291,9 @@ ERROR(both_returns_retained_returns_unretained, none,
"SWIFT_RETURNS_UNRETAINED",
(const clang::NamedDecl *))
ERROR(redundant_conformance_protocol,none,
"redundant conformance of %0 to protocol '%1'", (Type, StringRef))
ERROR(returns_retained_or_returns_unretained_for_non_cxx_frt_values, none,
"%0 cannot be annotated with either SWIFT_RETURNS_RETAINED or "
"SWIFT_RETURNS_UNRETAINED because it is not returning "

View File

@@ -353,8 +353,6 @@ namespace swift {
return CXXStdlib == PlatformDefaultCXXStdlib;
}
bool CForeignReferenceTypes = false;
/// Imports getters and setters as computed properties.
bool CxxInteropGettersSettersAsProperties = false;

View File

@@ -871,7 +871,7 @@ def cxx_interoperability_mode :
def experimental_c_foreign_reference_types :
Flag<["-"], "experimental-c-foreign-reference-types">,
Flags<[FrontendOption, HelpHidden, ModuleInterfaceOption]>,
HelpText<"Enable experimental C foreign references types (with reference counting).">;
HelpText<"Enable experimental C foreign references types. Deprecated, has no effect.">;
def experimental_hermetic_seal_at_link:
Flag<["-"], "experimental-hermetic-seal-at-link">,