Skip to content
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

[Serialization] Pass along allow errors/skip bodies flags #59739

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bnbarham
Copy link
Contributor

Building swiftinterface's should use the allow errors and skip bodies
flags of the main compilation. Consider a swiftinterface A that depends
on a module B. If B is built allowing errors then deserialization while
building the module for A should not fail if there are in fact errors.

Resolves rdar://84515859.

Building swiftinterface's should use the allow errors and skip bodies
flags of the main compilation. Consider a swiftinterface A that depends
on a module B. If B is built allowing errors then deserialization while
building the module for A should not fail if there are in fact errors.

Resolves rdar://84515859.
@bnbarham bnbarham requested a review from xymus June 28, 2022 00:38
@bnbarham
Copy link
Contributor Author

@swift-ci please test

@@ -1364,6 +1366,15 @@ void InterfaceSubContextDelegateImpl::inheritOptionsForBuildingInterface(
std::string pair = (llvm::Twine(lhs) + "=" + rhs).str();
GenericArgs.push_back(ArgSaver.save(pair));
});

genericSubInvocation.getTypeCheckerOptions().SkipFunctionBodies =
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Probably want to limit this to All only. Also need to consider how this impacts the hash - modules without skip/errors should be used by compilations without, but definitely not the other way around.

@bnbarham bnbarham marked this pull request as draft June 28, 2022 05:04
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.

None yet

1 participant