-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix async_extended_frame_info_watchos test #62949
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
Fix async_extended_frame_info_watchos test #62949
Conversation
The optimizer got smarter and stopped emitting a stack frame for the empty `someAsyncFunction`, so the test started failing. Adding an opaque function call to the function body forces the function to get set up properly, so the test starts passing again. rdar97790231
@swift-ci please test |
We may want to fix the |
To help this test run in production environments, I've reduced the requirements of the test. It used to require that the compiler was running on an armv7k or arm64_32 watchOS device, which I don't think is a test configuration that gets hit all that often. The new requirements are that you're on watchOS or the simulator, and can produce arm64_32 code. The test only verifies that the emitted asm is valid, not that it runs, so we don't need to be running on the specific hardware. Additionally, the test only checks the output of arm64_32, not of armvk7, so we only require the 64-bit arm backend. It would be better if we could check for available SDKs though. The test only requires an SDK, it doesn't need to be run on the simulator or the watch.
Adding test to verify correct behavior from swift when targeting arm64 macOS. We caught the fact that the optimizer got smarter on arm64 in the watchOS test, which doesn't seem to get run in PR testing. The updated test catches it now.
@swift-ci please test |
Linux failure:
This change doesn't affect Linux, or this test, so this looks unrelated. |
Verified from logs; watchOS simulator testing is now running and passing
|
@swift-ci please test Linux |
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.
lgtm. Thanks!
The optimizer got smarter and stopped emitting a stack frame for the empty
someAsyncFunction
, so the test started failing. Adding an opaque function call to the function body forces the function to get set up properly, so the test starts passing again.Fixes rdar://97790231