diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2014-11-21 18:39:04 +0000 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2014-11-21 18:39:55 +0000 |
commit | 82319b0c184e49177f2be3288041b36adddca71a (patch) | |
tree | 842f314c8aa6e10a5492b969fa5412d61f65533c /win32/config_sh.PL | |
parent | e2ce0950e5e4b86c6fcbc488c37dd61d082b3e0d (diff) | |
download | perl-82319b0c184e49177f2be3288041b36adddca71a.tar.gz |
Fix longdblsize and nvsize for 64-bit USE_LONG_DOUBLE builds on Windows
This fixes many test failures in op/pack.t, although two (13177 and 13180)
still remain. The same two also fail with 32-bit USE_LONG_DOUBLE builds.
Thanks to sisyphus1@optusnet.com.au for spotting the failures and the
likely cause of them.
Diffstat (limited to 'win32/config_sh.PL')
-rw-r--r-- | win32/config_sh.PL | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/win32/config_sh.PL b/win32/config_sh.PL index 035f03fe49..60fb4eded7 100644 --- a/win32/config_sh.PL +++ b/win32/config_sh.PL @@ -214,7 +214,14 @@ if ($opt{uselongdouble} eq 'define') { $opt{d_PRIfldbl} = 'define'; $opt{d_PRIgldbl} = 'define'; $opt{d_SCNfldbl} = 'define'; - $opt{nvsize} = 12; + if ($opt{WIN64} eq 'define') { + $opt{longdblsize} = 16; + $opt{nvsize} = 16; + } + else { + $opt{longdblsize} = 12; + $opt{nvsize} = 12; + } $opt{nvtype} = 'long double'; $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0'; $opt{nvEUformat} = '"LE"'; @@ -239,6 +246,7 @@ else { $opt{d_PRIfldbl} = 'undef'; $opt{d_PRIgldbl} = 'undef'; $opt{d_SCNfldbl} = 'undef'; + $opt{longdblsize} = 8; $opt{nvsize} = 8; $opt{nvtype} = 'double'; $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'; |