From c44dc254c16a15ee4bfd29ab051e661563388d5c Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Sun, 2 Jun 2013 08:44:32 +0200 Subject: [PATCH] Working void stuff ... --- src/AST/CodeGenVisitor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/AST/CodeGenVisitor.cpp b/src/AST/CodeGenVisitor.cpp index f1e8edf..1727662 100644 --- a/src/AST/CodeGenVisitor.cpp +++ b/src/AST/CodeGenVisitor.cpp @@ -161,7 +161,13 @@ void CodeGenVisitor::visit(FunctionCallExpression* e) { args.push_back(value_); } - value_ = builder_->CreateCall(cf, args, "calltmp"); + if (cf->getFunctionType()->getReturnType() == typeToLLVMType(Type::VOID)) { + builder_->CreateCall(cf, args); + // just handle void functions as if they returned 0 + value_ = llvm::ConstantInt::get(llvm::getGlobalContext(), llvm::APInt(0, 32, 10)); + } else { + value_ = builder_->CreateCall(cf, args, "calltmp"); + } } void CodeGenVisitor::visit(FunctionDefinition* e) {