aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/Designator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/Designator.cc')
-rw-r--r--lib/CodeGen/Designator.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/Designator.cc b/lib/CodeGen/Designator.cc
index b31492b..540059d 100644
--- a/lib/CodeGen/Designator.cc
+++ b/lib/CodeGen/Designator.cc
@@ -97,8 +97,9 @@ Value *CodeGen::emitMethodCall(const std::string &Class, Value *Receiver,
return nullptr;
}
std::vector<Value*> Args = {Receiver};
- if (!marshalCallArgs(Method->getLinkName(), ArgExprs, Line, Args)) return nullptr;
- return FuncGen->emitCall(Method->getLinkName(), Args);
+ const FuncSig *Sig = resolveCall(Method->getLinkName(), ArgExprs);
+ if (!Sig || !marshalCallArgs(*Sig, ArgExprs, Line, Args)) return nullptr;
+ return FuncGen->emitCall(Sig->LinkName, Args);
}
// Resolves a designator (or legacy variable/array-access node) to the address