C++ is not a functional programming language.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20274 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 0f2af20..967670f 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1024,8 +1024,9 @@
   }
   | UpRTypesV '(' ArgTypeListI ')' {           // Function derived type?
     std::vector<const Type*> Params;
-    mapto($3->begin(), $3->end(), std::back_inserter(Params), 
-          std::mem_fun_ref(&PATypeHolder::get));
+    for (std::list<llvm::PATypeHolder>::iterator I = $3->begin(),
+           E = $3->end(); I != E; ++I)
+      Params.push_back(*I);
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
@@ -1050,9 +1051,10 @@
   }
   | '{' TypeListI '}' {                        // Structure type?
     std::vector<const Type*> Elements;
-    mapto($2->begin(), $2->end(), std::back_inserter(Elements), 
-        std::mem_fun_ref(&PATypeHolder::get));
-
+    for (std::list<llvm::PATypeHolder>::iterator I = $2->begin(),
+           E = $2->end(); I != E; ++I)
+      Elements.push_back(*I);
+    
     $$ = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
     delete $2;
   }