llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Luke Weiler (lwmaia)

<details>
<summary>Changes</summary>

This is a one line fix for a Windows specific (I believe) build break.

The build failure looks like this:
`D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2440: 
'&lt;function-style-cast&gt;': cannot convert from 'lldb_private::ConstString' 
to 'llvm::StringRef'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: 
'llvm::StringRef::StringRef': ambiguous call to overloaded function
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(840): note: could be 
'llvm::StringRef::StringRef(llvm::StringRef &amp;&amp;)'
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(104): note: or       
'llvm::StringRef::StringRef(std::string_view)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: while trying to match 
the argument list '(lldb_private::ConstString)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2672: 
'std::multimap&lt;llvm::StringRef,const lldb_private::Symbol 
*,std::less&lt;llvm::StringRef&gt;,std::allocator&lt;std::pair&lt;const 
llvm::StringRef,const lldb_private::Symbol *&gt;&gt;&gt;::emplace': no matching 
overloaded function found
C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\map(557): note: could 
be 
'std::_Tree_iterator&lt;std::_Tree_val&lt;std::_Tree_simple_types&lt;std::pair&lt;const
 llvm::StringRef,const lldb_private::Symbol *&gt;&gt;&gt;&gt; 
std::multimap&lt;llvm::StringRef,const lldb_private::Symbol 
*,std::less&lt;llvm::StringRef&gt;,std::allocator&lt;std::pair&lt;const 
llvm::StringRef,const lldb_private::Symbol *&gt;&gt;&gt;::emplace(_Valty 
&amp;&amp;...)'
`

The StringRef constructor here is intended to take a ConstString object, which 
I assume is implicitly converted to a std::string_view by compilers other than 
Visual Studio's. To fix the VS build I made the StringRef initialization more 
explicit, as you can see in the diff.

This is my first time contributing to LLVM, please let me know if I can add any 
details/clarifications :)

---
Full diff: https://github.com/llvm/llvm-project/pull/84863.diff


1 Files Affected:

- (modified) lldb/source/Symbol/Symtab.cpp (+1-1) 


``````````diff
diff --git a/lldb/source/Symbol/Symtab.cpp b/lldb/source/Symbol/Symtab.cpp
index c63bbe94fece0e..5b5bf5c3f6f8c7 100644
--- a/lldb/source/Symbol/Symtab.cpp
+++ b/lldb/source/Symbol/Symtab.cpp
@@ -125,7 +125,7 @@ void Symtab::Dump(Stream *s, Target *target, SortOrder 
sort_order,
 
       std::multimap<llvm::StringRef, const Symbol *> name_map;
       for (const Symbol &symbol : m_symbols)
-        name_map.emplace(llvm::StringRef(symbol.GetName()), &symbol);
+        name_map.emplace(symbol.GetName().GetStringRef(), &symbol);
 
       for (const auto &name_to_symbol : name_map) {
         const Symbol *symbol = name_to_symbol.second;

``````````

</details>


https://github.com/llvm/llvm-project/pull/84863
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to