In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/9c19a6c70398689cd5f09e87fe7dc48197a69524?hp=5d855216e8e5239f9e530a61123e5bee79c287e5>
- Log ----------------------------------------------------------------- commit 9c19a6c70398689cd5f09e87fe7dc48197a69524 Author: Steve Hay <steve.m....@googlemail.com> Date: Thu Sep 18 13:25:36 2014 +0100 Revert a231c375cc and fix 61cd60c6c5 differently instead Change a231c375cc fixed the GCC build, broken by 61cd60c6c5, but unfortunately also caused a test failure in the very same GCC build: ext/XS-APItest/t/print.t test 11. There is no way to print long doubles with formatting functions in msvcrt.dll (which is what MinGW/MinGW-w64 use by default) because that doesn't support long doubles at all, other than as a synonym for doubles. Defining PERL_PRIfldbl gave APItest.xs the false expectation that printing a long double with it would work, but it does not. Hence, revert a231c375cc for now. (Future commits will add optional GCC-only support for using long doubles by using some MinGW- specific formatting functions instead.) We now fix the GCC build breakage in sv.c by simply testing for whether PERL_PRIgldbl is defined (just like APItest.xs already tests for whether PERL_PRIfldbl is defined). Now that it once again isn't defined, we fall through to the #else case, which is what VC uses anyway since its LONG_DOUBLESIZE is equal to its DOUBLESIZE. ----------------------------------------------------------------------- Summary of changes: sv.c | 2 +- win32/config.gc | 8 ++++---- win32/config.vc | 8 ++++---- win32/config_H.gc | 8 ++++---- win32/config_H.vc | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/sv.c b/sv.c index 112a453..289f96e 100644 --- a/sv.c +++ b/sv.c @@ -11096,7 +11096,7 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p * the time it is not (most compilers these days recognize * "long double", even if only as a synonym for "double"). */ -#if defined(HAS_LONG_DOUBLE) && LONG_DOUBLESIZE > DOUBLESIZE +#if defined(HAS_LONG_DOUBLE) && LONG_DOUBLESIZE > DOUBLESIZE && defined(PERL_PRIgldbl) long double fv; # define FV_ISFINITE(x) Perl_isfinitel(x) # define FV_GF PERL_PRIgldbl diff --git a/win32/config.gc b/win32/config.gc index f462f97..6d7b9d3 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -82,14 +82,14 @@ d_PRIFUldbl='undef' d_PRIGUldbl='undef' d_PRIXU64='undef' d_PRId64='undef' -d_PRIeldbl='define' -d_PRIfldbl='define' -d_PRIgldbl='define' +d_PRIeldbl='undef' +d_PRIfldbl='undef' +d_PRIgldbl='undef' d_PRIi64='undef' d_PRIo64='undef' d_PRIu64='undef' d_PRIx64='undef' -d_SCNfldbl='define' +d_SCNfldbl='undef' d__fwalk='undef' d_access='define' d_accessx='undef' diff --git a/win32/config.vc b/win32/config.vc index a84bf68..0c0d829 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -82,14 +82,14 @@ d_PRIFUldbl='undef' d_PRIGUldbl='undef' d_PRIXU64='undef' d_PRId64='undef' -d_PRIeldbl='define' -d_PRIfldbl='define' -d_PRIgldbl='define' +d_PRIeldbl='undef' +d_PRIfldbl='undef' +d_PRIgldbl='undef' d_PRIi64='undef' d_PRIo64='undef' d_PRIu64='undef' d_PRIx64='undef' -d_SCNfldbl='define' +d_SCNfldbl='undef' d__fwalk='undef' d_access='define' d_accessx='undef' diff --git a/win32/config_H.gc b/win32/config_H.gc index 1afd5a5..abb1f9e 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -4500,10 +4500,10 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ -#define PERL_PRIfldbl "f" /**/ -#define PERL_PRIgldbl "g" /**/ -#define PERL_PRIeldbl "e" /**/ -#define PERL_SCNfldbl "f" /**/ +/*#define PERL_PRIfldbl "f" / **/ +/*#define PERL_PRIgldbl "g" / **/ +/*#define PERL_PRIeldbl "e" / **/ +/*#define PERL_SCNfldbl "f" / **/ /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores diff --git a/win32/config_H.vc b/win32/config_H.vc index 05518e1..ba61fe8 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -4494,10 +4494,10 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ -#define PERL_PRIfldbl "f" /**/ -#define PERL_PRIgldbl "g" /**/ -#define PERL_PRIeldbl "e" /**/ -#define PERL_SCNfldbl "f" /**/ +/*#define PERL_PRIfldbl "f" / **/ +/*#define PERL_PRIgldbl "g" / **/ +/*#define PERL_PRIeldbl "e" / **/ +/*#define PERL_SCNfldbl "f" / **/ /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores -- Perl5 Master Repository