Jerry Gay
2005-12-20 18:32:41 UTC
# 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
# 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