aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r--clang/lib/Lex/ModuleMap.cpp30
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;