Explorar o código

* 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 %!s(int64=9) %!d(string=hai) anos
pai
achega
a83f3c1a45
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  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 }