summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/UseAuto
diff options
context:
space:
mode:
authorEdwin Vane <edwin.vane@intel.com>2013-06-18 15:44:58 +0000
committerEdwin Vane <edwin.vane@intel.com>2013-06-18 15:44:58 +0000
commitba6b32d1ce34dacaca5df11dfb5e460b1445914a (patch)
tree25b663f04bcef53af13f02efa948e48f296ae65a /clang-tools-extra/cpp11-migrate/UseAuto
parent75d8fa51c9894df24e224b61c8b1f2cfbf6fc89d (diff)
downloadbcm5719-llvm-ba6b32d1ce34dacaca5df11dfb5e460b1445914a.tar.gz
bcm5719-llvm-ba6b32d1ce34dacaca5df11dfb5e460b1445914a.zip
cpp11-migrate: Transforms honour header modification flag
Transforms will now make changes to headers if header modifications have been enabled. FIXME: Only UseNullptr contains a cursory header modification test. Other transforms should have them too. llvm-svn: 184197
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/UseAuto')
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp4
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp4
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h12
3 files changed, 10 insertions, 10 deletions
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
index 0a8d0d2e3a8..b85f54712a7 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
@@ -29,9 +29,9 @@ int UseAutoTransform::apply(FileOverrides &InputStates,
MatchFinder Finder;
IteratorReplacer ReplaceIterators(getReplacements(), AcceptedChanges,
- Options().MaxRiskLevel);
+ Options().MaxRiskLevel, /*Owner=*/ *this);
NewReplacer ReplaceNew(getReplacements(), AcceptedChanges,
- Options().MaxRiskLevel);
+ Options().MaxRiskLevel, /*Owner=*/ *this);
Finder.addMatcher(makeIteratorDeclMatcher(), &ReplaceIterators);
Finder.addMatcher(makeDeclWithNewMatcher(), &ReplaceNew);
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
index 47050a7b84d..e20affa5e2b 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
@@ -25,7 +25,7 @@ void IteratorReplacer::run(const MatchFinder::MatchResult &Result) {
assert(D && "Bad Callback. No node provided");
SourceManager &SM = *Result.SourceManager;
- if (!SM.isFromMainFile(D->getLocStart()))
+ if (!Owner.isFileModifiable(SM, D->getLocStart()))
return;
for (clang::DeclStmt::const_decl_iterator DI = D->decl_begin(),
@@ -81,7 +81,7 @@ void NewReplacer::run(const MatchFinder::MatchResult &Result) {
assert(D && "Bad Callback. No node provided");
SourceManager &SM = *Result.SourceManager;
- if (!SM.isFromMainFile(D->getLocStart()))
+ if (!Owner.isFileModifiable(SM, D->getLocStart()))
return;
const VarDecl *FirstDecl = cast<VarDecl>(*D->decl_begin());
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
index 31c41fb53ec..01170a68d23 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
@@ -25,9 +25,8 @@ class IteratorReplacer
: public clang::ast_matchers::MatchFinder::MatchCallback {
public:
IteratorReplacer(clang::tooling::Replacements &Replace,
- unsigned &AcceptedChanges, RiskLevel)
- : Replace(Replace), AcceptedChanges(AcceptedChanges) {
- }
+ unsigned &AcceptedChanges, RiskLevel, const Transform &Owner)
+ : Replace(Replace), AcceptedChanges(AcceptedChanges), Owner(Owner) {}
/// \brief Entry point to the callback called when matches are made.
virtual void run(const clang::ast_matchers::MatchFinder::MatchResult &Result)
@@ -36,6 +35,7 @@ public:
private:
clang::tooling::Replacements &Replace;
unsigned &AcceptedChanges;
+ const Transform &Owner;
};
/// \brief The callback used when replacing type specifiers of variable
@@ -43,9 +43,8 @@ private:
class NewReplacer : public clang::ast_matchers::MatchFinder::MatchCallback {
public:
NewReplacer(clang::tooling::Replacements &Replace, unsigned &AcceptedChanges,
- RiskLevel)
- : Replace(Replace), AcceptedChanges(AcceptedChanges) {
- }
+ RiskLevel, const Transform &Owner)
+ : Replace(Replace), AcceptedChanges(AcceptedChanges), Owner(Owner) {}
/// \brief Entry point to the callback called when matches are made.
virtual void run(const clang::ast_matchers::MatchFinder::MatchResult &Result)
@@ -54,6 +53,7 @@ public:
private:
clang::tooling::Replacements &Replace;
unsigned &AcceptedChanges;
+ const Transform &Owner;
};
#endif // LLVM_TOOLS_CLANG_TOOLS_EXTRA_CPP11_MIGRATE_USE_AUTO_ACTIONS_H
OpenPOWER on IntegriCloud