diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2020-01-28 20:23:46 +0100 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2020-01-28 23:25:25 +0100 |
commit | adcd02683856c30ba6f349279509acecd90063df (patch) | |
tree | 7b5927ef2ecab1618842183fac5ebe848f5832dd /clang/lib/Lex/ModuleMap.cpp | |
parent | 5eaf44f99f0a0a3bdfa892892b8aaca841c8dbe0 (diff) | |
download | llvm-adcd02683856c30ba6f349279509acecd90063df.zip llvm-adcd02683856c30ba6f349279509acecd90063df.tar.gz llvm-adcd02683856c30ba6f349279509acecd90063df.tar.bz2 |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with
std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of
manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index fe20a35..6622339 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -262,7 +262,7 @@ void ModuleMap::resolveHeader(Module *Mod, // Record this umbrella header. setUmbrellaHeader(Mod, File, RelativePathName.str()); } else { - Module::Header H = {RelativePathName.str(), File}; + Module::Header H = {std::string(RelativePathName.str()), File}; if (Header.Kind == Module::HK_Excluded) excludeHeader(Mod, H); else @@ -305,7 +305,7 @@ bool ModuleMap::resolveAsBuiltinHeader( return false; auto Role = headerKindToRole(Header.Kind); - Module::Header H = {Path.str(), *File}; + Module::Header H = {std::string(Path.str()), *File}; addHeader(Mod, H, Role); return true; } @@ -1681,7 +1681,8 @@ bool ModuleMapParser::parseModuleId(ModuleId &Id) { Id.clear(); do { if (Tok.is(MMToken::Identifier) || Tok.is(MMToken::StringLiteral)) { - Id.push_back(std::make_pair(Tok.getString(), Tok.getLocation())); + Id.push_back( + std::make_pair(std::string(Tok.getString()), Tok.getLocation())); consumeToken(); } else { Diags.Report(Tok.getLocation(), diag::err_mmap_expected_module_name); @@ -2129,7 +2130,7 @@ void ModuleMapParser::parseExternModuleDecl() { HadError = true; return; } - std::string FileName = Tok.getString(); + std::string FileName = std::string(Tok.getString()); consumeToken(); // filename StringRef FileNameRef = FileName; @@ -2209,7 +2210,7 @@ void ModuleMapParser::parseRequiresDecl() { } // Consume the feature name. - std::string Feature = Tok.getString(); + std::string Feature = std::string(Tok.getString()); consumeToken(); bool IsRequiresExcludedHack = false; @@ -2283,7 +2284,7 @@ void ModuleMapParser::parseHeaderDecl(MMToken::TokenKind LeadingToken, return; } Module::UnresolvedHeaderDirective Header; - Header.FileName = Tok.getString(); + Header.FileName = std::string(Tok.getString()); Header.FileNameLoc = consumeToken(); Header.IsUmbrella = LeadingToken == MMToken::UmbrellaKeyword; Header.Kind = @@ -2380,7 +2381,7 @@ void ModuleMapParser::parseUmbrellaDirDecl(SourceLocation UmbrellaLoc) { return; } - std::string DirName = Tok.getString(); + std::string DirName = std::string(Tok.getString()); SourceLocation DirNameLoc = consumeToken(); // Check whether we already have an umbrella. @@ -2422,8 +2423,7 @@ void ModuleMapParser::parseUmbrellaDirDecl(SourceLocation UmbrellaLoc) { for (llvm::vfs::recursive_directory_iterator I(FS, Dir->getName(), EC), E; I != E && !EC; I.increment(EC)) { if (auto FE = SourceMgr.getFileManager().getFile(I->path())) { - - Module::Header Header = {I->path(), *FE}; + Module::Header Header = {std::string(I->path()), *FE}; Headers.push_back(std::move(Header)); } } @@ -2466,8 +2466,8 @@ void ModuleMapParser::parseExportDecl() { do { // FIXME: Support string-literal module names here. if (Tok.is(MMToken::Identifier)) { - ParsedModuleId.push_back(std::make_pair(Tok.getString(), - Tok.getLocation())); + ParsedModuleId.push_back( + std::make_pair(std::string(Tok.getString()), Tok.getLocation())); consumeToken(); if (Tok.is(MMToken::Period)) { @@ -2526,7 +2526,7 @@ void ModuleMapParser::parseExportAsDecl() { } } - ActiveModule->ExportAsModule = Tok.getString(); + ActiveModule->ExportAsModule = std::string(Tok.getString()); Map.addLinkAsDependency(ActiveModule); consumeToken(); @@ -2572,7 +2572,7 @@ void ModuleMapParser::parseLinkDecl() { return; } - std::string LibraryName = Tok.getString(); + std::string LibraryName = std::string(Tok.getString()); consumeToken(); ActiveModule->LinkLibraries.push_back(Module::LinkLibrary(LibraryName, IsFramework)); @@ -2794,8 +2794,8 @@ void ModuleMapParser::parseInferredModuleDecl(bool Framework, bool Explicit) { break; } - Map.InferredDirectories[Directory].ExcludedModules - .push_back(Tok.getString()); + Map.InferredDirectories[Directory].ExcludedModules.push_back( + std::string(Tok.getString())); consumeToken(); break; |