summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-09-23 23:55:25 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-09-23 23:55:25 +0000
commit8a2d496e180023cdad774c1512cce1ef69bf4f9c (patch)
tree619618b4d4cb69f3c08561b468e66d9de7f281a2 /clang
parent3cd55f49ab372aedc781d44c28d7bc8d1b67cc17 (diff)
downloadbcm5719-llvm-8a2d496e180023cdad774c1512cce1ef69bf4f9c.tar.gz
bcm5719-llvm-8a2d496e180023cdad774c1512cce1ef69bf4f9c.zip
Produce errors for unknown options.
This doesn't change a lot since clang still thinks it knows all of the -f*, -m* and -W* options for example. Other than the options clang explicitly claims to know, this fixes pr9701. llvm-svn: 191249
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/Driver.cpp5
-rw-r--r--clang/test/Driver/unknown-arg.c11
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
OpenPOWER on IntegriCloud