mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 16:49:20 +02:00
* fixed crash when writing a currency value with a specified number
of fractional digits in case it's not the last value of the write(ln) statement (mantis #10920) git-svn-id: trunk@10421 -
This commit is contained in:
parent
b8e904f531
commit
d80d3f36d2
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -8004,6 +8004,7 @@ tests/webtbs/tw10890.pp svneol=native#text/plain
|
|||||||
tests/webtbs/tw10897.pp svneol=native#text/plain
|
tests/webtbs/tw10897.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw1090.pp svneol=native#text/plain
|
tests/webtbs/tw1090.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw1092.pp svneol=native#text/plain
|
tests/webtbs/tw1092.pp svneol=native#text/plain
|
||||||
|
tests/webtbs/tw10920.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw1096.pp svneol=native#text/plain
|
tests/webtbs/tw1096.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw1097.pp svneol=native#text/plain
|
tests/webtbs/tw1097.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw1103.pp svneol=native#text/plain
|
tests/webtbs/tw1103.pp svneol=native#text/plain
|
||||||
|
@ -604,7 +604,9 @@ implementation
|
|||||||
fracpara.right := ccallparanode.create(
|
fracpara.right := ccallparanode.create(
|
||||||
cordconstnode.create(ord(tfloatdef(para.left.resultdef).floattype),
|
cordconstnode.create(ord(tfloatdef(para.left.resultdef).floattype),
|
||||||
s32inttype,true),nil);
|
s32inttype,true),nil);
|
||||||
end;
|
end
|
||||||
|
else
|
||||||
|
fracpara.right:=nil;
|
||||||
end;
|
end;
|
||||||
if para.left.resultdef.typ=enumdef then
|
if para.left.resultdef.typ=enumdef then
|
||||||
begin
|
begin
|
||||||
|
18
tests/webtbs/tw10920.pp
Normal file
18
tests/webtbs/tw10920.pp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
program bug_fmtcurrncy;
|
||||||
|
// If write/writeln parameter list includes any item FOLLOWING a
|
||||||
|
// currency variable with format specs, the compiler throws
|
||||||
|
// an Access violation exception.
|
||||||
|
|
||||||
|
var
|
||||||
|
V: currency; // currency blows up, all other real types are Ok
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
V := 34567;
|
||||||
|
|
||||||
|
write( V:0:2, 'x' ); // This form produces the error
|
||||||
|
|
||||||
|
write( V:0:2 ); // This equivalent form compiles Ok
|
||||||
|
writeln( 'x' );
|
||||||
|
|
||||||
|
END.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user