Skip to content

Support for Swift async function pointer compiler flags - #3245

Closed
aschwaighofer wants to merge 3 commits into
swiftlang:swift/mainfrom
aschwaighofer:swift_async_function_pointer_flags
Closed

aschwaighofer wants to merge 3 commits into
swiftlang:swift/mainfrom
aschwaighofer:swift_async_function_pointer_flags

Conversation

@aschwaighofer

Copy link
Copy Markdown

No description provided.

TNorthover and others added 3 commits September 9, 2021 17:49
SwiftAsync: use runtime-provided flag for extended frame if back-deploying
Introduce a new command-line flag `-swift-async-fp={auto|always|never}`
that controls how code generation sets the Swift extended async frame
info bit. There are three possibilities:

* `auto`: the default, which determines how to set the bit based on
deployment target, either statically or dynamically via
`swift_async_extendedFramePointerFlags`.
* `always`: always set the bit statically, regardless of deployment
target.
* `never`: never set the bit, regardless of deployment target.

Patch by Doug Gregor <dgregor@apple.com>

Differential Revision: https://reviews.llvm.org/D109392
Summary:
Introduce a new frontend flag `-fswift-async-fp={auto|always|never}`
that controls how code generation sets the Swift extended async frame
info bit. There are three possibilities:

* `auto`: the default, which determines how to set the bit based on
deployment target, either statically or dynamically via
`swift_async_extendedFramePointerFlags`.
* `always`: always set the bit statically, regardless of deployment
target.
* `never`: never set the bit, regardless of deployment target.

Differential Revision: https://reviews.llvm.org/D109451
@aschwaighofer

Copy link
Copy Markdown
Author

test with swiftlang/swift#39245

@swift-ci test

@aschwaighofer

Copy link
Copy Markdown
Author

test with swiftlang/swift#39245

@swift-ci test os x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants