allow return; for void returns ... remove string

This commit is contained in:
Markus Hauschild
2013-06-02 08:31:45 +02:00
parent a986fc4419
commit 1cb60087f6
3 changed files with 11 additions and 7 deletions

View File

@@ -332,12 +332,16 @@ void CodeGenVisitor::visit(RandomIfStatement* e) {
}
void CodeGenVisitor::visit(ReturnStatement* e) {
e->getExpr()->accept(this);
if (!value_) {
throw "error evaluating expression";
}
if (e->getExpr() != 0) {
e->getExpr()->accept(this);
if (!value_) {
throw "error evaluating expression";
}
builder_->CreateRet(value_);
builder_->CreateRet(value_);
} else {
builder_->CreateRetVoid();
}
}
void CodeGenVisitor::visit(Scope* e) {