diff --git a/dmd/interpret.c b/dmd/interpret.c index 9aa2148b..78212db8 100644 --- a/dmd/interpret.c +++ b/dmd/interpret.c @@ -500,53 +500,8 @@ Expression *WhileStatement::interpret(InterState *istate) #if LOG printf("WhileStatement::interpret()\n"); #endif - if (istate->start == this) - istate->start = NULL; - Expression *e; - - if (istate->start) - { - e = body ? body->interpret(istate) : NULL; - if (istate->start) - return NULL; - if (e == EXP_CANT_INTERPRET) - return e; - if (e == EXP_BREAK_INTERPRET) - return NULL; - if (e && e != EXP_CONTINUE_INTERPRET) - return e; - } - - while (1) - { - e = condition->interpret(istate); - if (e == EXP_CANT_INTERPRET) - break; - if (!e->isConst()) - { e = EXP_CANT_INTERPRET; - break; - } - if (e->isBool(TRUE)) - { e = body ? body->interpret(istate) : NULL; - if (e == EXP_CANT_INTERPRET) - break; - if (e == EXP_CONTINUE_INTERPRET) - continue; - if (e == EXP_BREAK_INTERPRET) - { e = NULL; - break; - } - if (e) - break; - } - else if (e->isBool(FALSE)) - { e = NULL; - break; - } - else - assert(0); - } - return e; + assert(0); // rewritten to ForStatement + return NULL; } Expression *DoStatement::interpret(InterState *istate) diff --git a/dmd/mars.c b/dmd/mars.c index 8834dcc3..b0e50190 100644 --- a/dmd/mars.c +++ b/dmd/mars.c @@ -58,7 +58,7 @@ Global::Global() copyright = "Copyright (c) 1999-2009 by Digital Mars and Tomas Lindquist Olsen"; written = "written by Walter Bright and Tomas Lindquist Olsen"; - version = "v1.053"; + version = "v1.054"; ldc_version = LDC_REV; llvm_version = LLVM_REV_STR; global.structalign = 8;