Mercurial > projects > ldc
comparison gen/toir.cpp @ 201:8f9191180c7a trunk
[svn r217] Updated: the rebuild profiles.
Fixed: way to find class data fields was too strict type wise.
Fixed: foreach resulting in an implicit delegate could fail.
author | lindquist |
---|---|
date | Mon, 12 May 2008 22:44:25 +0200 |
parents | bfcb657756f6 |
children | e881c9b1c738 |
comparison
equal
deleted
inserted
replaced
200:e937752e4541 | 201:8f9191180c7a |
---|---|
1244 if (v->isSlice()) { | 1244 if (v->isSlice()) { |
1245 assert(!gIR->topexp() || gIR->topexp()->e1 != this); | 1245 assert(!gIR->topexp() || gIR->topexp()->e1 != this); |
1246 return v; | 1246 return v; |
1247 } | 1247 } |
1248 | 1248 |
1249 else if (u->isLRValue() || (u->isVar() && u->isVar()->lval)) | 1249 else if (DLRValue* lr = u->isLRValue()) |
1250 return new DLRValue(lr->getLType(), lr->getLVal(), to, v->getRVal()); | |
1251 | |
1252 else if (u->isVar() && u->isVar()->lval) | |
1250 return new DLRValue(e1->type, u->getLVal(), to, v->getRVal()); | 1253 return new DLRValue(e1->type, u->getLVal(), to, v->getRVal()); |
1251 | 1254 |
1252 else if (gIR->topexp() && gIR->topexp()->e1 == this) | 1255 else if (gIR->topexp() && gIR->topexp()->e1 == this) |
1253 return new DLRValue(e1->type, u->getLVal(), to, v->getRVal()); | 1256 return new DLRValue(e1->type, u->getLVal(), to, v->getRVal()); |
1254 | 1257 |