comparison gen/toir.c @ 42:0b9b286b67b6 trunk

[svn r46] fix for shift operations added a simple opengl binding in demos
author lindquist
date Fri, 19 Oct 2007 15:16:11 +0200
parents 8b0e809563df
children ea65e12b0dd0
comparison
equal deleted inserted replaced
41:835320b88ad6 42:0b9b286b67b6
2248 { \ 2248 { \
2249 Logger::print("%sAssignExp::toElem: %s | %s\n", #X, toChars(), type->toChars()); \ 2249 Logger::print("%sAssignExp::toElem: %s | %s\n", #X, toChars(), type->toChars()); \
2250 LOG_SCOPE; \ 2250 LOG_SCOPE; \
2251 elem* u = e1->toElem(p); \ 2251 elem* u = e1->toElem(p); \
2252 elem* v = e2->toElem(p); \ 2252 elem* v = e2->toElem(p); \
2253 llvm::Value* tmp = llvm::BinaryOperator::create(llvm::Instruction::Y, u->getValue(), v->getValue(), "tmp", p->scopebb()); \ 2253 llvm::Value* uval = u->getValue(); \
2254 Logger::cout() << *tmp << '|' << *u->mem << '\n'; \ 2254 assert(uval); \
2255 llvm::Value* vval = v->getValue(); \
2256 assert(vval); \
2257 llvm::Value* tmp = llvm::BinaryOperator::create(llvm::Instruction::Y, uval, vval, "tmp", p->scopebb()); \
2255 if (u->mem == 0) \ 2258 if (u->mem == 0) \
2256 LLVM_DtoGiveArgumentStorage(u); \ 2259 LLVM_DtoGiveArgumentStorage(u); \
2260 Logger::cout() << *tmp << '|' << *u->mem << '\n'; \
2257 new llvm::StoreInst(LLVM_DtoPointedType(u->mem, tmp), u->mem, p->scopebb()); \ 2261 new llvm::StoreInst(LLVM_DtoPointedType(u->mem, tmp), u->mem, p->scopebb()); \
2258 delete u; \ 2262 delete u; \
2259 delete v; \ 2263 delete v; \
2260 elem* e = new elem; \ 2264 elem* e = new elem; \
2261 e->mem = u->mem; \ 2265 e->mem = u->mem; \