mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 06:08:16 +02:00
* restore ability to cycle with 3.0.4 (at least until 3.2.2 is released) after r46890
git-svn-id: trunk@46895 -
This commit is contained in:
parent
b596b71130
commit
15141124f4
@ -67,10 +67,10 @@ Procedure fpc_shortstr_insert_char(source:Char;var s:shortstring;index:SizeInt);
|
||||
{$endif VER3_0}
|
||||
|
||||
{$ifdef FPC_HAS_FEATURE_DYNARRAYS}
|
||||
{$ifdef VER3_2}
|
||||
{$if defined(VER3_0) or defined(VER3_2)}
|
||||
function fpc_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
lowidx,count:tdynarrayindex) : fpc_stub_dynarray;compilerproc;
|
||||
{$endif VER3_2}
|
||||
{$endif VER3_0 or VER3_2}
|
||||
function fpc_array_to_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
lowidx,count,maxcount:tdynarrayindex;
|
||||
elesize : sizeint;
|
||||
|
@ -323,7 +323,7 @@ function int_array_to_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
) : fpc_stub_dynarray;[external name 'FPC_ARR_TO_DYNARR_COPY'];
|
||||
|
||||
|
||||
{$ifdef VER3_2}
|
||||
{$if defined(VER3_0) or defined(VER3_2)}
|
||||
function fpc_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
lowidx,count:tdynarrayindex) : fpc_stub_dynarray;[Public,Alias:'FPC_DYNARR_COPY'];compilerproc;
|
||||
var
|
||||
@ -337,18 +337,26 @@ function fpc_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
|
||||
realpsrc:=pdynarray(psrc-sizeof(tdynarray));
|
||||
|
||||
{$ifdef VER3_0}
|
||||
tti:=aligntoptr(ti+2+PByte(ti)[1]);
|
||||
{$else VER3_0}
|
||||
tti:=aligntoqword(ti+2+PByte(ti)[1]);
|
||||
{$endif VER3_0}
|
||||
|
||||
elesize:=pdynarraytypedata(tti)^.elSize;
|
||||
{$ifdef VER3_0}
|
||||
eletype:=pdynarraytypedata(tti)^.elType;
|
||||
{$else VER3_0}
|
||||
{ only set if type needs finalization }
|
||||
if assigned(pdynarraytypedata(tti)^.elType) then
|
||||
eletype:=pdynarraytypedata(tti)^.elType^
|
||||
else
|
||||
eletype:=nil;
|
||||
{$endif VER3_0}
|
||||
|
||||
fpc_array_to_dynarray_copy(psrc,ti,lowidx,count,realpsrc^.high+1,elesize,eletype);
|
||||
end;
|
||||
{$endif VER3_2}
|
||||
{$endif VER3_0 or VER3_2}
|
||||
|
||||
{ copy a custom array (open/dynamic/static) to dynamic array }
|
||||
function fpc_array_to_dynarray_copy(psrc : pointer;ti : pointer;
|
||||
|
Loading…
Reference in New Issue
Block a user