[clang-tools-extra] r369182 - [clang-doc] Fix casting not working in gcc 5.4.0

Diego Astiazaran via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 16 18:45:03 PDT 2019


Author: diegoastiazaran
Date: Fri Aug 16 18:45:03 2019
New Revision: 369182

URL: http://llvm.org/viewvc/llvm-project?rev=369182&view=rev
Log:
[clang-doc] Fix casting not working in gcc 5.4.0

An implicit cast of std::string to llvm::SmallString<> was breaking GCC 5.4.0 builder.
A pair using llvm::SmallString<> now uses std::string.

Differential Revision: https://reviews.llvm.org/D66378

Modified:
    clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp

Modified: clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp?rev=369182&r1=369181&r2=369182&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp Fri Aug 16 18:45:03 2019
@@ -89,7 +89,7 @@ struct TagNode : public HTMLNode {
 
   HTMLTag Tag; // Name of HTML Tag (p, div, h1)
   std::vector<std::unique_ptr<HTMLNode>> Children; // List of child nodes
-  std::vector<std::pair<llvm::SmallString<16>, llvm::SmallString<16>>>
+  std::vector<std::pair<std::string, std::string>>
       Attributes; // List of key-value attributes for tag
 
   void Render(llvm::raw_ostream &OS, int IndentationLevel) override;
@@ -278,7 +278,7 @@ genStylesheetsHTML(StringRef InfoPath, c
                             llvm::sys::path::filename(FilePath));
     // Paths in HTML must be in posix-style
     llvm::sys::path::native(StylesheetPath, llvm::sys::path::Style::posix);
-    LinkNode->Attributes.emplace_back("href", StylesheetPath);
+    LinkNode->Attributes.emplace_back("href", StylesheetPath.str());
     Out.emplace_back(std::move(LinkNode));
   }
   return Out;
@@ -293,7 +293,7 @@ genJsScriptsHTML(StringRef InfoPath, con
     llvm::sys::path::append(ScriptPath, llvm::sys::path::filename(FilePath));
     // Paths in HTML must be in posix-style
     llvm::sys::path::native(ScriptPath, llvm::sys::path::Style::posix);
-    ScriptNode->Attributes.emplace_back("src", ScriptPath);
+    ScriptNode->Attributes.emplace_back("src", ScriptPath.str());
     Out.emplace_back(std::move(ScriptNode));
   }
   return Out;
@@ -454,7 +454,7 @@ writeFileDefinition(const Location &L,
   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.emplace_back("href", FileURL);
+  LocFileNode->Attributes.emplace_back("href", FileURL.str());
   Node->Children.emplace_back(std::move(LocFileNode));
   return Node;
 }




More information about the cfe-commits mailing list