<html><body><div>I ran into some build errors while compiling LLVM+Clang in Visual Studio. The compilation of tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp fails with the error:</div><div>binary '*': no operator found which takes a left-hand operand of type 'const llvm::detail::DenseSetImpl<ValueT,llvm::DenseMap<ValueT,llvm::detail::DenseSetEmpty,ValueInfoT,llvm::detail::DenseSetPair<ValueT>>,ValueInfoT>::Iterator' (or there is no acceptable conversion).<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>I checked include/llvm/ADT/DenseSet.h and the iterator dereference operator isn't const, which explains why it can't find an operator* that takes a const iterator. The build completes successfully if I make the operator const (DenseSet.h lines 106 and 107).<br data-mce-bogus="1"></div><div>Is there a particular reason why it currently isn't const?<br data-mce-bogus="1"></div></body></html>