Working void stuff ...

This commit is contained in:
Markus Hauschild
2013-06-02 08:44:32 +02:00
parent 8c5519d21e
commit c44dc254c1

View File

@@ -161,8 +161,14 @@ void CodeGenVisitor::visit(FunctionCallExpression* e) {
args.push_back(value_); args.push_back(value_);
} }
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"); value_ = builder_->CreateCall(cf, args, "calltmp");
} }
}
void CodeGenVisitor::visit(FunctionDefinition* e) { void CodeGenVisitor::visit(FunctionDefinition* e) {
std::vector<llvm::Type*> argTypes; std::vector<llvm::Type*> argTypes;