diff options
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/Core/Transforms.cpp')
-rw-r--r-- | clang-tools-extra/cpp11-migrate/Core/Transforms.cpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp b/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp deleted file mode 100644 index 93701796e24..00000000000 --- a/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp +++ /dev/null @@ -1,71 +0,0 @@ -//===-- Core/Transforms.cpp - class Transforms Impl -----------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -/// -/// \file -/// \brief This file provides the implementation for class Transforms. -/// -//===----------------------------------------------------------------------===// - -#include "Core/Transforms.h" -#include "Core/Transform.h" - -namespace cl = llvm::cl; - -static cl::OptionCategory TransformCategory("Transforms"); - -Transforms::~Transforms() { - for (std::vector<Transform *>::iterator I = ChosenTransforms.begin(), - E = ChosenTransforms.end(); - I != E; ++I) - delete *I; - - for (OptionMap::iterator I = Options.begin(), E = Options.end(); I != E; ++I) - delete I->getValue(); -} - -void Transforms::registerTransforms() { - for (TransformFactoryRegistry::iterator I = TransformFactoryRegistry::begin(), - E = TransformFactoryRegistry::end(); - I != E; ++I) - Options[I->getName()] = new cl::opt<bool>( - I->getName(), cl::desc(I->getDesc()), cl::cat(TransformCategory)); -} - -bool Transforms::hasAnyExplicitOption() const { - for (OptionMap::const_iterator I = Options.begin(), E = Options.end(); I != E; - ++I) - if (*I->second) - return true; - return false; -} - -void -Transforms::createSelectedTransforms(const TransformOptions &GlobalOptions, - const CompilerVersions &RequiredVersions) { - // if at least one transform is set explicitly on the command line, do not - // enable non-explicit ones - bool EnableAllTransformsByDefault = !hasAnyExplicitOption(); - - for (TransformFactoryRegistry::iterator I = TransformFactoryRegistry::begin(), - E = TransformFactoryRegistry::end(); - I != E; ++I) { - bool ExplicitlyEnabled = *Options[I->getName()]; - bool OptionEnabled = EnableAllTransformsByDefault || ExplicitlyEnabled; - - if (!OptionEnabled) - continue; - - llvm::OwningPtr<TransformFactory> Factory(I->instantiate()); - if (Factory->supportsCompilers(RequiredVersions)) - ChosenTransforms.push_back(Factory->createTransform(GlobalOptions)); - else if (ExplicitlyEnabled) - llvm::errs() << "note: " << '-' << I->getName() - << ": transform not available for specified compilers\n"; - } -} |