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)