From: Reid Spencer Date: Mon, 19 Mar 2007 18:34:28 +0000 (+0000) Subject: Add and Operator== method to ValID so equality can be done properly for X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4e0422c7e67574a440cc68484267e4dc50a62a3d;p=oota-llvm.git Add and Operator== method to ValID so equality can be done properly for named or numbered ValIDs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35172 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/ParserInternals.h b/lib/AsmParser/ParserInternals.h index 1bc744bc4bb..6396d94d258 100644 --- a/lib/AsmParser/ParserInternals.h +++ b/lib/AsmParser/ParserInternals.h @@ -207,6 +207,26 @@ struct ValID { default: assert(0 && "Unknown value type!"); return false; } } + + bool operator==(const ValID &V) const { + if (Type == V.Type) { + switch (Type) { + case LocalID: + case GlobalID: return Num == V.Num; + case LocalName: + case GlobalName: 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 ConstantVal: return ConstantValue == V.ConstantValue; + case ConstNullVal: return true; + case ConstUndefVal: return true; + case ConstZeroVal: return true; + default: assert(0 && "Unknown value type!"); return false; + } + } + return false; + } }; struct TypeWithAttrs {