Files
swift-mirror/SwiftCompilerSources/Sources/Optimizer/PassManager/Options.swift
Erik Eckstein ef302ce4ac SILOptimizer: enable stack protection by default
The pass to decide which functions should get stack protection was added in https://github.com/apple/swift/pull/60933, but was disabled by default.

This PR enables stack protection by default, but not the possibility to move arguments into temporaries - to keep the risk low.
Moving to temporaries can be enabled with the new frontend option `-enable-move-inout-stack-protector`.

rdar://93677524
2022-11-11 17:14:08 +01:00

26 lines
804 B
Swift

//===--- Options.swift ----------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
import OptimizerBridging
struct Options {
let _bridged: BridgedPassContext
var enableStackProtection: Bool {
SILOptions_enableStackProtection(_bridged) != 0
}
var enableMoveInoutStackProtection: Bool {
SILOptions_enableMoveInoutStackProtection(_bridged) != 0
}
}