summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/Core/Transform.cpp
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-08-30 22:09:03 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-08-30 22:09:03 +0000
commit92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714 (patch)
treeaba42a41d482498dd4f83c88fb5c1b1aebea25ab /clang-tools-extra/cpp11-migrate/Core/Transform.cpp
parent79917a913e20d964708e89a721197febc60e8391 (diff)
downloadbcm5719-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.cpp28
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);
}
OpenPOWER on IntegriCloud