aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT
diff options
context:
space:
mode:
authorManman Ren <mren@apple.com>2013-07-08 19:17:48 +0000
committerManman Ren <mren@apple.com>2013-07-08 19:17:48 +0000
commitf856249d496663b72b9eac37cdabb52932abd0e0 (patch)
tree5b23d39dc44fb65ca8f2dfd875b8856f2d66f3ba /include/llvm/ADT
parent7426a3b5880b68989e49f963229b7731cb36dba7 (diff)
downloadexternal_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.zip
external_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.tar.gz
external_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.tar.bz2
StringRef: add DenseMapInfo for StringRef.
Remove the implementation in include/llvm/Support/YAMLTraits.h. Added a DenseMap type DITypeHashMap in DebugInfo.h: DenseMap<std::pair<StringRef, unsigned>, MDNode*> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185852 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
-rw-r--r--include/llvm/ADT/StringRef.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h
index d013d05..c5f2632 100644
--- a/include/llvm/ADT/StringRef.h
+++ b/include/llvm/ADT/StringRef.h
@@ -548,6 +548,14 @@ namespace llvm {
template <typename T> struct isPodLike;
template <> struct isPodLike<StringRef> { static const bool value = true; };
+ template <typename T> struct DenseMapInfo;
+ template<> struct DenseMapInfo<StringRef> {
+ static StringRef getEmptyKey() { return StringRef(); }
+ static StringRef getTombstoneKey() { return StringRef(" ", 0); }
+ static unsigned getHashValue(StringRef const val);
+ static bool isEqual(StringRef const lhs,
+ StringRef const rhs) { return lhs.equals(rhs); }
+ };
}
#endif