-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Driver: emit a diagnostic if clang++
is not found
#25887
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 |
@swift-ci please test Windows platform |
CC: @jrose-apple |
Build failed |
Build failed |
Toolchains aren't supposed to diagnose during argument construction right now. I realize that's not enforced, but we've been doing that so far. All the other tools don't assert; they just build a command line with the missing command's name so that trying to execute them gives a "not found" error. |
Alrighty, I'll just change the behavior of the toolchain here then, thanks @jrose-apple! |
25dfd00
to
a6c377a
Compare
Build failed |
@swift-ci please test |
Build failed |
Build failed |
Apparently, setting |
a6c377a
to
47eb0f1
Compare
@swift-ci please test |
Build failed |
Build failed |
@jrose-apple - sigh I don't really know how to test this. We need to ensure that |
Well, it doesn't belong in "subcommands.swift". :-) That's things like I don't know if I have a good answer here either. The best I can think of is setting up an artifical bin/ folder with the things you need to get to the point of generating jobs. The next best is adding a driver flag that lets you pretend all exec lookups fail or something. |
47eb0f1
to
3a34b2a
Compare
@swift-ci please test |
Build failed |
Build failed |
I just realized that this is easy to test - because we no longer do the search for |
Rather than aborting due to an assertion failure, emit a diagnostic. This is much safer and generally easier to understand why the command failed. It solves the problem of running swiftc from the build without the path being set such that the clang++ driver is found by the swift driver.
3a34b2a
to
133e1f2
Compare
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test macOS platform |
This broke unified builds on Linux (Fedora 30, x86-64). Was the following expected?
|
Rather than aborting due to an assertion failure, emit a diagnostic.
This is much safer and generally easier to understand why the command
failed. It solves the problem of running swiftc from the build without
the path being set such that the clang++ driver is found by the swift
driver.
Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.
Resolves SR-NNNN.