@@ -3805,7 +3805,7 @@ class YamlGroupInputParser {
3805
3805
static llvm::StringMap<pFileNameToGroupNameMap> AllMaps;
3806
3806
3807
3807
bool parseRoot (FileNameToGroupNameMap &Map, llvm::yaml::Node *Root,
3808
- const llvm::Twine & ParentName) {
3808
+ StringRef ParentName) {
3809
3809
llvm::yaml::MappingNode *MapNode = dyn_cast<llvm::yaml::MappingNode>(Root);
3810
3810
if (!MapNode) {
3811
3811
return true ;
@@ -3819,14 +3819,13 @@ class YamlGroupInputParser {
3819
3819
}
3820
3820
llvm::SmallString<16 > GroupNameStorage;
3821
3821
StringRef GroupName = Key->getValue (GroupNameStorage);
3822
- std::unique_ptr<llvm::Twine> pCombined;
3823
- if (!ParentName.isTriviallyEmpty ()) {
3824
- pCombined.reset (new llvm::Twine (ParentName.concat (Separator).
3825
- concat (GroupName)));
3822
+ std::string CombinedName;
3823
+ if (!ParentName.empty ()) {
3824
+ CombinedName = (llvm::Twine (ParentName) + Separator + GroupName).str ();
3826
3825
} else {
3827
- pCombined. reset ( new llvm::Twine ( GroupName)) ;
3826
+ CombinedName = GroupName;
3828
3827
}
3829
- std::string CombinedName = pCombined-> str ();
3828
+
3830
3829
for (llvm::yaml::Node &Entry : *Value) {
3831
3830
if (auto *FileEntry= dyn_cast<llvm::yaml::ScalarNode>(&Entry)) {
3832
3831
llvm::SmallString<16 > FileNameStorage;
@@ -3837,7 +3836,7 @@ class YamlGroupInputParser {
3837
3836
GroupNameAndFileName.append (llvm::sys::path::stem (FileName));
3838
3837
Map[FileName] = GroupNameAndFileName.str ();
3839
3838
} else if (Entry.getType () == llvm::yaml::Node::NodeKind::NK_Mapping) {
3840
- if (parseRoot (Map, &Entry, *pCombined ))
3839
+ if (parseRoot (Map, &Entry, CombinedName ))
3841
3840
return true ;
3842
3841
} else
3843
3842
return true ;
@@ -3886,7 +3885,8 @@ class YamlGroupInputParser {
3886
3885
return true ;
3887
3886
}
3888
3887
pFileNameToGroupNameMap pMap (new FileNameToGroupNameMap ());
3889
- if (parseRoot (*pMap, Root, llvm::Twine ()))
3888
+ std::string Empty;
3889
+ if (parseRoot (*pMap, Root, Empty))
3890
3890
return true ;
3891
3891
3892
3892
// Save the parsed map to the owner.
0 commit comments