From 00072e5fd03427051705d5f60ae1c53e3cfdde4a Mon Sep 17 00:00:00 2001 From: Tomas Lindquist Olsen Date: Sat, 2 Aug 2008 21:51:49 +0200 Subject: [PATCH] Fixed debug info and lazy arguments. --- gen/functions.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gen/functions.cpp b/gen/functions.cpp index 87d12561..6cf3af17 100644 --- a/gen/functions.cpp +++ b/gen/functions.cpp @@ -595,8 +595,10 @@ void DtoDefineFunc(FuncDeclaration* fd) 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;