diff options
Diffstat (limited to 'clang-tools-extra/clang-tidy')
39 files changed, 103 insertions, 92 deletions
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp index 40aaf40..4746b49 100644 --- a/clang-tools-extra/clang-tidy/ClangTidy.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp @@ -596,7 +596,7 @@ void exportReplacements(const llvm::StringRef MainFilePath, const std::vector<ClangTidyError> &Errors, raw_ostream &OS) { TranslationUnitDiagnostics TUD; - TUD.MainSourceFile = MainFilePath; + TUD.MainSourceFile = std::string(MainFilePath); for (const auto &Error : Errors) { tooling::Diagnostic Diag = Error; TUD.Diagnostics.insert(TUD.Diagnostics.end(), Diag); diff --git a/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp index fbf1176..cc817d8 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp @@ -39,7 +39,7 @@ std::string ClangTidyCheck::OptionsView::get(StringRef LocalName, const auto &Iter = CheckOptions.find(NamePrefix + LocalName.str()); if (Iter != CheckOptions.end()) return Iter->second; - return Default; + return std::string(Default); } std::string @@ -52,13 +52,13 @@ ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName, Iter = CheckOptions.find(LocalName.str()); if (Iter != CheckOptions.end()) return Iter->second; - return Default; + return std::string(Default); } void ClangTidyCheck::OptionsView::store(ClangTidyOptions::OptionMap &Options, StringRef LocalName, StringRef Value) const { - Options[NamePrefix + LocalName.str()] = Value; + Options[NamePrefix + LocalName.str()] = std::string(Value); } void ClangTidyCheck::OptionsView::store(ClangTidyOptions::OptionMap &Options, diff --git a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp index a5b6834..5a4021c 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp @@ -172,7 +172,7 @@ void ClangTidyContext::setSourceManager(SourceManager *SourceMgr) { } void ClangTidyContext::setCurrentFile(StringRef File) { - CurrentFile = File; + CurrentFile = std::string(File); CurrentOptions = getOptionsForFile(CurrentFile); CheckFilter = std::make_unique<CachedGlobList>(*getOptions().Checks); WarningAsErrorFilter = @@ -202,7 +202,7 @@ ClangTidyOptions ClangTidyContext::getOptionsForFile(StringRef File) const { void ClangTidyContext::setEnableProfiling(bool P) { Profile = P; } void ClangTidyContext::setProfileStoragePrefix(StringRef Prefix) { - ProfilePrefix = Prefix; + ProfilePrefix = std::string(Prefix); } llvm::Optional<ClangTidyProfiling::StorageParams> @@ -224,8 +224,8 @@ bool ClangTidyContext::treatAsError(StringRef CheckName) const { } std::string ClangTidyContext::getCheckName(unsigned DiagnosticID) const { - std::string ClangWarningOption = - DiagEngine->getDiagnosticIDs()->getWarningOptionForDiag(DiagnosticID); + std::string ClangWarningOption = std::string( + DiagEngine->getDiagnosticIDs()->getWarningOptionForDiag(DiagnosticID)); if (!ClangWarningOption.empty()) return "clang-diagnostic-" + ClangWarningOption; llvm::DenseMap<unsigned, std::string>::const_iterator I = @@ -661,7 +661,7 @@ void ClangTidyDiagnosticConsumer::removeIncompatibleErrors() { for (const auto &Replace : FileAndReplace.second) { unsigned Begin = Replace.getOffset(); unsigned End = Begin + Replace.getLength(); - const std::string &FilePath = Replace.getFilePath(); + const std::string &FilePath = std::string(Replace.getFilePath()); // FIXME: Handle empty intervals, such as those from insertions. if (Begin == End) continue; diff --git a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h index 0d39296..28d923d 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h +++ b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h @@ -154,7 +154,7 @@ public: /// Should be called when starting to process new translation unit. void setCurrentBuildDirectory(StringRef BuildDirectory) { - CurrentBuildDirectory = BuildDirectory; + CurrentBuildDirectory = std::string(BuildDirectory); } /// Returns build directory of the current translation unit. diff --git a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp index ff83e7e..6e44f72 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp @@ -17,7 +17,7 @@ namespace tidy { void ClangTidyCheckFactories::registerCheckFactory(StringRef Name, CheckFactory Factory) { - Factories[Name] = std::move(Factory); + Factories[std::string(Name)] = std::move(Factory); } std::vector<std::unique_ptr<ClangTidyCheck>> diff --git a/clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp b/clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp index c3b4191..6e678c9 100644 --- a/clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp @@ -31,7 +31,7 @@ getScaleForFactory(llvm::StringRef FactoryName) { {"Minutes", DurationScale::Minutes}, {"Hours", DurationScale::Hours}}); - auto ScaleIter = ScaleMap.find(FactoryName); + auto ScaleIter = ScaleMap.find(std::string(FactoryName)); if (ScaleIter == ScaleMap.end()) return llvm::None; diff --git a/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp b/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp index 3466cdbb..d4db021 100644 --- a/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp +++ b/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp @@ -91,7 +91,8 @@ rewriteInverseTimeCall(const MatchFinder::MatchResult &Result, DurationScale Scale, const Expr &Node) { llvm::StringRef InverseFunction = getTimeInverseForScale(Scale); if (const auto *MaybeCallArg = selectFirst<const Expr>( - "e", match(callExpr(callee(functionDecl(hasName(InverseFunction))), + "e", match(callExpr(callee(functionDecl( + hasName(std::string(InverseFunction)))), hasArgument(0, expr().bind("e"))), Node, *Result.Context))) { return tooling::fixit::getText(*MaybeCallArg, *Result.Context).str(); diff --git a/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp b/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp index a386665..78ef1cc 100644 --- a/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp @@ -108,11 +108,11 @@ void TimeSubtractionCheck::registerMatchers(MatchFinder *Finder) { // a 'Duration'. If we know the result is a 'Duration', we can then infer // that the second operand must be a 'Time'. auto CallMatcher = - callExpr( - callee(functionDecl(hasName(getDurationFactoryForScale(*Scale)))), - hasArgument(0, binaryOperator(hasOperatorName("-"), - hasLHS(TimeInverseMatcher)) - .bind("binop"))) + callExpr(callee(functionDecl( + hasName(std::string(getDurationFactoryForScale(*Scale))))), + hasArgument(0, binaryOperator(hasOperatorName("-"), + hasLHS(TimeInverseMatcher)) + .bind("binop"))) .bind("outer_call"); Finder->addMatcher(CallMatcher, this); @@ -160,8 +160,8 @@ void TimeSubtractionCheck::check(const MatchFinder::MatchResult &Result) { // latter case (addressed first), we also need to worry about parenthesis. const auto *MaybeCallArg = selectFirst<const CallExpr>( "arg", match(expr(hasAncestor( - callExpr(callee(functionDecl(hasName( - getDurationFactoryForScale(*Scale))))) + callExpr(callee(functionDecl(hasName(std::string( + getDurationFactoryForScale(*Scale)))))) .bind("arg"))), *BinOp, *Result.Context)); if (MaybeCallArg && MaybeCallArg->getArg(0)->IgnoreImpCasts() == BinOp && diff --git a/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp index 95babc7..fffb8a5c 100644 --- a/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp @@ -58,9 +58,9 @@ void InaccurateEraseCheck::check(const MatchFinder::MatchResult &Result) { if (!Loc.isMacroID() && EndExpr) { const auto *AlgCall = Result.Nodes.getNodeAs<CallExpr>("alg"); - std::string ReplacementText = Lexer::getSourceText( + std::string ReplacementText = std::string(Lexer::getSourceText( CharSourceRange::getTokenRange(EndExpr->getSourceRange()), - *Result.SourceManager, getLangOpts()); + *Result.SourceManager, getLangOpts())); const SourceLocation EndLoc = Lexer::getLocForEndOfToken( AlgCall->getEndLoc(), 0, *Result.SourceManager, getLangOpts()); Hint = FixItHint::CreateInsertion(EndLoc, ", " + ReplacementText); diff --git a/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp index c771ba8..5a70537 100644 --- a/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp @@ -136,7 +136,7 @@ static bool isAtLeastOneCondVarChanged(const FunctionDecl *Func, static std::string getCondVarNames(const Stmt *Cond) { if (const auto *DRE = dyn_cast<DeclRefExpr>(Cond)) { if (const auto *Var = dyn_cast<VarDecl>(DRE->getDecl())) - return Var->getName(); + return std::string(Var->getName()); } std::string Result; diff --git a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp index e49688b..9347dac 100644 --- a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp @@ -652,9 +652,10 @@ void NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) { anyOf(DestUnknownDecl, hasDescendant(DestUnknownDecl)))); auto NullTerminatorExpr = binaryOperator( - hasLHS(anyOf(hasDescendant(declRefExpr( - to(varDecl(equalsBoundNode(DestVarDeclName))))), - hasDescendant(declRefExpr(equalsBoundNode(DestExprName))))), + hasLHS(anyOf(hasDescendant(declRefExpr(to(varDecl( + equalsBoundNode(std::string(DestVarDeclName)))))), + hasDescendant(declRefExpr( + equalsBoundNode(std::string(DestExprName)))))), hasRHS(ignoringImpCasts( anyOf(characterLiteral(equals(0U)), integerLiteral(equals(0)))))); diff --git a/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp index c1b27a8..55d8884 100644 --- a/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp @@ -119,7 +119,7 @@ getFailureInfoImpl(StringRef Name, bool IsInGlobalNamespace, Optional<FailureInfo> Info; auto AppendFailure = [&](StringRef Kind, std::string &&Fixup) { if (!Info) { - Info = FailureInfo{Kind, std::move(Fixup)}; + Info = FailureInfo{std::string(Kind), std::move(Fixup)}; } else { Info->KindName += Kind; Info->Fixup = std::move(Fixup); @@ -143,7 +143,7 @@ getFailureInfoImpl(StringRef Name, bool IsInGlobalNamespace, if (!(hasReservedDoubleUnderscore(Name, LangOpts) || startsWithUnderscoreCapital(Name) || startsWithUnderscoreInGlobalNamespace(Name, IsInGlobalNamespace))) - return FailureInfo{NonReservedTag, getNonReservedFixup(Name)}; + return FailureInfo{NonReservedTag, getNonReservedFixup(std::string(Name))}; return None; } diff --git a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp index a20a890..6add035 100644 --- a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp @@ -25,7 +25,8 @@ void MutatingCopyCheck::registerMatchers(MatchFinder *Finder) { return; const auto MemberExprOrSourceObject = anyOf( - memberExpr(), declRefExpr(to(decl(equalsBoundNode(SourceDeclName))))); + memberExpr(), + declRefExpr(to(decl(equalsBoundNode(std::string(SourceDeclName)))))); const auto IsPartOfSource = allOf(unless(hasDescendant(expr(unless(MemberExprOrSourceObject)))), diff --git a/clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp b/clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp index 1b147ac..0186ed8 100644 --- a/clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp @@ -80,12 +80,13 @@ static FixItHint getCallFixItHint(const ObjCMessageExpr *Expr, StringRef ClassName = FoundClassFactory->first; StringRef FactorySelector = FoundClassFactory->second; std::string NewCall = - llvm::formatv("[{0} {1}]", ClassName, FactorySelector); + std::string(llvm::formatv("[{0} {1}]", ClassName, FactorySelector)); return FixItHint::CreateReplacement(Expr->getSourceRange(), NewCall); } if (isInitMethodAvailable(Expr->getReceiverInterface())) { - std::string NewCall = llvm::formatv("[[{0} alloc] init]", Receiver); + std::string NewCall = + std::string(llvm::formatv("[[{0} alloc] init]", Receiver)); return FixItHint::CreateReplacement(Expr->getSourceRange(), NewCall); } diff --git a/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp b/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp index 27307c0..2db2300 100644 --- a/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp @@ -242,10 +242,10 @@ static bool derivedTypeHasReplacementMethod(const MatchFinder::MatchResult &Result, llvm::StringRef ReplacementMethod) { const auto *Class = Result.Nodes.getNodeAs<CXXRecordDecl>("class"); - return !match(cxxRecordDecl( - unless(isExpansionInFileMatching( - "gtest/gtest(-typed-test)?\\.h$")), - hasMethod(cxxMethodDecl(hasName(ReplacementMethod)))), + return !match(cxxRecordDecl(unless(isExpansionInFileMatching( + "gtest/gtest(-typed-test)?\\.h$")), + hasMethod(cxxMethodDecl( + hasName(std::string(ReplacementMethod))))), *Class, *Result.Context) .empty(); } diff --git a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp index 8b32d8d..27e29de 100644 --- a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp @@ -36,7 +36,7 @@ std::string LLVMHeaderGuardCheck::getHeaderGuard(StringRef Filename, // Unlike LLVM svn, LLVM git monorepo is named llvm-project, so we replace // "/llvm-project/" with the cannonical "/llvm/". const static StringRef LLVMProject = "/llvm-project/"; - size_t PosLLVMProject = Guard.rfind(LLVMProject); + size_t PosLLVMProject = Guard.rfind(std::string(LLVMProject)); if (PosLLVMProject != StringRef::npos) Guard = Guard.replace(PosLLVMProject, LLVMProject.size(), "/llvm/"); diff --git a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp index 009a5a6..834a49a 100644 --- a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp @@ -81,7 +81,8 @@ void IncludeOrderPPCallbacks::InclusionDirective( SrcMgr::CharacteristicKind FileType) { // We recognize the first include as a special main module header and want // to leave it in the top position. - IncludeDirective ID = {HashLoc, FilenameRange, FileName, IsAngled, false}; + IncludeDirective ID = {HashLoc, FilenameRange, std::string(FileName), + IsAngled, false}; if (LookForMainModule && !IsAngled) { ID.IsMainModule = true; LookForMainModule = false; diff --git a/clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp b/clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp index 9363fa901..8c24cb4 100644 --- a/clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp @@ -104,12 +104,12 @@ void UniqueptrResetReleaseCheck::check(const MatchFinder::MatchResult &Result) { const auto *ResetCall = Result.Nodes.getNodeAs<CXXMemberCallExpr>("reset_call"); - std::string LeftText = clang::Lexer::getSourceText( + std::string LeftText = std::string(clang::Lexer::getSourceText( CharSourceRange::getTokenRange(Left->getSourceRange()), - *Result.SourceManager, getLangOpts()); - std::string RightText = clang::Lexer::getSourceText( + *Result.SourceManager, getLangOpts())); + std::string RightText = std::string(clang::Lexer::getSourceText( CharSourceRange::getTokenRange(Right->getSourceRange()), - *Result.SourceManager, getLangOpts()); + *Result.SourceManager, getLangOpts())); if (ResetMember->isArrow()) LeftText = "*" + LeftText; diff --git a/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp index c9313db..a80bad7 100644 --- a/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp @@ -149,7 +149,8 @@ initializeBindArgumentForCallExpr(const MatchFinder::MatchResult &Result, if (isCallExprNamed(CE, "boost::ref") || isCallExprNamed(CE, "std::ref")) { B.Kind = BK_Other; B.CM = CM_ByRef; - B.UsageIdentifier = getSourceTextForExpr(Result, CE->getArg(0)); + B.UsageIdentifier = + std::string(getSourceTextForExpr(Result, CE->getArg(0))); } else { B.Kind = BK_CallExpr; B.CM = CM_InitExpression; @@ -188,7 +189,7 @@ static bool tryCaptureAsLocalVariable(const MatchFinder::MatchResult &Result, return false; B.CM = CM_ByValue; - B.UsageIdentifier = getSourceTextForExpr(Result, E); + B.UsageIdentifier = std::string(getSourceTextForExpr(Result, E)); B.CaptureIdentifier = B.UsageIdentifier; return true; } @@ -204,7 +205,7 @@ static bool tryCaptureAsMemberVariable(const MatchFinder::MatchResult &Result, E = E->IgnoreImplicit(); if (isa<CXXThisExpr>(E)) { B.CM = CM_ByValue; - B.UsageIdentifier = getSourceTextForExpr(Result, E); + B.UsageIdentifier = std::string(getSourceTextForExpr(Result, E)); B.CaptureIdentifier = "this"; return true; } @@ -217,7 +218,7 @@ static bool tryCaptureAsMemberVariable(const MatchFinder::MatchResult &Result, return false; B.CM = CM_ByValue; - B.UsageIdentifier = getSourceTextForExpr(Result, E); + B.UsageIdentifier = std::string(getSourceTextForExpr(Result, E)); B.CaptureIdentifier = "this"; return true; } @@ -252,7 +253,7 @@ buildBindArguments(const MatchFinder::MatchResult &Result, SmallVector<StringRef, 2> Matches; if (MatchPlaceholder.match(B.SourceTokens, &Matches)) { B.Kind = BK_Placeholder; - B.PlaceHolderIndex = std::stoi(Matches[1]); + B.PlaceHolderIndex = std::stoi(std::string(Matches[1])); B.UsageIdentifier = "PH" + llvm::utostr(B.PlaceHolderIndex); B.CaptureIdentifier = B.UsageIdentifier; continue; @@ -503,9 +504,10 @@ getLambdaProperties(const MatchFinder::MatchResult &Result) { LP.Callable.SourceTokens = getSourceTextForExpr(Result, CalleeExpr); if (LP.Callable.Materialization == CMK_VariableRef) { LP.Callable.CM = CM_ByValue; - LP.Callable.UsageIdentifier = getSourceTextForExpr(Result, CalleeExpr); - LP.Callable.CaptureIdentifier = - getSourceTextForExpr(Result, ignoreTemporariesAndPointers(CalleeExpr)); + LP.Callable.UsageIdentifier = + std::string(getSourceTextForExpr(Result, CalleeExpr)); + LP.Callable.CaptureIdentifier = std::string( + getSourceTextForExpr(Result, ignoreTemporariesAndPointers(CalleeExpr))); } else if (LP.Callable.Materialization == CMK_CallExpression) { LP.Callable.CM = CM_InitExpression; LP.Callable.UsageIdentifier = "Func"; diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp index f359702..7c0ae02 100644 --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp @@ -748,7 +748,8 @@ void LoopConvertCheck::determineRangeDescriptor( ASTContext *Context, const BoundNodes &Nodes, const ForStmt *Loop, LoopFixerKind FixerKind, const Expr *ContainerExpr, const UsageResult &Usages, RangeDescriptor &Descriptor) { - Descriptor.ContainerString = getContainerString(Context, Loop, ContainerExpr); + Descriptor.ContainerString = + std::string(getContainerString(Context, Loop, ContainerExpr)); if (FixerKind == LFK_Iterator) getIteratorLoopQualifiers(Context, Nodes, Descriptor); diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp index 6cb4276..237b2bd 100644 --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp @@ -851,20 +851,20 @@ std::string VariableNamer::createIndexName() { size_t Len = ContainerName.size(); if (Len > 1 && ContainerName.endswith(Style == NS_UpperCase ? "S" : "s")) { - IteratorName = ContainerName.substr(0, Len - 1); + IteratorName = std::string(ContainerName.substr(0, Len - 1)); // E.g.: (auto thing : things) if (!declarationExists(IteratorName) || IteratorName == OldIndex->getName()) return IteratorName; } if (Len > 2 && ContainerName.endswith(Style == NS_UpperCase ? "S_" : "s_")) { - IteratorName = ContainerName.substr(0, Len - 2); + IteratorName = std::string(ContainerName.substr(0, Len - 2)); // E.g.: (auto thing : things_) if (!declarationExists(IteratorName) || IteratorName == OldIndex->getName()) return IteratorName; } - return OldIndex->getName(); + return std::string(OldIndex->getName()); } /// Determines whether or not the name \a Symbol conflicts with @@ -899,7 +899,7 @@ bool VariableNamer::declarationExists(StringRef Symbol) { // of DeclContext::lookup()). Why is this? // Finally, determine if the symbol was used in the loop or a child context. - DeclFinderASTVisitor DeclFinder(Symbol, GeneratedDecls); + DeclFinderASTVisitor DeclFinder(std::string(Symbol), GeneratedDecls); return DeclFinder.findUsages(SourceStmt); } diff --git a/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp index 607dc5f..4b98f12 100644 --- a/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp @@ -62,15 +62,15 @@ void ShrinkToFitCheck::check(const MatchFinder::MatchResult &Result) { const LangOptions &Opts = getLangOpts(); std::string ReplacementText; if (const auto *UnaryOp = llvm::dyn_cast<UnaryOperator>(Container)) { - ReplacementText = + ReplacementText = std::string( Lexer::getSourceText(CharSourceRange::getTokenRange( UnaryOp->getSubExpr()->getSourceRange()), - *Result.SourceManager, Opts); + *Result.SourceManager, Opts)); ReplacementText += "->shrink_to_fit()"; } else { - ReplacementText = Lexer::getSourceText( + ReplacementText = std::string(Lexer::getSourceText( CharSourceRange::getTokenRange(Container->getSourceRange()), - *Result.SourceManager, Opts); + *Result.SourceManager, Opts)); ReplacementText += ".shrink_to_fit()"; } diff --git a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp index 4dc53dd..71cb030 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp @@ -464,7 +464,8 @@ void UseTrailingReturnTypeCheck::check(const MatchFinder::MatchResult &Result) { CharAfterReturnType.empty() || !std::isspace(CharAfterReturnType[0]); std::string Auto = NeedSpaceAfterAuto ? "auto " : "auto"; - std::string ReturnType = tooling::fixit::getText(ReturnTypeCVRange, Ctx); + std::string ReturnType = + std::string(tooling::fixit::getText(ReturnTypeCVRange, Ctx)); keepSpecifiers(ReturnType, Auto, ReturnTypeCVRange, *F, Fr, Ctx, SM, LangOpts); diff --git a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp index ce8d00f..164c9fe9 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp @@ -98,9 +98,9 @@ void UseUsingCheck::check(const MatchFinder::MatchResult &Result) { // If typedef contains a full struct/class declaration, extract its full text. if (LastCxxDeclRange.isValid() && ReplaceRange.fullyContains(LastCxxDeclRange)) { bool Invalid; - Type = + Type = std::string( Lexer::getSourceText(CharSourceRange::getTokenRange(LastCxxDeclRange), - *Result.SourceManager, getLangOpts(), &Invalid); + *Result.SourceManager, getLangOpts(), &Invalid)); if (Invalid) return; } diff --git a/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp b/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp index a9661e0..f305ddf 100644 --- a/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp +++ b/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp @@ -128,7 +128,7 @@ static bool isBuiltinTypeMatching(const BuiltinType *Builtin, {BuiltinType::LongDouble, "MPI_LONG_DOUBLE"}}; if (!isMPITypeMatching(BuiltinMatches, Builtin->getKind(), MPIDatatype)) { - BufferTypeName = Builtin->getName(LO); + BufferTypeName = std::string(Builtin->getName(LO)); return false; } @@ -219,7 +219,7 @@ static bool isTypedefTypeMatching(const TypedefType *const Typedef, const auto it = FixedWidthMatches.find(Typedef->getDecl()->getName()); // Check if the typedef is known and not matching the MPI datatype. if (it != FixedWidthMatches.end() && it->getValue() != MPIDatatype) { - BufferTypeName = Typedef->getDecl()->getName(); + BufferTypeName = std::string(Typedef->getDecl()->getName()); return false; } return true; @@ -271,7 +271,8 @@ void TypeMismatchCheck::check(const MatchFinder::MatchResult &Result) { const Type *ArgType = argumentType(CE, BufferIdx); // Skip unknown MPI datatypes and void pointers. - if (!isStandardMPIDatatype(MPIDatatype) || ArgType->isVoidType()) + if (!isStandardMPIDatatype(std::string(MPIDatatype)) || + ArgType->isVoidType()) return; BufferTypes.push_back(ArgType); @@ -309,16 +310,17 @@ void TypeMismatchCheck::checkArguments(ArrayRef<const Type *> BufferTypes, bool Error = false; if (const auto *Typedef = BT->getAs<TypedefType>()) { - Error = !isTypedefTypeMatching(Typedef, BufferTypeName, MPIDatatypes[i]); + Error = !isTypedefTypeMatching(Typedef, BufferTypeName, + std::string(MPIDatatypes[i])); } else if (const auto *Complex = BT->getAs<ComplexType>()) { - Error = - !isCComplexTypeMatching(Complex, BufferTypeName, MPIDatatypes[i], LO); + Error = !isCComplexTypeMatching(Complex, BufferTypeName, + std::string(MPIDatatypes[i]), LO); } else if (const auto *Template = BT->getAs<TemplateSpecializationType>()) { Error = !isCXXComplexTypeMatching(Template, BufferTypeName, - MPIDatatypes[i], LO); + std::string(MPIDatatypes[i]), LO); } else if (const auto *Builtin = BT->getAs<BuiltinType>()) { - Error = - !isBuiltinTypeMatching(Builtin, BufferTypeName, MPIDatatypes[i], LO); + Error = !isBuiltinTypeMatching(Builtin, BufferTypeName, + std::string(MPIDatatypes[i]), LO); } if (Error) { diff --git a/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp b/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp index e985fe8..776a8ca 100644 --- a/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp @@ -94,7 +94,7 @@ void InefficientVectorOperationCheck::AddMatcher( const auto TargetVarDecl = varDecl(hasInitializer(DefaultConstructorCall)).bind(VarDeclName); const auto TargetVarDefStmt = - declStmt(hasSingleDecl(equalsBoundNode(VarDeclName))) + declStmt(hasSingleDecl(equalsBoundNode(std::string(VarDeclName)))) .bind(VarDeclStmtName); const auto AppendCallExpr = @@ -253,7 +253,7 @@ void InefficientVectorOperationCheck::check( StringRef LoopEndSource = Lexer::getSourceText( CharSourceRange::getTokenRange(LoopEndExpr->getSourceRange()), SM, Context->getLangOpts()); - ReserveSize = LoopEndSource; + ReserveSize = std::string(LoopEndSource); } auto Diag = diag(AppendCall->getBeginLoc(), diff --git a/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp b/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp index aff11bd..cbd6fdd 100644 --- a/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp +++ b/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp @@ -65,7 +65,7 @@ public: // FIXME: This is very limited at the moment. for (StringRef Arg : Args) if (Arg.startswith("-checks=")) - OverrideOptions.Checks = Arg.substr(strlen("-checks=")); + OverrideOptions.Checks = std::string(Arg.substr(strlen("-checks="))); auto Options = std::make_unique<FileOptionsProvider>( GlobalOptions, DefaultOptions, OverrideOptions); diff --git a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp index fe0e1c0..1086340 100644 --- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp @@ -111,9 +111,9 @@ void ContainerSizeEmptyCheck::check(const MatchFinder::MatchResult &Result) { ? MemberCall->getImplicitObjectArgument() : (Pointee ? Pointee : Result.Nodes.getNodeAs<Expr>("STLObject")); FixItHint Hint; - std::string ReplacementText = + std::string ReplacementText = std::string( Lexer::getSourceText(CharSourceRange::getTokenRange(E->getSourceRange()), - *Result.SourceManager, getLangOpts()); + *Result.SourceManager, getLangOpts())); if (BinCmp && IsBinaryOrTernary(E)) { // Not just a DeclRefExpr, so parenthesize to be on the safe side. ReplacementText = "(" + ReplacementText + ")"; diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp index 119502e..0171964 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp @@ -256,7 +256,7 @@ static std::string fixupWithCase(StringRef Name, } if (Words.empty()) - return Name; + return std::string(Name); std::string Fixup; switch (Case) { diff --git a/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp b/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp index 4a7c456..9580373 100644 --- a/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp @@ -72,7 +72,7 @@ getNamespaceNameAsWritten(SourceLocation &Loc, const SourceManager &Sources, if (T->is(tok::raw_identifier)) { StringRef ID = T->getRawIdentifier(); if (ID != "namespace" && ID != "inline") - Result.append(ID); + Result.append(std::string(ID)); } else if (T->is(tok::coloncolon)) { Result.append("::"); } else { // Any other kind of token is unexpected here. diff --git a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp index 295d22d..0870f2d 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp @@ -83,7 +83,7 @@ private: if (Store) // This is an actual directive to be remembered. - Stack.push_back({Loc, MacroName}); + Stack.push_back({Loc, std::string(MacroName)}); } ClangTidyCheck &Check; diff --git a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp index f7b0dfc..7883491 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp @@ -46,8 +46,8 @@ formatDereference(const ast_matchers::MatchFinder::MatchResult &Result, if (const auto *Op = dyn_cast<clang::UnaryOperator>(&ExprNode)) { if (Op->getOpcode() == UO_AddrOf) { // Strip leading '&'. - return tooling::fixit::getText(*Op->getSubExpr()->IgnoreParens(), - *Result.Context); + return std::string(tooling::fixit::getText( + *Op->getSubExpr()->IgnoreParens(), *Result.Context)); } } StringRef Text = tooling::fixit::getText(ExprNode, *Result.Context); diff --git a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp index 38a6324..74ef565 100644 --- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp @@ -131,7 +131,7 @@ std::string asBool(StringRef text, bool NeedsStaticCast) { if (NeedsStaticCast) return ("static_cast<bool>(" + text + ")").str(); - return text; + return std::string(text); } bool needsNullPtrComparison(const Expr *E) { diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp index c6927cc..738766c 100644 --- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp +++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp @@ -367,7 +367,7 @@ int clangTidyMain(int argc, const char **argv) { FileName = PathList.front(); } - SmallString<256> FilePath = MakeAbsolute(FileName); + SmallString<256> FilePath = MakeAbsolute(std::string(FileName)); ClangTidyOptions EffectiveOptions = OptionsProvider->getOptions(FilePath); std::vector<std::string> EnabledChecks = diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp index 4890a1c..13107c25 100644 --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp @@ -21,7 +21,7 @@ namespace utils { static std::string cleanPath(StringRef Path) { SmallString<256> Result = Path; llvm::sys::path::remove_dots(Result, true); - return Result.str(); + return std::string(Result.str()); } namespace { @@ -186,7 +186,7 @@ public: CPPVar)); return CPPVar; } - return CurHeaderGuard; + return std::string(CurHeaderGuard); } /// Checks the comment after the #endif of a header guard and fixes it diff --git a/clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp b/clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp index e0d02f3..c267789 100644 --- a/clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp +++ b/clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp @@ -50,7 +50,7 @@ IncludeInserter::CreateIncludeInsertion(FileID FileID, StringRef Header, bool IsAngled) { // We assume the same Header will never be included both angled and not // angled. - if (!InsertedHeaders[FileID].insert(Header).second) + if (!InsertedHeaders[FileID].insert(std::string(Header)).second) return llvm::None; if (IncludeSorterByFile.find(FileID) == IncludeSorterByFile.end()) { diff --git a/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp b/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp index d1fc9bd..82f103a 100644 --- a/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp +++ b/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp @@ -43,11 +43,11 @@ NamespaceAliaser::createAlias(ASTContext &Context, const Stmt &Statement, // FIXME: Also doesn't consider file or class-scope aliases. const auto *ExistingAlias = selectFirst<NamedDecl>( - "alias", - match(functionDecl(hasBody(compoundStmt(has(declStmt( - has(namespaceAliasDecl(hasTargetNamespace(hasName(Namespace))) - .bind("alias"))))))), - *Function, Context)); + "alias", match(functionDecl(hasBody(compoundStmt(has(declStmt( + has(namespaceAliasDecl(hasTargetNamespace(hasName( + std::string(Namespace)))) + .bind("alias"))))))), + *Function, Context)); if (ExistingAlias != nullptr) { AddedAliases[Function][Namespace.str()] = ExistingAlias->getName().str(); diff --git a/clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp b/clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp index 36f4b6f..8a7f1c30 100644 --- a/clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp +++ b/clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp @@ -22,7 +22,7 @@ std::vector<std::string> parseStringList(StringRef Option) { for (StringRef &Name : Names) { Name = Name.trim(); if (!Name.empty()) - Result.push_back(Name); + Result.push_back(std::string(Name)); } return Result; } diff --git a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp index e852532a..934bee2 100644 --- a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp +++ b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp @@ -58,7 +58,7 @@ Optional<FixItHint> UsingInserter::createUsingDeclaration( return None; } // Find conflicting declarations and references. - auto ConflictingDecl = namedDecl(hasName(UnqualifiedName)); + auto ConflictingDecl = namedDecl(hasName(std::string(UnqualifiedName))); bool HasConflictingDeclaration = !match(findAll(ConflictingDecl), *Function, Context).empty(); bool HasConflictingDeclRef = |