-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[Serialization] Add an option to output modules regardless of errors #34472
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 |
|
Build failed |
54e0661 to
0ffb7e9
Compare
|
@swift-ci please test |
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.
This looks good!
Do you expect having to put in more work to suppress other errors in this mode or should this cover most of it already?
I'm hoping there's shouldn't be many more errors to suppress, but I suspect there likely is. |
c64c163 to
f5f87a5
Compare
|
Going to merge and fix any error that crop up from the stress tester after the fact (this arg will only be used in an opt-in mode for now). |
|
@swift-ci please smoke test |
f5f87a5 to
ef0e4d7
Compare
|
@swift-ci please smoke test |
Adds a new frontend option "-experimental-allow-module-with-compiler-errors". If any compilation errors occur while generating the .swiftmodule, this mode will skip SIL entirely and only serialize the (likey invalid) AST. This existence of this option during generation is serialized into the resulting .swiftmodule. Errors found in deserialization are only allowed if it is set. Primarily intended for IDE requests (eg. indexing and code completion) to ensure robust cross-module results, despite possible errors. Resolves rdar://69815975
ef0e4d7 to
241559d
Compare
|
Fixed test after a couple other PRs were merged to fix the missing global case. @swift-ci please smoke test |
|
@swift-ci please test Windows platform |
Adds a new frontend option
"-experimental-allow-module-with-compiler-errors". If any compilation
errors occur while generating the .swiftmodule, this mode will skip SIL
entirely and only serialize the (likey invalid) AST.
This existence of this option during generation is serialized into the
resulting .swiftmodule. Errors found in deserialization are only allowed
if it is set.
Primarily intended for IDE requests (eg. indexing and code completion)
to ensure robust cross-module results, despite possible errors.
Resolves rdar://69815975