Skip to content

Commit 6d90d36

Browse files
committed
Document setting for allowing use of explicit modules with c++ interop
1 parent bd0d3ee commit 6d90d36

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

Sources/SWBCore/Settings/BuiltinMacros.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,7 +1014,7 @@ public final class BuiltinMacros {
10141014
public static let SWIFT_USE_INTEGRATED_DRIVER = BuiltinMacros.declareBooleanMacro("SWIFT_USE_INTEGRATED_DRIVER")
10151015
public static let SWIFT_EAGER_MODULE_EMISSION_IN_WMO = BuiltinMacros.declareBooleanMacro("SWIFT_EAGER_MODULE_EMISSION_IN_WMO")
10161016
public static let SWIFT_ENABLE_EXPLICIT_MODULES = BuiltinMacros.declareEnumMacro("SWIFT_ENABLE_EXPLICIT_MODULES") as EnumMacroDeclaration<SwiftEnableExplicitModulesSetting>
1017-
public static let _SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP = BuiltinMacros.declareBooleanMacro("_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP")
1017+
public static let SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP = BuiltinMacros.declareBooleanMacro("SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP")
10181018
public static let _SWIFT_EXPLICIT_MODULES_ALLOW_BEFORE_SWIFT_5 = BuiltinMacros.declareBooleanMacro("_SWIFT_EXPLICIT_MODULES_ALLOW_BEFORE_SWIFT_5")
10191019
public static let _EXPERIMENTAL_SWIFT_EXPLICIT_MODULES = BuiltinMacros.declareEnumMacro("_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES") as EnumMacroDeclaration<SwiftEnableExplicitModulesSetting>
10201020
public static let SWIFT_ENABLE_TESTABILITY = BuiltinMacros.declareBooleanMacro("SWIFT_ENABLE_TESTABILITY")
@@ -2172,7 +2172,7 @@ public final class BuiltinMacros {
21722172
SWIFT_USE_INTEGRATED_DRIVER,
21732173
SWIFT_EAGER_MODULE_EMISSION_IN_WMO,
21742174
SWIFT_ENABLE_EXPLICIT_MODULES,
2175-
_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP,
2175+
SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP,
21762176
_SWIFT_EXPLICIT_MODULES_ALLOW_BEFORE_SWIFT_5,
21772177
_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES,
21782178
SWIFT_ENABLE_BARE_SLASH_REGEX,

Sources/SWBCore/SpecImplementations/Tools/SwiftCompiler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1377,7 +1377,7 @@ public final class SwiftCompilerSpec : CompilerSpec, SpecIdentifierType, SwiftDi
13771377

13781378
// rdar://122829880 (Turn off Swift explicit modules when c++ interop is enabled)
13791379
guard scope.evaluate(BuiltinMacros.SWIFT_OBJC_INTEROP_MODE) != "objcxx" && !scope.evaluate(BuiltinMacros.OTHER_SWIFT_FLAGS).contains("-cxx-interoperability-mode=default") else {
1380-
return scope.evaluate(BuiltinMacros._SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)
1380+
return scope.evaluate(BuiltinMacros.SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)
13811381
}
13821382

13831383
// Disable explicit modules in the pre-Swift-5 language modes to avoid versioned API notes confusion.

Sources/SWBUniversalPlatform/Specs/Swift.xcspec

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,13 @@
10211021
Category = "General";
10221022
Description = "Coordinates the build of the main module's modular dependencies via explicit tasks scheduled by the build system.";
10231023
},
1024+
{
1025+
Name = "SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP";
1026+
Type = Boolean;
1027+
DisplayName = "Use Explicitly Built Modules with C++ Interoperability";
1028+
Category = "General";
1029+
Description = "Enable use of explicitly built modules in Swift code which has adopted C++ interoperability.";
1030+
},
10241031
{
10251032
Name = "SWIFT_ENABLE_COMPILE_CACHE";
10261033
Type = Boolean;

0 commit comments

Comments
 (0)