Add operator< to ValID's so that they can be put in map's
authorChris Lattner <sabre@nondot.org>
Sat, 13 Oct 2001 06:37:47 +0000 (06:37 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 13 Oct 2001 06:37:47 +0000 (06:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@757 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/ParserInternals.h

index b00a35281fbf02bf95210d90fd949e6f53d0adda..6abe6083f0dcc9df73b218854de90dd5fa2f997a 100644 (file)
@@ -130,6 +130,20 @@ struct ValID {
       abort();
     }
   }
+
+  bool operator<(const ValID &V) const {
+    if (Type != V.Type) return Type < V.Type;
+    switch (Type) {
+    case NumberVal:     return Num < V.Num;
+    case ConstStringVal:
+    case NameVal:       return strcmp(Name, V.Name) < 0;
+    case ConstSIntVal:  return ConstPool64  < V.ConstPool64;
+    case ConstUIntVal:  return UConstPool64 < V.UConstPool64;
+    case ConstFPVal:    return ConstPoolFP  < V.ConstPoolFP;
+    case ConstNullVal:  return false;
+    default:  assert(0 && "Unknown value type!"); return false;
+    }
+  }
 };