Explorar o código

* sign/zero-extend a Pascal boolean (translated to i1) when assigning to
an i8, even though both have byte size 1

git-svn-id: trunk@30713 -

Jonas Maebe %!s(int64=10) %!d(string=hai) anos
pai
achega
bb4f8e62bf
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      compiler/llvm/llvmdef.pas

+ 11 - 0
compiler/llvm/llvmdef.pas

@@ -210,6 +210,17 @@ implementation
                   end;
               end;
             end
+          else if is_pasbool(fromsize) and
+                  not is_pasbool(tosize) then
+            begin
+              if is_cbool(tosize) then
+                result:=la_sext
+              else
+                result:=la_zext
+            end
+          else if is_pasbool(tosize) and
+                  not is_pasbool(fromsize) then
+            result:=la_trunc
           else
             result:=la_bitcast;
         end;