Mercurial > projects > ldc
diff dmd/expression.c @ 108:288fe1029e1f trunk
[svn r112] Fixed 'case 1,2,3:' style case statements.
Fixed a bunch of bugs with return/break/continue in loops.
Fixed support for the DMDFE hidden implicit return value variable. This can be needed for some foreach statements where the loop body is converted to a nested delegate, but also possibly returns from the function.
Added std.math to phobos.
Added AA runtime support code, done ground work for implementing AAs.
Several other bugfixes.
author | lindquist |
---|---|
date | Tue, 20 Nov 2007 05:29:20 +0100 |
parents | 70d6113eeb8c |
children | a7dfa0ed966c |
line wrap: on
line diff
--- a/dmd/expression.c Tue Nov 20 00:02:35 2007 +0100 +++ b/dmd/expression.c Tue Nov 20 05:29:20 2007 +0100 @@ -5870,6 +5870,7 @@ { VarExp *dve = (VarExp *)e1; FuncDeclaration *f = dve->var->isFuncDeclaration(); + VarDeclaration *v = dve->var->isVarDeclaration(); if (f && f->isNested()) { Expression *e; @@ -5878,6 +5879,10 @@ e = e->semantic(sc); return e; } + else if (v) + { + v->llvmNeedsStorage = true; + } } else if (e1->op == TOKarray) { @@ -7543,6 +7548,7 @@ AddExp::AddExp(Loc loc, Expression *e1, Expression *e2) : BinExp(loc, TOKadd, sizeof(AddExp), e1, e2) { + llvmFieldIndex = false; } Expression *AddExp::semantic(Scope *sc)