diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 5 | ||||
-rw-r--r-- | clang/test/Driver/unknown-arg.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index a2cf06a20cd..1cbb623824a 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -144,6 +144,11 @@ InputArgList *Driver::ParseArgStrings(ArrayRef<const char *> ArgList) { } } + for (arg_iterator it = Args->filtered_begin(options::OPT_UNKNOWN), + ie = Args->filtered_end(); it != ie; ++it) { + Diags.Report(diag::err_drv_unknown_argument) << (*it) ->getAsString(*Args); + } + return Args; } diff --git a/clang/test/Driver/unknown-arg.c b/clang/test/Driver/unknown-arg.c index b254968c9b7..f1cbbdbe8b0 100644 --- a/clang/test/Driver/unknown-arg.c +++ b/clang/test/Driver/unknown-arg.c @@ -1,9 +1,10 @@ -// RUN: not %clang_cc1 %s -cake-is-lie -%0 -%d 2> %t.log -// RUN: FileCheck %s -input-file=%t.log +// RUN: not %clang_cc1 %s -cake-is-lie -%0 -%d -HHHH 2>&1 | \ +// RUN: FileCheck %s -// CHECK: unknown argument -// CHECK: unknown argument -// CHECK: unknown argument +// CHECK: unknown argument: '-cake-is-lie' +// CHECK: unknown argument: '-%0' +// CHECK: unknown argument: '-%d' +// CHECK: unknown argument: '-HHHH' // RUN: %clang -S %s -o %t.s -funknown-to-clang-option -Wunknown-to-clang-option -munknown-to-clang-option 2>&1 | FileCheck --check-prefix=IGNORED %s |