From 9afdb5e5512ae4c9c23d7f2d41a35e63ecc3a0f5 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Thu, 5 May 2016 10:21:45 -0700 Subject: handle missing local names in ReorderLocals --- src/passes/ReorderLocals.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/passes/ReorderLocals.cpp') diff --git a/src/passes/ReorderLocals.cpp b/src/passes/ReorderLocals.cpp index 1a3fbf09a..0e626e0a2 100644 --- a/src/passes/ReorderLocals.cpp +++ b/src/passes/ReorderLocals.cpp @@ -106,8 +106,11 @@ struct ReorderLocals : public WalkerPasslocalNames.resize(newToOld.size()); curr->localIndices.clear(); for (size_t i = 0; i < newToOld.size(); i++) { - curr->localNames[i] = oldLocalNames[newToOld[i]]; - curr->localIndices[oldLocalNames[newToOld[i]]] = i; + if (newToOld[i] < oldLocalNames.size()) { + auto old = oldLocalNames[newToOld[i]]; + curr->localNames[i] = old; + curr->localIndices[old] = i; + } } } -- cgit v1.2.3