Dynamic Array, operator "+"
Original Reporter info from Mantis: m_burkhard@gmx.ch
-
Reporter name:
Original Reporter info from Mantis: m_burkhard@gmx.ch
- Reporter name:
Description:
Mixing dynamic and static array does not work properly yet.
I compiled the following code with the latest trunk of FPC (revision 39062):
Steps to reproduce:
procedure Ausgabe(a: array of byte);
var
i: integer;
begin
for i := 0 to Length(a) - 1 do begin
Write(a[i]: 4);
end;
WriteLn();
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c: array of byte;
d: array[0..2] of byte = (6, 7, 8);
begin
a := [1, 2, 3];
Ausgabe(a); // io.
b := a + d + [123, 222];
Ausgabe(b); // error --> Output: 1 2 3 123 222 123 222
b := a + [123, 222];
c := b + b;
Ausgabe(c); // io.
Delete(c, 2, 2);
Ausgabe(c); // io.
c := Concat(a, d, a); // io.
Ausgabe(c);
c := a + d + a; // io.
Ausgabe(c);
// d := [5, 6, 7]; // geht nicht
end;
Mantis conversion info:
- Mantis ID: 33768
- OS: Linux
- OS Build: Mint 18.3
- Build: revision 39062
- Platform: Linux 64Bit
- Version: 3.1.1