浏览代码

* fixed alignment code in generic fillchar (not sure why
tests/test/tfillchr didn't fail in the nightly sparc tests)

git-svn-id: trunk@11708 -

Jonas Maebe 17 年之前
父节点
当前提交
af05770a7c
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      rtl/inc/generic.inc

+ 2 - 4
rtl/inc/generic.inc

@@ -114,7 +114,6 @@ end;
 {$ifndef FPC_SYSTEM_HAS_FILLCHAR}
 Procedure FillChar(var x;count:SizeInt;value:byte);
 var
-  aligncount : sizeint;
   pdest,pend : pbyte;
   v : ptruint;
 begin
@@ -128,9 +127,8 @@ begin
       if sizeof(ptruint)=8 then
         v:=(v shl 32) or v;
       { Align on native pointer size }
-      aligncount:=(PtrUInt(pdest) and (sizeof(PtrUInt)-1));
-      dec(count,aligncount);
-      pend:=pdest+aligncount;
+      pend:=pbyte(align(pdest,sizeof(PtrUInt));
+      dec(count,pend-dest);
       while pdest<pend do
         begin
           pdest^:=value;