Mercurial > projects > ldc
changeset 457:d82ebdba4191
Fixed debug info and lazy arguments.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sat, 02 Aug 2008 21:51:49 +0200 |
parents | b975f29b7256 |
children | 121624c14053 |
files | gen/functions.cpp |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/functions.cpp Sat Aug 02 21:20:31 2008 +0200 +++ b/gen/functions.cpp Sat Aug 02 21:51:49 2008 +0200 @@ -595,8 +595,10 @@ VarDeclaration* vd = argsym->isVarDeclaration(); assert(vd); + bool refoutlazy = vd->storage_class & (STCref | STCout | STClazy); + // FIXME: llvm seems to want an alloca/byval for debug info - if (!vd->needsStorage || vd->nestedref || vd->isRef() || vd->isOut()) + if (!vd->needsStorage || vd->nestedref || refoutlazy) { Logger::println("skipping arg storage for (%s) %s ", vd->loc.toChars(), vd->toChars()); continue;