diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp b/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp index ec5fde0..b7d4a3b 100644 --- a/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp +++ b/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp @@ -53,7 +53,11 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags, Diags.setIgnoreAllWarnings(Opts.IgnoreWarnings); Diags.setShowOverloads( static_cast<DiagnosticsEngine::OverloadsShown>(Opts.ShowOverloads)); - + + Diags.setElideType(Opts.ElideType); + Diags.setPrintTemplateTree(Opts.ShowTemplateTree); + Diags.setShowColors(Opts.ShowColors); + // Handle -ferror-limit if (Opts.ErrorLimit) Diags.setErrorLimit(Opts.ErrorLimit); @@ -83,6 +87,7 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags, bool SetDiagnostic = (Report == 0); for (unsigned i = 0, e = Opts.Warnings.size(); i != e; ++i) { StringRef Opt = Opts.Warnings[i]; + StringRef OrigOpt = Opts.Warnings[i]; // Treat -Wformat=0 as an alias for -Wno-format. if (Opt == "format=0") @@ -130,7 +135,7 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags, if ((Opt[5] != '=' && Opt[5] != '-') || Opt.size() == 6) { if (Report) Diags.Report(diag::warn_unknown_warning_specifier) - << "-Werror" << ("-W" + Opt.str()); + << "-Werror" << ("-W" + OrigOpt.str()); continue; } Specifier = Opt.substr(6); @@ -158,7 +163,7 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags, if ((Opt[12] != '=' && Opt[12] != '-') || Opt.size() == 13) { if (Report) Diags.Report(diag::warn_unknown_warning_specifier) - << "-Wfatal-errors" << ("-W" + Opt.str()); + << "-Wfatal-errors" << ("-W" + OrigOpt.str()); continue; } Specifier = Opt.substr(13); @@ -182,7 +187,8 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags, if (Report) { if (DiagIDs->getDiagnosticsInGroup(Opt, _Diags)) - EmitUnknownDiagWarning(Diags, "-W", Opt, isPositive); + EmitUnknownDiagWarning(Diags, isPositive ? "-W" : "-Wno-", Opt, + isPositive); } else { Diags.setDiagnosticGroupMapping(Opt, Mapping); } |