Mercurial > projects > ldc
comparison gen/functions.cpp @ 1151:3cf0066e6faf
- Versioned Expresssion::toElem with #if IN_DMD/IN_LLVM.
- Eliminated the DLRValue DValue.
- Implemented proactive handling of l-value CastExpS.
- Minor tweak in runtime memory.d .
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Sat, 28 Mar 2009 05:00:43 +0100 |
parents | 5ebe8224988b |
children | 521dd1626d76 |
comparison
equal
deleted
inserted
replaced
1150:2a687353c84d | 1151:3cf0066e6faf |
---|---|
938 DValue* arg = argexp->toElem(gIR); | 938 DValue* arg = argexp->toElem(gIR); |
939 | 939 |
940 // ref/out arg | 940 // ref/out arg |
941 if (fnarg && (fnarg->storageClass & (STCref | STCout))) | 941 if (fnarg && (fnarg->storageClass & (STCref | STCout))) |
942 { | 942 { |
943 if (arg->isVar() || arg->isLRValue()) | 943 if (arg->isVar()) |
944 arg = new DImValue(argexp->type, arg->getLVal()); | 944 arg = new DImValue(argexp->type, arg->getLVal()); |
945 else | 945 else |
946 arg = new DImValue(argexp->type, arg->getRVal()); | 946 arg = new DImValue(argexp->type, arg->getRVal()); |
947 } | 947 } |
948 // lazy arg | 948 // lazy arg |