Skip to content

[Caching] Do not mix swift modules built from CAS vs. from FileSystem #71586

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
Feb 16, 2024

Conversation

cachemeifyoucan
Copy link
Contributor

Use a different context hash for modules built from caching using CAS vs. normal swift modules. They should not be mixed since those cannot be loaded as a dependencies for a module which is setup to build with a different method.

rdar://122814823

Use a different context hash for modules built from caching using CAS
vs. normal swift modules. They should not be mixed since those cannot be
loaded as a dependencies for a module which is setup to build with a
different method.

rdar://122814823
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

Copy link
Contributor

@adrian-prantl adrian-prantl left a comment

Choose a reason for hiding this comment

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

So the contents of of two PCH built with and without caching will be different?

@cachemeifyoucan
Copy link
Contributor Author

So the contents of of two PCH built with and without caching will be different?

The lookup method for external contents are different when using caching. The dependencies with caching have casid inside for dependencies modules which will not work if the compiler instance is not setup with a CAS.

@cachemeifyoucan cachemeifyoucan merged commit 2ded8ba into swiftlang:main Feb 16, 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