summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/Driver.cpp4
-rw-r--r--clang/lib/Driver/Tools.cpp16
2 files changed, 14 insertions, 6 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 9bbbaae33e2..7461e999634 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -1011,8 +1011,8 @@ void Driver::BuildInputs(const ToolChain &TC, const DerivedArgList &Args,
Arg *Previous = *it++;
bool ShowNote = false;
while (it != ie) {
- Diag(clang::diag::warn_drv_overriding_t_option) << Previous->getSpelling()
- << (*it)->getSpelling();
+ Diag(clang::diag::warn_drv_overriding_flag_option)
+ << Previous->getSpelling() << (*it)->getSpelling();
Previous = *it++;
ShowNote = true;
}
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index d519a4c9b5c..eca94b66ef6 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3722,11 +3722,19 @@ void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs) const {
// but defining _DEBUG is sticky.
RTOptionID = options::OPT__SLASH_MTd;
- if (Arg *A = Args.getLastArg(options::OPT__SLASH_MD,
- options::OPT__SLASH_MDd,
- options::OPT__SLASH_MT,
- options::OPT__SLASH_MTd)) {
+ if (Arg *A = Args.getLastArg(options::OPT__SLASH_M_Group)) {
RTOptionID = A->getOption().getID();
+
+ // Diagnose overrides.
+ arg_iterator it = Args.filtered_begin(options::OPT__SLASH_M_Group);
+ Arg *Previous = *it++;
+ const arg_iterator ie = Args.filtered_end();
+ while (it != ie) {
+ const Driver &D = getToolChain().getDriver();
+ D.Diag(clang::diag::warn_drv_overriding_flag_option)
+ << Previous->getSpelling() << (*it)->getSpelling();
+ Previous = *it++;
+ }
}
switch(RTOptionID) {
OpenPOWER on IntegriCloud