<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 15, 2018 at 8:28 AM Lang Hames via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: lhames<br>
Date: Mon Oct 15 08:26:47 2018<br>
New Revision: 344522<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=344522&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=344522&view=rev</a><br>
Log:<br>
[ADT] Adds equality operators for DenseMap and DenseSet, and an initializer_list<br>
constructor for DenseMap (DenseSet already had an initializer_list constructor).<br>
<br>
These changes make it easier to migrate existing code that uses std::map and<br>
std::set (which support initializer_list construction and equality comparison)<br>
to DenseMap and DenseSet.<br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/ADT/DenseMap.h<br>
    llvm/trunk/include/llvm/ADT/DenseSet.h<br>
    llvm/trunk/unittests/ADT/DenseMapTest.cpp<br>
    llvm/trunk/unittests/ADT/DenseSetTest.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/ADT/DenseMap.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/DenseMap.h?rev=344522&r1=344521&r2=344522&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/DenseMap.h?rev=344522&r1=344521&r2=344522&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/ADT/DenseMap.h (original)<br>
+++ llvm/trunk/include/llvm/ADT/DenseMap.h Mon Oct 15 08:26:47 2018<br>
@@ -25,6 +25,7 @@<br>
 #include <cassert><br>
 #include <cstddef><br>
 #include <cstring><br>
+#include <initializer_list><br>
 #include <iterator><br>
 #include <new><br>
 #include <type_traits><br>
@@ -38,6 +39,9 @@ namespace detail {<br>
 // implementation without requiring two members.<br>
 template <typename KeyT, typename ValueT><br>
 struct DenseMapPair : public std::pair<KeyT, ValueT> {<br>
+<br>
+  using std::pair<KeyT, ValueT>::pair;<br>
+<br></blockquote><div><br></div><div>This bit apparently breaks building LLVM on Mac OS 10.11.</div><div>Removing it causes the build to to fail differently, though.</div><div>(1 failure instead of many)</div><div><br></div><div>Details available if you want them.</div><div><br></div><div>--- Marshall</div><div><br></div><div>P.S. Sorry for the slow bug report; I was traveling last week. <br></div></div></div>