-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Add swift-function-caller-generator #84931
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add swift-function-caller-generator #84931
Conversation
|
@swift-ci please smoke test |
b2179c9 to
9e620af
Compare
|
@swift-ci please smoke test |
Xazax-hun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this PR add a single use that shows what the generated calls look like?
|
@swift-ci please smoke test |
Done! Added one checking that the output compiles without warnings as well. |
|
@swift-ci please smoke test |
|
@swift-ci please test macos platform |
...ller-generator/Sources/swift-function-caller-generator/swift-function-caller-generator.swift
Outdated
Show resolved
Hide resolved
...ller-generator/Sources/swift-function-caller-generator/swift-function-caller-generator.swift
Outdated
Show resolved
Hide resolved
This helper utility takes a module interface as input, and emits a Swift file importing the module and calling every function in the module. It's intended for testing of safe interop wrappers to make sure they go through the entire pipeline of the compiler instead of succumbing to laziness.
Building Foundation seems to be optional in the Linux build script, which makes it tricky to link against outside of Darwin platforms. This removes the dependency on Foundation and calls libc for I/O instead.
dc68697 to
328e07a
Compare
|
@swift-ci please smoke test |
This helper utility takes a module interface as input, and emits a Swift
file importing the module and calling every function in the module. It's
intended for testing of safe interop wrappers to make sure they go
through the entire pipeline of the compiler instead of succumbing to
laziness.
Extracted from #84385