Reverted "Fixed passing of structs and static arrays into functions."

This commit is contained in:
Alexey Prokhin
2011-01-06 20:06:27 +03:00
parent cbd0296328
commit 54e3121ad9
2 changed files with 1 additions and 10 deletions

View File

@@ -752,11 +752,7 @@ void DtoDefineFunction(FuncDeclaration* fd)
bool refout = vd->storage_class & (STCref | STCout);
bool lazy = vd->storage_class & STClazy;
#if DMDV2
if (!refout)
#else
if (!refout && (!f->fty.args[i]->byref || lazy))
#endif
{
// alloca a stack slot for this first class value arg
const LLType* argt;

View File

@@ -86,12 +86,7 @@ void IrFuncTy::getParam(Type* dty, int idx, DValue* val, llvm::Value* lval)
return;
}
LLValue *rval = val->getRVal();
#if DMDV2
if (DtoIsPassedByRef(val->type) && isaPointer(rval))
rval = DtoLoad(rval);
#endif
DtoStore(rval, lval);
DtoStore(val->getRVal(), lval);
}
//////////////////////////////////////////////////////////////////////////////