This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
If neither quad nor long double, %Ld etc need to fail.
authorJarkko Hietaniemi <jhi@iki.fi>
Sat, 29 Nov 2014 20:50:28 +0000 (15:50 -0500)
committerJarkko Hietaniemi <jhi@iki.fi>
Sat, 29 Nov 2014 21:56:31 +0000 (16:56 -0500)
(hpux 10.20 has no quad, and its long double is non-standard)

sv.c

diff --git a/sv.c b/sv.c
index d0ac3f3..68af03c 100644 (file)
--- 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;