summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-23 19:03:36 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-23 19:03:36 +0000
commit1773177a9922e59d1d6bff099f6a79741bca58fb (patch)
tree5f7df2b54aecd0acf50fdba632dfbe21fb2256cf /clang/lib/Driver/Tools.cpp
parent453d79a2db648497306c71a5c6b117b3c39d3077 (diff)
downloadbcm5719-llvm-1773177a9922e59d1d6bff099f6a79741bca58fb.tar.gz
bcm5719-llvm-1773177a9922e59d1d6bff099f6a79741bca58fb.zip
Driver: Add two special groups of "whitelisted" options which we know
clang doesn't support, and don't want to warn are unused. Eventually these should disappear. Here is a more readable list than is in the diff: W options: -Wall, -Wcast-align, -Wchar-align, -Wchar-subscripts, -Werror, -Wextra, -Winline, -Wint-to-pointer-cast, -Wmissing-braces, -Wmost, -Wnested-externs, -Wno-format-y2k, -Wno-four-char-constants, -Wno-missing-field-initializers, -Wno-trigraphs, -Wno-unknown-pragmas, -Wno-unused-parameter, -Wparentheses, -Wpointer-arith, -Wpointer-to-int-cast, -Wreturn-type, -Wshorten-64-to-32, -Wswitch, -Wunused-function, -Wunused-label, -Wunused-value, -Wunused-variable, -Wwrite-strings. f options: -fasm-blocks, -fmessage-length=. llvm-svn: 67549
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index dac9a6e3652..bd8404b784a 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -334,6 +334,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
const char *Exec =
Args.MakeArgString(getToolChain().GetProgramPath(C, "clang").c_str());
Dest.addCommand(new Command(Exec, CmdArgs));
+
+ // Claim some arguments which clang doesn't support, but we don't
+ // care to warn the user about.
+
+ // FIXME: Use iterator.
+ for (ArgList::const_iterator
+ it = Args.begin(), ie = Args.end(); it != ie; ++it) {
+ const Arg *A = *it;
+ if (A->getOption().matches(options::OPT_clang_ignored_W_Group) ||
+ A->getOption().matches(options::OPT_clang_ignored_f_Group))
+ A->claim();
+ }
}
void gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
OpenPOWER on IntegriCloud