diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-19 01:17:04 +0000 | 
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-19 01:17:04 +0000 | 
| commit | 42279c0f07eded6fd8a90125c07db959b132cba9 (patch) | |
| tree | a48331049076754a267212b7614e14ab58061ff0 /clang/tools/clang-cc/Warnings.cpp | |
| parent | 6359122668e6f9099f476a09957c668e24d624c7 (diff) | |
| download | bcm5719-llvm-42279c0f07eded6fd8a90125c07db959b132cba9.tar.gz bcm5719-llvm-42279c0f07eded6fd8a90125c07db959b132cba9.zip | |
Move the warning options from Warnings.cpp to clang-cc.cpp.
llvm-svn: 72089
Diffstat (limited to 'clang/tools/clang-cc/Warnings.cpp')
| -rw-r--r-- | clang/tools/clang-cc/Warnings.cpp | 25 | 
1 files changed, 9 insertions, 16 deletions
| 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 <algorithm>  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<std::string> -OptWarnings("W", llvm::cl::Prefix, llvm::cl::ValueOptional); - -static llvm::cl::opt<bool> OptPedantic("pedantic"); -static llvm::cl::opt<bool> OptPedanticErrors("pedantic-errors"); -static llvm::cl::opt<bool> OptNoWarnings("w"); - -bool clang::ProcessWarningOptions(Diagnostic &Diags) { +bool clang::ProcessWarningOptions(Diagnostic &Diags, +                                  std::vector<std::string> &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"); | 

