summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2017-12-13 08:34:48 +0000
committerSam McCall <sam.mccall@gmail.com>2017-12-13 08:34:48 +0000
commitd404654987e62b150e82c715b6e3062081cdf2f9 (patch)
treee8f6a945b908aeb865d8b2eb08269201dbe5b269
parentac4a8fb1cde1fbc0188ed0c58b9f016b1f3cda0d (diff)
downloadbcm5719-llvm-d404654987e62b150e82c715b6e3062081cdf2f9.tar.gz
bcm5719-llvm-d404654987e62b150e82c715b6e3062081cdf2f9.zip
[clangd] Overload hash_value for SymbolID, fix struct/class warning
llvm-svn: 320554
-rw-r--r--clang-tools-extra/clangd/index/Index.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang-tools-extra/clangd/index/Index.h b/clang-tools-extra/clangd/index/Index.h
index 8cb1caf54c3..6d4711cccb1 100644
--- a/clang-tools-extra/clangd/index/Index.h
+++ b/clang-tools-extra/clangd/index/Index.h
@@ -12,6 +12,7 @@
#include "clang/Index/IndexSymbol.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringExtras.h"
#include <array>
@@ -49,7 +50,9 @@ public:
}
private:
- friend class llvm::DenseMapInfo<clang::clangd::SymbolID>;
+ friend llvm::hash_code hash_value(const SymbolID &ID) {
+ return hash_value(ArrayRef<uint8_t>(ID.HashValue));
+ }
std::array<uint8_t, 20> HashValue;
};
@@ -122,8 +125,7 @@ template <> struct DenseMapInfo<clang::clangd::SymbolID> {
return TombstoneKey;
}
static unsigned getHashValue(const clang::clangd::SymbolID &Sym) {
- return hash_value(
- ArrayRef<uint8_t>(Sym.HashValue.data(), Sym.HashValue.size()));
+ return hash_value(Sym);
}
static bool isEqual(const clang::clangd::SymbolID &LHS,
const clang::clangd::SymbolID &RHS) {
OpenPOWER on IntegriCloud