Compile function calls
This commit is contained in:
parent
8dc0a6bf12
commit
e653734f86
@ -4,6 +4,7 @@
|
||||
|
||||
#include <llvm/IR/Module.h>
|
||||
#include <llvm/IR/Verifier.h>
|
||||
#include <llvm/Support/Casting.h>
|
||||
#include <memory>
|
||||
#include <iostream>
|
||||
|
||||
@ -77,7 +78,13 @@ namespace AST {
|
||||
}
|
||||
|
||||
codegen::StackValue FunctionCallExpression::codegen(codegen::Builder& builder, codegen::Scope& scope) {
|
||||
// TODO
|
||||
std::vector<llvm::Value*> args{};
|
||||
for (auto& arg : this->m_args) {
|
||||
args.push_back(arg->codegen(builder, scope).value);
|
||||
}
|
||||
auto function = this->m_fn_expr->codegen(builder, scope);
|
||||
|
||||
builder.builder->CreateCall(dyn_cast<llvm::FunctionType>(function.ty->codegen(builder)), function.value);
|
||||
}
|
||||
|
||||
void ReturnStatement::codegen(codegen::Builder& builder, codegen::Scope& scope) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user