@@ -3845,7 +3845,7 @@ class YamlGroupInputParser {
3845
3845
static llvm::StringMap<pFileNameToGroupNameMap> AllMaps;
3846
3846
3847
3847
bool parseRoot (FileNameToGroupNameMap &Map, llvm::yaml::Node *Root,
3848
- const llvm::Twine & ParentName) {
3848
+ StringRef ParentName) {
3849
3849
llvm::yaml::MappingNode *MapNode = dyn_cast<llvm::yaml::MappingNode>(Root);
3850
3850
if (!MapNode) {
3851
3851
return true ;
@@ -3859,14 +3859,13 @@ class YamlGroupInputParser {
3859
3859
}
3860
3860
llvm::SmallString<16 > GroupNameStorage;
3861
3861
StringRef GroupName = Key->getValue (GroupNameStorage);
3862
- std::unique_ptr<llvm::Twine> pCombined;
3863
- if (!ParentName.isTriviallyEmpty ()) {
3864
- pCombined.reset (new llvm::Twine (ParentName.concat (Separator).
3865
- concat (GroupName)));
3862
+ std::string CombinedName;
3863
+ if (!ParentName.empty ()) {
3864
+ CombinedName = (llvm::Twine (ParentName) + Separator + GroupName).str ();
3866
3865
} else {
3867
- pCombined. reset ( new llvm::Twine ( GroupName)) ;
3866
+ CombinedName = GroupName;
3868
3867
}
3869
- std::string CombinedName = pCombined-> str ();
3868
+
3870
3869
for (llvm::yaml::Node &Entry : *Value) {
3871
3870
if (auto *FileEntry= dyn_cast<llvm::yaml::ScalarNode>(&Entry)) {
3872
3871
llvm::SmallString<16 > FileNameStorage;
@@ -3877,7 +3876,7 @@ class YamlGroupInputParser {
3877
3876
GroupNameAndFileName.append (llvm::sys::path::stem (FileName));
3878
3877
Map[FileName] = GroupNameAndFileName.str ();
3879
3878
} else if (Entry.getType () == llvm::yaml::Node::NodeKind::NK_Mapping) {
3880
- if (parseRoot (Map, &Entry, *pCombined ))
3879
+ if (parseRoot (Map, &Entry, CombinedName ))
3881
3880
return true ;
3882
3881
} else
3883
3882
return true ;
@@ -3926,7 +3925,8 @@ class YamlGroupInputParser {
3926
3925
return true ;
3927
3926
}
3928
3927
pFileNameToGroupNameMap pMap (new FileNameToGroupNameMap ());
3929
- if (parseRoot (*pMap, Root, llvm::Twine ()))
3928
+ std::string Empty;
3929
+ if (parseRoot (*pMap, Root, Empty))
3930
3930
return true ;
3931
3931
3932
3932
// Save the parsed map to the owner.
0 commit comments