Mercurial > projects > ldc
comparison gen/functions.cpp @ 215:a58d8f4b84df trunk
[svn r231] Changed: warnings are no longer treated as an error.
Added some comments and cleaned up CallExp::toElem a tiny bit.
Fixed: struct literals always reported inplace assignment even if they allocated a temporary.
Fixed: passing stuff to a D-style vararg which did inplace assignment was generated suboptimal code.
author | lindquist |
---|---|
date | Tue, 03 Jun 2008 13:51:09 +0200 |
parents | 7816aafeea3c |
children | 0806379a5eca |
comparison
equal
deleted
inserted
replaced
214:629cfc1e7b77 | 215:a58d8f4b84df |
---|---|
797 void DtoVariadicArgument(Expression* argexp, LLValue* dst) | 797 void DtoVariadicArgument(Expression* argexp, LLValue* dst) |
798 { | 798 { |
799 Logger::println("DtoVariadicArgument"); | 799 Logger::println("DtoVariadicArgument"); |
800 LOG_SCOPE; | 800 LOG_SCOPE; |
801 DVarValue* vv = new DVarValue(argexp->type, dst, true); | 801 DVarValue* vv = new DVarValue(argexp->type, dst, true); |
802 gIR->exps.push_back(IRExp(NULL, argexp, vv)); | |
802 DtoAssign(vv, argexp->toElem(gIR)); | 803 DtoAssign(vv, argexp->toElem(gIR)); |
803 } | 804 gIR->exps.pop_back(); |
804 | 805 } |
805 ////////////////////////////////////////////////////////////////////////////////////////// | 806 |
807 ////////////////////////////////////////////////////////////////////////////////////////// |