diff dmd/optimize.c @ 1025:c519caae3181

Fixed #218 by disabling the problematic optimization.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 03 Mar 2009 04:41:11 +0100
parents e74e2e53ba3b
children b30fe7e1dbb9
line wrap: on
line diff
--- a/dmd/optimize.c	Tue Mar 03 02:51:21 2009 +0100
+++ b/dmd/optimize.c	Tue Mar 03 04:41:11 2009 +0100
@@ -46,7 +46,7 @@
     if (e1->op == TOKvar)
     {	VarExp *ve = (VarExp *)e1;
 	VarDeclaration *v = ve->var->isVarDeclaration();
-	if (v && v->isConst() && v->init)
+	if (v && v->isConst() && v->init && !v->init->isStructInitializer())
 	{   Expression *ei = v->init->toExpression();
 	    if (ei && ei->type)
 		e1 = ei;