summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorsisyphus <sisyphus@cpan.org>2021-01-10 15:24:20 +1100
committerKarl Williamson <khw@cpan.org>2021-01-10 17:08:05 -0700
commit5240fd959a2d4356ddcd05fd24693c9c98d27dba (patch)
tree1d0cc4337a9ce54ebce21808ba847ae3268d0df6 /win32
parent1b85cc0a5c415af255c3b6744b518904f7fdb314 (diff)
downloadperl-5240fd959a2d4356ddcd05fd24693c9c98d27dba.tar.gz
win32/config_sh.PL - enable USE_QUADMATH builds (mingw compilers only) on MS Windows
Diffstat (limited to 'win32')
-rw-r--r--win32/config_sh.PL28
1 files changed, 27 insertions, 1 deletions
diff --git a/win32/config_sh.PL b/win32/config_sh.PL
index 72300c5be9..f1d746e158 100644
--- a/win32/config_sh.PL
+++ b/win32/config_sh.PL
@@ -145,7 +145,7 @@ else {
# set 64-bit-int options
if ($opt{use64bitint} eq 'define') {
- if ($opt{uselongdouble} eq 'define') {
+ if ($opt{uselongdouble} eq 'define' || $opt{usequadmath} eq 'define') {
$opt{d_nv_preserves_uv} = 'define';
$opt{nv_preserves_uv_bits} = 64;
}
@@ -227,6 +227,32 @@ if ($opt{uselongdouble} eq 'define') {
$opt{longdblkind} = 3;
$opt{longdblmantbits} = 64;
}
+# set __float128 options
+elsif ($opt{usequadmath} eq 'define') {
+ $opt{d_Gconvert} = 'sprintf((b),"%.*""Lg",(n),(x))';
+ $opt{d_PRIEUldbl} = 'define';
+ $opt{d_PRIFUldbl} = 'define';
+ $opt{d_PRIGUldbl} = 'define';
+ $opt{d_modflproto} = 'define';
+ $opt{d_strtold} = 'define';
+ $opt{d_PRIeldbl} = 'define';
+ $opt{d_PRIfldbl} = 'define';
+ $opt{d_PRIgldbl} = 'define';
+ $opt{d_SCNfldbl} = 'define';
+ $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0';
+ $opt{nvsize} = 16;
+ $opt{nvtype} = '__float128';
+ $opt{nvEUformat} = '"QE"';
+ $opt{nvFUformat} = '"QF"';
+ $opt{nvGUformat} = '"QG"';
+ $opt{nveformat} = '"Qe"';
+ $opt{nvfformat} = '"Qf"';
+ $opt{nvgformat} = '"Qg"';
+ $opt{nvmantbits} = 112;
+ $opt{longdblkind} = 3;
+ $opt{longdblmantbits} = 64;
+ $opt{i_quadmath} = 'define';
+}
else {
$opt{d_Gconvert} = 'sprintf((b),"%.*g",(n),(x))';
$opt{d_PRIEUldbl} = 'undef';