Skip to content

Commit d4ff33b

Browse files
authored
Introduce SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS setting. (#530)
This setting must be enabled in order for Swift language feature enablement diagnostics specified by `swift-language-feature-enablement.json` to be emitted. Resolves rdar://151977874.
1 parent 56bb6cb commit d4ff33b

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

Sources/SWBCore/Settings/BuiltinMacros.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,6 +1009,7 @@ public final class BuiltinMacros {
10091009
public static let SWIFT_ENABLE_BARE_SLASH_REGEX = BuiltinMacros.declareBooleanMacro("SWIFT_ENABLE_BARE_SLASH_REGEX")
10101010
public static let SWIFT_ENABLE_EMIT_CONST_VALUES = BuiltinMacros.declareBooleanMacro("SWIFT_ENABLE_EMIT_CONST_VALUES")
10111011
public static let SWIFT_ENABLE_OPAQUE_TYPE_ERASURE = BuiltinMacros.declareBooleanMacro("SWIFT_ENABLE_OPAQUE_TYPE_ERASURE")
1012+
public static let SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS = BuiltinMacros.declareBooleanMacro("SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS")
10121013
public static let SWIFT_EMIT_CONST_VALUE_PROTOCOLS = BuiltinMacros.declareStringListMacro("SWIFT_EMIT_CONST_VALUE_PROTOCOLS")
10131014
public static let SWIFT_GENERATE_ADDITIONAL_LINKER_ARGS = BuiltinMacros.declareBooleanMacro("SWIFT_GENERATE_ADDITIONAL_LINKER_ARGS")
10141015
public static let SWIFT_USE_INTEGRATED_DRIVER = BuiltinMacros.declareBooleanMacro("SWIFT_USE_INTEGRATED_DRIVER")
@@ -2178,6 +2179,7 @@ public final class BuiltinMacros {
21782179
SWIFT_ENABLE_BARE_SLASH_REGEX,
21792180
SWIFT_ENABLE_EMIT_CONST_VALUES,
21802181
SWIFT_ENABLE_OPAQUE_TYPE_ERASURE,
2182+
SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS,
21812183
SWIFT_EMIT_CONST_VALUE_PROTOCOLS,
21822184
SWIFT_GENERATE_ADDITIONAL_LINKER_ARGS,
21832185
SWIFT_ENABLE_TESTABILITY,

Sources/SWBCore/SpecImplementations/Tools/SwiftCompiler.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,6 +1446,9 @@ public final class SwiftCompilerSpec : CompilerSpec, SpecIdentifierType, SwiftDi
14461446
}
14471447

14481448
private func diagnoseFeatureEnablement(_ cbc: CommandBuildContext, _ languageFeatureEnablementInfo: SwiftBlocklists.LanguageFeatureEnablementInfo, _ delegate: any TaskGenerationDelegate) {
1449+
guard cbc.scope.evaluate(BuiltinMacros.SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS) else {
1450+
return
1451+
}
14491452
let moduleName = cbc.scope.evaluate(BuiltinMacros.SWIFT_MODULE_NAME)
14501453
let otherFlags = cbc.scope.evaluate(BuiltinMacros.OTHER_SWIFT_FLAGS)
14511454
var otherFlagsFeatures: [String] = []

Tests/SWBBuildSystemTests/SwiftDriverTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4821,6 +4821,7 @@ fileprivate struct SwiftDriverTests: CoreBasedTests {
48214821
TestBuildConfiguration(
48224822
"Debug",
48234823
buildSettings: [
4824+
"SWIFT_ENABLE_LANGUAGE_FEATURE_ENABLEMENT_DIAGNOSTICS": "YES",
48244825
"PRODUCT_NAME": "$(TARGET_NAME)",
48254826
"SWIFT_VERSION": "5",
48264827
"BUILD_VARIANTS": "normal",

0 commit comments

Comments
 (0)