mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-20 12:49:08 +02:00
--- Merging r34035 into '.':
U compiler/nadd.pas A tests/tbs/tb0621.pp --- Recording mergeinfo for merge of r34035 into '.': git-svn-id: branches/fixes_3_0@34068 -
This commit is contained in:
parent
2d99a173eb
commit
3da9f31fa2
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -10616,6 +10616,7 @@ tests/tbs/tb0606.pp svneol=native#text/pascal
|
|||||||
tests/tbs/tb0607.pp svneol=native#text/plain
|
tests/tbs/tb0607.pp svneol=native#text/plain
|
||||||
tests/tbs/tb0608.pp svneol=native#text/pascal
|
tests/tbs/tb0608.pp svneol=native#text/pascal
|
||||||
tests/tbs/tb0609.pp svneol=native#text/plain
|
tests/tbs/tb0609.pp svneol=native#text/plain
|
||||||
|
tests/tbs/tb0621.pp svneol=native#text/plain
|
||||||
tests/tbs/tb205.pp svneol=native#text/plain
|
tests/tbs/tb205.pp svneol=native#text/plain
|
||||||
tests/tbs/tb610.pp svneol=native#text/pascal
|
tests/tbs/tb610.pp svneol=native#text/pascal
|
||||||
tests/tbs/tb613.pp svneol=native#text/plain
|
tests/tbs/tb613.pp svneol=native#text/plain
|
||||||
|
@ -697,8 +697,12 @@ implementation
|
|||||||
an slash expresion would be first converted into a multiplication and later
|
an slash expresion would be first converted into a multiplication and later
|
||||||
folded }
|
folded }
|
||||||
if (nodetype=slashn) and
|
if (nodetype=slashn) and
|
||||||
{ do not mess with currency types }
|
{ do not mess with currency and comp types }
|
||||||
(not(is_currency(right.resultdef))) and
|
(not(is_currency(right.resultdef)) and
|
||||||
|
not((right.resultdef.typ=floatdef) and
|
||||||
|
(tfloatdef(right.resultdef).floattype=s64comp)
|
||||||
|
)
|
||||||
|
) and
|
||||||
(((cs_opt_fastmath in current_settings.optimizerswitches) and (rt=ordconstn)) or
|
(((cs_opt_fastmath in current_settings.optimizerswitches) and (rt=ordconstn)) or
|
||||||
((cs_opt_fastmath in current_settings.optimizerswitches) and (rt=realconstn) and
|
((cs_opt_fastmath in current_settings.optimizerswitches) and (rt=realconstn) and
|
||||||
(bestrealrec(trealconstnode(right).value_real).SpecialType in [fsPositive,fsNegative])
|
(bestrealrec(trealconstnode(right).value_real).SpecialType in [fsPositive,fsNegative])
|
||||||
|
27
tests/tbs/tb0621.pp
Normal file
27
tests/tbs/tb0621.pp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
PROGRAM compbug300;
|
||||||
|
|
||||||
|
VAR x1, x2 : comp;
|
||||||
|
|
||||||
|
(* Dividing 8 / 2 doesn't work with fpc 3.0.0
|
||||||
|
but works for example with fpc 2.6.4
|
||||||
|
Markus Greim / 29.jun.2016 *)
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
x1 := 8;
|
||||||
|
writeln('x1 : ',x1);
|
||||||
|
x2 := x1 / 2;
|
||||||
|
writeln('x2 = x1/2 should be 4 but is : ', x2);
|
||||||
|
if x2<>4 then
|
||||||
|
halt(1);
|
||||||
|
x2 := x1 / 4;
|
||||||
|
writeln('x2 = x1/4 should be 2 but is : ', x2);
|
||||||
|
if x2<>2 then
|
||||||
|
halt(2);
|
||||||
|
x2 := x1 / 8.0;
|
||||||
|
writeln('x2 = x1/8.0 should be 1 and is : ', x2);
|
||||||
|
if x2<>1 then
|
||||||
|
halt(3);
|
||||||
|
|
||||||
|
|
||||||
|
END.
|
Loading…
Reference in New Issue
Block a user