Mercurial > projects > ldc
diff dmd/expression.c @ 1626:8fa4ab3dcc88
Merge DMD r320: refactor
---
dmd/expression.c | 7 +++----
dmd/expression.h | 2 +-
dmd/mtype.c | 34 ++++++++--------------------------
3 files changed, 12 insertions(+), 31 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:23 -0300 |
parents | fb2e6707ad17 |
children | e83f0778c260 |
line wrap: on
line diff
--- a/dmd/expression.c Wed Jan 06 15:18:22 2010 -0300 +++ b/dmd/expression.c Wed Jan 06 15:18:23 2010 -0300 @@ -868,9 +868,7 @@ { TypeSArray *ts = (TypeSArray *)tb; Type *ta = ts->next->arrayOf(); if (ts->size(arg->loc) == 0) - { arg = new NullExp(arg->loc); - arg->type = ta; - } + arg = new NullExp(arg->loc, ta); else arg = arg->castTo(sc, ta); } @@ -2587,10 +2585,11 @@ /******************************** NullExp **************************/ -NullExp::NullExp(Loc loc) +NullExp::NullExp(Loc loc, Type *type) : Expression(loc, TOKnull, sizeof(NullExp)) { committed = 0; + this->type = type; } Expression *NullExp::semantic(Scope *sc)