Hello<br><br>Visual Studio is complaining about the mix of struct and class.<br><br>2>C:\dev\llvm\include\llvm/ADT/ValueMap.h(202) : warning C4099: 'llvm::DenseMapInfo<llvm::ValueMapCallbackVH<KeyT,ValueT,Config,ValueInfoT>>' : type name first seen using 'struct' now seen using 'class'<br>
2>        C:\dev\llvm\include\llvm/ADT/ValueMap.h(251) : see reference to class template instantiation 'llvm::ValueMapCallbackVH<KeyT,ValueT,Config,ValueInfoT>' being compiled<br><br><br>Below you can find a patch which removes the warning.<br>
<br>Marius Wachtler<br><br><br><br>Index: include/llvm/ADT/ValueMap.h<br>===================================================================<br>--- include/llvm/ADT/ValueMap.h    (revision 85194)<br>+++ include/llvm/ADT/ValueMap.h    (working copy)<br>
@@ -199,7 +199,7 @@<br> template<typename KeyT, typename ValueT, typename Config, typename ValueInfoT><br> class ValueMapCallbackVH : public CallbackVH {<br>   friend class ValueMap<KeyT, ValueT, Config, ValueInfoT>;<br>
-  friend class DenseMapInfo<ValueMapCallbackVH>;<br>+  friend struct DenseMapInfo<ValueMapCallbackVH>;<br>   typedef ValueMap<KeyT, ValueT, Config, ValueInfoT> ValueMapT;<br>   typedef typename llvm::remove_pointer<KeyT>::type KeySansPointerT;<br>
 <br><br><br><br><br><br><br>