diff options
author | Brian Gesiak <modocache@gmail.com> | 2018-01-15 21:05:40 +0000 |
---|---|---|
committer | Brian Gesiak <modocache@gmail.com> | 2018-01-15 21:05:40 +0000 |
commit | 16360a5e793d6d0610293e5299f0ba0d81d32262 (patch) | |
tree | 70c1b1e1802a0da0141df7fb80d2c8568f4ea0ed | |
parent | 10a329967d4f4287cca94417cf5ebabbcc9cc0c1 (diff) | |
download | clang-16360a5e793d6d0610293e5299f0ba0d81d32262.tar.gz |
[Driver] Suggest valid integrated tools
Summary:
There are only two valid integrated Clang driver tools: `-cc1` and
`-cc1as`. If a user asks for an unknown tool, such as `-cc1asphalt`,
an error message is displayed to indicate that there is no such tool,
but the message doesn't indicate what the valid options are.
Include the valid options in the error message.
Test Plan: `check-clang`
Reviewers: sepavloff, bkramer, phosek
Reviewed By: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D42004
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322517 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Driver/unknown-arg.c | 4 | ||||
-rw-r--r-- | tools/driver/driver.cpp | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/test/Driver/unknown-arg.c b/test/Driver/unknown-arg.c index dec4d59e98..d6bb5f7ae3 100644 --- a/test/Driver/unknown-arg.c +++ b/test/Driver/unknown-arg.c @@ -14,6 +14,8 @@ // RUN: FileCheck %s --check-prefix=SILENT // RUN: not %clang -cc1as -hell --version -debug-info-macros 2>&1 | \ // RUN: FileCheck %s --check-prefix=CC1AS-DID-YOU-MEAN +// RUN: not %clang -cc1asphalt -help 2>&1 | \ +// RUN: FileCheck %s --check-prefix=UNKNOWN-INTEGRATED // CHECK: error: unknown argument: '-cake-is-lie' // CHECK: error: unknown argument: '-%0' @@ -46,7 +48,7 @@ // CC1AS-DID-YOU-MEAN: error: unknown argument '-hell', did you mean '-help'? // CC1AS-DID-YOU-MEAN: error: unknown argument '--version', did you mean '-version'? // CC1AS-DID-YOU-MEAN: error: unknown argument '-debug-info-macros', did you mean '-debug-info-macro'? - +// UNKNOWN-INTEGRATED: error: unknown integrated tool 'asphalt'. Valid tools include '-cc1' and '-cc1as'. // RUN: %clang -S %s -o %t.s -Wunknown-to-clang-option 2>&1 | FileCheck --check-prefix=IGNORED %s diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index fa757da953..611bff233e 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -311,7 +311,8 @@ static int ExecuteCC1Tool(ArrayRef<const char *> argv, StringRef Tool) { return cc1as_main(argv.slice(2), argv[0], GetExecutablePathVP); // Reject unknown tools. - llvm::errs() << "error: unknown integrated tool '" << Tool << "'\n"; + llvm::errs() << "error: unknown integrated tool '" << Tool << "'. " + << "Valid tools include '-cc1' and '-cc1as'.\n"; return 1; } |