Commit fe07fe725c for perl

commit fe07fe725ce32d0f0bd23672b20f87b0a57e2e50
Author: Tony Cook <tony@develop-help.com>
Date:   Thu Oct 15 15:10:06 2026 +1100

    perl.h: don't disable USE_LONG_DOUBLE when type NV is long double

    This would result in calls to modf() (not modfl()) with a long double
    as the second parameter:

    % make lib/auto/POSIX/POSIX.bundle
    cc -c   -fno-common -DPERL_DARWIN -DNO_THREAD_SAFE_QUERYLOCALE -DNO_POSIX_2008_LOCALE -DHAS_BROKEN_LANGINFO_CODESET -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong -Wall -Werror=pointer-arith -Werror=vla -Wextra -Wno-long-long -Wno-declaration-after-statement -Wc++-compat -Wno-c++-keyword -Wwrite-strings -O3   -DVERSION=\"2.27\" -DXS_VERSION=\"2.27\"  "-I../.."   POSIX.c
    POSIX.xs:2692:39: warning: incompatible pointer types passing 'NV *'
          (aka 'long double *') to parameter of type 'double *'
          [-Wincompatible-pointer-types]
     2692 |         PUSHs(sv_2mortal(newSVnv(Perl_modf(x,&intvar)))); /* C89 math */
          |                                              ^~~~~~~
    ../../perl.h:3016:34: note: expanded from macro 'Perl_modf'
     3016 | #   define Perl_modf(x,y) modf(x,y)
          |                                  ^
    ../../embed.h:465:68: note: expanded from macro 'newSVnv'
      465 | # define newSVnv(a)                             Perl_newSVnv(aTHX_ a)
          |                                                                    ^
    ../../embed.h:684:71: note: expanded from macro 'sv_2mortal'
      684 | # define sv_2mortal(a)                          Perl_sv_2mortal(aTHX_ a)
          |                                                                       ^
    ../../pp.h:548:30: note: expanded from macro 'PUSHs'
      548 | #  define PUSHs(s)      (*++sp = (s))
          |                                   ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/math.h:427:36: note:
          passing argument to parameter here
      427 | extern double modf(double, double *);
          |                                    ^
    1 warning generated.

    If we want to force use of double when long double is the same size as
    double, it should be done by rejecting or disabling uselongdouble in
    Configure, so that types don't get messed up during compilation.

diff --git a/perl.h b/perl.h
index 25444ec178..b03c991078 100644
--- a/perl.h
+++ b/perl.h
@@ -2799,7 +2799,6 @@ You probably want to be using L<C</INT2PTR>> instead.
 #ifdef USE_LONG_DOUBLE
 #  if LONG_DOUBLESIZE == DOUBLESIZE
 #    define LONG_DOUBLE_EQUALS_DOUBLE
-#    undef USE_LONG_DOUBLE /* Ouch! */
 #  endif
 #endif