comparison gen/tocall.cpp @ 585:fbb1a366cfbc

Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 09 Sep 2008 16:49:47 -0700
parents d30c40f1128d
children 26fce59fe80a
comparison
equal deleted inserted replaced
584:c7d7e2282ba3 585:fbb1a366cfbc
312 Argument* fnarg = Argument::getNth(tf->parameters, i); 312 Argument* fnarg = Argument::getNth(tf->parameters, i);
313 DValue* argval = DtoArgument(fnarg, (Expression*)arguments->data[i]); 313 DValue* argval = DtoArgument(fnarg, (Expression*)arguments->data[i]);
314 LLValue* arg = argval->getRVal(); 314 LLValue* arg = argval->getRVal();
315 if (fnarg) // can fnarg ever be null in this block? 315 if (fnarg) // can fnarg ever be null in this block?
316 { 316 {
317 Logger::cout() << "arg: " << *arg << '\n';
318 Logger::cout() << "expects: " << *callableTy->getParamType(j) << '\n';
317 if (arg->getType() != callableTy->getParamType(j)) 319 if (arg->getType() != callableTy->getParamType(j))
318 arg = DtoBitCast(arg, callableTy->getParamType(j)); 320 arg = DtoBitCast(arg, callableTy->getParamType(j));
319 if (fnarg->llvmAttrs) 321 if (fnarg->llvmAttrs)
320 palist = palist.addAttr(j+1, fnarg->llvmAttrs); 322 palist = palist.addAttr(j+1, fnarg->llvmAttrs);
321 } 323 }