-
Notifications
You must be signed in to change notification settings - Fork 206
[ABIChecking] Use -Isystem and -Fsystem for swift-api-digester #1933
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
base: main
Are you sure you want to change the base?
[ABIChecking] Use -Isystem and -Fsystem for swift-api-digester #1933
Conversation
swift-api-digester supports the Swift -Fsystem and -Isystem flags, switch to those. rdar://152747553
56a89f5
to
3f3a67d
Compare
@swift-ci test |
Depends on swiftlang/swift#82283 |
commandLine.appendFlag(.iframework) | ||
commandLine.appendFlag(systemFramework.argument.asSingle) | ||
} | ||
try commandLine.appendAll(.I, .Isystem, from: &parsedOptions) |
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.
Hmm, we do not have a way to test whether the selected toolchain's swift-api-digester
supports this as a SwiftAPIDigesterOption
. Since the flag itself is not new to the compiler, what happens when this gets passed to a swift-api-digester
which predates swiftlang/swift#82283?
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.
Prior to swiftlang/swift#82283 the argument will just be lost because the digester won't try to read -Isystem
or -Fsystem
. There's nothing in swiftscan
that I can see to get api-digester args. The strings it returns from swiftscan_compiler_supported_arguments_query
don't include the flags like SwiftAPIDigesterOption
. And swift-api-digester
doesn't support -emit-supported-features
either.
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.
FWIW though, swift-build
doesn't currently use -iframework
, -Fsystem
, or -Isystem
when it makes digester jobs.
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.
swiftpm
also doesn't use -iframework
in its digester jobs, as far as I can tell.
swift-api-digester supports the Swift -Fsystem and -Isystem flags, switch to those.
rdar://152747553