-
Notifications
You must be signed in to change notification settings - Fork 440
[CMake] Enable package CMO if possible #2736
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
@@ -77,8 +77,28 @@ function(add_swift_syntax_library name) | |||
-emit-module-path;${module_file}; | |||
-emit-module-source-info-path;${module_sourceinfo_file}; | |||
-emit-module-interface-path;${module_interface_file}; | |||
-emit-private-module-interface-path;${module_private_interface_file} | |||
-emit-private-module-interface-path;${module_private_interface_file}; | |||
-no-verify-emitted-module-interface |
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.
Without this, the driver invokes -frontend -typecheck-module-from-interface
job and that emits confusing warnings:
<unknown>:0: warning: ignoring -experimental-allow-non-resilient-access (overriden by -compile-module-from-interface or -typecheck-module-from-interface)
<unknown>:0: warning: ignoring -experimental-package-cmo (requires -experimental-allow-non-resilient-access)
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.
If they are just warnings, is it necessary to opt out of interface verification? We should just fix the diagnostics and I don't want you to get stuck with a configuration where the module interface is not verified (new problems with generated interface could escape as a result).
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.
OK, it's not really necessary to disable.
b5cd7c9
to
bbaa838
Compare
Package cross-module-optimization allows non-resilient access between modules as long as they share the same package name.
bbaa838
to
5a090ce
Compare
swiftlang/swift#75304 |
Package cross-module-optimization allows non-resilient access between modules as long as they share the same package name.