Update GEP constructors to use an iterator interface to fix
GLIBCXX_DEBUG issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp
index 99d79de..a481372 100644
--- a/tools/llvm2cpp/CppWriter.cpp
+++ b/tools/llvm2cpp/CppWriter.cpp
@@ -787,7 +787,8 @@
       Out << "Constant* " << constName 
           << " = ConstantExpr::getGetElementPtr(" 
           << getCppName(CE->getOperand(0)) << ", " 
-          << "&" << constName << "_indices[0], " << CE->getNumOperands() - 1
+          << constName << "_indices.begin(), "
+          << constName << "_indices.end(), "
           << " );";
     } else if (CE->isCast()) {
       printConstant(CE->getOperand(0));
@@ -1253,8 +1254,8 @@
           nl(Out);
         }
         Out << "Instruction* " << iName << " = new GetElementPtrInst(" 
-            << opNames[0] << ", &" << iName << "_indices[0], " 
-            << gep->getNumOperands() - 1;
+            << opNames[0] << ", " << iName << "_indices.begin(), " 
+            << iName << "_indices.end()";
       }
       Out << ", \"";
       printEscapedString(gep->getName());