-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[ParseableInterface] Turn on -enable-parseable-module-interface always #23331
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
058487b
to
dbcad66
Compare
...and remove the option. This is ~technically~ CLI-breaking because Swift 5 shipped this as a hidden driver option, but it wouldn't have /done/ anything in Swift 5, so I think it's okay to remove. Note that if a parseable interface (.swiftinterface) and a binary interface (.swiftmodule) are both present, the binary one will still be preferred. This just /allows/ parseable interfaces to be used. rdar://problem/36885834
@swift-ci Please test |
@swift-ci Please test source compatibility |
@swift-ci Please test compiler performance |
@@ -713,9 +712,6 @@ class ParseableInterfaceModuleLoaderImpl { | |||
if (validationInfo.status != serialization::Status::Valid) | |||
return false; | |||
|
|||
assert(validationInfo.name == moduleName && |
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.
Any reason this was removed as part of these changes? I think it's fine to remove.
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.
The change uncovered a bug: now that we use this function for adjacent swiftmodules as well as cached swiftmodules, the assertion is no longer valid. This was tested by test/Serialization/load-wrong-name.swift.
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.
🎉
Build failed |
Looks like this may need a paired LLDB change too. |
Build failed |
apple/swift-lldb#1386 |
*sigh* Those improvements are not possible, so something must still be wrong with this bot. Merging. |
swiftlang#23331) ...and remove the option. This is ~technically~ CLI-breaking because Swift 5 shipped this as a hidden driver option, but it wouldn't have /done/ anything in Swift 5, so I think it's okay to remove. Note that if a parseable interface (.swiftinterface) and a binary interface (.swiftmodule) are both present, the binary one will still be preferred. This just /allows/ parseable interfaces to be used. rdar://problem/36885834 (cherry picked from commit 22f9853)
...and remove the option. This is ~technically~ CLI-breaking because Swift 5 shipped this as a hidden driver option, but it wouldn't have done anything in Swift 5, so I think it's okay to remove.
Note that if a parseable interface (.swiftinterface) and a binary interface (.swiftmodule) are both present, the binary one will still be preferred. This just allows parseable interfaces to be used.
This is made possible by @harlanhaskins and @nathawes' work over the last two months! There's still more to be done, but we're getting to a livable state, and it's great.
rdar://problem/36885834