From 42279c0f07eded6fd8a90125c07db959b132cba9 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Tue, 19 May 2009 01:17:04 +0000 Subject: Move the warning options from Warnings.cpp to clang-cc.cpp. llvm-svn: 72089 --- clang/tools/clang-cc/Warnings.cpp | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'clang/tools/clang-cc/Warnings.cpp') diff --git a/clang/tools/clang-cc/Warnings.cpp b/clang/tools/clang-cc/Warnings.cpp index c3a6b2132a6..b3e21e10527 100644 --- a/clang/tools/clang-cc/Warnings.cpp +++ b/clang/tools/clang-cc/Warnings.cpp @@ -30,34 +30,27 @@ #include using namespace clang; -// This gets all -W options, including -Werror, -W[no-]system-headers, etc. The -// driver has stripped off -Wa,foo etc. The driver has also translated -W to -// -Wextra, so we don't need to worry about it. -static llvm::cl::list -OptWarnings("W", llvm::cl::Prefix, llvm::cl::ValueOptional); - -static llvm::cl::opt OptPedantic("pedantic"); -static llvm::cl::opt OptPedanticErrors("pedantic-errors"); -static llvm::cl::opt OptNoWarnings("w"); - -bool clang::ProcessWarningOptions(Diagnostic &Diags) { +bool clang::ProcessWarningOptions(Diagnostic &Diags, + std::vector &Warnings, + bool Pedantic, bool PedanticErrors, + bool NoWarnings) { Diags.setSuppressSystemWarnings(true); // Default to -Wno-system-headers - Diags.setIgnoreAllWarnings(OptNoWarnings); + Diags.setIgnoreAllWarnings(NoWarnings); // If -pedantic or -pedantic-errors was specified, then we want to map all // extension diagnostics onto WARNING or ERROR unless the user has futz'd // around with them explicitly. - if (OptPedanticErrors) + if (PedanticErrors) Diags.setExtensionHandlingBehavior(Diagnostic::Ext_Error); - else if (OptPedantic) + else if (Pedantic) Diags.setExtensionHandlingBehavior(Diagnostic::Ext_Warn); else Diags.setExtensionHandlingBehavior(Diagnostic::Ext_Ignore); // FIXME: -Wfatal-errors / -Wfatal-errors=foo - for (unsigned i = 0, e = OptWarnings.size(); i != e; ++i) { - const std::string &Opt = OptWarnings[i]; + for (unsigned i = 0, e = Warnings.size(); i != e; ++i) { + const std::string &Opt = Warnings[i]; const char *OptStart = &Opt[0]; const char *OptEnd = OptStart+Opt.size(); assert(*OptEnd == 0 && "Expect null termination for lower-bound search"); -- cgit v1.2.3