-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[AST] check modules before recursing for display decls #40860
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
@swift-ci Please test source compatibility |
@swift-ci Please test |
After testing locally with one of the original source-compat failures, it seems like this still creates a failure if you try to generate symbol graphs. I'm going to try a different approach and push that up. |
f7db5ba
to
ed0d6d4
Compare
@swift-ci Please test source compatibility |
@swift-ci Please test |
Build failed |
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.
Can you add a reduced test case for the crash?
Build failed |
ed0d6d4
to
7338eb0
Compare
@swift-ci Please test |
@swift-ci Please test source compatibility |
Resolves rdar://87601741
In #40810,
ModuleDecl::getDisplayDecls
started to recurse into modules that were marked as@_exported import
for collecting decls. This caused some failures in source compatibility testing, due to recursing into Clang modules during serialization that tripped an assertion. This PR adds a check against these modules before recursing, so that Clang modules that should not be recursed into can be skipped.