Mercurial > projects > ldc
diff gen/statements.cpp @ 611:83ca663ecc20
Backed out changeset 1b62222581fb
Do not use i8 for bool. Instead rely on the target to store i1 as i8.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 21 Sep 2008 14:45:41 +0200 |
parents | 1b62222581fb |
children | 26fce59fe80a |
line wrap: on
line diff
--- a/gen/statements.cpp Sat Sep 20 10:13:15 2008 +0200 +++ b/gen/statements.cpp Sun Sep 21 14:45:41 2008 +0200 @@ -81,15 +81,11 @@ delete e; Logger::cout() << "return value is '" <<*v << "'\n"; + // can happen for classes if (v->getType() != p->topfunc()->getReturnType()) { - // can happen for classes - if(isaPointer(v) && isaPointer(p->topfunc()->getReturnType())) - v = gIR->ir->CreateBitCast(v, p->topfunc()->getReturnType(), "tmp"); - // or for i1 vs i8 bools - if(v->getType() == LLType::Int1Ty && p->topfunc()->getReturnType() == LLType::Int8Ty) - v = gIR->ir->CreateZExt(v, LLType::Int8Ty); - Logger::cout() << "adjusted return value: " << *v << '\n'; + v = gIR->ir->CreateBitCast(v, p->topfunc()->getReturnType(), "tmp"); + Logger::cout() << "return value after cast: " << *v << '\n'; } DtoEnclosingHandlers(enclosinghandler, NULL);