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;
}