summaryrefslogtreecommitdiff
path: root/node/ExprNode.cc
diff options
context:
space:
mode:
authorNagi5Yeq <wu@x-nagi.com>2020-06-03 02:36:05 +0800
committerNagi5Yeq <wu@x-nagi.com>2020-06-03 02:36:05 +0800
commit2d6ab4b7f207a746a7caaa93466b410cbe328626 (patch)
tree570a2d7776e616309149adf065acc474c0c0de98 /node/ExprNode.cc
parentcd1466f30c146e12faa0db7e1b53b508bf2274c6 (diff)
support for short, int64 and AST dump
Diffstat (limited to 'node/ExprNode.cc')
-rw-r--r--node/ExprNode.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/node/ExprNode.cc b/node/ExprNode.cc
index c0a3f41..9610420 100644
--- a/node/ExprNode.cc
+++ b/node/ExprNode.cc
@@ -242,9 +242,9 @@ Value FunctionCallNode::CodeGen() {
args_.size());
return nullptr;
}
- std::vector<Value> ArgValues(args_.size());
+ std::vector<Value> ArgValues;
+ ArgValues.reserve(args_.size());
auto ArgIt = args_.begin();
- auto ArgValueIt = ArgValues.begin();
for (auto&& ArgType : ArgTypes) {
Value argv = (*ArgIt)->CodeGen();
Value ConvertedArgv =
@@ -255,12 +255,12 @@ Value FunctionCallNode::CodeGen() {
"of type %s needed",
type->GetCommonName(), ArgType->GetCommonName());
}
- *ArgValueIt = ConvertedArgv;
- ++ArgIt, ++ArgValueIt;
+ ArgValues.push_back(ConvertedArgv);
+ ++ArgIt;
}
while (ArgIt != args_.end()) {
- *ArgValueIt = (*ArgIt)->CodeGen();
- ++ArgIt, ++ArgValueIt;
+ ArgValues.push_back((*ArgIt)->CodeGen());
+ ++ArgIt;
}
type_ = type->GetReturnType();
return context_->GetBuilder()->CreateCall(std::get<1>(function), ArgValues);