Add a bunch of assertions
authorChris Lattner <sabre@nondot.org>
Mon, 4 Nov 2002 23:59:41 +0000 (23:59 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 4 Nov 2002 23:59:41 +0000 (23:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4549 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DSNode.h
include/llvm/Analysis/DataStructure/DSNode.h

index 367c377a34a3dda5fc94b5dc239542a716029539..9ade44437cbec2caf0b4ca869e88f029491871b2 100644 (file)
@@ -126,13 +126,19 @@ public:
   }
 
   DSNodeHandle *getLink(unsigned i) {
-    if (hasLink(i))
+    if (hasLink(i)) {
+      assert((unsigned)MergeMap[i] < Links.size() &&
+             "MergeMap references Link that doesn't exist!");
       return &Links[MergeMap[i]];
+    }
     return 0;
   }
   const DSNodeHandle *getLink(unsigned i) const {
-    if (hasLink(i))
+    if (hasLink(i)) {
+      assert((unsigned)MergeMap[i] < Links.size() &&
+             "MergeMap references Link that doesn't exist!");
       return &Links[MergeMap[i]];
+    }
     return 0;
   }
 
@@ -226,6 +232,8 @@ private:
   ///
   void rewriteMergeMap(signed char From, signed char To) {
     assert(From != To && "Cannot change something into itself!");
+    assert(To < (int)Links.size() &&
+           "Changing MergeMap entry to an illegal entry!");
     for (unsigned i = 0, e = MergeMap.size(); i != e; ++i)
       if (MergeMap[i] == From)
         MergeMap[i] = To;
index 367c377a34a3dda5fc94b5dc239542a716029539..9ade44437cbec2caf0b4ca869e88f029491871b2 100644 (file)
@@ -126,13 +126,19 @@ public:
   }
 
   DSNodeHandle *getLink(unsigned i) {
-    if (hasLink(i))
+    if (hasLink(i)) {
+      assert((unsigned)MergeMap[i] < Links.size() &&
+             "MergeMap references Link that doesn't exist!");
       return &Links[MergeMap[i]];
+    }
     return 0;
   }
   const DSNodeHandle *getLink(unsigned i) const {
-    if (hasLink(i))
+    if (hasLink(i)) {
+      assert((unsigned)MergeMap[i] < Links.size() &&
+             "MergeMap references Link that doesn't exist!");
       return &Links[MergeMap[i]];
+    }
     return 0;
   }
 
@@ -226,6 +232,8 @@ private:
   ///
   void rewriteMergeMap(signed char From, signed char To) {
     assert(From != To && "Cannot change something into itself!");
+    assert(To < (int)Links.size() &&
+           "Changing MergeMap entry to an illegal entry!");
     for (unsigned i = 0, e = MergeMap.size(); i != e; ++i)
       if (MergeMap[i] == From)
         MergeMap[i] = To;