diff options
author | Michael Gottesman <mgottesman@apple.com> | 2013-08-30 22:09:03 +0000 |
---|---|---|
committer | Michael Gottesman <mgottesman@apple.com> | 2013-08-30 22:09:03 +0000 |
commit | 92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714 (patch) | |
tree | aba42a41d482498dd4f83c88fb5c1b1aebea25ab /clang-tools-extra/cpp11-migrate/Core/Transform.cpp | |
parent | 79917a913e20d964708e89a721197febc60e8391 (diff) | |
download | bcm5719-llvm-92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714.tar.gz bcm5719-llvm-92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714.zip |
Revert "cpp11-migrate: Fixing autoconf build after adding libclangReplace dependency"
Revert "cpp11-migrate: Refactor for driver model of operation"
This reverts commit r189691.
This reverts commit r189689.
This was breaking the phase 1 OS X build for ~2 hours.
https://smooshbase.apple.com/buildbot-internal/builders/phase1%20-%20sanity/builds/9559
I reverted the latter commit since I think the latter depended on the former.
llvm-svn: 189700
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/Core/Transform.cpp')
-rw-r--r-- | clang-tools-extra/cpp11-migrate/Core/Transform.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/clang-tools-extra/cpp11-migrate/Core/Transform.cpp b/clang-tools-extra/cpp11-migrate/Core/Transform.cpp index cd76723d316..4354df2987e 100644 --- a/clang-tools-extra/cpp11-migrate/Core/Transform.cpp +++ b/clang-tools-extra/cpp11-migrate/Core/Transform.cpp @@ -100,8 +100,13 @@ bool Transform::isFileModifiable(const SourceManager &SM, bool Transform::handleBeginSource(CompilerInstance &CI, StringRef Filename) { assert(Overrides != 0 && "Subclass transform didn't provide InputState"); - Overrides->applyOverrides(CI.getSourceManager()); - CurrentSource = Filename; + CurrentSource = Filename.str(); + + FileOverrides::const_iterator I = Overrides->find(CurrentSource); + if (I != Overrides->end()) + I->second->applyOverrides(CI.getSourceManager()); + + Replace.clear(); if (Options().EnableTiming) { Timings.push_back(std::make_pair(Filename.str(), llvm::TimeRecord())); @@ -111,7 +116,11 @@ bool Transform::handleBeginSource(CompilerInstance &CI, StringRef Filename) { } void Transform::handleEndSource() { - CurrentSource.clear(); + if (!getReplacements().empty()) { + SourceOverrides &SO = Overrides->getOrCreate(CurrentSource); + SO.applyReplacements(getReplacements()); + } + if (Options().EnableTiming) Timings.back().second += llvm::TimeRecord::getCurrentTime(false); } @@ -120,19 +129,6 @@ void Transform::addTiming(llvm::StringRef Label, llvm::TimeRecord Duration) { Timings.push_back(std::make_pair(Label.str(), Duration)); } -bool -Transform::addReplacementForCurrentTU(const clang::tooling::Replacement &R) { - if (CurrentSource.empty()) - return false; - - TranslationUnitReplacements &TU = Replacements[CurrentSource]; - if (TU.MainSourceFile.empty()) - TU.MainSourceFile = CurrentSource; - TU.Replacements.push_back(R); - - return true; -} - FrontendActionFactory *Transform::createActionFactory(MatchFinder &Finder) { return new ActionFactory(Finder, /*Owner=*/ *this); } |