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);