summaryrefslogtreecommitdiff
path: root/pp_pack.c
diff options
context:
space:
mode:
authorLeon Timmermans <fawaka@gmail.com>2021-01-29 02:48:29 +0100
committerLeon Timmermans <fawaka@gmail.com>2021-02-19 17:07:46 +0100
commit77a2054ea312b030904555167b764e4510dbcac6 (patch)
tree82eb5424d0c8a0e1a37e1ccf062a48b6122ec953 /pp_pack.c
parentea6c7d00a911c12057d4f534a05e8964d5a4a47a (diff)
downloadperl-77a2054ea312b030904555167b764e4510dbcac6.tar.gz
Allow pack 'D' on all systems with long doubles
Previously it was only supported if NV also was long double, but not when it is either double or __float128.
Diffstat (limited to 'pp_pack.c')
-rw-r--r--pp_pack.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/pp_pack.c b/pp_pack.c
index 4a4cb31f74..7a02b557c4 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -75,7 +75,7 @@ typedef union {
U8 bytes[sizeof(NV)];
} NV_bytes;
-#if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
+#if defined(HAS_LONG_DOUBLE)
typedef union {
long double ld;
U8 bytes[sizeof(long double)];
@@ -1696,7 +1696,7 @@ S_unpack_rec(pTHX_ tempsym_t* symptr, const char *s, const char *strbeg, const c
cdouble += anv.nv;
}
break;
-#if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
+#if defined(HAS_LONG_DOUBLE)
case 'D':
while (len-- > 0) {
ld_bytes aldouble;
@@ -2759,7 +2759,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist )
}
break;
}
-#if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
+#if defined(HAS_LONG_DOUBLE)
case 'D': {
ld_bytes aldouble;
/* long doubles can have unused bits, which may be nonzero */