-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change registered "program name" for -Cllvm-args usage messages
While debugging a codegen issue, I tried adding LLVM options with the rustc -Cllvm-args option, and was confused by the error and usage messaging. The LLVM "program name" argument is set to "rustc", and command line error messages make it look like invalid arguments are "rustc" arguments, not LLVM. I changed this argument so error messages and the "-help" usage feedback is easier to understand and react to. (Clang does something similar.)
- Loading branch information
Showing
3 changed files
with
25 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// compile-flags: -Cllvm-args=-not-a-real-llvm-arg | ||
// normalize-stderr-test "--help" -> "-help" | ||
// normalize-stderr-test "\n(\n|.)*" -> "" | ||
|
||
// I'm seeing "--help" locally, but "-help" in CI, so I'm normalizing it to just "-help". | ||
|
||
// Note that the rustc-supplied "program name", given when invoking LLVM, is used by LLVM to | ||
// generate user-facing error messages and a usage (--help) messages. If the program name is | ||
// `rustc`, the usage message in response to `--llvm-args="--help"` starts with: | ||
// ``` | ||
// USAGE: rustc [options] | ||
// ``` | ||
// followed by the list of options not to `rustc` but to `llvm`. | ||
// | ||
// On the other hand, if the program name is set to `rustc -Cllvm-args="..." with`, the usage | ||
// message is more clear: | ||
// ``` | ||
// USAGE: rustc -Cllvm-args="..." with [options] | ||
// ``` | ||
// This test captures the effect of the current program name setting on LLVM command line | ||
// error messages. | ||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
rustc -Cllvm-args="..." with: Unknown command line argument '-not-a-real-llvm-arg'. Try: 'rustc -Cllvm-args="..." with -help' |