Merge of commit 40521.

------------------------------------------------------------------------
r40521 | pierre | 2018-12-11 08:47:59 +0000 (Tue, 11 Dec 2018) | 1 line

 Modify tbs/tb0588.pp to check that a warning is issued about non-initialized return value, moved to tbf directory
------------------------------------------------------------------------
--- Merging r40521 into '.':
D    tests/tbs/tb0588.pp
A    tests/tbf/tb0588.pp
--- Recording mergeinfo for merge of r40521 into '.':
 U   .

git-svn-id: branches/fixes_3_2@40840 -
This commit is contained in:
pierre 2019-01-11 09:08:57 +00:00
parent 875af11d02
commit 2f60a01fec
3 changed files with 33 additions and 22 deletions

2
.gitattributes vendored
View File

@ -10952,6 +10952,7 @@ tests/tbf/tb0262.pp svneol=native#text/pascal
tests/tbf/tb0263.pp svneol=native#text/pascal
tests/tbf/tb0264.pp svneol=native#text/pascal
tests/tbf/tb0265.pp svneol=native#text/pascal
tests/tbf/tb0588.pp svneol=native#text/pascal
tests/tbf/ub0115.pp svneol=native#text/plain
tests/tbf/ub0149.pp svneol=native#text/plain
tests/tbf/ub0158a.pp svneol=native#text/plain
@ -11543,7 +11544,6 @@ tests/tbs/tb0584.pp svneol=native#text/pascal
tests/tbs/tb0585.pp svneol=native#text/pascal
tests/tbs/tb0586.pp svneol=native#text/pascal
tests/tbs/tb0587.pp svneol=native#text/plain
tests/tbs/tb0588.pp svneol=native#text/pascal
tests/tbs/tb0589.pp svneol=native#text/pascal
tests/tbs/tb0590.pp svneol=native#text/pascal
tests/tbs/tb0591.pp svneol=native#text/pascal

32
tests/tbf/tb0588.pp Normal file
View File

@ -0,0 +1,32 @@
{ %FAIL }
{ %opt=-O4 -Sew }
{ This code can generate trouble because
uninitialized retrun value in f method
can have a pattern that generates a
floating point exception later.
As core decided not to generate an error in such cases,
this test was modified to al least test that a warning
is issued about non-initialized return value. }
{$mode objfpc}
uses
sysutils;
type
tmyclass = class
function f : double;virtual;
end;
function tmyclass.f : double;
begin
end;
var
myclass : tmyclass;
begin
myclass:=tmyclass.create;
writeln(myclass.f+myclass.f+myclass.f);
myclass.free;
writeln('ok');
end.

View File

@ -1,21 +0,0 @@
{ %opt=-O4 }
{$mode objfpc}
uses
sysutils;
type
tmyclass = class
function f : double;virtual;
end;
function tmyclass.f : double;
begin
end;
var
myclass : tmyclass;
begin
myclass:=tmyclass.create;
writeln(myclass.f+myclass.f+myclass.f);
myclass.free;
writeln('ok');
end.