diff --git a/include/llvm/Analysis/DataStructure.h b/include/llvm/Analysis/DataStructure.h index 674a5f0a1ed..b008b6e6a72 100644 --- a/include/llvm/Analysis/DataStructure.h +++ b/include/llvm/Analysis/DataStructure.h @@ -49,9 +49,15 @@ public: bool operator!=(const DSNodeHandle &H) const { return N != H.N; } bool operator==(const DSNode *Node) const { return N == Node; } bool operator!=(const DSNode *Node) const { return N != Node; } + bool operator==(DSNode *Node) const { return N == Node; } + bool operator!=(DSNode *Node) const { return N != Node; } // Avoid having comparisons to null cause errors... - bool operator==(int X) const { return operator==((DSNode*)X); } + bool operator==(int X) const { + assert(X == 0 && "Bad comparison!"); + return operator==((DSNode*)0); + } + bool operator!=(int X) const { return !operator==(X); } // Allow explicit conversion to DSNode... DSNode *get() { return N; } diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index 674a5f0a1ed..b008b6e6a72 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -49,9 +49,15 @@ public: bool operator!=(const DSNodeHandle &H) const { return N != H.N; } bool operator==(const DSNode *Node) const { return N == Node; } bool operator!=(const DSNode *Node) const { return N != Node; } + bool operator==(DSNode *Node) const { return N == Node; } + bool operator!=(DSNode *Node) const { return N != Node; } // Avoid having comparisons to null cause errors... - bool operator==(int X) const { return operator==((DSNode*)X); } + bool operator==(int X) const { + assert(X == 0 && "Bad comparison!"); + return operator==((DSNode*)0); + } + bool operator!=(int X) const { return !operator==(X); } // Allow explicit conversion to DSNode... DSNode *get() { return N; }