[clang-tools-extra] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368944
diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp
index 1d8eea0..7004840 100644
--- a/clang-tools-extra/clang-doc/BitcodeReader.cpp
+++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp
@@ -329,7 +329,7 @@
 }
 
 template <> llvm::Expected<CommentInfo *> getCommentInfo(CommentInfo *I) {
-  I->Children.emplace_back(llvm::make_unique<CommentInfo>());
+  I->Children.emplace_back(std::make_unique<CommentInfo>());
   return I->Children.back().get();
 }
 
@@ -690,7 +690,7 @@
 template <typename T>
 llvm::Expected<std::unique_ptr<Info>>
 ClangDocBitcodeReader::createInfo(unsigned ID) {
-  std::unique_ptr<Info> I = llvm::make_unique<T>();
+  std::unique_ptr<Info> I = std::make_unique<T>();
   if (auto Err = readBlock(ID, static_cast<T *>(I.get())))
     return std::move(Err);
   return std::unique_ptr<Info>{std::move(I)};
diff --git a/clang-tools-extra/clang-doc/ClangDoc.cpp b/clang-tools-extra/clang-doc/ClangDoc.cpp
index ec32f01..261139b 100644
--- a/clang-tools-extra/clang-doc/ClangDoc.cpp
+++ b/clang-tools-extra/clang-doc/ClangDoc.cpp
@@ -43,7 +43,7 @@
     std::unique_ptr<clang::ASTConsumer>
     CreateASTConsumer(clang::CompilerInstance &Compiler,
                       llvm::StringRef InFile) override {
-      return llvm::make_unique<MapASTVisitor>(&Compiler.getASTContext(), CDCtx);
+      return std::make_unique<MapASTVisitor>(&Compiler.getASTContext(), CDCtx);
     }
 
   private:
@@ -54,7 +54,7 @@
 
 std::unique_ptr<tooling::FrontendActionFactory>
 newMapperActionFactory(ClangDocContext CDCtx) {
-  return llvm::make_unique<MapperActionFactory>(CDCtx);
+  return std::make_unique<MapperActionFactory>(CDCtx);
 }
 
 } // namespace doc
diff --git a/clang-tools-extra/clang-doc/HTMLGenerator.cpp b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
index b85232c..845a55b 100644
--- a/clang-tools-extra/clang-doc/HTMLGenerator.cpp
+++ b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
@@ -79,7 +79,7 @@
 struct TagNode : public HTMLNode {
   TagNode(HTMLTag Tag) : HTMLNode(NodeType::NODE_TAG), Tag(Tag) {}
   TagNode(HTMLTag Tag, const Twine &Text) : TagNode(Tag) {
-    Children.emplace_back(llvm::make_unique<TextNode>(Text.str()));
+    Children.emplace_back(std::make_unique<TextNode>(Text.str()));
   }
 
   HTMLTag Tag; // Name of HTML Tag (p, div, h1)
@@ -254,7 +254,7 @@
 genStylesheetsHTML(StringRef InfoPath, const ClangDocContext &CDCtx) {
   std::vector<std::unique_ptr<TagNode>> Out;
   for (const auto &FilePath : CDCtx.UserStylesheets) {
-    auto LinkNode = llvm::make_unique<TagNode>(HTMLTag::TAG_LINK);
+    auto LinkNode = std::make_unique<TagNode>(HTMLTag::TAG_LINK);
     LinkNode->Attributes.try_emplace("rel", "stylesheet");
     SmallString<128> StylesheetPath = computeRelativePath("", InfoPath);
     llvm::sys::path::append(StylesheetPath,
@@ -271,7 +271,7 @@
 genJsScriptsHTML(StringRef InfoPath, const ClangDocContext &CDCtx) {
   std::vector<std::unique_ptr<TagNode>> Out;
   for (const auto &FilePath : CDCtx.JsScripts) {
-    auto ScriptNode = llvm::make_unique<TagNode>(HTMLTag::TAG_SCRIPT);
+    auto ScriptNode = std::make_unique<TagNode>(HTMLTag::TAG_SCRIPT);
     SmallString<128> ScriptPath = computeRelativePath("", InfoPath);
     llvm::sys::path::append(ScriptPath, llvm::sys::path::filename(FilePath));
     // Paths in HTML must be in posix-style
@@ -283,7 +283,7 @@
 }
 
 static std::unique_ptr<TagNode> genLink(const Twine &Text, const Twine &Link) {
-  auto LinkNode = llvm::make_unique<TagNode>(HTMLTag::TAG_A, Text);
+  auto LinkNode = std::make_unique<TagNode>(HTMLTag::TAG_A, Text);
   LinkNode->Attributes.try_emplace("href", Link.str());
   return LinkNode;
 }
@@ -293,7 +293,7 @@
              llvm::Optional<StringRef> JumpToSection = None) {
   if (Type.Path.empty() && !Type.IsInGlobalNamespace) {
     if (!JumpToSection)
-      return llvm::make_unique<TextNode>(Type.Name);
+      return std::make_unique<TextNode>(Type.Name);
     else
       return genLink(Type.Name, "#" + JumpToSection.getValue());
   }
@@ -313,7 +313,7 @@
   std::vector<std::unique_ptr<HTMLNode>> Out;
   for (const auto &R : Refs) {
     if (&R != Refs.begin())
-      Out.emplace_back(llvm::make_unique<TextNode>(", "));
+      Out.emplace_back(std::make_unique<TextNode>(", "));
     Out.emplace_back(genReference(R, CurrentDirectory));
   }
   return Out;
@@ -332,9 +332,9 @@
     return {};
 
   std::vector<std::unique_ptr<TagNode>> Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H2, "Enums"));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H2, "Enums"));
   Out.back()->Attributes.try_emplace("id", "Enums");
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_DIV));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_DIV));
   auto &DivBody = Out.back();
   for (const auto &E : Enums) {
     std::vector<std::unique_ptr<TagNode>> Nodes = genHTML(E, CDCtx);
@@ -348,9 +348,9 @@
   if (Members.empty())
     return nullptr;
 
-  auto List = llvm::make_unique<TagNode>(HTMLTag::TAG_UL);
+  auto List = std::make_unique<TagNode>(HTMLTag::TAG_UL);
   for (const auto &M : Members)
-    List->Children.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_LI, M));
+    List->Children.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_LI, M));
   return List;
 }
 
@@ -361,9 +361,9 @@
     return {};
 
   std::vector<std::unique_ptr<TagNode>> Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H2, "Functions"));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H2, "Functions"));
   Out.back()->Attributes.try_emplace("id", "Functions");
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_DIV));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_DIV));
   auto &DivBody = Out.back();
   for (const auto &F : Functions) {
     std::vector<std::unique_ptr<TagNode>> Nodes =
@@ -380,18 +380,18 @@
     return {};
 
   std::vector<std::unique_ptr<TagNode>> Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H2, "Members"));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H2, "Members"));
   Out.back()->Attributes.try_emplace("id", "Members");
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_UL));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_UL));
   auto &ULBody = Out.back();
   for (const auto &M : Members) {
     std::string Access = getAccess(M.Access);
     if (Access != "")
       Access = Access + " ";
-    auto LIBody = llvm::make_unique<TagNode>(HTMLTag::TAG_LI);
-    LIBody->Children.emplace_back(llvm::make_unique<TextNode>(Access));
+    auto LIBody = std::make_unique<TagNode>(HTMLTag::TAG_LI);
+    LIBody->Children.emplace_back(std::make_unique<TextNode>(Access));
     LIBody->Children.emplace_back(genReference(M.Type, ParentInfoDir));
-    LIBody->Children.emplace_back(llvm::make_unique<TextNode>(" " + M.Name));
+    LIBody->Children.emplace_back(std::make_unique<TextNode>(" " + M.Name));
     ULBody->Children.emplace_back(std::move(LIBody));
   }
   return Out;
@@ -404,12 +404,12 @@
     return {};
 
   std::vector<std::unique_ptr<TagNode>> Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H2, Title));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H2, Title));
   Out.back()->Attributes.try_emplace("id", Title);
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_UL));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_UL));
   auto &ULBody = Out.back();
   for (const auto &R : References) {
-    auto LiNode = llvm::make_unique<TagNode>(HTMLTag::TAG_LI);
+    auto LiNode = std::make_unique<TagNode>(HTMLTag::TAG_LI);
     LiNode->Children.emplace_back(genReference(R, ParentPath));
     ULBody->Children.emplace_back(std::move(LiNode));
   }
@@ -420,22 +420,22 @@
 writeFileDefinition(const Location &L,
                     llvm::Optional<StringRef> RepositoryUrl = None) {
   if (!L.IsFileInRootDir || !RepositoryUrl)
-    return llvm::make_unique<TagNode>(
+    return std::make_unique<TagNode>(
         HTMLTag::TAG_P, "Defined at line " + std::to_string(L.LineNumber) +
                             " of file " + L.Filename);
   SmallString<128> FileURL(RepositoryUrl.getValue());
   llvm::sys::path::append(FileURL, llvm::sys::path::Style::posix, L.Filename);
-  auto Node = llvm::make_unique<TagNode>(HTMLTag::TAG_P);
-  Node->Children.emplace_back(llvm::make_unique<TextNode>("Defined at line "));
+  auto Node = std::make_unique<TagNode>(HTMLTag::TAG_P);
+  Node->Children.emplace_back(std::make_unique<TextNode>("Defined at line "));
   auto LocNumberNode =
-      llvm::make_unique<TagNode>(HTMLTag::TAG_A, std::to_string(L.LineNumber));
+      std::make_unique<TagNode>(HTMLTag::TAG_A, std::to_string(L.LineNumber));
   // The links to a specific line in the source code use the github /
   // googlesource notation so it won't work for all hosting pages.
   LocNumberNode->Attributes.try_emplace(
       "href", (FileURL + "#" + std::to_string(L.LineNumber)).str());
   Node->Children.emplace_back(std::move(LocNumberNode));
-  Node->Children.emplace_back(llvm::make_unique<TextNode>(" of file "));
-  auto LocFileNode = llvm::make_unique<TagNode>(
+  Node->Children.emplace_back(std::make_unique<TextNode>(" of file "));
+  auto LocFileNode = std::make_unique<TagNode>(
       HTMLTag::TAG_A, llvm::sys::path::filename(FileURL));
   LocFileNode->Attributes.try_emplace("href", FileURL);
   Node->Children.emplace_back(std::move(LocFileNode));
@@ -446,10 +446,10 @@
 genCommonFileNodes(StringRef Title, StringRef InfoPath,
                    const ClangDocContext &CDCtx) {
   std::vector<std::unique_ptr<TagNode>> Out;
-  auto MetaNode = llvm::make_unique<TagNode>(HTMLTag::TAG_META);
+  auto MetaNode = std::make_unique<TagNode>(HTMLTag::TAG_META);
   MetaNode->Attributes.try_emplace("charset", "utf-8");
   Out.emplace_back(std::move(MetaNode));
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_TITLE, Title));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_TITLE, Title));
   std::vector<std::unique_ptr<TagNode>> StylesheetsNodes =
       genStylesheetsHTML(InfoPath, CDCtx);
   AppendVector(std::move(StylesheetsNodes), Out);
@@ -457,7 +457,7 @@
       genJsScriptsHTML(InfoPath, CDCtx);
   AppendVector(std::move(JsNodes), Out);
   // An empty <div> is generated but the index will be then rendered here
-  auto IndexNode = llvm::make_unique<TagNode>(HTMLTag::TAG_DIV);
+  auto IndexNode = std::make_unique<TagNode>(HTMLTag::TAG_DIV);
   IndexNode->Attributes.try_emplace("id", "index");
   IndexNode->Attributes.try_emplace("path", InfoPath);
   Out.emplace_back(std::move(IndexNode));
@@ -478,7 +478,7 @@
                                                      StringRef InfoPath) {
   std::vector<std::unique_ptr<TagNode>> Out;
   if (!Index.Name.empty()) {
-    Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_SPAN));
+    Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_SPAN));
     auto &SpanBody = Out.back();
     if (!Index.JumpToSection)
       SpanBody->Children.emplace_back(genReference(Index, InfoPath));
@@ -488,10 +488,10 @@
   }
   if (Index.Children.empty())
     return Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_UL));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_UL));
   const auto &UlBody = Out.back();
   for (const auto &C : Index.Children) {
-    auto LiBody = llvm::make_unique<TagNode>(HTMLTag::TAG_LI);
+    auto LiBody = std::make_unique<TagNode>(HTMLTag::TAG_LI);
     std::vector<std::unique_ptr<TagNode>> Nodes = genHTML(C, InfoPath);
     AppendVector(std::move(Nodes), LiBody->Children);
     UlBody->Children.emplace_back(std::move(LiBody));
@@ -501,7 +501,7 @@
 
 static std::unique_ptr<HTMLNode> genHTML(const CommentInfo &I) {
   if (I.Kind == "FullComment") {
-    auto FullComment = llvm::make_unique<TagNode>(HTMLTag::TAG_DIV);
+    auto FullComment = std::make_unique<TagNode>(HTMLTag::TAG_DIV);
     for (const auto &Child : I.Children) {
       std::unique_ptr<HTMLNode> Node = genHTML(*Child);
       if (Node)
@@ -509,7 +509,7 @@
     }
     return std::move(FullComment);
   } else if (I.Kind == "ParagraphComment") {
-    auto ParagraphComment = llvm::make_unique<TagNode>(HTMLTag::TAG_P);
+    auto ParagraphComment = std::make_unique<TagNode>(HTMLTag::TAG_P);
     for (const auto &Child : I.Children) {
       std::unique_ptr<HTMLNode> Node = genHTML(*Child);
       if (Node)
@@ -521,13 +521,13 @@
   } else if (I.Kind == "TextComment") {
     if (I.Text == "")
       return nullptr;
-    return llvm::make_unique<TextNode>(I.Text);
+    return std::make_unique<TextNode>(I.Text);
   }
   return nullptr;
 }
 
 static std::unique_ptr<TagNode> genHTML(const std::vector<CommentInfo> &C) {
-  auto CommentBlock = llvm::make_unique<TagNode>(HTMLTag::TAG_DIV);
+  auto CommentBlock = std::make_unique<TagNode>(HTMLTag::TAG_DIV);
   for (const auto &Child : C) {
     if (std::unique_ptr<HTMLNode> Node = genHTML(Child))
       CommentBlock->Children.emplace_back(std::move(Node));
@@ -545,7 +545,7 @@
     EnumType = "enum ";
 
   Out.emplace_back(
-      llvm::make_unique<TagNode>(HTMLTag::TAG_H3, EnumType + I.Name));
+      std::make_unique<TagNode>(HTMLTag::TAG_H3, EnumType + I.Name));
   Out.back()->Attributes.try_emplace("id",
                                      llvm::toHex(llvm::toStringRef(I.USR)));
 
@@ -572,35 +572,35 @@
 genHTML(const FunctionInfo &I, const ClangDocContext &CDCtx,
         StringRef ParentInfoDir) {
   std::vector<std::unique_ptr<TagNode>> Out;
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H3, I.Name));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H3, I.Name));
   // USR is used as id for functions instead of name to disambiguate function
   // overloads.
   Out.back()->Attributes.try_emplace("id",
                                      llvm::toHex(llvm::toStringRef(I.USR)));
 
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_P));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_P));
   auto &FunctionHeader = Out.back();
 
   std::string Access = getAccess(I.Access);
   if (Access != "")
     FunctionHeader->Children.emplace_back(
-        llvm::make_unique<TextNode>(Access + " "));
+        std::make_unique<TextNode>(Access + " "));
   if (I.ReturnType.Type.Name != "") {
     FunctionHeader->Children.emplace_back(
         genReference(I.ReturnType.Type, ParentInfoDir));
-    FunctionHeader->Children.emplace_back(llvm::make_unique<TextNode>(" "));
+    FunctionHeader->Children.emplace_back(std::make_unique<TextNode>(" "));
   }
   FunctionHeader->Children.emplace_back(
-      llvm::make_unique<TextNode>(I.Name + "("));
+      std::make_unique<TextNode>(I.Name + "("));
 
   for (const auto &P : I.Params) {
     if (&P != I.Params.begin())
-      FunctionHeader->Children.emplace_back(llvm::make_unique<TextNode>(", "));
+      FunctionHeader->Children.emplace_back(std::make_unique<TextNode>(", "));
     FunctionHeader->Children.emplace_back(genReference(P.Type, ParentInfoDir));
     FunctionHeader->Children.emplace_back(
-        llvm::make_unique<TextNode>(" " + P.Name));
+        std::make_unique<TextNode>(" " + P.Name));
   }
-  FunctionHeader->Children.emplace_back(llvm::make_unique<TextNode>(")"));
+  FunctionHeader->Children.emplace_back(std::make_unique<TextNode>(")"));
 
   if (I.DefLoc) {
     if (!CDCtx.RepositoryUrl)
@@ -626,7 +626,7 @@
   else
     InfoTitle = ("namespace " + I.Name).str();
 
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H1, InfoTitle));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H1, InfoTitle));
 
   std::string Description;
   if (!I.Description.empty())
@@ -664,7 +664,7 @@
         std::string &InfoTitle) {
   std::vector<std::unique_ptr<TagNode>> Out;
   InfoTitle = (getTagType(I.TagType) + " " + I.Name).str();
-  Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_H1, InfoTitle));
+  Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_H1, InfoTitle));
 
   if (I.DefLoc) {
     if (!CDCtx.RepositoryUrl)
@@ -683,16 +683,16 @@
   std::vector<std::unique_ptr<HTMLNode>> VParents =
       genReferenceList(I.VirtualParents, I.Path);
   if (!Parents.empty() || !VParents.empty()) {
-    Out.emplace_back(llvm::make_unique<TagNode>(HTMLTag::TAG_P));
+    Out.emplace_back(std::make_unique<TagNode>(HTMLTag::TAG_P));
     auto &PBody = Out.back();
-    PBody->Children.emplace_back(llvm::make_unique<TextNode>("Inherits from "));
+    PBody->Children.emplace_back(std::make_unique<TextNode>("Inherits from "));
     if (Parents.empty())
       AppendVector(std::move(VParents), PBody->Children);
     else if (VParents.empty())
       AppendVector(std::move(Parents), PBody->Children);
     else {
       AppendVector(std::move(Parents), PBody->Children);
-      PBody->Children.emplace_back(llvm::make_unique<TextNode>(", "));
+      PBody->Children.emplace_back(std::make_unique<TextNode>(", "));
       AppendVector(std::move(VParents), PBody->Children);
     }
   }
@@ -740,7 +740,7 @@
                                               const ClangDocContext &CDCtx) {
   HTMLFile F;
   std::string InfoTitle;
-  auto MainContentNode = llvm::make_unique<TagNode>(HTMLTag::TAG_DIV);
+  auto MainContentNode = std::make_unique<TagNode>(HTMLTag::TAG_DIV);
   Index InfoIndex;
   switch (I->IT) {
   case InfoType::IT_namespace: {
diff --git a/clang-tools-extra/clang-doc/Representation.cpp b/clang-tools-extra/clang-doc/Representation.cpp
index aee9dc5..18cec16 100644
--- a/clang-tools-extra/clang-doc/Representation.cpp
+++ b/clang-tools-extra/clang-doc/Representation.cpp
@@ -36,7 +36,7 @@
   if (Values.empty())
     return llvm::make_error<llvm::StringError>(" No values to reduce.\n",
                                                llvm::inconvertibleErrorCode());
-  std::unique_ptr<Info> Merged = llvm::make_unique<T>(Values[0]->USR);
+  std::unique_ptr<Info> Merged = std::make_unique<T>(Values[0]->USR);
   T *Tmp = static_cast<T *>(Merged.get());
   for (auto &I : Values)
     Tmp->merge(std::move(*static_cast<T *>(I.get())));
diff --git a/clang-tools-extra/clang-doc/Serialize.cpp b/clang-tools-extra/clang-doc/Serialize.cpp
index 78f1999..cc937b6 100644
--- a/clang-tools-extra/clang-doc/Serialize.cpp
+++ b/clang-tools-extra/clang-doc/Serialize.cpp
@@ -90,7 +90,7 @@
   ConstCommentVisitor<ClangDocCommentVisitor>::visit(C);
   for (comments::Comment *Child :
        llvm::make_range(C->child_begin(), C->child_end())) {
-    CurrentCI.Children.emplace_back(llvm::make_unique<CommentInfo>());
+    CurrentCI.Children.emplace_back(std::make_unique<CommentInfo>());
     ClangDocCommentVisitor Visitor(*CurrentCI.Children.back());
     Visitor.parseComment(Child);
   }
@@ -379,7 +379,7 @@
 std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
 emitInfo(const NamespaceDecl *D, const FullComment *FC, int LineNumber,
          llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) {
-  auto I = llvm::make_unique<NamespaceInfo>();
+  auto I = std::make_unique<NamespaceInfo>();
   bool IsInAnonymousNamespace = false;
   populateInfo(*I, D, FC, IsInAnonymousNamespace);
   if (PublicOnly && ((IsInAnonymousNamespace || D->isAnonymousNamespace()) ||
@@ -392,7 +392,7 @@
   if (I->Namespace.empty() && I->USR == SymbolID())
     return {std::unique_ptr<Info>{std::move(I)}, nullptr};
 
-  auto ParentI = llvm::make_unique<NamespaceInfo>();
+  auto ParentI = std::make_unique<NamespaceInfo>();
   ParentI->USR = I->Namespace.empty() ? SymbolID() : I->Namespace[0].USR;
   ParentI->ChildNamespaces.emplace_back(I->USR, I->Name, InfoType::IT_namespace,
                                         getInfoRelativePath(I->Namespace));
@@ -405,7 +405,7 @@
 std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
 emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber,
          llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) {
-  auto I = llvm::make_unique<RecordInfo>();
+  auto I = std::make_unique<RecordInfo>();
   bool IsInAnonymousNamespace = false;
   populateSymbolInfo(*I, D, FC, LineNumber, File, IsFileInRootDir,
                      IsInAnonymousNamespace);
@@ -425,7 +425,7 @@
   I->Path = getInfoRelativePath(I->Namespace);
 
   if (I->Namespace.empty()) {
-    auto ParentI = llvm::make_unique<NamespaceInfo>();
+    auto ParentI = std::make_unique<NamespaceInfo>();
     ParentI->USR = SymbolID();
     ParentI->ChildRecords.emplace_back(I->USR, I->Name, InfoType::IT_record,
                                        getInfoRelativePath(I->Namespace));
@@ -436,7 +436,7 @@
 
   switch (I->Namespace[0].RefType) {
   case InfoType::IT_namespace: {
-    auto ParentI = llvm::make_unique<NamespaceInfo>();
+    auto ParentI = std::make_unique<NamespaceInfo>();
     ParentI->USR = I->Namespace[0].USR;
     ParentI->ChildRecords.emplace_back(I->USR, I->Name, InfoType::IT_record,
                                        getInfoRelativePath(I->Namespace));
@@ -444,7 +444,7 @@
             std::unique_ptr<Info>{std::move(ParentI)}};
   }
   case InfoType::IT_record: {
-    auto ParentI = llvm::make_unique<RecordInfo>();
+    auto ParentI = std::make_unique<RecordInfo>();
     ParentI->USR = I->Namespace[0].USR;
     ParentI->ChildRecords.emplace_back(I->USR, I->Name, InfoType::IT_record,
                                        getInfoRelativePath(I->Namespace));
@@ -470,7 +470,7 @@
   Func.Access = clang::AccessSpecifier::AS_none;
 
   // Wrap in enclosing scope
-  auto ParentI = llvm::make_unique<NamespaceInfo>();
+  auto ParentI = std::make_unique<NamespaceInfo>();
   if (!Func.Namespace.empty())
     ParentI->USR = Func.Namespace[0].USR;
   else
@@ -508,7 +508,7 @@
   Func.Access = D->getAccess();
 
   // Wrap in enclosing scope
-  auto ParentI = llvm::make_unique<RecordInfo>();
+  auto ParentI = std::make_unique<RecordInfo>();
   ParentI->USR = ParentUSR;
   if (Func.Namespace.empty())
     ParentI->Path = getInfoRelativePath(ParentI->Namespace);
@@ -533,7 +533,7 @@
 
   // Put in global namespace
   if (Enum.Namespace.empty()) {
-    auto ParentI = llvm::make_unique<NamespaceInfo>();
+    auto ParentI = std::make_unique<NamespaceInfo>();
     ParentI->USR = SymbolID();
     ParentI->ChildEnums.emplace_back(std::move(Enum));
     ParentI->Path = getInfoRelativePath(ParentI->Namespace);
@@ -545,7 +545,7 @@
   // Wrap in enclosing scope
   switch (Enum.Namespace[0].RefType) {
   case InfoType::IT_namespace: {
-    auto ParentI = llvm::make_unique<NamespaceInfo>();
+    auto ParentI = std::make_unique<NamespaceInfo>();
     ParentI->USR = Enum.Namespace[0].USR;
     ParentI->ChildEnums.emplace_back(std::move(Enum));
     // Info is wrapped in its parent scope so it's returned in the second
@@ -553,7 +553,7 @@
     return {nullptr, std::unique_ptr<Info>{std::move(ParentI)}};
   }
   case InfoType::IT_record: {
-    auto ParentI = llvm::make_unique<RecordInfo>();
+    auto ParentI = std::make_unique<RecordInfo>();
     ParentI->USR = Enum.Namespace[0].USR;
     ParentI->ChildEnums.emplace_back(std::move(Enum));
     // Info is wrapped in its parent scope so it's returned in the second