Implement cast nodes correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2964 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 800c82a..6bc5a71 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -248,9 +248,9 @@
       markIncompleteNode(Args[i]);
   }
 
-  // Mark all of the nodes pointed to by global nodes as incomplete...
+  // Mark all of the nodes pointed to by global or cast nodes as incomplete...
   for (unsigned i = 0, e = Nodes.size(); i != e; ++i)
-    if (Nodes[i]->NodeType & DSNode::GlobalNode) {
+    if (Nodes[i]->NodeType & (DSNode::GlobalNode | DSNode::CastNode)) {
       DSNode *N = Nodes[i];
       for (unsigned i = 0, e = N->getNumLinks(); i != e; ++i)
         markIncompleteNode(N->getLink(i));