mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 17:32:09 +02:00

U compiler/ninl.pas --- Recording mergeinfo for merge of r40180 into '.': U . --- Merging r40216 into '.': U compiler/htypechk.pas G compiler/ninl.pas U tests/tbf/tb0258.pp A tests/tbf/tb0259.pp A tests/tbf/tb0260.pp A tests/tbs/tb0653.pp --- Recording mergeinfo for merge of r40216 into '.': G . --- Merging r40217 into '.': U compiler/systems/t_bsd.pas --- Recording mergeinfo for merge of r40217 into '.': G . --- Merging r40218 into '.': G compiler/systems/t_bsd.pas --- Recording mergeinfo for merge of r40218 into '.': G . git-svn-id: branches/fixes_3_2@44000 -
65 lines
1.1 KiB
ObjectPascal
65 lines
1.1 KiB
ObjectPascal
{ %norun }
|
|
{ %opt=-Sewn -vwn -O- }
|
|
|
|
{
|
|
Test for correct emitting of warnings/hints for uninitialized variables of management types
|
|
See also tbf/tb0258.pp
|
|
}
|
|
|
|
// Only hints about uninitialized managed variables must be issued for this code
|
|
|
|
{$mode objfpc}
|
|
|
|
type
|
|
TLongArray = array of longint;
|
|
|
|
procedure p;
|
|
var
|
|
a : TLongArray;
|
|
s: ansistring;
|
|
begin
|
|
setlength(a,100); // hint for local var
|
|
setlength(s,100); // hint for local var
|
|
a[1]:=1;
|
|
writeln(a[1]);
|
|
s[1]:='a';
|
|
writeln(s[1]);
|
|
end;
|
|
|
|
procedure svar(var s: ansistring; len: longint);
|
|
begin
|
|
setlength(s,len);
|
|
end;
|
|
|
|
procedure avar(var a: TLongArray; len: longint);
|
|
begin
|
|
setlength(a,len);
|
|
end;
|
|
|
|
procedure p2;
|
|
var
|
|
a : TLongArray;
|
|
s: ansistring;
|
|
begin
|
|
avar(a,100); // hint for local var
|
|
svar(s,100); // hint for local var
|
|
a[1]:=1;
|
|
writeln(a[1]);
|
|
s[1]:='a';
|
|
writeln(s[1]);
|
|
end;
|
|
|
|
function f2: ansistring;
|
|
begin
|
|
// Hint for the ansistring Result, since all contents of the Result
|
|
// after calling SetLength() is expected to be undefined.
|
|
setlength(Result,1);
|
|
Result[1]:='a';
|
|
end;
|
|
|
|
begin
|
|
p;
|
|
p2;
|
|
f2;
|
|
end.
|