diff options
Diffstat (limited to 'lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/DataStructure.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp index cf117bbd6b..5a5f2177c6 100644 --- a/lib/Analysis/DataStructure/DataStructure.cpp +++ b/lib/Analysis/DataStructure/DataStructure.cpp @@ -695,14 +695,14 @@ void DSGraph::mergeInGraph(DSCallSite &CS, const DSGraph &Graph, for (unsigned i = 0, e = CS.getNumPtrArgs(); i != e; ++i, ++AI) { // Advance the argument iterator to the first pointer argument... - while (!isPointerType(AI->getType())) { + while (AI != F.aend() && !isPointerType(AI->getType())) { ++AI; #ifndef NDEBUG if (AI == F.aend()) std::cerr << "Bad call to Function: " << F.getName() << "\n"; #endif - assert(AI != F.aend() && "# Args provided is not # Args required!"); } + if (AI == F.aend()) break; // Add the link from the argument scalar to the provided value DSNodeHandle &NH = (*ScalarMap)[AI]; |