[clang-tidy] Fix LoopConvertCheck bug.
Fix LoopConvertCheck bug: StringRef to temporaries.
Also add LLVM_ATTRIBUTE_UNUSED to ModernizeModuleAnchorDestination.
http://reviews.llvm.org/D12157
Patch by Angel Garcia!
llvm-svn: 245458
diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
index fc9a0ff..ad2393a 100644
--- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
@@ -417,7 +417,7 @@
// First, replace all usages of the array subscript expression with our new
// variable.
for (const auto &I : Usages) {
- StringRef ReplaceText = I.IsArrow ? VarName + "." : VarName;
+ std::string ReplaceText = I.IsArrow ? VarName + "." : VarName;
TUInfo->getReplacedVars().insert(std::make_pair(TheLoop, IndexVar));
Diag << FixItHint::CreateReplacement(
CharSourceRange::getTokenRange(I.Range), ReplaceText);
@@ -446,11 +446,9 @@
}
StringRef MaybeDereference = ContainerNeedsDereference ? "*" : "";
- StringRef TypeString = AutoRefType.getAsString();
- StringRef Range = ("(" + TypeString + " " + VarName + " : " +
- MaybeDereference + ContainerString + ")")
- .str();
-
+ std::string TypeString = AutoRefType.getAsString();
+ std::string Range = ("(" + TypeString + " " + VarName + " : " +
+ MaybeDereference + ContainerString + ")").str();
Diag << FixItHint::CreateReplacement(
CharSourceRange::getTokenRange(ParenRange), Range);
TUInfo->getGeneratedDecls().insert(make_pair(TheLoop, VarName));