Skip to content

Fix missing musttail for dynamic replacement calls. #37592

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

Conversation

varungandhi-apple
Copy link
Contributor

When we make a tail call from swifttailcc → swifttailcc, the call should be marked musttail even when dynamic replacement is involved. However, this wasn't handled earlier, leading to an assertion failure when I tried to turn on musttail verification. (See #36805 (comment))

Fixes rdar://78284346 .

@varungandhi-apple
Copy link
Contributor Author

@swift-ci test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 159ec9c010380d60e00f092083c693e14631d6bd

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 159ec9c010380d60e00f092083c693e14631d6bd

Fixes rdar://78284346.

(Found when trying to land musttail verification. :D)
@varungandhi-apple varungandhi-apple force-pushed the vg-musttail-dynamic-replacement branch from 159ec9c to a044644 Compare May 24, 2021 20:15
@varungandhi-apple
Copy link
Contributor Author

@swift-ci test

Copy link
Contributor

@aschwaighofer aschwaighofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Thank you!

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - a044644

@varungandhi-apple
Copy link
Contributor Author

@swift-ci test macOS

@varungandhi-apple varungandhi-apple merged commit fbdb140 into swiftlang:main May 25, 2021
@varungandhi-apple varungandhi-apple deleted the vg-musttail-dynamic-replacement branch May 25, 2021 15:43
@varungandhi-apple
Copy link
Contributor Author

Revert in #37645

@varungandhi-apple
Copy link
Contributor Author

Reverting was the wrong thing; the test should be x-failed on Windows. #37646

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