瀏覽代碼

* correctly encode bitpacked arrays of elements that can't be bitpacked

git-svn-id: trunk@32555 -
Jonas Maebe 9 年之前
父節點
當前提交
da8d276766
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      compiler/llvm/llvmdef.pas

+ 2 - 1
compiler/llvm/llvmdef.pas

@@ -419,7 +419,8 @@ implementation
                   llvmaddencodedtype_intern(tarraydef(def).elementdef,[],encodedstr);
                   llvmaddencodedtype_intern(tarraydef(def).elementdef,[],encodedstr);
                   encodedstr:=encodedstr+'*';
                   encodedstr:=encodedstr+'*';
                 end
                 end
-              else if is_packed_array(def) then
+              else if is_packed_array(def) and
+                      (tarraydef(def).elementdef.typ in [enumdef,orddef]) then
                 begin
                 begin
                   encodedstr:=encodedstr+'['+tostr(tarraydef(def).size div tarraydef(def).elementdef.packedbitsize)+' x ';
                   encodedstr:=encodedstr+'['+tostr(tarraydef(def).size div tarraydef(def).elementdef.packedbitsize)+' x ';
                   { encode as an array of integers with the size on which we
                   { encode as an array of integers with the size on which we