diff options
author | David Mitchell <davem@iabyn.com> | 2018-05-01 15:28:49 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2018-05-01 15:52:55 +0100 |
commit | 38c84d6ad1b77d7b1de424eab465e018c7cef576 (patch) | |
tree | d36e8ced82c59af5f3b9789944ba2579f77a1168 /Artistic | |
parent | e8d0f503dda9584e121438f7f871492195d9e3a5 (diff) | |
download | perl-38c84d6ad1b77d7b1de424eab465e018c7cef576.tar.gz |
sprintf2.t: mark TODO bad denorm values under g++
Some t/op/sprintf2.t tests were failing under g++. This is due the perl
toker interpreting very small literal hex floating pointers as 0 rather
than as a subnormal value.
For example:
perl -le'print "bad" if 0x1.fffffffffffffp-1022 == 0.0'
This breaks some of the sprintf2.t tests, so mark them TODO them if the
literal value evaluates to zero.
Note that this is a bug in the toker/g++/glibc rather than sprintf.
The issue is due to the use of pow() in scan_num():
under gcc and plain g++, pow(2.0, -1074) returns the smallest denorm
number; however, under 'g++ -ansi', it returns 0.0.
Diffstat (limited to 'Artistic')
0 files changed, 0 insertions, 0 deletions