DebugInfo: Add equality operators and default constructor to DILineInfo.
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 21 Sep 2011 01:13:16 +0000 (01:13 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 21 Sep 2011 01:13:16 +0000 (01:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140223 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/DebugInfo/DIContext.h

index b0d3e015ec19f7f3615062c92a42f72bcf83c1a2..64f80c506504fa7564bbf0a5a70c6b95767c43fa 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/DataTypes.h"
+#include <cstring>
 
 namespace llvm {
 
@@ -28,12 +29,21 @@ class DILineInfo {
   uint32_t Line;
   uint32_t Column;
 public:
+  DILineInfo() : FileName("<invalid>"), Line(0), Column(0) {}
   DILineInfo(const char *fileName, uint32_t line, uint32_t column)
     : FileName(fileName), Line(line), Column(column) {}
 
   const char *getFileName() const { return FileName; }
   uint32_t getLine() const { return Line; }
   uint32_t getColumn() const { return Column; }
+
+  bool operator==(const DILineInfo &RHS) const {
+    return Line == RHS.Line && Column == RHS.Column &&
+           std::strcmp(FileName, RHS.FileName) == 0;
+  }
+  bool operator!=(const DILineInfo &RHS) const {
+    return !(*this == RHS);
+  }
 };
 
 class DIContext {