diff options
Diffstat (limited to 'clang/lib/Tooling')
20 files changed, 81 insertions, 76 deletions
diff --git a/clang/lib/Tooling/ASTDiff/ASTDiff.cpp b/clang/lib/Tooling/ASTDiff/ASTDiff.cpp index 34e56f6..df00183 100644 --- a/clang/lib/Tooling/ASTDiff/ASTDiff.cpp +++ b/clang/lib/Tooling/ASTDiff/ASTDiff.cpp @@ -398,7 +398,7 @@ static const DeclContext *getEnclosingDeclContext(ASTContext &AST, static std::string getInitializerValue(const CXXCtorInitializer *Init, const PrintingPolicy &TypePP) { if (Init->isAnyMemberInitializer()) - return Init->getAnyMember()->getName(); + return std::string(Init->getAnyMember()->getName()); if (Init->isBaseInitializer()) return QualType(Init->getBaseClass(), 0).getAsString(TypePP); if (Init->isDelegatingInitializer()) @@ -435,36 +435,36 @@ std::string SyntaxTree::Impl::getDeclValue(const Decl *D) const { T->getTypeForDecl()->getCanonicalTypeInternal().getAsString(TypePP) + ";"; if (auto *U = dyn_cast<UsingDirectiveDecl>(D)) - return U->getNominatedNamespace()->getName(); + return std::string(U->getNominatedNamespace()->getName()); if (auto *A = dyn_cast<AccessSpecDecl>(D)) { CharSourceRange Range(A->getSourceRange(), false); - return Lexer::getSourceText(Range, AST.getSourceManager(), - AST.getLangOpts()); + return std::string( + Lexer::getSourceText(Range, AST.getSourceManager(), AST.getLangOpts())); } return Value; } std::string SyntaxTree::Impl::getStmtValue(const Stmt *S) const { if (auto *U = dyn_cast<UnaryOperator>(S)) - return UnaryOperator::getOpcodeStr(U->getOpcode()); + return std::string(UnaryOperator::getOpcodeStr(U->getOpcode())); if (auto *B = dyn_cast<BinaryOperator>(S)) - return B->getOpcodeStr(); + return std::string(B->getOpcodeStr()); if (auto *M = dyn_cast<MemberExpr>(S)) return getRelativeName(M->getMemberDecl()); if (auto *I = dyn_cast<IntegerLiteral>(S)) { SmallString<256> Str; I->getValue().toString(Str, /*Radix=*/10, /*Signed=*/false); - return Str.str(); + return std::string(Str.str()); } if (auto *F = dyn_cast<FloatingLiteral>(S)) { SmallString<256> Str; F->getValue().toString(Str); - return Str.str(); + return std::string(Str.str()); } if (auto *D = dyn_cast<DeclRefExpr>(S)) return getRelativeName(D->getDecl(), getEnclosingDeclContext(AST, S)); if (auto *String = dyn_cast<StringLiteral>(S)) - return String->getString(); + return std::string(String->getString()); if (auto *B = dyn_cast<CXXBoolLiteralExpr>(S)) return B->getValue() ? "true" : "false"; return ""; diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp index c453e8d..3590f19 100644 --- a/clang/lib/Tooling/CompilationDatabase.cpp +++ b/clang/lib/Tooling/CompilationDatabase.cpp @@ -164,7 +164,7 @@ private: case driver::Action::InputClass: if (Collect) { const auto *IA = cast<driver::InputAction>(A); - Inputs.push_back(IA->getInputArg().getSpelling()); + Inputs.push_back(std::string(IA->getInputArg().getSpelling())); } break; @@ -233,7 +233,7 @@ std::string GetClangToolCommand() { SmallString<128> ClangToolPath; ClangToolPath = llvm::sys::path::parent_path(ClangExecutable); llvm::sys::path::append(ClangToolPath, "clang-tool"); - return ClangToolPath.str(); + return std::string(ClangToolPath.str()); } } // namespace @@ -387,8 +387,8 @@ FixedCompilationDatabase(Twine Directory, ArrayRef<std::string> CommandLine) { std::vector<CompileCommand> FixedCompilationDatabase::getCompileCommands(StringRef FilePath) const { std::vector<CompileCommand> Result(CompileCommands); - Result[0].CommandLine.push_back(FilePath); - Result[0].Filename = FilePath; + Result[0].CommandLine.push_back(std::string(FilePath)); + Result[0].Filename = std::string(FilePath); return Result; } diff --git a/clang/lib/Tooling/Core/Diagnostic.cpp b/clang/lib/Tooling/Core/Diagnostic.cpp index 235bd7f..34677bf 100644 --- a/clang/lib/Tooling/Core/Diagnostic.cpp +++ b/clang/lib/Tooling/Core/Diagnostic.cpp @@ -25,7 +25,7 @@ DiagnosticMessage::DiagnosticMessage(llvm::StringRef Message, SourceLocation Loc) : Message(Message), FileOffset(0) { assert(Loc.isValid() && Loc.isFileID()); - FilePath = Sources.getFilename(Loc); + FilePath = std::string(Sources.getFilename(Loc)); // Don't store offset in the scratch space. It doesn't tell anything to the // user. Moreover, it depends on the history of macro expansions and thus diff --git a/clang/lib/Tooling/Core/Lookup.cpp b/clang/lib/Tooling/Core/Lookup.cpp index 735a5df..624a55c 100644 --- a/clang/lib/Tooling/Core/Lookup.cpp +++ b/clang/lib/Tooling/Core/Lookup.cpp @@ -129,7 +129,7 @@ static std::string disambiguateSpellingInScope(StringRef Spelling, assert(QName.startswith("::")); assert(QName.endswith(Spelling)); if (Spelling.startswith("::")) - return Spelling; + return std::string(Spelling); auto UnspelledSpecifier = QName.drop_back(Spelling.size()); llvm::SmallVector<llvm::StringRef, 2> UnspelledScopes; @@ -168,7 +168,7 @@ static std::string disambiguateSpellingInScope(StringRef Spelling, }; // Add more qualifiers until the spelling is not ambiguous. - std::string Disambiguated = Spelling; + std::string Disambiguated = std::string(Spelling); while (IsAmbiguousSpelling(Disambiguated)) { if (UnspelledScopes.empty()) { Disambiguated = "::" + Disambiguated; @@ -206,8 +206,9 @@ std::string tooling::replaceNestedName(const NestedNameSpecifier *Use, !usingFromDifferentCanonicalNamespace(FromDecl->getDeclContext(), UseContext)) { auto Pos = ReplacementString.rfind("::"); - return Pos != StringRef::npos ? ReplacementString.substr(Pos + 2) - : ReplacementString; + return std::string(Pos != StringRef::npos + ? ReplacementString.substr(Pos + 2) + : ReplacementString); } // We did not match this because of a using statement, so we will need to // figure out how good a namespace match we have with our destination type. diff --git a/clang/lib/Tooling/Core/Replacement.cpp b/clang/lib/Tooling/Core/Replacement.cpp index 9ed0365..ab8e205 100644 --- a/clang/lib/Tooling/Core/Replacement.cpp +++ b/clang/lib/Tooling/Core/Replacement.cpp @@ -46,8 +46,8 @@ Replacement::Replacement() : FilePath(InvalidLocation) {} Replacement::Replacement(StringRef FilePath, unsigned Offset, unsigned Length, StringRef ReplacementText) - : FilePath(FilePath), ReplacementRange(Offset, Length), - ReplacementText(ReplacementText) {} + : FilePath(std::string(FilePath)), ReplacementRange(Offset, Length), + ReplacementText(std::string(ReplacementText)) {} Replacement::Replacement(const SourceManager &Sources, SourceLocation Start, unsigned Length, StringRef ReplacementText) { @@ -123,9 +123,9 @@ void Replacement::setFromSourceLocation(const SourceManager &Sources, const std::pair<FileID, unsigned> DecomposedLocation = Sources.getDecomposedLoc(Start); const FileEntry *Entry = Sources.getFileEntryForID(DecomposedLocation.first); - this->FilePath = Entry ? Entry->getName() : InvalidLocation; + this->FilePath = std::string(Entry ? Entry->getName() : InvalidLocation); this->ReplacementRange = Range(DecomposedLocation.second, Length); - this->ReplacementText = ReplacementText; + this->ReplacementText = std::string(ReplacementText); } // FIXME: This should go into the Lexer, but we need to figure out how @@ -367,8 +367,8 @@ class MergedReplacement { public: MergedReplacement(const Replacement &R, bool MergeSecond, int D) : MergeSecond(MergeSecond), Delta(D), FilePath(R.getFilePath()), - Offset(R.getOffset() + (MergeSecond ? 0 : Delta)), Length(R.getLength()), - Text(R.getReplacementText()) { + Offset(R.getOffset() + (MergeSecond ? 0 : Delta)), + Length(R.getLength()), Text(std::string(R.getReplacementText())) { Delta += MergeSecond ? 0 : Text.size() - Length; DeltaFirst = MergeSecond ? Text.size() - Length : 0; } diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp index 31b8346..16040c2 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp @@ -37,7 +37,7 @@ llvm::Expected<std::string> DependencyScanningTool::getDependencyFile( StringRef File) override { if (!this->Opts) this->Opts = std::make_unique<DependencyOutputOptions>(Opts); - Dependencies.push_back(File); + Dependencies.push_back(std::string(File)); } void handleModuleDependency(ModuleDeps MD) override { @@ -105,7 +105,7 @@ DependencyScanningTool::getFullDependencies( void handleFileDependency(const DependencyOutputOptions &Opts, StringRef File) override { - Dependencies.push_back(File); + Dependencies.push_back(std::string(File)); } void handleModuleDependency(ModuleDeps MD) override { diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp index 73135dd..32bbc57 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -118,7 +118,7 @@ public: .ExcludedConditionalDirectiveSkipMappings = PPSkipMappings; } - FileMgr->getFileSystemOpts().WorkingDir = WorkingDirectory; + FileMgr->getFileSystemOpts().WorkingDir = std::string(WorkingDirectory); Compiler.setFileManager(FileMgr); Compiler.createSourceManager(*FileMgr); diff --git a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp index 9d2d2a1..4f6eff7 100644 --- a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp +++ b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp @@ -85,7 +85,7 @@ void ModuleDepCollectorPP::FileChanged(SourceLocation Loc, StringRef FileName = llvm::sys::path::remove_leading_dotslash(File->getName()); - MDC.MainDeps.push_back(FileName); + MDC.MainDeps.push_back(std::string(FileName)); } void ModuleDepCollectorPP::InclusionDirective( @@ -96,7 +96,7 @@ void ModuleDepCollectorPP::InclusionDirective( if (!File && !Imported) { // This is a non-modular include that HeaderSearch failed to find. Add it // here as `FileChanged` will never see it. - MDC.MainDeps.push_back(FileName); + MDC.MainDeps.push_back(std::string(FileName)); } handleImport(Imported); } @@ -118,8 +118,8 @@ void ModuleDepCollectorPP::handleImport(const Module *Imported) { void ModuleDepCollectorPP::EndOfMainFile() { FileID MainFileID = Instance.getSourceManager().getMainFileID(); - MDC.MainFile = - Instance.getSourceManager().getFileEntryForID(MainFileID)->getName(); + MDC.MainFile = std::string( + Instance.getSourceManager().getFileEntryForID(MainFileID)->getName()); for (const Module *M : DirectDeps) { handleTopLevelModule(M); @@ -148,9 +148,9 @@ void ModuleDepCollectorPP::handleTopLevelModule(const Module *M) { .getModuleMap() .getContainingModuleMapFile(M); - MD.ClangModuleMapFile = ModuleMap ? ModuleMap->getName() : ""; + MD.ClangModuleMapFile = std::string(ModuleMap ? ModuleMap->getName() : ""); MD.ModuleName = M->getFullModuleName(); - MD.ImplicitModulePCMPath = M->getASTFile()->getName(); + MD.ImplicitModulePCMPath = std::string(M->getASTFile()->getName()); MD.ContextHash = MDC.ContextHash; serialization::ModuleFile *MF = MDC.Instance.getASTReader()->getModuleManager().lookup(M->getASTFile()); @@ -179,7 +179,7 @@ void ModuleDepCollectorPP::addModuleDep( if (Import->getTopLevelModule() != M->getTopLevelModule()) { if (AddedModules.insert(Import->getTopLevelModule()).second) MD.ClangModuleDeps.push_back( - {Import->getTopLevelModuleName(), + {std::string(Import->getTopLevelModuleName()), Instance.getInvocation().getModuleHash()}); handleTopLevelModule(Import->getTopLevelModule()); } diff --git a/clang/lib/Tooling/FileMatchTrie.cpp b/clang/lib/Tooling/FileMatchTrie.cpp index 7df5a16..88dea6b 100644 --- a/clang/lib/Tooling/FileMatchTrie.cpp +++ b/clang/lib/Tooling/FileMatchTrie.cpp @@ -63,7 +63,7 @@ public: return; if (Path.empty()) { // This is an empty leaf. Store NewPath and return. - Path = NewPath; + Path = std::string(NewPath); return; } if (Children.empty()) { diff --git a/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp b/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp index 37a0816..818eb59 100644 --- a/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp +++ b/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp @@ -319,7 +319,7 @@ HeaderIncludes::insert(llvm::StringRef IncludeName, bool IsAngled) const { (!IsAngled && StringRef(Inc.Name).startswith("\""))) return llvm::None; std::string Quoted = - llvm::formatv(IsAngled ? "<{0}>" : "\"{0}\"", IncludeName); + std::string(llvm::formatv(IsAngled ? "<{0}>" : "\"{0}\"", IncludeName)); StringRef QuotedName = Quoted; int Priority = Categories.getIncludePriority( QuotedName, /*CheckMainHeader=*/FirstIncludeOffset < 0); @@ -336,7 +336,8 @@ HeaderIncludes::insert(llvm::StringRef IncludeName, bool IsAngled) const { } } assert(InsertOffset <= Code.size()); - std::string NewInclude = llvm::formatv("#include {0}\n", QuotedName); + std::string NewInclude = + std::string(llvm::formatv("#include {0}\n", QuotedName)); // When inserting headers at end of the code, also append '\n' to the code // if it does not end with '\n'. // FIXME: when inserting multiple #includes at the end of code, only one diff --git a/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp b/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp index 2cc819a..db4efc0 100644 --- a/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp +++ b/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp @@ -203,7 +203,7 @@ struct TransferableCommand { // Produce a CompileCommand for \p filename, based on this one. CompileCommand transferTo(StringRef Filename) const { CompileCommand Result = Cmd; - Result.Filename = Filename; + Result.Filename = std::string(Filename); bool TypeCertain; auto TargetType = guessType(Filename, &TypeCertain); // If the filename doesn't determine the language (.h), transfer with -x. @@ -217,7 +217,7 @@ struct TransferableCommand { if (ClangCLMode) { const StringRef Flag = toCLFlag(TargetType); if (!Flag.empty()) - Result.CommandLine.push_back(Flag); + Result.CommandLine.push_back(std::string(Flag)); } else { Result.CommandLine.push_back("-x"); Result.CommandLine.push_back(types::getTypeName(TargetType)); @@ -230,7 +230,7 @@ struct TransferableCommand { llvm::Twine(ClangCLMode ? "/std:" : "-std=") + LangStandard::getLangStandardForKind(Std).getName()).str()); } - Result.CommandLine.push_back(Filename); + Result.CommandLine.push_back(std::string(Filename)); Result.Heuristic = "inferred from " + Cmd.Filename; return Result; } diff --git a/clang/lib/Tooling/JSONCompilationDatabase.cpp b/clang/lib/Tooling/JSONCompilationDatabase.cpp index 04dd4db..4af361f 100644 --- a/clang/lib/Tooling/JSONCompilationDatabase.cpp +++ b/clang/lib/Tooling/JSONCompilationDatabase.cpp @@ -305,7 +305,7 @@ nodeToCommandLine(JSONCommandLineSyntax Syntax, Arguments = unescapeCommandLine(Syntax, Nodes[0]->getValue(Storage)); else for (const auto *Node : Nodes) - Arguments.push_back(Node->getValue(Storage)); + Arguments.push_back(std::string(Node->getValue(Storage))); // There may be multiple wrappers: using distcc and ccache together is common. while (unwrapCommand(Arguments)) ; diff --git a/clang/lib/Tooling/Refactoring/AtomicChange.cpp b/clang/lib/Tooling/Refactoring/AtomicChange.cpp index 4cf6330..3be15b7 100644 --- a/clang/lib/Tooling/Refactoring/AtomicChange.cpp +++ b/clang/lib/Tooling/Refactoring/AtomicChange.cpp @@ -200,7 +200,7 @@ AtomicChange::AtomicChange(const SourceManager &SM, FullKeyPosition.getSpellingLoc().getDecomposedLoc(); const FileEntry *FE = SM.getFileEntryForID(FileIDAndOffset.first); assert(FE && "Cannot create AtomicChange with invalid location."); - FilePath = FE->getName(); + FilePath = std::string(FE->getName()); Key = FilePath + ":" + std::to_string(FileIDAndOffset.second); } @@ -284,11 +284,11 @@ llvm::Error AtomicChange::insert(const SourceManager &SM, SourceLocation Loc, } void AtomicChange::addHeader(llvm::StringRef Header) { - InsertedHeaders.push_back(Header); + InsertedHeaders.push_back(std::string(Header)); } void AtomicChange::removeHeader(llvm::StringRef Header) { - RemovedHeaders.push_back(Header); + RemovedHeaders.push_back(std::string(Header)); } llvm::Expected<std::string> diff --git a/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp b/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp index b063491..7259860 100644 --- a/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp +++ b/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp @@ -170,7 +170,8 @@ static void convertChangesToFileReplacements( std::map<std::string, tooling::Replacements> *FileToReplaces) { for (const auto &AtomicChange : AtomicChanges) { for (const auto &Replace : AtomicChange.getReplacements()) { - llvm::Error Err = (*FileToReplaces)[Replace.getFilePath()].add(Replace); + llvm::Error Err = + (*FileToReplaces)[std::string(Replace.getFilePath())].add(Replace); if (Err) { llvm::errs() << "Renaming failed in " << Replace.getFilePath() << "! " << llvm::toString(std::move(Err)) << "\n"; diff --git a/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp b/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp index 97b4d10..4d749d3 100644 --- a/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp +++ b/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp @@ -537,7 +537,7 @@ createRenameAtomicChanges(llvm::ArrayRef<std::string> USRs, // Get the name without prefix qualifiers from NewName. size_t LastColonPos = NewName.find_last_of(':'); if (LastColonPos != std::string::npos) - ReplacedName = NewName.substr(LastColonPos + 1); + ReplacedName = std::string(NewName.substr(LastColonPos + 1)); } else { if (RenameInfo.FromDecl && RenameInfo.Context) { if (!llvm::isa<clang::TranslationUnitDecl>( diff --git a/clang/lib/Tooling/RefactoringCallbacks.cpp b/clang/lib/Tooling/RefactoringCallbacks.cpp index 919b83b..e3fc91a 100644 --- a/clang/lib/Tooling/RefactoringCallbacks.cpp +++ b/clang/lib/Tooling/RefactoringCallbacks.cpp @@ -50,8 +50,8 @@ public: for (const auto &Callback : Refactoring.Callbacks) { for (const auto &Replacement : Callback->getReplacements()) { llvm::Error Err = - Refactoring.FileToReplaces[Replacement.getFilePath()].add( - Replacement); + Refactoring.FileToReplaces[std::string(Replacement.getFilePath())] + .add(Replacement); if (Err) { llvm::errs() << "Skipping replacement " << Replacement.toString() << " due to this error:\n" @@ -83,7 +83,7 @@ static Replacement replaceStmtWithStmt(SourceManager &Sources, const Stmt &From, } ReplaceStmtWithText::ReplaceStmtWithText(StringRef FromId, StringRef ToText) - : FromId(FromId), ToText(ToText) {} + : FromId(std::string(FromId)), ToText(std::string(ToText)) {} void ReplaceStmtWithText::run( const ast_matchers::MatchFinder::MatchResult &Result) { @@ -101,7 +101,7 @@ void ReplaceStmtWithText::run( } ReplaceStmtWithStmt::ReplaceStmtWithStmt(StringRef FromId, StringRef ToId) - : FromId(FromId), ToId(ToId) {} + : FromId(std::string(FromId)), ToId(std::string(ToId)) {} void ReplaceStmtWithStmt::run( const ast_matchers::MatchFinder::MatchResult &Result) { @@ -121,7 +121,7 @@ void ReplaceStmtWithStmt::run( ReplaceIfStmtWithItsBody::ReplaceIfStmtWithItsBody(StringRef Id, bool PickTrueBranch) - : Id(Id), PickTrueBranch(PickTrueBranch) {} + : Id(std::string(Id)), PickTrueBranch(PickTrueBranch) {} void ReplaceIfStmtWithItsBody::run( const ast_matchers::MatchFinder::MatchResult &Result) { @@ -153,7 +153,7 @@ void ReplaceIfStmtWithItsBody::run( ReplaceNodeWithTemplate::ReplaceNodeWithTemplate( llvm::StringRef FromId, std::vector<TemplateElement> Template) - : FromId(FromId), Template(std::move(Template)) {} + : FromId(std::string(FromId)), Template(std::move(Template)) {} llvm::Expected<std::unique_ptr<ReplaceNodeWithTemplate>> ReplaceNodeWithTemplate::create(StringRef FromId, StringRef ToTemplate) { @@ -172,8 +172,8 @@ ReplaceNodeWithTemplate::create(StringRef FromId, StringRef ToTemplate) { ToTemplate.substr(Index), llvm::inconvertibleErrorCode()); } - std::string SourceNodeName = - ToTemplate.substr(Index + 2, EndOfIdentifier - Index - 2); + std::string SourceNodeName = std::string( + ToTemplate.substr(Index + 2, EndOfIdentifier - Index - 2)); ParsedTemplate.push_back( TemplateElement{TemplateElement::Identifier, SourceNodeName}); Index = EndOfIdentifier + 1; @@ -185,9 +185,9 @@ ReplaceNodeWithTemplate::create(StringRef FromId, StringRef ToTemplate) { } } else { size_t NextIndex = ToTemplate.find('$', Index + 1); - ParsedTemplate.push_back( - TemplateElement{TemplateElement::Literal, - ToTemplate.substr(Index, NextIndex - Index)}); + ParsedTemplate.push_back(TemplateElement{ + TemplateElement::Literal, + std::string(ToTemplate.substr(Index, NextIndex - Index))}); Index = NextIndex; } } diff --git a/clang/lib/Tooling/Syntax/BuildTree.cpp b/clang/lib/Tooling/Syntax/BuildTree.cpp index aa88447..2430394 100644 --- a/clang/lib/Tooling/Syntax/BuildTree.cpp +++ b/clang/lib/Tooling/Syntax/BuildTree.cpp @@ -243,9 +243,9 @@ private: ? (std::next(It)->first - It->first) : A.tokenBuffer().expandedTokens().end() - It->first; - R += llvm::formatv("- '{0}' covers '{1}'+{2} tokens\n", - It->second.Node->kind(), - It->first->text(A.sourceManager()), CoveredTokens); + R += std::string(llvm::formatv( + "- '{0}' covers '{1}'+{2} tokens\n", It->second.Node->kind(), + It->first->text(A.sourceManager()), CoveredTokens)); R += It->second.Node->dump(A); } return R; diff --git a/clang/lib/Tooling/Syntax/Tokens.cpp b/clang/lib/Tooling/Syntax/Tokens.cpp index 3df1c06..dca491e 100644 --- a/clang/lib/Tooling/Syntax/Tokens.cpp +++ b/clang/lib/Tooling/Syntax/Tokens.cpp @@ -183,8 +183,9 @@ llvm::ArrayRef<syntax::Token> TokenBuffer::spelledTokens(FileID FID) const { } std::string TokenBuffer::Mapping::str() const { - return llvm::formatv("spelled tokens: [{0},{1}), expanded tokens: [{2},{3})", - BeginSpelled, EndSpelled, BeginExpanded, EndExpanded); + return std::string( + llvm::formatv("spelled tokens: [{0},{1}), expanded tokens: [{2},{3})", + BeginSpelled, EndSpelled, BeginExpanded, EndExpanded)); } llvm::Optional<llvm::ArrayRef<syntax::Token>> @@ -604,19 +605,20 @@ TokenBuffer TokenCollector::consume() && { } std::string syntax::Token::str() const { - return llvm::formatv("Token({0}, length = {1})", tok::getTokenName(kind()), - length()); + return std::string(llvm::formatv("Token({0}, length = {1})", + tok::getTokenName(kind()), length())); } std::string syntax::Token::dumpForTests(const SourceManager &SM) const { - return llvm::formatv("{0} {1}", tok::getTokenName(kind()), text(SM)); + return std::string( + llvm::formatv("{0} {1}", tok::getTokenName(kind()), text(SM))); } std::string TokenBuffer::dumpForTests() const { auto PrintToken = [this](const syntax::Token &T) -> std::string { if (T.kind() == tok::eof) return "<eof>"; - return T.text(*SourceMgr); + return std::string(T.text(*SourceMgr)); }; auto DumpTokens = [this, &PrintToken](llvm::raw_ostream &OS, diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp index 4a0618c..be200f2 100644 --- a/clang/lib/Tooling/Tooling.cpp +++ b/clang/lib/Tooling/Tooling.cpp @@ -234,7 +234,7 @@ llvm::Expected<std::string> getAbsolutePath(llvm::vfs::FileSystem &FS, if (auto EC = FS.makeAbsolute(AbsolutePath)) return llvm::errorCodeToError(EC); llvm::sys::path::native(AbsolutePath); - return AbsolutePath.str(); + return std::string(AbsolutePath.str()); } std::string getAbsolutePath(StringRef File) { diff --git a/clang/lib/Tooling/Transformer/Stencil.cpp b/clang/lib/Tooling/Transformer/Stencil.cpp index 00d8be7..9282063 100644 --- a/clang/lib/Tooling/Transformer/Stencil.cpp +++ b/clang/lib/Tooling/Transformer/Stencil.cpp @@ -81,14 +81,14 @@ struct SelectorData { // A stencil operation to build a member access `e.m` or `e->m`, as appropriate. struct AccessData { AccessData(StringRef BaseId, Stencil Member) - : BaseId(BaseId), Member(std::move(Member)) {} + : BaseId(std::string(BaseId)), Member(std::move(Member)) {} std::string BaseId; Stencil Member; }; struct IfBoundData { IfBoundData(StringRef Id, Stencil TrueStencil, Stencil FalseStencil) - : Id(Id), TrueStencil(std::move(TrueStencil)), + : Id(std::string(Id)), TrueStencil(std::move(TrueStencil)), FalseStencil(std::move(FalseStencil)) {} std::string Id; Stencil TrueStencil; @@ -303,7 +303,7 @@ Stencil transformer::detail::makeStencil(RangeSelector Selector) { } Stencil transformer::text(StringRef Text) { - return std::make_shared<StencilImpl<RawTextData>>(Text); + return std::make_shared<StencilImpl<RawTextData>>(std::string(Text)); } Stencil transformer::selection(RangeSelector Selector) { @@ -311,32 +311,32 @@ Stencil transformer::selection(RangeSelector Selector) { } Stencil transformer::dPrint(StringRef Id) { - return std::make_shared<StencilImpl<DebugPrintNodeData>>(Id); + return std::make_shared<StencilImpl<DebugPrintNodeData>>(std::string(Id)); } Stencil transformer::expression(llvm::StringRef Id) { return std::make_shared<StencilImpl<UnaryOperationData>>( - UnaryNodeOperator::Parens, Id); + UnaryNodeOperator::Parens, std::string(Id)); } Stencil transformer::deref(llvm::StringRef ExprId) { return std::make_shared<StencilImpl<UnaryOperationData>>( - UnaryNodeOperator::Deref, ExprId); + UnaryNodeOperator::Deref, std::string(ExprId)); } Stencil transformer::maybeDeref(llvm::StringRef ExprId) { return std::make_shared<StencilImpl<UnaryOperationData>>( - UnaryNodeOperator::MaybeDeref, ExprId); + UnaryNodeOperator::MaybeDeref, std::string(ExprId)); } Stencil transformer::addressOf(llvm::StringRef ExprId) { return std::make_shared<StencilImpl<UnaryOperationData>>( - UnaryNodeOperator::AddressOf, ExprId); + UnaryNodeOperator::AddressOf, std::string(ExprId)); } Stencil transformer::maybeAddressOf(llvm::StringRef ExprId) { return std::make_shared<StencilImpl<UnaryOperationData>>( - UnaryNodeOperator::MaybeAddressOf, ExprId); + UnaryNodeOperator::MaybeAddressOf, std::string(ExprId)); } Stencil transformer::access(StringRef BaseId, Stencil Member) { |