summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-11-29 15:50:28 -0500
committerJarkko Hietaniemi <jhi@iki.fi>2014-11-29 16:56:31 -0500
commit23bf3b2a11494e5d2ccf1f38d8664f8e2183fdba (patch)
treecaee6d1fd9b7d57d6b0433fa9ec1334b251d396c /sv.c
parent6dda0af12a624cc45dec89affffc21192bb98638 (diff)
downloadperl-23bf3b2a11494e5d2ccf1f38d8664f8e2183fdba.tar.gz
If neither quad nor long double, %Ld etc need to fail.
(hpux 10.20 has no quad, and its long double is non-standard)
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sv.c b/sv.c
index d0ac3f33cc..68af03c688 100644
--- a/sv.c
+++ b/sv.c
@@ -11607,23 +11607,25 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
q++;
break;
#endif
-#if IVSIZE >= 8 || defined(HAS_LONG_DOUBLE)
+#if (IVSIZE >= 8 || defined(HAS_LONG_DOUBLE)) || \
+ (IVSIZE == 4 && !defined(HAS_LONG_DOUBLE))
case 'L': /* Ld */
/* FALLTHROUGH */
-#ifdef USE_QUADMATH
+# ifdef USE_QUADMATH
case 'Q':
/* FALLTHROUGH */
-#endif
-#if IVSIZE >= 8
+# endif
+# if IVSIZE >= 8
case 'q': /* qd */
-#endif
+# endif
intsize = 'q';
q++;
break;
#endif
case 'l':
++q;
-#if IVSIZE >= 8 || defined(HAS_LONG_DOUBLE)
+#if (IVSIZE >= 8 || defined(HAS_LONG_DOUBLE)) || \
+ (IVSIZE == 4 && !defined(HAS_LONG_DOUBLE))
if (*q == 'l') { /* lld, llf */
intsize = 'q';
++q;