Use CGCall infrastructure to call enumeration mutation function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63685 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp
index ef4cf04..1443f2e 100644
--- a/lib/CodeGen/CGObjC.cpp
+++ b/lib/CodeGen/CGObjC.cpp
@@ -472,7 +472,13 @@
Builder.CreateBitCast(Collection,
ConvertType(getContext().getObjCIdType()),
"tmp");
- Builder.CreateCall(EnumerationMutationFn, V);
+ CallArgList Args2;
+ Args2.push_back(std::make_pair(RValue::get(V),
+ getContext().getObjCIdType()));
+ // FIXME: We shouldn't need to get the function info here, the
+ // runtime already should have computed it to build the function.
+ EmitCall(CGM.getTypes().getFunctionInfo(getContext().VoidTy, Args),
+ EnumerationMutationFn, Args2);
EmitBlock(WasNotMutated);