-
Notifications
You must be signed in to change notification settings - Fork 10.6k
DependenciesScanner: propagate front-end arguments for disabling implicit Swift/Clang modules #32125
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
DependenciesScanner: propagate front-end arguments for disabling implicit Swift/Clang modules #32125
Conversation
a5af488 to
6bce33d
Compare
|
@swift-ci please smoke 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.
There seem to be enough flags here to probably warrant a ModuleInterfaceOptions type. That can be done in a follow-up.
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.
Yeah, I agree.
6bce33d to
0f0782f
Compare
|
@swift-ci please smoke test |
0f0782f to
5142295
Compare
|
@swift-ci please smoke test |
4c6fbd1 to
03f5654
Compare
|
@swift-ci please smoke test |
|
@swift-ci please test |
|
Build failed |
|
Build failed |
|
@swift-ci Please smoke test Linux platform |
DougGregor
left a comment
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.
Very cool! I had a couple of comments for improvements here, but nothing big.
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.
Can these go into SearchPathOptions along with the various search paths? They shouldn't affect the "language" per se.
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.
Yeah, I think SearchPathOptions probably is a more proper home for these paths.
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.
Why pass -disable-implicit-swift-modules here? The scanner effectively doesn't heed that flag, right?
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 is to teach the scanner to channel this flag to all the reported build commands. So that all interface build commands in the JSON file now have -disable-implicit-swift-modules.
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.
I think we've been trying to move toward "separate" flags nowadays, rather than joined flags with =.
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.
ah, will fix
|
@swift-ci please test |
|
Build failed |
|
Build failed |
423cd36 to
5193c94
Compare
|
@swift-ci please test |
|
Build failed |
|
Build failed |
|
@swift-ci please test |
|
Build failed |
|
@swift-ci please smoke test |
…ystem should specify it
…module from interface
5193c94 to
0d74428
Compare
|
@swift-ci please smoke test |
2 similar comments
|
@swift-ci please smoke test |
|
@swift-ci please smoke test |
|
@swift-ci Please smoke test OS X platform |
|
@swift-ci please test |
|
Build failed |
|
Build failed |
The PR focuses on propagating several flags related to explicit module building:
For Clang modules, we need build system to pass down extra clang flags
-fno-implicit-modules,-fmodule-map-file=,-fmodule-file=to avoid building PCMs implicitly from the Swift compiler.New flags
-disable-implicit-swift-modulesto prevent and stop the compilers from building any Swift modules from interfaces implicitly and diagnose if they have to.rdar://62613306