From: Brian Gesiak Date: Mon, 15 Jan 2018 21:05:40 +0000 (+0000) Subject: [Driver] Suggest valid integrated tools X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=16360a5e793d6d0610293e5299f0ba0d81d32262;p=clang [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 --- 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 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; }