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