diff --git a/include/llvm/Support/DebugLoc.h b/include/llvm/Support/DebugLoc.h index 764591cfede..8d19e300ec2 100644 --- a/include/llvm/Support/DebugLoc.h +++ b/include/llvm/Support/DebugLoc.h @@ -27,14 +27,22 @@ namespace llvm { class DebugLoc { friend struct DenseMapInfo; - /// getTombstoneKey() - A private constructor that returns an unknown that - /// is distinguishable from the usual one. - static DebugLoc getTombstoneKey() { + /// getEmptyKey() - A private constructor that returns an unknown that is + /// not equal to the tombstone key or DebugLoc(). + static DebugLoc getEmptyKey() { DebugLoc DL; DL.LineCol = -1; return DL; } + /// getTombstoneKey() - A private constructor that returns an unknown that + /// is not equal to the empty key or DebugLoc(). + static DebugLoc getTombstoneKey() { + DebugLoc DL; + DL.LineCol = -2; + return DL; + } + /// LineCol - This 32-bit value encodes the line and column number for the /// location, encoded as 24-bits for line and 8 bits for col. A value of 0 /// for either means unknown. diff --git a/lib/VMCore/DebugLoc.cpp b/lib/VMCore/DebugLoc.cpp index cb077cb4374..35691627f49 100644 --- a/lib/VMCore/DebugLoc.cpp +++ b/lib/VMCore/DebugLoc.cpp @@ -133,7 +133,7 @@ DebugLoc DebugLoc::getFromDILocation(MDNode *N) { //===----------------------------------------------------------------------===// DebugLoc DenseMapInfo::getEmptyKey() { - return DebugLoc(); + return DebugLoc::getEmptyKey(); } DebugLoc DenseMapInfo::getTombstoneKey() {