# New Ticket Created by  jerry gay 
# Please include the string:  [perl #37993]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37993 >


compiling either with msvc 6.0 or 7.1 on win32, parrot behaves
differently wrt 0 vs -0 depending on whether optmizations are enabled.

nmake realclean && svn up && configure.pl && nmake smoke
## passes tests, which expect 0 and not -0

nmake realclean && svn up && configure.pl --optimize && nmake smoke
## fails tests

for example,
- t/op/arithmetics.t

#     Failed test (t/op/arithmetics.t at line 213)
#          got: '-0.000000
# -0.000000
# -123.456789
# 123.456789
# -0.000000
# -0.000000
# -123.456789
# 123.456789
# '
#     expected: '-0.000000
# 0.000000
# -123.456789
# 123.456789
# -0.000000
# 0.000000
# -123.456789
# 123.456789
# '
# Looks like you failed 1 test of 26.

can't debug now as i'm off on holiday, but i'll be back in a week to
have a look if nobody's beaten me to it. please somebody, beat me to
it ;)

also, i thought -0 was correct, and 0 was broken as per the standard.
why are the tests expecting 0 and not -0? why is optimization changing
the results? this smells like a combination of bad tests and bad code
to me.
~jerry

Reply via email to