Skip to content

Fix explicit modules incremental build failure when only the clang module of a mixed-source module requires rebuild #1527

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

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

owenv
Copy link
Contributor

@owenv owenv commented Jan 22, 2024

After reading a prior intermodule dependency graph in an incremental explicit module build, the driver loops over each module in the graph to check if it is up to date. The check which is intended to skip the main (Swift) module was skipping a clang module with the same name as well, if it existed. If this clang module was the only one to be updated in an incremental compile, we wouldn't regenerate its pcm, and compilation would later fail since it wasn't up to date.

rdar://121352768

…dule of a mixed-source module requires rebuild

After reading a prior intermodule dependency graph in an incremental explicit module build, the driver loops over
each module in the graph to check if it is up to date. The check which is intended to skip the main (Swift) module
was including a clang module with the same name as well, if it existed. If this clang module was the only one to be
updated in an incremental compile, we wouldn't regenerate its pcm, and compilation would later fail since it wasn't
up to date.

rdar://121352768
@owenv owenv requested a review from artemcm January 22, 2024 05:23
@owenv
Copy link
Contributor Author

owenv commented Jan 22, 2024

@swift-ci please test

@artemcm
Copy link
Contributor

artemcm commented Jan 22, 2024

Good catch!

@owenv owenv merged commit 1ef0e3e into swiftlang:main Jan 22, 2024
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.

2 participants