Revision: 1083 http://trac.macosforge.org/projects/ruby/changeset/1083 Author: lsansonetti@apple.com Date: 2009-03-22 22:12:41 -0700 (Sun, 22 Mar 2009) Log Message: ----------- implemented begin..end while/until loops Modified Paths: -------------- MacRuby/branches/experimental/roxor.cpp Modified: MacRuby/branches/experimental/roxor.cpp =================================================================== --- MacRuby/branches/experimental/roxor.cpp 2009-03-23 04:50:22 UTC (rev 1082) +++ MacRuby/branches/experimental/roxor.cpp 2009-03-23 05:12:41 UTC (rev 1083) @@ -3682,8 +3682,10 @@ BasicBlock *bodyBB = BasicBlock::Create("body", f); BasicBlock *afterBB = BasicBlock::Create("after", f); - BranchInst::Create(loopBB, bb); + const bool first_pass_free = node->nd_state == 0; + BranchInst::Create(first_pass_free ? bodyBB : loopBB, bb); + bb = loopBB; Value *condVal = compile_node(node->nd_cond);
participants (1)
-
source_changes@macosforge.org