Browse Source

* fix maximum common alignment calculation in g_concatcopy() (if the second
parameter of newalignment() is larger than the first, the result is always
1)

git-svn-id: trunk@34295 -

Jonas Maebe 9 năm trước cách đây
mục cha
commit
a83f3c1a45
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      compiler/llvm/hlcgllvm.pas

+ 1 - 1
compiler/llvm/hlcgllvm.pas

@@ -1124,7 +1124,7 @@ implementation
       a_loadaddr_ref_cgpara(list,size,dest,destpara);
       a_loadaddr_ref_cgpara(list,size,source,sourcepara);
       a_load_const_cgpara(list,u64inttype,size.size,sizepara);
-      maxalign:=newalignment(source.alignment,dest.alignment);
+      maxalign:=newalignment(max(source.alignment,dest.alignment),min(source.alignment,dest.alignment));
       a_load_const_cgpara(list,u32inttype,maxalign,alignpara);
       { we don't know anything about volatility here, should become an extra
         parameter to g_concatcopy }